Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1553 lines
48 KiB

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