//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright 1995-1998 Microsoft Corporation. All Rights Reserved. // //-------------------------------------------------------------------------- #ifndef DO_NO_IMPORTS import "unknwn.idl"; #endif import "subsmgr.idl"; cpp_quote("// Private File") cpp_quote("// This file is not included in the Internet SDK") cpp_quote("// Use subsmgr headers for public interfaces") cpp_quote("extern const GUID CLSID_SubscriptionThrottler;") // ================================ // Marshalled, private interfaces // ================================ // ISubscriptionThrottler [ uuid(1E9B00E4-9846-11d1-A1EE-00C04FC2FBE1) ] interface ISubscriptionThrottler : IUnknown { HRESULT GetSubscriptionRunState([in] DWORD dwNumCookies, [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies, [out, size_is(dwNumCookies)] DWORD *pdwRunState); HRESULT AbortItems([in] DWORD dwNumCookies, [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies); HRESULT AbortAll(); } cpp_quote("extern const IID CLSID_WebCheckDefaultProcess; ") // // Next UUIDs are needed for UNIX as we use IE40 webcheck // with IE5 iedev/inc there. // #ifdef UNIX cpp_quote("EXTERN_C const CLSID CLSID_OfflineTrayAgent;") cpp_quote("EXTERN_C const CLSID CLSID_ConnectionAgent;") #endif cpp_quote("// Subscription Notifications ") cpp_quote("// To register your IOleCommandTarget for notifications: ") cpp_quote("// ") cpp_quote("// Add your handler under: ") cpp_quote("// HKLM\Software\Microsoft\Windows\CurrentVersion\Webcheck\Notification Handlers ") cpp_quote("// as DWORD values with a mask specifying which SUBSNOTF_* ") cpp_quote("// events you care about. ") cpp_quote("// ") cpp_quote("// So the Exec call will look like: ") cpp_quote("// ") cpp_quote("// pCmdTarget->Exec(&CLSID_SubscriptionMgr, ") cpp_quote("// nCmdID, ") cpp_quote("// 0, ") cpp_quote("// &varSubsCookie, ") cpp_quote("// NULL); ") cpp_quote("// ") cpp_quote("// ") cpp_quote("#define SUBSNOTF_CREATE 0x00000001") cpp_quote("#define SUBSNOTF_DELETE 0x00000002") cpp_quote("#define SUBSNOTF_SYNC_START 0x00000004") cpp_quote("#define SUBSNOTF_SYNC_STOP 0x00000008") // // ================================================== // Non-marshalled, private interfaces (.TLB not used) // ================================================== [ uuid(10BD2E25-F235-11CF-B5DD-00A0C90348EC), // LIBID_WebCheck helpstring("Microsoft WebCheck 1.00"), lcid(0x0000), version(0.70) ] library WebCheck { // ISubscription* interfaces for IE5 delivery agents [ uuid(A89E8FF0-70F4-11d1-BC7F-00C04FD929DB) ] interface ISubscriptionAgentControl : IUnknown { enum SUBSCRIPTION_AGENT_CONTROL { SUBSCRIPTION_AGENT_DELETE=0x0001 }; enum SUBSCRIPTION_AGENT_RESUME_FLAGS { SUBSCRIPTION_AGENT_RESUME_INCREASED_CACHE=0x0080 }; HRESULT StartUpdate(IUnknown *pItem, IUnknown *punkAdvise); HRESULT PauseUpdate(DWORD dwFlags); HRESULT ResumeUpdate(DWORD dwFlags); HRESULT AbortUpdate(DWORD dwFlags); HRESULT SubscriptionControl(IUnknown *pItem, DWORD dwControl); } [ uuid(81B184BA-B302-11d1-8552-00C04FA35C89) ] interface ISubscriptionAgentShellExt : IUnknown { HRESULT Initialize([in] SUBSCRIPTIONCOOKIE *pSubscriptionCookie, [in] LPCWSTR pwszURL, [in] LPCWSTR pwszName, [in] SUBSCRIPTIONTYPE subsType); HRESULT RemovePages([in] HWND hdlg); HRESULT SaveSubscription(); HRESULT URLChange([in] LPCWSTR pwszNewURL); } [ uuid(A89E8FF1-70F4-11d1-BC7F-00C04FD929DB) ] interface ISubscriptionAgentEvents : IUnknown { HRESULT UpdateBegin(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie); HRESULT UpdateProgress(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, long lSizeDownloaded, long lProgressCurrent, long lProgressMax, HRESULT hrStatus, LPCWSTR wszStatus); HRESULT UpdateEnd(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, long lSizeDownloaded, HRESULT hrResult, LPCWSTR wszResult); HRESULT ReportError(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, HRESULT hrError, LPCWSTR wszError); }; [ uuid(D66B399E-AF1D-11d1-A1F9-00C04FC2FBE1) ] interface ISubscriptionMgrPriv : IUnknown { HRESULT CreateSubscriptionItem([in] const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo, [out] SUBSCRIPTIONCOOKIE *pNewCookie, [out] ISubscriptionItem **ppSubscriptionItem); HRESULT CloneSubscriptionItem([in] ISubscriptionItem *pSubscriptionItem, [out] SUBSCRIPTIONCOOKIE *pNewCookie, [out] ISubscriptionItem **ppSubscriptionItem); HRESULT DeleteSubscriptionItem([in] const SUBSCRIPTIONCOOKIE *pCookie); HRESULT RemovePages([in] HWND hdlg); HRESULT SaveSubscription(); HRESULT URLChange(LPCWSTR pwszNewURL); }; importlib("stdole2.tlb"); //--------------------------------------------------------------- // Webcheck Core //--------------------------------------------------------------- // Webcheck class [ uuid(E6FB5E20-DE35-11CF-9C87-00AA005127ED), // CLSID_WebCheck helpstring("WebCheck class"), appobject ] coclass WebCheck { [default] interface IUnknown; } // Webcrawler object [ uuid(08165EA0-E946-11CF-9C87-00AA005127ED) ] coclass WebCrawlerAgent { [default] interface IUnknown; } // Channel Agent object [ uuid(E3A8BDE6-ABCE-11d0-BC4B-00C04FD929DB) ] coclass ChannelAgent { [default] interface IUnknown; } //--------------------------------------------------------------- // OneStop support object //--------------------------------------------------------------- [ uuid(7FC0B86E-5FA7-11d1-BC7C-00C04FD929DB) ] coclass WebCheckOfflineSync { [default] interface IUnknown; } //--------------------------------------------------------------- // Post Agent //--------------------------------------------------------------- // // Post Agent Object // [ uuid(d8bd2030-6fC9-11d0-864f-00aa006809d9), // CLSID_PostAgent ] coclass PostAgent { [default] interface IUnknown; // this should be INotificationSink } //--------------------------------------------------------------- // Code Download Agent //--------------------------------------------------------------- // // Code Download Agent Object // [ uuid(7D559C10-9FE9-11d0-93F7-00AA0059CE02), // CLSID_CDLAgent helpstring("Code Download Agent Object") ] coclass CDLAgent { [default] interface IUnknown; // this should be INotificationSink } }