//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. // //-------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// subsmgr.h") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("#pragma comment(lib,\"uuid.lib\")") cpp_quote("") cpp_quote("//---------------------------------------------------------------------------=") cpp_quote("// Channel Manager Interfaces.") cpp_quote("") #ifndef DO_NO_IMPORTS import "unknwn.idl"; #endif //--------------------------------------------------------------- // Subscription Manager //--------------------------------------------------------------- [ uuid(C54FD88A-FFA1-11d0-BC5E-00C04FD929DB), // LIBID_SubscriptionMgr helpstring("Microsoft Subscription Manager 1.0"), lcid(0x0000), version(1.0) ] library SubscriptionMgr { //--------------------------------------------------------------- // Subscription Manager //--------------------------------------------------------------- [ uuid(085FB2C0-0DF8-11d1-8F4B-00A0C905413F), // IID_ISubscriptionMgr helpstring("Subscription Manager interface"), odl ] interface ISubscriptionMgr : IUnknown { typedef enum SUBSCRIPTIONTYPE { SUBSTYPE_URL = 0, SUBSTYPE_CHANNEL = 1, SUBSTYPE_DESKTOPURL = 2, SUBSTYPE_EXTERNAL = 3, SUBSTYPE_DESKTOPCHANNEL = 4 } SUBSCRIPTIONTYPE; typedef enum SUBSCRIPTIONINFOFLAGS { SUBSINFO_SCHEDULE = 0x0001, SUBSINFO_RECURSE = 0x0002, SUBSINFO_WEBCRAWL = 0x0004, SUBSINFO_MAILNOT = 0x0008, SUBSINFO_MAXSIZEKB = 0x0010, SUBSINFO_USER = 0x0020, SUBSINFO_PASSWORD = 0x0040, SUBSINFO_TASKFLAGS = 0x0100, SUBSINFO_GLEAM = 0x0200, SUBSINFO_CHANGESONLY = 0x0400, SUBSINFO_CHANNELFLAGS = 0x0800, SUBSINFO_FRIENDLYNAME = 0x2000, SUBSINFO_NEEDPASSWORD = 0x4000, SUBSINFO_TYPE = 0x8000 } SUBSCRIPTIONINFOFLAGS; cpp_quote("#define SUBSINFO_ALLFLAGS 0x0000EF7F") typedef enum CREATESUBSCRIPTIONFLAGS { CREATESUBS_ADDTOFAVORITES = 0x0001, CREATESUBS_FROMFAVORITES = 0x0002, CREATESUBS_NOUI = 0x0004, CREATESUBS_NOSAVE = 0x0008, CREATESUBS_SOFTWAREUPDATE = 0x0010, } CREATESUBSCRIPTIONFLAGS; typedef enum SUBSCRIPTIONSCHEDULE { SUBSSCHED_AUTO = 0, SUBSSCHED_DAILY = 1, SUBSSCHED_WEEKLY = 2, SUBSSCHED_CUSTOM = 3, SUBSSCHED_MANUAL = 4 } SUBSCRIPTIONSCHEDULE; typedef struct _tagSubscriptionInfo { DWORD cbSize; DWORD fUpdateFlags; SUBSCRIPTIONSCHEDULE schedule; CLSID customGroupCookie; LPVOID pTrigger; DWORD dwRecurseLevels; DWORD fWebcrawlerFlags; BOOL bMailNotification; BOOL bGleam; BOOL bChangesOnly; BOOL bNeedPassword; DWORD fChannelFlags; BSTR bstrUserName; BSTR bstrPassword; BSTR bstrFriendlyName; DWORD dwMaxSizeKB; SUBSCRIPTIONTYPE subType; DWORD fTaskFlags; DWORD dwReserved; } SUBSCRIPTIONINFO, *LPSUBSCRIPTIONINFO, *PSUBSCRIPTIONINFO; HRESULT DeleteSubscription([in] LPCWSTR pwszURL, [in] HWND hwnd); HRESULT UpdateSubscription([in] LPCWSTR pwszURL); HRESULT UpdateAll(); HRESULT IsSubscribed([in] LPCWSTR pwszURL, [out] BOOL *pfSubscribed); HRESULT GetSubscriptionInfo( [in] LPCWSTR pwszURL, [out] SUBSCRIPTIONINFO *pInfo); HRESULT GetDefaultInfo([in] SUBSCRIPTIONTYPE subType, [out] SUBSCRIPTIONINFO *pInfo); HRESULT ShowSubscriptionProperties([in] LPCWSTR pwszURL, [in] HWND hwnd); HRESULT CreateSubscription([in] HWND hwnd, [in] LPCWSTR pwszURL, [in] LPCWSTR pwszFriendlyName, [in] DWORD dwFlags, [in] SUBSCRIPTIONTYPE subsType, [in,out] SUBSCRIPTIONINFO *pInfo); } // Subscription Manager object [ uuid(abbe31d0-6dae-11d0-beca-00c04fd940be), // CLSID_SubscriptionMgr helpstring("SubscriptionMgr object") ] coclass SubscriptionMgr { [default] interface ISubscriptionMgr; } } cpp_quote("") cpp_quote("") cpp_quote("////////////////////////////////////////////////////////////////////////////") cpp_quote("// Information Delivery Agent definitions") cpp_quote("EXTERN_C const CLSID CLSID_WebCrawlerAgent; ") cpp_quote("EXTERN_C const CLSID CLSID_ChannelAgent; ") cpp_quote("EXTERN_C const CLSID CLSID_DialAgent; ") cpp_quote("EXTERN_C const CLSID CLSID_CDLAgent; ") cpp_quote("") cpp_quote("// RecurseFlags property for web crawler") typedef enum WEBCRAWL_RECURSEFLAGS { WEBCRAWL_DONT_MAKE_STICKY = 0x0001, WEBCRAWL_GET_IMAGES = 0x0002, WEBCRAWL_GET_VIDEOS = 0x0004, WEBCRAWL_GET_BGSOUNDS = 0x0008, WEBCRAWL_GET_CONTROLS = 0x0010, WEBCRAWL_LINKS_ELSEWHERE = 0x0020, WEBCRAWL_IGNORE_ROBOTSTXT = 0x0080, } WEBCRAWL_RECURSEFLAGS; cpp_quote("") cpp_quote("// ChannelFlags property for channel agent") typedef enum CHANNEL_AGENT_FLAGS { CHANNEL_AGENT_DYNAMIC_SCHEDULE = 0x0001, CHANNEL_AGENT_PRECACHE_SOME = 0x0002, // Download Only Precache=Yes CHANNEL_AGENT_PRECACHE_ALL = 0x0004, // Download All except Precache=No CHANNEL_AGENT_PRECACHE_SCRNSAVER= 0x0008, } CHANNEL_AGENT_FLAGS; cpp_quote("") cpp_quote("// Status codes for completed delivery agents") cpp_quote("") cpp_quote("// Maximum specified subscription size limit reached") cpp_quote("#define INET_E_AGENT_MAX_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0x800C0F80L) ") cpp_quote("") cpp_quote("// Maximum cache limit reached") cpp_quote("#define INET_E_AGENT_CACHE_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0x800C0F82L) ") cpp_quote("") cpp_quote("// Connection to Internet failed") cpp_quote("#define INET_E_AGENT_CONNECTION_FAILED _HRESULT_TYPEDEF_(0x800C0F83L) ") cpp_quote("") cpp_quote("// A few URLs failed but the base url and most sub-urls succeeded") cpp_quote("#define INET_S_AGENT_PART_FAIL _HRESULT_TYPEDEF_(0x000C0F81L) ") cpp_quote("") cpp_quote("// End Information Delivery Agent definitions") cpp_quote("////////////////////////////////////////////////////////////////////////////") cpp_quote("") cpp_quote("")