SubsMgr.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:48k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for subsmgr.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __subsmgr_h__
  27. #define __subsmgr_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IEnumItemProperties_FWD_DEFINED__
  33. #define __IEnumItemProperties_FWD_DEFINED__
  34. typedef interface IEnumItemProperties IEnumItemProperties;
  35. #endif  /* __IEnumItemProperties_FWD_DEFINED__ */
  36. #ifndef __ISubscriptionItem_FWD_DEFINED__
  37. #define __ISubscriptionItem_FWD_DEFINED__
  38. typedef interface ISubscriptionItem ISubscriptionItem;
  39. #endif  /* __ISubscriptionItem_FWD_DEFINED__ */
  40. #ifndef __IEnumSubscription_FWD_DEFINED__
  41. #define __IEnumSubscription_FWD_DEFINED__
  42. typedef interface IEnumSubscription IEnumSubscription;
  43. #endif  /* __IEnumSubscription_FWD_DEFINED__ */
  44. #ifndef __ISubscriptionMgr_FWD_DEFINED__
  45. #define __ISubscriptionMgr_FWD_DEFINED__
  46. typedef interface ISubscriptionMgr ISubscriptionMgr;
  47. #endif  /* __ISubscriptionMgr_FWD_DEFINED__ */
  48. #ifndef __ISubscriptionMgr2_FWD_DEFINED__
  49. #define __ISubscriptionMgr2_FWD_DEFINED__
  50. typedef interface ISubscriptionMgr2 ISubscriptionMgr2;
  51. #endif  /* __ISubscriptionMgr2_FWD_DEFINED__ */
  52. #ifndef __SubscriptionMgr_FWD_DEFINED__
  53. #define __SubscriptionMgr_FWD_DEFINED__
  54. #ifdef __cplusplus
  55. typedef class SubscriptionMgr SubscriptionMgr;
  56. #else
  57. typedef struct SubscriptionMgr SubscriptionMgr;
  58. #endif /* __cplusplus */
  59. #endif  /* __SubscriptionMgr_FWD_DEFINED__ */
  60. /* header files for imported files */
  61. #include "unknwn.h"
  62. #include "ocidl.h"
  63. #ifdef __cplusplus
  64. extern "C"{
  65. #endif 
  66. void * __RPC_USER MIDL_user_allocate(size_t);
  67. void __RPC_USER MIDL_user_free( void * ); 
  68. /* interface __MIDL_itf_subsmgr_0000 */
  69. /* [local] */ 
  70. //=--------------------------------------------------------------------------=
  71. // subsmgr.h
  72. //=--------------------------------------------------------------------------=
  73. // (C) Copyright 1995-1998 Microsoft Corporation.  All Rights Reserved.
  74. //
  75. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  76. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  77. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  78. // PARTICULAR PURPOSE.
  79. //=--------------------------------------------------------------------------=
  80. #pragma comment(lib,"uuid.lib")
  81. //---------------------------------------------------------------------------=
  82. // Channel Manager Interfaces.
  83. typedef GUID SUBSCRIPTIONCOOKIE;
  84. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0000_v0_0_c_ifspec;
  85. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0000_v0_0_s_ifspec;
  86. #ifndef __IEnumItemProperties_INTERFACE_DEFINED__
  87. #define __IEnumItemProperties_INTERFACE_DEFINED__
  88. /* interface IEnumItemProperties */
  89. /* [object][helpstring][uuid] */ 
  90. typedef /* [unique] */ IEnumItemProperties *LPENUMITEMPROPERTIES;
  91. typedef struct _tagITEMPROP
  92.     {
  93.     VARIANT variantValue;
  94.     LPWSTR pwszName;
  95.     }  ITEMPROP;
  96. typedef struct _tagITEMPROP *LPITEMPROP;
  97. EXTERN_C const IID IID_IEnumItemProperties;
  98. #if defined(__cplusplus) && !defined(CINTERFACE)
  99.     
  100.     MIDL_INTERFACE("F72C8D96-6DBD-11d1-A1E8-00C04FC2FBE1")
  101.     IEnumItemProperties : public IUnknown
  102.     {
  103.     public:
  104.         virtual HRESULT STDMETHODCALLTYPE Next( 
  105.             /* [in] */ ULONG celt,
  106.             /* [length_is][size_is][out] */ ITEMPROP *rgelt,
  107.             /* [out] */ ULONG *pceltFetched) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  110.             /* [in] */ ULONG celt) = 0;
  111.         
  112.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  113.         
  114.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  115.             /* [out] */ IEnumItemProperties **ppenum) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE GetCount( 
  118.             /* [out] */ ULONG *pnCount) = 0;
  119.         
  120.     };
  121.     
  122. #else  /* C style interface */
  123.     typedef struct IEnumItemPropertiesVtbl
  124.     {
  125.         BEGIN_INTERFACE
  126.         
  127.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  128.             IEnumItemProperties * This,
  129.             /* [in] */ REFIID riid,
  130.             /* [iid_is][out] */ void **ppvObject);
  131.         
  132.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  133.             IEnumItemProperties * This);
  134.         
  135.         ULONG ( STDMETHODCALLTYPE *Release )( 
  136.             IEnumItemProperties * This);
  137.         
  138.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  139.             IEnumItemProperties * This,
  140.             /* [in] */ ULONG celt,
  141.             /* [length_is][size_is][out] */ ITEMPROP *rgelt,
  142.             /* [out] */ ULONG *pceltFetched);
  143.         
  144.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  145.             IEnumItemProperties * This,
  146.             /* [in] */ ULONG celt);
  147.         
  148.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  149.             IEnumItemProperties * This);
  150.         
  151.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  152.             IEnumItemProperties * This,
  153.             /* [out] */ IEnumItemProperties **ppenum);
  154.         
  155.         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
  156.             IEnumItemProperties * This,
  157.             /* [out] */ ULONG *pnCount);
  158.         
  159.         END_INTERFACE
  160.     } IEnumItemPropertiesVtbl;
  161.     interface IEnumItemProperties
  162.     {
  163.         CONST_VTBL struct IEnumItemPropertiesVtbl *lpVtbl;
  164.     };
  165.     
  166. #ifdef COBJMACROS
  167. #define IEnumItemProperties_QueryInterface(This,riid,ppvObject)
  168.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  169. #define IEnumItemProperties_AddRef(This)
  170.     (This)->lpVtbl -> AddRef(This)
  171. #define IEnumItemProperties_Release(This)
  172.     (This)->lpVtbl -> Release(This)
  173. #define IEnumItemProperties_Next(This,celt,rgelt,pceltFetched)
  174.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  175. #define IEnumItemProperties_Skip(This,celt)
  176.     (This)->lpVtbl -> Skip(This,celt)
  177. #define IEnumItemProperties_Reset(This)
  178.     (This)->lpVtbl -> Reset(This)
  179. #define IEnumItemProperties_Clone(This,ppenum)
  180.     (This)->lpVtbl -> Clone(This,ppenum)
  181. #define IEnumItemProperties_GetCount(This,pnCount)
  182.     (This)->lpVtbl -> GetCount(This,pnCount)
  183. #endif /* COBJMACROS */
  184. #endif  /* C style interface */
  185. HRESULT STDMETHODCALLTYPE IEnumItemProperties_Next_Proxy( 
  186.     IEnumItemProperties * This,
  187.     /* [in] */ ULONG celt,
  188.     /* [length_is][size_is][out] */ ITEMPROP *rgelt,
  189.     /* [out] */ ULONG *pceltFetched);
  190. void __RPC_STUB IEnumItemProperties_Next_Stub(
  191.     IRpcStubBuffer *This,
  192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  193.     PRPC_MESSAGE _pRpcMessage,
  194.     DWORD *_pdwStubPhase);
  195. HRESULT STDMETHODCALLTYPE IEnumItemProperties_Skip_Proxy( 
  196.     IEnumItemProperties * This,
  197.     /* [in] */ ULONG celt);
  198. void __RPC_STUB IEnumItemProperties_Skip_Stub(
  199.     IRpcStubBuffer *This,
  200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  201.     PRPC_MESSAGE _pRpcMessage,
  202.     DWORD *_pdwStubPhase);
  203. HRESULT STDMETHODCALLTYPE IEnumItemProperties_Reset_Proxy( 
  204.     IEnumItemProperties * This);
  205. void __RPC_STUB IEnumItemProperties_Reset_Stub(
  206.     IRpcStubBuffer *This,
  207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  208.     PRPC_MESSAGE _pRpcMessage,
  209.     DWORD *_pdwStubPhase);
  210. HRESULT STDMETHODCALLTYPE IEnumItemProperties_Clone_Proxy( 
  211.     IEnumItemProperties * This,
  212.     /* [out] */ IEnumItemProperties **ppenum);
  213. void __RPC_STUB IEnumItemProperties_Clone_Stub(
  214.     IRpcStubBuffer *This,
  215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  216.     PRPC_MESSAGE _pRpcMessage,
  217.     DWORD *_pdwStubPhase);
  218. HRESULT STDMETHODCALLTYPE IEnumItemProperties_GetCount_Proxy( 
  219.     IEnumItemProperties * This,
  220.     /* [out] */ ULONG *pnCount);
  221. void __RPC_STUB IEnumItemProperties_GetCount_Stub(
  222.     IRpcStubBuffer *This,
  223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  224.     PRPC_MESSAGE _pRpcMessage,
  225.     DWORD *_pdwStubPhase);
  226. #endif  /* __IEnumItemProperties_INTERFACE_DEFINED__ */
  227. /* interface __MIDL_itf_subsmgr_0254 */
  228. /* [local] */ 
  229. //  Subscription item flag values
  230. //  Temporary subscription item
  231. #define SI_TEMPORARY         0x80000000
  232. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0254_v0_0_c_ifspec;
  233. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0254_v0_0_s_ifspec;
  234. #ifndef __ISubscriptionItem_INTERFACE_DEFINED__
  235. #define __ISubscriptionItem_INTERFACE_DEFINED__
  236. /* interface ISubscriptionItem */
  237. /* [object][helpstring][uuid] */ 
  238. typedef /* [unique] */ ISubscriptionItem *LPSUBSCRIPTIONITEM;
  239. //  SUBSCRIPTIONITEMINFO flags                               
  240. //  To specify that an item should only run on user idle     
  241. //  use TASK_FLAG_START_ONLY_IF_IDLE                         
  242. typedef struct tagSUBSCRIPTIONITEMINFO
  243.     {
  244.     ULONG cbSize;
  245.     DWORD dwFlags;
  246.     DWORD dwPriority;
  247.     SUBSCRIPTIONCOOKIE ScheduleGroup;
  248.     CLSID clsidAgent;
  249.     }  SUBSCRIPTIONITEMINFO;
  250. EXTERN_C const IID IID_ISubscriptionItem;
  251. #if defined(__cplusplus) && !defined(CINTERFACE)
  252.     
  253.     MIDL_INTERFACE("A97559F8-6C4A-11d1-A1E8-00C04FC2FBE1")
  254.     ISubscriptionItem : public IUnknown
  255.     {
  256.     public:
  257.         virtual HRESULT STDMETHODCALLTYPE GetCookie( 
  258.             /* [out] */ SUBSCRIPTIONCOOKIE *pCookie) = 0;
  259.         
  260.         virtual HRESULT STDMETHODCALLTYPE GetSubscriptionItemInfo( 
  261.             /* [out] */ SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo) = 0;
  262.         
  263.         virtual HRESULT STDMETHODCALLTYPE SetSubscriptionItemInfo( 
  264.             /* [in] */ const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo) = 0;
  265.         
  266.         virtual HRESULT STDMETHODCALLTYPE ReadProperties( 
  267.             ULONG nCount,
  268.             /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  269.             /* [size_is][out] */ VARIANT rgValue[  ]) = 0;
  270.         
  271.         virtual HRESULT STDMETHODCALLTYPE WriteProperties( 
  272.             ULONG nCount,
  273.             /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  274.             /* [size_is][in] */ const VARIANT rgValue[  ]) = 0;
  275.         
  276.         virtual HRESULT STDMETHODCALLTYPE EnumProperties( 
  277.             /* [out] */ IEnumItemProperties **ppEnumItemProperties) = 0;
  278.         
  279.         virtual HRESULT STDMETHODCALLTYPE NotifyChanged( void) = 0;
  280.         
  281.     };
  282.     
  283. #else  /* C style interface */
  284.     typedef struct ISubscriptionItemVtbl
  285.     {
  286.         BEGIN_INTERFACE
  287.         
  288.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  289.             ISubscriptionItem * This,
  290.             /* [in] */ REFIID riid,
  291.             /* [iid_is][out] */ void **ppvObject);
  292.         
  293.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  294.             ISubscriptionItem * This);
  295.         
  296.         ULONG ( STDMETHODCALLTYPE *Release )( 
  297.             ISubscriptionItem * This);
  298.         
  299.         HRESULT ( STDMETHODCALLTYPE *GetCookie )( 
  300.             ISubscriptionItem * This,
  301.             /* [out] */ SUBSCRIPTIONCOOKIE *pCookie);
  302.         
  303.         HRESULT ( STDMETHODCALLTYPE *GetSubscriptionItemInfo )( 
  304.             ISubscriptionItem * This,
  305.             /* [out] */ SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
  306.         
  307.         HRESULT ( STDMETHODCALLTYPE *SetSubscriptionItemInfo )( 
  308.             ISubscriptionItem * This,
  309.             /* [in] */ const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *ReadProperties )( 
  312.             ISubscriptionItem * This,
  313.             ULONG nCount,
  314.             /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  315.             /* [size_is][out] */ VARIANT rgValue[  ]);
  316.         
  317.         HRESULT ( STDMETHODCALLTYPE *WriteProperties )( 
  318.             ISubscriptionItem * This,
  319.             ULONG nCount,
  320.             /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  321.             /* [size_is][in] */ const VARIANT rgValue[  ]);
  322.         
  323.         HRESULT ( STDMETHODCALLTYPE *EnumProperties )( 
  324.             ISubscriptionItem * This,
  325.             /* [out] */ IEnumItemProperties **ppEnumItemProperties);
  326.         
  327.         HRESULT ( STDMETHODCALLTYPE *NotifyChanged )( 
  328.             ISubscriptionItem * This);
  329.         
  330.         END_INTERFACE
  331.     } ISubscriptionItemVtbl;
  332.     interface ISubscriptionItem
  333.     {
  334.         CONST_VTBL struct ISubscriptionItemVtbl *lpVtbl;
  335.     };
  336.     
  337. #ifdef COBJMACROS
  338. #define ISubscriptionItem_QueryInterface(This,riid,ppvObject)
  339.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  340. #define ISubscriptionItem_AddRef(This)
  341.     (This)->lpVtbl -> AddRef(This)
  342. #define ISubscriptionItem_Release(This)
  343.     (This)->lpVtbl -> Release(This)
  344. #define ISubscriptionItem_GetCookie(This,pCookie)
  345.     (This)->lpVtbl -> GetCookie(This,pCookie)
  346. #define ISubscriptionItem_GetSubscriptionItemInfo(This,pSubscriptionItemInfo)
  347.     (This)->lpVtbl -> GetSubscriptionItemInfo(This,pSubscriptionItemInfo)
  348. #define ISubscriptionItem_SetSubscriptionItemInfo(This,pSubscriptionItemInfo)
  349.     (This)->lpVtbl -> SetSubscriptionItemInfo(This,pSubscriptionItemInfo)
  350. #define ISubscriptionItem_ReadProperties(This,nCount,rgwszName,rgValue)
  351.     (This)->lpVtbl -> ReadProperties(This,nCount,rgwszName,rgValue)
  352. #define ISubscriptionItem_WriteProperties(This,nCount,rgwszName,rgValue)
  353.     (This)->lpVtbl -> WriteProperties(This,nCount,rgwszName,rgValue)
  354. #define ISubscriptionItem_EnumProperties(This,ppEnumItemProperties)
  355.     (This)->lpVtbl -> EnumProperties(This,ppEnumItemProperties)
  356. #define ISubscriptionItem_NotifyChanged(This)
  357.     (This)->lpVtbl -> NotifyChanged(This)
  358. #endif /* COBJMACROS */
  359. #endif  /* C style interface */
  360. HRESULT STDMETHODCALLTYPE ISubscriptionItem_GetCookie_Proxy( 
  361.     ISubscriptionItem * This,
  362.     /* [out] */ SUBSCRIPTIONCOOKIE *pCookie);
  363. void __RPC_STUB ISubscriptionItem_GetCookie_Stub(
  364.     IRpcStubBuffer *This,
  365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  366.     PRPC_MESSAGE _pRpcMessage,
  367.     DWORD *_pdwStubPhase);
  368. HRESULT STDMETHODCALLTYPE ISubscriptionItem_GetSubscriptionItemInfo_Proxy( 
  369.     ISubscriptionItem * This,
  370.     /* [out] */ SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
  371. void __RPC_STUB ISubscriptionItem_GetSubscriptionItemInfo_Stub(
  372.     IRpcStubBuffer *This,
  373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  374.     PRPC_MESSAGE _pRpcMessage,
  375.     DWORD *_pdwStubPhase);
  376. HRESULT STDMETHODCALLTYPE ISubscriptionItem_SetSubscriptionItemInfo_Proxy( 
  377.     ISubscriptionItem * This,
  378.     /* [in] */ const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
  379. void __RPC_STUB ISubscriptionItem_SetSubscriptionItemInfo_Stub(
  380.     IRpcStubBuffer *This,
  381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  382.     PRPC_MESSAGE _pRpcMessage,
  383.     DWORD *_pdwStubPhase);
  384. HRESULT STDMETHODCALLTYPE ISubscriptionItem_ReadProperties_Proxy( 
  385.     ISubscriptionItem * This,
  386.     ULONG nCount,
  387.     /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  388.     /* [size_is][out] */ VARIANT rgValue[  ]);
  389. void __RPC_STUB ISubscriptionItem_ReadProperties_Stub(
  390.     IRpcStubBuffer *This,
  391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  392.     PRPC_MESSAGE _pRpcMessage,
  393.     DWORD *_pdwStubPhase);
  394. HRESULT STDMETHODCALLTYPE ISubscriptionItem_WriteProperties_Proxy( 
  395.     ISubscriptionItem * This,
  396.     ULONG nCount,
  397.     /* [size_is][in] */ const LPCWSTR rgwszName[  ],
  398.     /* [size_is][in] */ const VARIANT rgValue[  ]);
  399. void __RPC_STUB ISubscriptionItem_WriteProperties_Stub(
  400.     IRpcStubBuffer *This,
  401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  402.     PRPC_MESSAGE _pRpcMessage,
  403.     DWORD *_pdwStubPhase);
  404. HRESULT STDMETHODCALLTYPE ISubscriptionItem_EnumProperties_Proxy( 
  405.     ISubscriptionItem * This,
  406.     /* [out] */ IEnumItemProperties **ppEnumItemProperties);
  407. void __RPC_STUB ISubscriptionItem_EnumProperties_Stub(
  408.     IRpcStubBuffer *This,
  409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  410.     PRPC_MESSAGE _pRpcMessage,
  411.     DWORD *_pdwStubPhase);
  412. HRESULT STDMETHODCALLTYPE ISubscriptionItem_NotifyChanged_Proxy( 
  413.     ISubscriptionItem * This);
  414. void __RPC_STUB ISubscriptionItem_NotifyChanged_Stub(
  415.     IRpcStubBuffer *This,
  416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  417.     PRPC_MESSAGE _pRpcMessage,
  418.     DWORD *_pdwStubPhase);
  419. #endif  /* __ISubscriptionItem_INTERFACE_DEFINED__ */
  420. #ifndef __IEnumSubscription_INTERFACE_DEFINED__
  421. #define __IEnumSubscription_INTERFACE_DEFINED__
  422. /* interface IEnumSubscription */
  423. /* [object][helpstring][uuid] */ 
  424. typedef /* [unique] */ IEnumSubscription *LPENUMSUBSCRIPTION;
  425. EXTERN_C const IID IID_IEnumSubscription;
  426. #if defined(__cplusplus) && !defined(CINTERFACE)
  427.     
  428.     MIDL_INTERFACE("F72C8D97-6DBD-11d1-A1E8-00C04FC2FBE1")
  429.     IEnumSubscription : public IUnknown
  430.     {
  431.     public:
  432.         virtual HRESULT STDMETHODCALLTYPE Next( 
  433.             /* [in] */ ULONG celt,
  434.             /* [length_is][size_is][out] */ SUBSCRIPTIONCOOKIE *rgelt,
  435.             /* [out] */ ULONG *pceltFetched) = 0;
  436.         
  437.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  438.             /* [in] */ ULONG celt) = 0;
  439.         
  440.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  441.         
  442.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  443.             /* [out] */ IEnumSubscription **ppenum) = 0;
  444.         
  445.         virtual HRESULT STDMETHODCALLTYPE GetCount( 
  446.             /* [out] */ ULONG *pnCount) = 0;
  447.         
  448.     };
  449.     
  450. #else  /* C style interface */
  451.     typedef struct IEnumSubscriptionVtbl
  452.     {
  453.         BEGIN_INTERFACE
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  456.             IEnumSubscription * This,
  457.             /* [in] */ REFIID riid,
  458.             /* [iid_is][out] */ void **ppvObject);
  459.         
  460.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  461.             IEnumSubscription * This);
  462.         
  463.         ULONG ( STDMETHODCALLTYPE *Release )( 
  464.             IEnumSubscription * This);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  467.             IEnumSubscription * This,
  468.             /* [in] */ ULONG celt,
  469.             /* [length_is][size_is][out] */ SUBSCRIPTIONCOOKIE *rgelt,
  470.             /* [out] */ ULONG *pceltFetched);
  471.         
  472.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  473.             IEnumSubscription * This,
  474.             /* [in] */ ULONG celt);
  475.         
  476.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  477.             IEnumSubscription * This);
  478.         
  479.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  480.             IEnumSubscription * This,
  481.             /* [out] */ IEnumSubscription **ppenum);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
  484.             IEnumSubscription * This,
  485.             /* [out] */ ULONG *pnCount);
  486.         
  487.         END_INTERFACE
  488.     } IEnumSubscriptionVtbl;
  489.     interface IEnumSubscription
  490.     {
  491.         CONST_VTBL struct IEnumSubscriptionVtbl *lpVtbl;
  492.     };
  493.     
  494. #ifdef COBJMACROS
  495. #define IEnumSubscription_QueryInterface(This,riid,ppvObject)
  496.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  497. #define IEnumSubscription_AddRef(This)
  498.     (This)->lpVtbl -> AddRef(This)
  499. #define IEnumSubscription_Release(This)
  500.     (This)->lpVtbl -> Release(This)
  501. #define IEnumSubscription_Next(This,celt,rgelt,pceltFetched)
  502.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  503. #define IEnumSubscription_Skip(This,celt)
  504.     (This)->lpVtbl -> Skip(This,celt)
  505. #define IEnumSubscription_Reset(This)
  506.     (This)->lpVtbl -> Reset(This)
  507. #define IEnumSubscription_Clone(This,ppenum)
  508.     (This)->lpVtbl -> Clone(This,ppenum)
  509. #define IEnumSubscription_GetCount(This,pnCount)
  510.     (This)->lpVtbl -> GetCount(This,pnCount)
  511. #endif /* COBJMACROS */
  512. #endif  /* C style interface */
  513. HRESULT STDMETHODCALLTYPE IEnumSubscription_Next_Proxy( 
  514.     IEnumSubscription * This,
  515.     /* [in] */ ULONG celt,
  516.     /* [length_is][size_is][out] */ SUBSCRIPTIONCOOKIE *rgelt,
  517.     /* [out] */ ULONG *pceltFetched);
  518. void __RPC_STUB IEnumSubscription_Next_Stub(
  519.     IRpcStubBuffer *This,
  520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  521.     PRPC_MESSAGE _pRpcMessage,
  522.     DWORD *_pdwStubPhase);
  523. HRESULT STDMETHODCALLTYPE IEnumSubscription_Skip_Proxy( 
  524.     IEnumSubscription * This,
  525.     /* [in] */ ULONG celt);
  526. void __RPC_STUB IEnumSubscription_Skip_Stub(
  527.     IRpcStubBuffer *This,
  528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  529.     PRPC_MESSAGE _pRpcMessage,
  530.     DWORD *_pdwStubPhase);
  531. HRESULT STDMETHODCALLTYPE IEnumSubscription_Reset_Proxy( 
  532.     IEnumSubscription * This);
  533. void __RPC_STUB IEnumSubscription_Reset_Stub(
  534.     IRpcStubBuffer *This,
  535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  536.     PRPC_MESSAGE _pRpcMessage,
  537.     DWORD *_pdwStubPhase);
  538. HRESULT STDMETHODCALLTYPE IEnumSubscription_Clone_Proxy( 
  539.     IEnumSubscription * This,
  540.     /* [out] */ IEnumSubscription **ppenum);
  541. void __RPC_STUB IEnumSubscription_Clone_Stub(
  542.     IRpcStubBuffer *This,
  543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  544.     PRPC_MESSAGE _pRpcMessage,
  545.     DWORD *_pdwStubPhase);
  546. HRESULT STDMETHODCALLTYPE IEnumSubscription_GetCount_Proxy( 
  547.     IEnumSubscription * This,
  548.     /* [out] */ ULONG *pnCount);
  549. void __RPC_STUB IEnumSubscription_GetCount_Stub(
  550.     IRpcStubBuffer *This,
  551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  552.     PRPC_MESSAGE _pRpcMessage,
  553.     DWORD *_pdwStubPhase);
  554. #endif  /* __IEnumSubscription_INTERFACE_DEFINED__ */
  555. #ifndef __SubscriptionMgr_LIBRARY_DEFINED__
  556. #define __SubscriptionMgr_LIBRARY_DEFINED__
  557. /* library SubscriptionMgr */
  558. /* [version][lcid][helpstring][uuid] */ 
  559. EXTERN_C const IID LIBID_SubscriptionMgr;
  560. #ifndef __ISubscriptionMgr_INTERFACE_DEFINED__
  561. #define __ISubscriptionMgr_INTERFACE_DEFINED__
  562. /* interface ISubscriptionMgr */
  563. /* [object][helpstring][uuid] */ 
  564. typedef 
  565. enum SUBSCRIPTIONTYPE
  566.     { SUBSTYPE_URL = 0,
  567. SUBSTYPE_CHANNEL = 1,
  568. SUBSTYPE_DESKTOPURL = 2,
  569. SUBSTYPE_EXTERNAL = 3,
  570. SUBSTYPE_DESKTOPCHANNEL = 4
  571.     }  SUBSCRIPTIONTYPE;
  572. typedef 
  573. enum SUBSCRIPTIONINFOFLAGS
  574.     { SUBSINFO_SCHEDULE = 0x1,
  575. SUBSINFO_RECURSE = 0x2,
  576. SUBSINFO_WEBCRAWL = 0x4,
  577. SUBSINFO_MAILNOT = 0x8,
  578. SUBSINFO_MAXSIZEKB = 0x10,
  579. SUBSINFO_USER = 0x20,
  580. SUBSINFO_PASSWORD = 0x40,
  581. SUBSINFO_TASKFLAGS = 0x100,
  582. SUBSINFO_GLEAM = 0x200,
  583. SUBSINFO_CHANGESONLY = 0x400,
  584. SUBSINFO_CHANNELFLAGS = 0x800,
  585. SUBSINFO_FRIENDLYNAME = 0x2000,
  586. SUBSINFO_NEEDPASSWORD = 0x4000,
  587. SUBSINFO_TYPE = 0x8000
  588.     }  SUBSCRIPTIONINFOFLAGS;
  589. #define SUBSINFO_ALLFLAGS      0x0000EF7F
  590. typedef 
  591. enum CREATESUBSCRIPTIONFLAGS
  592.     { CREATESUBS_ADDTOFAVORITES = 0x1,
  593. CREATESUBS_FROMFAVORITES = 0x2,
  594. CREATESUBS_NOUI = 0x4,
  595. CREATESUBS_NOSAVE = 0x8,
  596. CREATESUBS_SOFTWAREUPDATE = 0x10
  597.     }  CREATESUBSCRIPTIONFLAGS;
  598. typedef 
  599. enum SUBSCRIPTIONSCHEDULE
  600.     { SUBSSCHED_AUTO = 0,
  601. SUBSSCHED_DAILY = 1,
  602. SUBSSCHED_WEEKLY = 2,
  603. SUBSSCHED_CUSTOM = 3,
  604. SUBSSCHED_MANUAL = 4
  605.     }  SUBSCRIPTIONSCHEDULE;
  606. typedef struct _tagSubscriptionInfo
  607.     {
  608.     DWORD cbSize;
  609.     DWORD fUpdateFlags;
  610.     SUBSCRIPTIONSCHEDULE schedule;
  611.     CLSID customGroupCookie;
  612.     LPVOID pTrigger;
  613.     DWORD dwRecurseLevels;
  614.     DWORD fWebcrawlerFlags;
  615.     BOOL bMailNotification;
  616.     BOOL bGleam;
  617.     BOOL bChangesOnly;
  618.     BOOL bNeedPassword;
  619.     DWORD fChannelFlags;
  620.     BSTR bstrUserName;
  621.     BSTR bstrPassword;
  622.     BSTR bstrFriendlyName;
  623.     DWORD dwMaxSizeKB;
  624.     SUBSCRIPTIONTYPE subType;
  625.     DWORD fTaskFlags;
  626.     DWORD dwReserved;
  627.     }  SUBSCRIPTIONINFO;
  628. typedef struct _tagSubscriptionInfo *LPSUBSCRIPTIONINFO;
  629. typedef struct _tagSubscriptionInfo *PSUBSCRIPTIONINFO;
  630. EXTERN_C const IID IID_ISubscriptionMgr;
  631. #if defined(__cplusplus) && !defined(CINTERFACE)
  632.     
  633.     MIDL_INTERFACE("085FB2C0-0DF8-11d1-8F4B-00A0C905413F")
  634.     ISubscriptionMgr : public IUnknown
  635.     {
  636.     public:
  637.         virtual HRESULT STDMETHODCALLTYPE DeleteSubscription( 
  638.             /* [in] */ LPCWSTR pwszURL,
  639.             /* [in] */ HWND hwnd) = 0;
  640.         
  641.         virtual HRESULT STDMETHODCALLTYPE UpdateSubscription( 
  642.             /* [in] */ LPCWSTR pwszURL) = 0;
  643.         
  644.         virtual HRESULT STDMETHODCALLTYPE UpdateAll( void) = 0;
  645.         
  646.         virtual HRESULT STDMETHODCALLTYPE IsSubscribed( 
  647.             /* [in] */ LPCWSTR pwszURL,
  648.             /* [out] */ BOOL *pfSubscribed) = 0;
  649.         
  650.         virtual HRESULT STDMETHODCALLTYPE GetSubscriptionInfo( 
  651.             /* [in] */ LPCWSTR pwszURL,
  652.             /* [out] */ SUBSCRIPTIONINFO *pInfo) = 0;
  653.         
  654.         virtual HRESULT STDMETHODCALLTYPE GetDefaultInfo( 
  655.             /* [in] */ SUBSCRIPTIONTYPE subType,
  656.             /* [out] */ SUBSCRIPTIONINFO *pInfo) = 0;
  657.         
  658.         virtual HRESULT STDMETHODCALLTYPE ShowSubscriptionProperties( 
  659.             /* [in] */ LPCWSTR pwszURL,
  660.             /* [in] */ HWND hwnd) = 0;
  661.         
  662.         virtual HRESULT STDMETHODCALLTYPE CreateSubscription( 
  663.             /* [in] */ HWND hwnd,
  664.             /* [in] */ LPCWSTR pwszURL,
  665.             /* [in] */ LPCWSTR pwszFriendlyName,
  666.             /* [in] */ DWORD dwFlags,
  667.             /* [in] */ SUBSCRIPTIONTYPE subsType,
  668.             /* [out][in] */ SUBSCRIPTIONINFO *pInfo) = 0;
  669.         
  670.     };
  671.     
  672. #else  /* C style interface */
  673.     typedef struct ISubscriptionMgrVtbl
  674.     {
  675.         BEGIN_INTERFACE
  676.         
  677.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  678.             ISubscriptionMgr * This,
  679.             /* [in] */ REFIID riid,
  680.             /* [iid_is][out] */ void **ppvObject);
  681.         
  682.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  683.             ISubscriptionMgr * This);
  684.         
  685.         ULONG ( STDMETHODCALLTYPE *Release )( 
  686.             ISubscriptionMgr * This);
  687.         
  688.         HRESULT ( STDMETHODCALLTYPE *DeleteSubscription )( 
  689.             ISubscriptionMgr * This,
  690.             /* [in] */ LPCWSTR pwszURL,
  691.             /* [in] */ HWND hwnd);
  692.         
  693.         HRESULT ( STDMETHODCALLTYPE *UpdateSubscription )( 
  694.             ISubscriptionMgr * This,
  695.             /* [in] */ LPCWSTR pwszURL);
  696.         
  697.         HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 
  698.             ISubscriptionMgr * This);
  699.         
  700.         HRESULT ( STDMETHODCALLTYPE *IsSubscribed )( 
  701.             ISubscriptionMgr * This,
  702.             /* [in] */ LPCWSTR pwszURL,
  703.             /* [out] */ BOOL *pfSubscribed);
  704.         
  705.         HRESULT ( STDMETHODCALLTYPE *GetSubscriptionInfo )( 
  706.             ISubscriptionMgr * This,
  707.             /* [in] */ LPCWSTR pwszURL,
  708.             /* [out] */ SUBSCRIPTIONINFO *pInfo);
  709.         
  710.         HRESULT ( STDMETHODCALLTYPE *GetDefaultInfo )( 
  711.             ISubscriptionMgr * This,
  712.             /* [in] */ SUBSCRIPTIONTYPE subType,
  713.             /* [out] */ SUBSCRIPTIONINFO *pInfo);
  714.         
  715.         HRESULT ( STDMETHODCALLTYPE *ShowSubscriptionProperties )( 
  716.             ISubscriptionMgr * This,
  717.             /* [in] */ LPCWSTR pwszURL,
  718.             /* [in] */ HWND hwnd);
  719.         
  720.         HRESULT ( STDMETHODCALLTYPE *CreateSubscription )( 
  721.             ISubscriptionMgr * This,
  722.             /* [in] */ HWND hwnd,
  723.             /* [in] */ LPCWSTR pwszURL,
  724.             /* [in] */ LPCWSTR pwszFriendlyName,
  725.             /* [in] */ DWORD dwFlags,
  726.             /* [in] */ SUBSCRIPTIONTYPE subsType,
  727.             /* [out][in] */ SUBSCRIPTIONINFO *pInfo);
  728.         
  729.         END_INTERFACE
  730.     } ISubscriptionMgrVtbl;
  731.     interface ISubscriptionMgr
  732.     {
  733.         CONST_VTBL struct ISubscriptionMgrVtbl *lpVtbl;
  734.     };
  735.     
  736. #ifdef COBJMACROS
  737. #define ISubscriptionMgr_QueryInterface(This,riid,ppvObject)
  738.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  739. #define ISubscriptionMgr_AddRef(This)
  740.     (This)->lpVtbl -> AddRef(This)
  741. #define ISubscriptionMgr_Release(This)
  742.     (This)->lpVtbl -> Release(This)
  743. #define ISubscriptionMgr_DeleteSubscription(This,pwszURL,hwnd)
  744.     (This)->lpVtbl -> DeleteSubscription(This,pwszURL,hwnd)
  745. #define ISubscriptionMgr_UpdateSubscription(This,pwszURL)
  746.     (This)->lpVtbl -> UpdateSubscription(This,pwszURL)
  747. #define ISubscriptionMgr_UpdateAll(This)
  748.     (This)->lpVtbl -> UpdateAll(This)
  749. #define ISubscriptionMgr_IsSubscribed(This,pwszURL,pfSubscribed)
  750.     (This)->lpVtbl -> IsSubscribed(This,pwszURL,pfSubscribed)
  751. #define ISubscriptionMgr_GetSubscriptionInfo(This,pwszURL,pInfo)
  752.     (This)->lpVtbl -> GetSubscriptionInfo(This,pwszURL,pInfo)
  753. #define ISubscriptionMgr_GetDefaultInfo(This,subType,pInfo)
  754.     (This)->lpVtbl -> GetDefaultInfo(This,subType,pInfo)
  755. #define ISubscriptionMgr_ShowSubscriptionProperties(This,pwszURL,hwnd)
  756.     (This)->lpVtbl -> ShowSubscriptionProperties(This,pwszURL,hwnd)
  757. #define ISubscriptionMgr_CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
  758.     (This)->lpVtbl -> CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
  759. #endif /* COBJMACROS */
  760. #endif  /* C style interface */
  761. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_DeleteSubscription_Proxy( 
  762.     ISubscriptionMgr * This,
  763.     /* [in] */ LPCWSTR pwszURL,
  764.     /* [in] */ HWND hwnd);
  765. void __RPC_STUB ISubscriptionMgr_DeleteSubscription_Stub(
  766.     IRpcStubBuffer *This,
  767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  768.     PRPC_MESSAGE _pRpcMessage,
  769.     DWORD *_pdwStubPhase);
  770. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_UpdateSubscription_Proxy( 
  771.     ISubscriptionMgr * This,
  772.     /* [in] */ LPCWSTR pwszURL);
  773. void __RPC_STUB ISubscriptionMgr_UpdateSubscription_Stub(
  774.     IRpcStubBuffer *This,
  775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  776.     PRPC_MESSAGE _pRpcMessage,
  777.     DWORD *_pdwStubPhase);
  778. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_UpdateAll_Proxy( 
  779.     ISubscriptionMgr * This);
  780. void __RPC_STUB ISubscriptionMgr_UpdateAll_Stub(
  781.     IRpcStubBuffer *This,
  782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  783.     PRPC_MESSAGE _pRpcMessage,
  784.     DWORD *_pdwStubPhase);
  785. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_IsSubscribed_Proxy( 
  786.     ISubscriptionMgr * This,
  787.     /* [in] */ LPCWSTR pwszURL,
  788.     /* [out] */ BOOL *pfSubscribed);
  789. void __RPC_STUB ISubscriptionMgr_IsSubscribed_Stub(
  790.     IRpcStubBuffer *This,
  791.     IRpcChannelBuffer *_pRpcChannelBuffer,
  792.     PRPC_MESSAGE _pRpcMessage,
  793.     DWORD *_pdwStubPhase);
  794. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_GetSubscriptionInfo_Proxy( 
  795.     ISubscriptionMgr * This,
  796.     /* [in] */ LPCWSTR pwszURL,
  797.     /* [out] */ SUBSCRIPTIONINFO *pInfo);
  798. void __RPC_STUB ISubscriptionMgr_GetSubscriptionInfo_Stub(
  799.     IRpcStubBuffer *This,
  800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  801.     PRPC_MESSAGE _pRpcMessage,
  802.     DWORD *_pdwStubPhase);
  803. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_GetDefaultInfo_Proxy( 
  804.     ISubscriptionMgr * This,
  805.     /* [in] */ SUBSCRIPTIONTYPE subType,
  806.     /* [out] */ SUBSCRIPTIONINFO *pInfo);
  807. void __RPC_STUB ISubscriptionMgr_GetDefaultInfo_Stub(
  808.     IRpcStubBuffer *This,
  809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  810.     PRPC_MESSAGE _pRpcMessage,
  811.     DWORD *_pdwStubPhase);
  812. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_ShowSubscriptionProperties_Proxy( 
  813.     ISubscriptionMgr * This,
  814.     /* [in] */ LPCWSTR pwszURL,
  815.     /* [in] */ HWND hwnd);
  816. void __RPC_STUB ISubscriptionMgr_ShowSubscriptionProperties_Stub(
  817.     IRpcStubBuffer *This,
  818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  819.     PRPC_MESSAGE _pRpcMessage,
  820.     DWORD *_pdwStubPhase);
  821. HRESULT STDMETHODCALLTYPE ISubscriptionMgr_CreateSubscription_Proxy( 
  822.     ISubscriptionMgr * This,
  823.     /* [in] */ HWND hwnd,
  824.     /* [in] */ LPCWSTR pwszURL,
  825.     /* [in] */ LPCWSTR pwszFriendlyName,
  826.     /* [in] */ DWORD dwFlags,
  827.     /* [in] */ SUBSCRIPTIONTYPE subsType,
  828.     /* [out][in] */ SUBSCRIPTIONINFO *pInfo);
  829. void __RPC_STUB ISubscriptionMgr_CreateSubscription_Stub(
  830.     IRpcStubBuffer *This,
  831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  832.     PRPC_MESSAGE _pRpcMessage,
  833.     DWORD *_pdwStubPhase);
  834. #endif  /* __ISubscriptionMgr_INTERFACE_DEFINED__ */
  835. #ifndef __ISubscriptionMgr2_INTERFACE_DEFINED__
  836. #define __ISubscriptionMgr2_INTERFACE_DEFINED__
  837. /* interface ISubscriptionMgr2 */
  838. /* [object][helpstring][uuid] */ 
  839. //  Run State flags                                          
  840. //  Item is ready and queued to run                          
  841. #define RS_READY            0x00000001                       
  842. //  Running item is paused                                   
  843. #define RS_SUSPENDED        0x00000002                       
  844. //  Item is updating                                         
  845. #define RS_UPDATING         0x00000004                       
  846. //  This item will be suspended while the user is not idle   
  847. #define RS_SUSPENDONIDLE    0x00010000                       
  848. //  This item is allowed to cause user interaction           
  849. #define RS_MAYBOTHERUSER    0x00020000                       
  850. //  Update is done                                           
  851. #define RS_COMPLETED        0x80000000                       
  852. //  Update flags                                             
  853. //  Update window should start minimized                     
  854. #define SUBSMGRUPDATE_MINIMIZE   0x00000001                  
  855. #define SUBSMGRUPDATE_MASK       0x00000001                  
  856. //  Enumeration flags                                        
  857. //  Include temporary items                                  
  858. #define SUBSMGRENUM_TEMP         0x00000001                  
  859. #define SUBSMGRENUM_MASK         0x00000001                  
  860. EXTERN_C const IID IID_ISubscriptionMgr2;
  861. #if defined(__cplusplus) && !defined(CINTERFACE)
  862.     
  863.     MIDL_INTERFACE("614BC270-AEDF-11d1-A1F9-00C04FC2FBE1")
  864.     ISubscriptionMgr2 : public ISubscriptionMgr
  865.     {
  866.     public:
  867.         virtual HRESULT STDMETHODCALLTYPE GetItemFromURL( 
  868.             /* [in] */ LPCWSTR pwszURL,
  869.             /* [out] */ ISubscriptionItem **ppSubscriptionItem) = 0;
  870.         
  871.         virtual HRESULT STDMETHODCALLTYPE GetItemFromCookie( 
  872.             /* [in] */ const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,
  873.             /* [out] */ ISubscriptionItem **ppSubscriptionItem) = 0;
  874.         
  875.         virtual HRESULT STDMETHODCALLTYPE GetSubscriptionRunState( 
  876.             /* [in] */ DWORD dwNumCookies,
  877.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies,
  878.             /* [size_is][out] */ DWORD *pdwRunState) = 0;
  879.         
  880.         virtual HRESULT STDMETHODCALLTYPE EnumSubscriptions( 
  881.             /* [in] */ DWORD dwFlags,
  882.             /* [out] */ IEnumSubscription **ppEnumSubscriptions) = 0;
  883.         
  884.         virtual HRESULT STDMETHODCALLTYPE UpdateItems( 
  885.             /* [in] */ DWORD dwFlags,
  886.             /* [in] */ DWORD dwNumCookies,
  887.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies) = 0;
  888.         
  889.         virtual HRESULT STDMETHODCALLTYPE AbortItems( 
  890.             /* [in] */ DWORD dwNumCookies,
  891.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies) = 0;
  892.         
  893.         virtual HRESULT STDMETHODCALLTYPE AbortAll( void) = 0;
  894.         
  895.     };
  896.     
  897. #else  /* C style interface */
  898.     typedef struct ISubscriptionMgr2Vtbl
  899.     {
  900.         BEGIN_INTERFACE
  901.         
  902.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  903.             ISubscriptionMgr2 * This,
  904.             /* [in] */ REFIID riid,
  905.             /* [iid_is][out] */ void **ppvObject);
  906.         
  907.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  908.             ISubscriptionMgr2 * This);
  909.         
  910.         ULONG ( STDMETHODCALLTYPE *Release )( 
  911.             ISubscriptionMgr2 * This);
  912.         
  913.         HRESULT ( STDMETHODCALLTYPE *DeleteSubscription )( 
  914.             ISubscriptionMgr2 * This,
  915.             /* [in] */ LPCWSTR pwszURL,
  916.             /* [in] */ HWND hwnd);
  917.         
  918.         HRESULT ( STDMETHODCALLTYPE *UpdateSubscription )( 
  919.             ISubscriptionMgr2 * This,
  920.             /* [in] */ LPCWSTR pwszURL);
  921.         
  922.         HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 
  923.             ISubscriptionMgr2 * This);
  924.         
  925.         HRESULT ( STDMETHODCALLTYPE *IsSubscribed )( 
  926.             ISubscriptionMgr2 * This,
  927.             /* [in] */ LPCWSTR pwszURL,
  928.             /* [out] */ BOOL *pfSubscribed);
  929.         
  930.         HRESULT ( STDMETHODCALLTYPE *GetSubscriptionInfo )( 
  931.             ISubscriptionMgr2 * This,
  932.             /* [in] */ LPCWSTR pwszURL,
  933.             /* [out] */ SUBSCRIPTIONINFO *pInfo);
  934.         
  935.         HRESULT ( STDMETHODCALLTYPE *GetDefaultInfo )( 
  936.             ISubscriptionMgr2 * This,
  937.             /* [in] */ SUBSCRIPTIONTYPE subType,
  938.             /* [out] */ SUBSCRIPTIONINFO *pInfo);
  939.         
  940.         HRESULT ( STDMETHODCALLTYPE *ShowSubscriptionProperties )( 
  941.             ISubscriptionMgr2 * This,
  942.             /* [in] */ LPCWSTR pwszURL,
  943.             /* [in] */ HWND hwnd);
  944.         
  945.         HRESULT ( STDMETHODCALLTYPE *CreateSubscription )( 
  946.             ISubscriptionMgr2 * This,
  947.             /* [in] */ HWND hwnd,
  948.             /* [in] */ LPCWSTR pwszURL,
  949.             /* [in] */ LPCWSTR pwszFriendlyName,
  950.             /* [in] */ DWORD dwFlags,
  951.             /* [in] */ SUBSCRIPTIONTYPE subsType,
  952.             /* [out][in] */ SUBSCRIPTIONINFO *pInfo);
  953.         
  954.         HRESULT ( STDMETHODCALLTYPE *GetItemFromURL )( 
  955.             ISubscriptionMgr2 * This,
  956.             /* [in] */ LPCWSTR pwszURL,
  957.             /* [out] */ ISubscriptionItem **ppSubscriptionItem);
  958.         
  959.         HRESULT ( STDMETHODCALLTYPE *GetItemFromCookie )( 
  960.             ISubscriptionMgr2 * This,
  961.             /* [in] */ const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,
  962.             /* [out] */ ISubscriptionItem **ppSubscriptionItem);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE *GetSubscriptionRunState )( 
  965.             ISubscriptionMgr2 * This,
  966.             /* [in] */ DWORD dwNumCookies,
  967.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies,
  968.             /* [size_is][out] */ DWORD *pdwRunState);
  969.         
  970.         HRESULT ( STDMETHODCALLTYPE *EnumSubscriptions )( 
  971.             ISubscriptionMgr2 * This,
  972.             /* [in] */ DWORD dwFlags,
  973.             /* [out] */ IEnumSubscription **ppEnumSubscriptions);
  974.         
  975.         HRESULT ( STDMETHODCALLTYPE *UpdateItems )( 
  976.             ISubscriptionMgr2 * This,
  977.             /* [in] */ DWORD dwFlags,
  978.             /* [in] */ DWORD dwNumCookies,
  979.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies);
  980.         
  981.         HRESULT ( STDMETHODCALLTYPE *AbortItems )( 
  982.             ISubscriptionMgr2 * This,
  983.             /* [in] */ DWORD dwNumCookies,
  984.             /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies);
  985.         
  986.         HRESULT ( STDMETHODCALLTYPE *AbortAll )( 
  987.             ISubscriptionMgr2 * This);
  988.         
  989.         END_INTERFACE
  990.     } ISubscriptionMgr2Vtbl;
  991.     interface ISubscriptionMgr2
  992.     {
  993.         CONST_VTBL struct ISubscriptionMgr2Vtbl *lpVtbl;
  994.     };
  995.     
  996. #ifdef COBJMACROS
  997. #define ISubscriptionMgr2_QueryInterface(This,riid,ppvObject)
  998.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  999. #define ISubscriptionMgr2_AddRef(This)
  1000.     (This)->lpVtbl -> AddRef(This)
  1001. #define ISubscriptionMgr2_Release(This)
  1002.     (This)->lpVtbl -> Release(This)
  1003. #define ISubscriptionMgr2_DeleteSubscription(This,pwszURL,hwnd)
  1004.     (This)->lpVtbl -> DeleteSubscription(This,pwszURL,hwnd)
  1005. #define ISubscriptionMgr2_UpdateSubscription(This,pwszURL)
  1006.     (This)->lpVtbl -> UpdateSubscription(This,pwszURL)
  1007. #define ISubscriptionMgr2_UpdateAll(This)
  1008.     (This)->lpVtbl -> UpdateAll(This)
  1009. #define ISubscriptionMgr2_IsSubscribed(This,pwszURL,pfSubscribed)
  1010.     (This)->lpVtbl -> IsSubscribed(This,pwszURL,pfSubscribed)
  1011. #define ISubscriptionMgr2_GetSubscriptionInfo(This,pwszURL,pInfo)
  1012.     (This)->lpVtbl -> GetSubscriptionInfo(This,pwszURL,pInfo)
  1013. #define ISubscriptionMgr2_GetDefaultInfo(This,subType,pInfo)
  1014.     (This)->lpVtbl -> GetDefaultInfo(This,subType,pInfo)
  1015. #define ISubscriptionMgr2_ShowSubscriptionProperties(This,pwszURL,hwnd)
  1016.     (This)->lpVtbl -> ShowSubscriptionProperties(This,pwszURL,hwnd)
  1017. #define ISubscriptionMgr2_CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
  1018.     (This)->lpVtbl -> CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
  1019. #define ISubscriptionMgr2_GetItemFromURL(This,pwszURL,ppSubscriptionItem)
  1020.     (This)->lpVtbl -> GetItemFromURL(This,pwszURL,ppSubscriptionItem)
  1021. #define ISubscriptionMgr2_GetItemFromCookie(This,pSubscriptionCookie,ppSubscriptionItem)
  1022.     (This)->lpVtbl -> GetItemFromCookie(This,pSubscriptionCookie,ppSubscriptionItem)
  1023. #define ISubscriptionMgr2_GetSubscriptionRunState(This,dwNumCookies,pCookies,pdwRunState)
  1024.     (This)->lpVtbl -> GetSubscriptionRunState(This,dwNumCookies,pCookies,pdwRunState)
  1025. #define ISubscriptionMgr2_EnumSubscriptions(This,dwFlags,ppEnumSubscriptions)
  1026.     (This)->lpVtbl -> EnumSubscriptions(This,dwFlags,ppEnumSubscriptions)
  1027. #define ISubscriptionMgr2_UpdateItems(This,dwFlags,dwNumCookies,pCookies)
  1028.     (This)->lpVtbl -> UpdateItems(This,dwFlags,dwNumCookies,pCookies)
  1029. #define ISubscriptionMgr2_AbortItems(This,dwNumCookies,pCookies)
  1030.     (This)->lpVtbl -> AbortItems(This,dwNumCookies,pCookies)
  1031. #define ISubscriptionMgr2_AbortAll(This)
  1032.     (This)->lpVtbl -> AbortAll(This)
  1033. #endif /* COBJMACROS */
  1034. #endif  /* C style interface */
  1035. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_GetItemFromURL_Proxy( 
  1036.     ISubscriptionMgr2 * This,
  1037.     /* [in] */ LPCWSTR pwszURL,
  1038.     /* [out] */ ISubscriptionItem **ppSubscriptionItem);
  1039. void __RPC_STUB ISubscriptionMgr2_GetItemFromURL_Stub(
  1040.     IRpcStubBuffer *This,
  1041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1042.     PRPC_MESSAGE _pRpcMessage,
  1043.     DWORD *_pdwStubPhase);
  1044. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_GetItemFromCookie_Proxy( 
  1045.     ISubscriptionMgr2 * This,
  1046.     /* [in] */ const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,
  1047.     /* [out] */ ISubscriptionItem **ppSubscriptionItem);
  1048. void __RPC_STUB ISubscriptionMgr2_GetItemFromCookie_Stub(
  1049.     IRpcStubBuffer *This,
  1050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1051.     PRPC_MESSAGE _pRpcMessage,
  1052.     DWORD *_pdwStubPhase);
  1053. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_GetSubscriptionRunState_Proxy( 
  1054.     ISubscriptionMgr2 * This,
  1055.     /* [in] */ DWORD dwNumCookies,
  1056.     /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies,
  1057.     /* [size_is][out] */ DWORD *pdwRunState);
  1058. void __RPC_STUB ISubscriptionMgr2_GetSubscriptionRunState_Stub(
  1059.     IRpcStubBuffer *This,
  1060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1061.     PRPC_MESSAGE _pRpcMessage,
  1062.     DWORD *_pdwStubPhase);
  1063. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_EnumSubscriptions_Proxy( 
  1064.     ISubscriptionMgr2 * This,
  1065.     /* [in] */ DWORD dwFlags,
  1066.     /* [out] */ IEnumSubscription **ppEnumSubscriptions);
  1067. void __RPC_STUB ISubscriptionMgr2_EnumSubscriptions_Stub(
  1068.     IRpcStubBuffer *This,
  1069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1070.     PRPC_MESSAGE _pRpcMessage,
  1071.     DWORD *_pdwStubPhase);
  1072. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_UpdateItems_Proxy( 
  1073.     ISubscriptionMgr2 * This,
  1074.     /* [in] */ DWORD dwFlags,
  1075.     /* [in] */ DWORD dwNumCookies,
  1076.     /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies);
  1077. void __RPC_STUB ISubscriptionMgr2_UpdateItems_Stub(
  1078.     IRpcStubBuffer *This,
  1079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1080.     PRPC_MESSAGE _pRpcMessage,
  1081.     DWORD *_pdwStubPhase);
  1082. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_AbortItems_Proxy( 
  1083.     ISubscriptionMgr2 * This,
  1084.     /* [in] */ DWORD dwNumCookies,
  1085.     /* [size_is][in] */ const SUBSCRIPTIONCOOKIE *pCookies);
  1086. void __RPC_STUB ISubscriptionMgr2_AbortItems_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091. HRESULT STDMETHODCALLTYPE ISubscriptionMgr2_AbortAll_Proxy( 
  1092.     ISubscriptionMgr2 * This);
  1093. void __RPC_STUB ISubscriptionMgr2_AbortAll_Stub(
  1094.     IRpcStubBuffer *This,
  1095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1096.     PRPC_MESSAGE _pRpcMessage,
  1097.     DWORD *_pdwStubPhase);
  1098. #endif  /* __ISubscriptionMgr2_INTERFACE_DEFINED__ */
  1099. EXTERN_C const CLSID CLSID_SubscriptionMgr;
  1100. #ifdef __cplusplus
  1101. class DECLSPEC_UUID("abbe31d0-6dae-11d0-beca-00c04fd940be")
  1102. SubscriptionMgr;
  1103. #endif
  1104. #endif /* __SubscriptionMgr_LIBRARY_DEFINED__ */
  1105. /* interface __MIDL_itf_subsmgr_0258 */
  1106. /* [local] */ 
  1107. ////////////////////////////////////////////////////////////////////////////
  1108. // Information Delivery Agent definitions
  1109. EXTERN_C const CLSID CLSID_WebCrawlerAgent;      
  1110. EXTERN_C const CLSID CLSID_ChannelAgent;         
  1111. EXTERN_C const CLSID CLSID_DialAgent;            
  1112. EXTERN_C const CLSID CLSID_CDLAgent;             
  1113. // AgentFlags property for all delivery agents
  1114. typedef 
  1115. enum DELIVERY_AGENT_FLAGS
  1116.     { DELIVERY_AGENT_FLAG_NO_BROADCAST = 0x4,
  1117. DELIVERY_AGENT_FLAG_NO_RESTRICTIONS = 0x8,
  1118. DELIVERY_AGENT_FLAG_SILENT_DIAL = 0x10
  1119.     }  DELIVERY_AGENT_FLAGS;
  1120. // RecurseFlags property for web crawler
  1121. typedef 
  1122. enum WEBCRAWL_RECURSEFLAGS
  1123.     { WEBCRAWL_DONT_MAKE_STICKY = 0x1,
  1124. WEBCRAWL_GET_IMAGES = 0x2,
  1125. WEBCRAWL_GET_VIDEOS = 0x4,
  1126. WEBCRAWL_GET_BGSOUNDS = 0x8,
  1127. WEBCRAWL_GET_CONTROLS = 0x10,
  1128. WEBCRAWL_LINKS_ELSEWHERE = 0x20,
  1129. WEBCRAWL_IGNORE_ROBOTSTXT = 0x80,
  1130. WEBCRAWL_ONLY_LINKS_TO_HTML = 0x100
  1131.     }  WEBCRAWL_RECURSEFLAGS;
  1132. // ChannelFlags property for channel agent
  1133. typedef 
  1134. enum CHANNEL_AGENT_FLAGS
  1135.     { CHANNEL_AGENT_DYNAMIC_SCHEDULE = 0x1,
  1136. CHANNEL_AGENT_PRECACHE_SOME = 0x2,
  1137. CHANNEL_AGENT_PRECACHE_ALL = 0x4,
  1138. CHANNEL_AGENT_PRECACHE_SCRNSAVER = 0x8
  1139.     }  CHANNEL_AGENT_FLAGS;
  1140. // Status codes for completed delivery agents
  1141. // Maximum specified subscription size limit reached
  1142. #define INET_E_AGENT_MAX_SIZE_EXCEEDED       _HRESULT_TYPEDEF_(0x800C0F80L)      
  1143. // A few URLs failed but the base url and most sub-urls succeeded
  1144. #define INET_S_AGENT_PART_FAIL               _HRESULT_TYPEDEF_(0x000C0F81L)      
  1145. // Maximum cache limit reached
  1146. #define INET_E_AGENT_CACHE_SIZE_EXCEEDED     _HRESULT_TYPEDEF_(0x800C0F82L)      
  1147. // Connection to Internet failed
  1148. #define INET_E_AGENT_CONNECTION_FAILED       _HRESULT_TYPEDEF_(0x800C0F83L)      
  1149. // Scheduled updates are disabled
  1150. #define INET_E_SCHEDULED_UPDATES_DISABLED    _HRESULT_TYPEDEF_(0x800C0F84L)      
  1151. // Scheduled updates are restricted
  1152. #define INET_E_SCHEDULED_UPDATES_RESTRICTED  _HRESULT_TYPEDEF_(0x800C0F85L)      
  1153. // Scheduled update occurred before update interval elapse
  1154. #define INET_E_SCHEDULED_UPDATE_INTERVAL     _HRESULT_TYPEDEF_(0x800C0F86L)      
  1155. // Scheduled update occurred during a restricted time
  1156. #define INET_E_SCHEDULED_EXCLUDE_RANGE       _HRESULT_TYPEDEF_(0x800C0F87L)      
  1157. // Status codes used during updates
  1158. // We are about to exceed our size limit during operation
  1159. #define INET_E_AGENT_EXCEEDING_CACHE_SIZE    _HRESULT_TYPEDEF_(0x800C0F90L)      
  1160. // We extended the cache size
  1161. #define INET_S_AGENT_INCREASED_CACHE_SIZE    _HRESULT_TYPEDEF_(0x000C0F90L)      
  1162. // End Information Delivery Agent definitions
  1163. ////////////////////////////////////////////////////////////////////////////
  1164. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0258_v0_0_c_ifspec;
  1165. extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0258_v0_0_s_ifspec;
  1166. /* Additional Prototypes for ALL interfaces */
  1167. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  1168. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  1169. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  1170. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  1171. /* end of Additional Prototypes */
  1172. #ifdef __cplusplus
  1173. }
  1174. #endif
  1175. #endif