SubsMgr.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:15k
- //+-------------------------------------------------------------------------
- //
- // 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";
- import "ocidl.idl";
- import "oleidl.idl";
- import "oaidl.idl";
- #endif
- typedef GUID SUBSCRIPTIONCOOKIE;
- [
- uuid(F72C8D96-6DBD-11d1-A1E8-00C04FC2FBE1), // IID_IEnumItemProperties
- helpstring("Enum Item Properties interface")
- ]
- interface IEnumItemProperties : IUnknown
- {
- typedef [unique] IEnumItemProperties *LPENUMITEMPROPERTIES;
- typedef struct _tagITEMPROP
- {
- VARIANT variantValue; // the variant value
- LPWSTR pwszName; // name
- } ITEMPROP, *LPITEMPROP;
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- ITEMPROP *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip([in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone([out] IEnumItemProperties **ppenum);
- HRESULT GetCount([out] ULONG *pnCount);
- }
- cpp_quote("// Subscription item flag values")
- cpp_quote("// Temporary subscription item")
- cpp_quote("#define SI_TEMPORARY 0x80000000")
- [
- uuid(A97559F8-6C4A-11d1-A1E8-00C04FC2FBE1), // IID_ISubscriptionItem
- helpstring("Subscription Item interface")
- ]
- interface ISubscriptionItem : IUnknown
- {
- typedef [unique] ISubscriptionItem *LPSUBSCRIPTIONITEM;
- cpp_quote("// SUBSCRIPTIONITEMINFO flags ")
- cpp_quote("// To specify that an item should only run on user idle ")
- cpp_quote("// use TASK_FLAG_START_ONLY_IF_IDLE ")
- typedef struct tagSUBSCRIPTIONITEMINFO {
- ULONG cbSize;
- DWORD dwFlags;
- DWORD dwPriority;
- SUBSCRIPTIONCOOKIE ScheduleGroup;
- CLSID clsidAgent;
- } SUBSCRIPTIONITEMINFO;
- HRESULT GetCookie([out] SUBSCRIPTIONCOOKIE *pCookie);
- HRESULT GetSubscriptionItemInfo([out] SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
- HRESULT SetSubscriptionItemInfo([in] const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
- HRESULT ReadProperties(ULONG nCount,
- [in, size_is(nCount)] const LPCWSTR rgwszName[],
- [out, size_is(nCount)] VARIANT rgValue[]);
- HRESULT WriteProperties(ULONG nCount,
- [in, size_is(nCount)] const LPCWSTR rgwszName[],
- [in, size_is(nCount)] const VARIANT rgValue[]);
- HRESULT EnumProperties([out] IEnumItemProperties **ppEnumItemProperties);
- HRESULT NotifyChanged();
- }
- [
- uuid(F72C8D97-6DBD-11d1-A1E8-00C04FC2FBE1), // IID_IEnumSubscription
- helpstring("Enum Subscription interface"),
- odl
- ]
- interface IEnumSubscription : IUnknown
- {
- typedef [unique] IEnumSubscription *LPENUMSUBSCRIPTION;
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- SUBSCRIPTIONCOOKIE *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip([in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone([out] IEnumSubscription **ppenum);
- HRESULT GetCount([out] ULONG *pnCount);
- }
- //---------------------------------------------------------------
- // 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);
- }
- [
- uuid(614BC270-AEDF-11d1-A1F9-00C04FC2FBE1), // IID_ISubscriptionMgr2
- helpstring("Subscription Store interface"),
- odl
- ]
- interface ISubscriptionMgr2 : ISubscriptionMgr
- {
- cpp_quote("// Run State flags ")
- cpp_quote("// Item is ready and queued to run ")
- cpp_quote("#define RS_READY 0x00000001 ")
- cpp_quote("// Running item is paused ")
- cpp_quote("#define RS_SUSPENDED 0x00000002 ")
- cpp_quote("// Item is updating ")
- cpp_quote("#define RS_UPDATING 0x00000004 ")
- cpp_quote("// This item will be suspended while the user is not idle ")
- cpp_quote("#define RS_SUSPENDONIDLE 0x00010000 ")
- cpp_quote("// This item is allowed to cause user interaction ")
- cpp_quote("#define RS_MAYBOTHERUSER 0x00020000 ")
- cpp_quote("// Update is done ")
- cpp_quote("#define RS_COMPLETED 0x80000000 ")
- cpp_quote("// Update flags ")
- cpp_quote("// Update window should start minimized ")
- cpp_quote("#define SUBSMGRUPDATE_MINIMIZE 0x00000001 ")
- cpp_quote("")
- cpp_quote("#define SUBSMGRUPDATE_MASK 0x00000001 ")
- cpp_quote("// Enumeration flags ")
- cpp_quote("// Include temporary items ")
- cpp_quote("#define SUBSMGRENUM_TEMP 0x00000001 ")
- cpp_quote("")
- cpp_quote("#define SUBSMGRENUM_MASK 0x00000001 ")
- HRESULT GetItemFromURL([in] LPCWSTR pwszURL,
- [out] ISubscriptionItem **ppSubscriptionItem);
- HRESULT GetItemFromCookie([in] const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,
- [out] ISubscriptionItem **ppSubscriptionItem);
- HRESULT GetSubscriptionRunState([in] DWORD dwNumCookies,
- [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies,
- [out, size_is(dwNumCookies)] DWORD *pdwRunState);
- HRESULT EnumSubscriptions([in] DWORD dwFlags,
- [out] IEnumSubscription **ppEnumSubscriptions);
- HRESULT UpdateItems([in] DWORD dwFlags,
- [in] DWORD dwNumCookies,
- [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies);
- HRESULT AbortItems([in] DWORD dwNumCookies,
- [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies);
- HRESULT AbortAll();
- }
- // 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("// AgentFlags property for all delivery agents")
- // lower 16 bits open for use
- typedef enum DELIVERY_AGENT_FLAGS {
- DELIVERY_AGENT_FLAG_NO_BROADCAST = 0x0004,
- DELIVERY_AGENT_FLAG_NO_RESTRICTIONS = 0x0008,
- DELIVERY_AGENT_FLAG_SILENT_DIAL = 0x0010
- } DELIVERY_AGENT_FLAGS;
- 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_ONLY_LINKS_TO_HTML = 0x0100, // Only follows links to html
- } 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("// 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("// 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("// Scheduled updates are disabled")
- cpp_quote("#define INET_E_SCHEDULED_UPDATES_DISABLED _HRESULT_TYPEDEF_(0x800C0F84L) ")
- cpp_quote("")
- cpp_quote("// Scheduled updates are restricted")
- cpp_quote("#define INET_E_SCHEDULED_UPDATES_RESTRICTED _HRESULT_TYPEDEF_(0x800C0F85L) ")
- cpp_quote("")
- cpp_quote("// Scheduled update occurred before update interval elapse")
- cpp_quote("#define INET_E_SCHEDULED_UPDATE_INTERVAL _HRESULT_TYPEDEF_(0x800C0F86L) ")
- cpp_quote("")
- cpp_quote("// Scheduled update occurred during a restricted time")
- cpp_quote("#define INET_E_SCHEDULED_EXCLUDE_RANGE _HRESULT_TYPEDEF_(0x800C0F87L) ")
- cpp_quote("")
- cpp_quote("// Status codes used during updates")
- cpp_quote("")
- cpp_quote("// We are about to exceed our size limit during operation")
- cpp_quote("#define INET_E_AGENT_EXCEEDING_CACHE_SIZE _HRESULT_TYPEDEF_(0x800C0F90L) ")
- cpp_quote("")
- cpp_quote("// We extended the cache size")
- cpp_quote("#define INET_S_AGENT_INCREASED_CACHE_SIZE _HRESULT_TYPEDEF_(0x000C0F90L) ")
- cpp_quote("")
- cpp_quote("// End Information Delivery Agent definitions")
- cpp_quote("////////////////////////////////////////////////////////////////////////////")
- cpp_quote("")
- cpp_quote("")