1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 440
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error This stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __subsmgr_h__
23#define __subsmgr_h__
24
25#ifndef __IEnumItemProperties_FWD_DEFINED__
26#define __IEnumItemProperties_FWD_DEFINED__
27typedef struct IEnumItemProperties IEnumItemProperties;
28#endif
29
30#ifndef __ISubscriptionItem_FWD_DEFINED__
31#define __ISubscriptionItem_FWD_DEFINED__
32typedef struct ISubscriptionItem ISubscriptionItem;
33#endif
34
35#ifndef __IEnumSubscription_FWD_DEFINED__
36#define __IEnumSubscription_FWD_DEFINED__
37typedef struct IEnumSubscription IEnumSubscription;
38#endif
39
40#ifndef __ISubscriptionMgr_FWD_DEFINED__
41#define __ISubscriptionMgr_FWD_DEFINED__
42typedef struct ISubscriptionMgr ISubscriptionMgr;
43#endif
44
45#ifndef __ISubscriptionMgr2_FWD_DEFINED__
46#define __ISubscriptionMgr2_FWD_DEFINED__
47typedef struct ISubscriptionMgr2 ISubscriptionMgr2;
48#endif
49
50#ifndef __SubscriptionMgr_FWD_DEFINED__
51#define __SubscriptionMgr_FWD_DEFINED__
52#ifdef __cplusplus
53typedef class SubscriptionMgr SubscriptionMgr;
54#else
55typedef struct SubscriptionMgr SubscriptionMgr;
56#endif
57#endif
58
59#include "unknwn.h"
60#include "ocidl.h"
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66#ifndef __MIDL_user_allocate_free_DEFINED__
67#define __MIDL_user_allocate_free_DEFINED__
68  void *__RPC_API MIDL_user_allocate(size_t);
69  void __RPC_API MIDL_user_free(void *);
70#endif
71
72  typedef GUID SUBSCRIPTIONCOOKIE;
73
74  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0000_v0_0_c_ifspec;
75  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0000_v0_0_s_ifspec;
76
77#ifndef __IEnumItemProperties_INTERFACE_DEFINED__
78#define __IEnumItemProperties_INTERFACE_DEFINED__
79  typedef IEnumItemProperties *LPENUMITEMPROPERTIES;
80
81  typedef struct _tagITEMPROP {
82    VARIANT variantValue;
83    LPWSTR pwszName;
84  } ITEMPROP;
85
86  typedef struct _tagITEMPROP *LPITEMPROP;
87
88  EXTERN_C const IID IID_IEnumItemProperties;
89#if defined(__cplusplus) && !defined(CINTERFACE)
90  struct IEnumItemProperties : public IUnknown {
91  public:
92    virtual HRESULT WINAPI Next(ULONG celt,ITEMPROP *rgelt,ULONG *pceltFetched) = 0;
93    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
94    virtual HRESULT WINAPI Reset(void) = 0;
95    virtual HRESULT WINAPI Clone(IEnumItemProperties **ppenum) = 0;
96    virtual HRESULT WINAPI GetCount(ULONG *pnCount) = 0;
97  };
98#else
99  typedef struct IEnumItemPropertiesVtbl {
100    BEGIN_INTERFACE
101      HRESULT (WINAPI *QueryInterface)(IEnumItemProperties *This,REFIID riid,void **ppvObject);
102      ULONG (WINAPI *AddRef)(IEnumItemProperties *This);
103      ULONG (WINAPI *Release)(IEnumItemProperties *This);
104      HRESULT (WINAPI *Next)(IEnumItemProperties *This,ULONG celt,ITEMPROP *rgelt,ULONG *pceltFetched);
105      HRESULT (WINAPI *Skip)(IEnumItemProperties *This,ULONG celt);
106      HRESULT (WINAPI *Reset)(IEnumItemProperties *This);
107      HRESULT (WINAPI *Clone)(IEnumItemProperties *This,IEnumItemProperties **ppenum);
108      HRESULT (WINAPI *GetCount)(IEnumItemProperties *This,ULONG *pnCount);
109    END_INTERFACE
110  } IEnumItemPropertiesVtbl;
111  struct IEnumItemProperties {
112    CONST_VTBL struct IEnumItemPropertiesVtbl *lpVtbl;
113  };
114#ifdef COBJMACROS
115#define IEnumItemProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
116#define IEnumItemProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
117#define IEnumItemProperties_Release(This) (This)->lpVtbl->Release(This)
118#define IEnumItemProperties_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
119#define IEnumItemProperties_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
120#define IEnumItemProperties_Reset(This) (This)->lpVtbl->Reset(This)
121#define IEnumItemProperties_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
122#define IEnumItemProperties_GetCount(This,pnCount) (This)->lpVtbl->GetCount(This,pnCount)
123#endif
124#endif
125  HRESULT WINAPI IEnumItemProperties_Next_Proxy(IEnumItemProperties *This,ULONG celt,ITEMPROP *rgelt,ULONG *pceltFetched);
126  void __RPC_STUB IEnumItemProperties_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
127  HRESULT WINAPI IEnumItemProperties_Skip_Proxy(IEnumItemProperties *This,ULONG celt);
128  void __RPC_STUB IEnumItemProperties_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
129  HRESULT WINAPI IEnumItemProperties_Reset_Proxy(IEnumItemProperties *This);
130  void __RPC_STUB IEnumItemProperties_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
131  HRESULT WINAPI IEnumItemProperties_Clone_Proxy(IEnumItemProperties *This,IEnumItemProperties **ppenum);
132  void __RPC_STUB IEnumItemProperties_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
133  HRESULT WINAPI IEnumItemProperties_GetCount_Proxy(IEnumItemProperties *This,ULONG *pnCount);
134  void __RPC_STUB IEnumItemProperties_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
135#endif
136
137#define SI_TEMPORARY 0x80000000
138
139  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0264_v0_0_c_ifspec;
140  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0264_v0_0_s_ifspec;
141
142#ifndef __ISubscriptionItem_INTERFACE_DEFINED__
143#define __ISubscriptionItem_INTERFACE_DEFINED__
144  typedef ISubscriptionItem *LPSUBSCRIPTIONITEM;
145
146  typedef struct tagSUBSCRIPTIONITEMINFO {
147    ULONG cbSize;
148    DWORD dwFlags;
149    DWORD dwPriority;
150    SUBSCRIPTIONCOOKIE ScheduleGroup;
151    CLSID clsidAgent;
152  } SUBSCRIPTIONITEMINFO;
153
154  EXTERN_C const IID IID_ISubscriptionItem;
155#if defined(__cplusplus) && !defined(CINTERFACE)
156  struct ISubscriptionItem : public IUnknown {
157  public:
158    virtual HRESULT WINAPI GetCookie(SUBSCRIPTIONCOOKIE *pCookie) = 0;
159    virtual HRESULT WINAPI GetSubscriptionItemInfo(SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo) = 0;
160    virtual HRESULT WINAPI SetSubscriptionItemInfo(const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo) = 0;
161    virtual HRESULT WINAPI ReadProperties(ULONG nCount,const LPCWSTR rgwszName[],VARIANT rgValue[]) = 0;
162    virtual HRESULT WINAPI WriteProperties(ULONG nCount,const LPCWSTR rgwszName[],const VARIANT rgValue[]) = 0;
163    virtual HRESULT WINAPI EnumProperties(IEnumItemProperties **ppEnumItemProperties) = 0;
164    virtual HRESULT WINAPI NotifyChanged(void) = 0;
165  };
166#else
167  typedef struct ISubscriptionItemVtbl {
168    BEGIN_INTERFACE
169      HRESULT (WINAPI *QueryInterface)(ISubscriptionItem *This,REFIID riid,void **ppvObject);
170      ULONG (WINAPI *AddRef)(ISubscriptionItem *This);
171      ULONG (WINAPI *Release)(ISubscriptionItem *This);
172      HRESULT (WINAPI *GetCookie)(ISubscriptionItem *This,SUBSCRIPTIONCOOKIE *pCookie);
173      HRESULT (WINAPI *GetSubscriptionItemInfo)(ISubscriptionItem *This,SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
174      HRESULT (WINAPI *SetSubscriptionItemInfo)(ISubscriptionItem *This,const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
175      HRESULT (WINAPI *ReadProperties)(ISubscriptionItem *This,ULONG nCount,const LPCWSTR rgwszName[],VARIANT rgValue[]);
176      HRESULT (WINAPI *WriteProperties)(ISubscriptionItem *This,ULONG nCount,const LPCWSTR rgwszName[],const VARIANT rgValue[]);
177      HRESULT (WINAPI *EnumProperties)(ISubscriptionItem *This,IEnumItemProperties **ppEnumItemProperties);
178      HRESULT (WINAPI *NotifyChanged)(ISubscriptionItem *This);
179    END_INTERFACE
180  } ISubscriptionItemVtbl;
181  struct ISubscriptionItem {
182    CONST_VTBL struct ISubscriptionItemVtbl *lpVtbl;
183  };
184#ifdef COBJMACROS
185#define ISubscriptionItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
186#define ISubscriptionItem_AddRef(This) (This)->lpVtbl->AddRef(This)
187#define ISubscriptionItem_Release(This) (This)->lpVtbl->Release(This)
188#define ISubscriptionItem_GetCookie(This,pCookie) (This)->lpVtbl->GetCookie(This,pCookie)
189#define ISubscriptionItem_GetSubscriptionItemInfo(This,pSubscriptionItemInfo) (This)->lpVtbl->GetSubscriptionItemInfo(This,pSubscriptionItemInfo)
190#define ISubscriptionItem_SetSubscriptionItemInfo(This,pSubscriptionItemInfo) (This)->lpVtbl->SetSubscriptionItemInfo(This,pSubscriptionItemInfo)
191#define ISubscriptionItem_ReadProperties(This,nCount,rgwszName,rgValue) (This)->lpVtbl->ReadProperties(This,nCount,rgwszName,rgValue)
192#define ISubscriptionItem_WriteProperties(This,nCount,rgwszName,rgValue) (This)->lpVtbl->WriteProperties(This,nCount,rgwszName,rgValue)
193#define ISubscriptionItem_EnumProperties(This,ppEnumItemProperties) (This)->lpVtbl->EnumProperties(This,ppEnumItemProperties)
194#define ISubscriptionItem_NotifyChanged(This) (This)->lpVtbl->NotifyChanged(This)
195#endif
196#endif
197  HRESULT WINAPI ISubscriptionItem_GetCookie_Proxy(ISubscriptionItem *This,SUBSCRIPTIONCOOKIE *pCookie);
198  void __RPC_STUB ISubscriptionItem_GetCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
199  HRESULT WINAPI ISubscriptionItem_GetSubscriptionItemInfo_Proxy(ISubscriptionItem *This,SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
200  void __RPC_STUB ISubscriptionItem_GetSubscriptionItemInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
201  HRESULT WINAPI ISubscriptionItem_SetSubscriptionItemInfo_Proxy(ISubscriptionItem *This,const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo);
202  void __RPC_STUB ISubscriptionItem_SetSubscriptionItemInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
203  HRESULT WINAPI ISubscriptionItem_ReadProperties_Proxy(ISubscriptionItem *This,ULONG nCount,const LPCWSTR rgwszName[],VARIANT rgValue[]);
204  void __RPC_STUB ISubscriptionItem_ReadProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
205  HRESULT WINAPI ISubscriptionItem_WriteProperties_Proxy(ISubscriptionItem *This,ULONG nCount,const LPCWSTR rgwszName[],const VARIANT rgValue[]);
206  void __RPC_STUB ISubscriptionItem_WriteProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
207  HRESULT WINAPI ISubscriptionItem_EnumProperties_Proxy(ISubscriptionItem *This,IEnumItemProperties **ppEnumItemProperties);
208  void __RPC_STUB ISubscriptionItem_EnumProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
209  HRESULT WINAPI ISubscriptionItem_NotifyChanged_Proxy(ISubscriptionItem *This);
210  void __RPC_STUB ISubscriptionItem_NotifyChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
211#endif
212
213#ifndef __IEnumSubscription_INTERFACE_DEFINED__
214#define __IEnumSubscription_INTERFACE_DEFINED__
215  typedef IEnumSubscription *LPENUMSUBSCRIPTION;
216
217  EXTERN_C const IID IID_IEnumSubscription;
218#if defined(__cplusplus) && !defined(CINTERFACE)
219  struct IEnumSubscription : public IUnknown {
220  public:
221    virtual HRESULT WINAPI Next(ULONG celt,SUBSCRIPTIONCOOKIE *rgelt,ULONG *pceltFetched) = 0;
222    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
223    virtual HRESULT WINAPI Reset(void) = 0;
224    virtual HRESULT WINAPI Clone(IEnumSubscription **ppenum) = 0;
225    virtual HRESULT WINAPI GetCount(ULONG *pnCount) = 0;
226  };
227#else
228  typedef struct IEnumSubscriptionVtbl {
229    BEGIN_INTERFACE
230      HRESULT (WINAPI *QueryInterface)(IEnumSubscription *This,REFIID riid,void **ppvObject);
231      ULONG (WINAPI *AddRef)(IEnumSubscription *This);
232      ULONG (WINAPI *Release)(IEnumSubscription *This);
233      HRESULT (WINAPI *Next)(IEnumSubscription *This,ULONG celt,SUBSCRIPTIONCOOKIE *rgelt,ULONG *pceltFetched);
234      HRESULT (WINAPI *Skip)(IEnumSubscription *This,ULONG celt);
235      HRESULT (WINAPI *Reset)(IEnumSubscription *This);
236      HRESULT (WINAPI *Clone)(IEnumSubscription *This,IEnumSubscription **ppenum);
237      HRESULT (WINAPI *GetCount)(IEnumSubscription *This,ULONG *pnCount);
238    END_INTERFACE
239  } IEnumSubscriptionVtbl;
240  struct IEnumSubscription {
241    CONST_VTBL struct IEnumSubscriptionVtbl *lpVtbl;
242  };
243#ifdef COBJMACROS
244#define IEnumSubscription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
245#define IEnumSubscription_AddRef(This) (This)->lpVtbl->AddRef(This)
246#define IEnumSubscription_Release(This) (This)->lpVtbl->Release(This)
247#define IEnumSubscription_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
248#define IEnumSubscription_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
249#define IEnumSubscription_Reset(This) (This)->lpVtbl->Reset(This)
250#define IEnumSubscription_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
251#define IEnumSubscription_GetCount(This,pnCount) (This)->lpVtbl->GetCount(This,pnCount)
252#endif
253#endif
254  HRESULT WINAPI IEnumSubscription_Next_Proxy(IEnumSubscription *This,ULONG celt,SUBSCRIPTIONCOOKIE *rgelt,ULONG *pceltFetched);
255  void __RPC_STUB IEnumSubscription_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
256  HRESULT WINAPI IEnumSubscription_Skip_Proxy(IEnumSubscription *This,ULONG celt);
257  void __RPC_STUB IEnumSubscription_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
258  HRESULT WINAPI IEnumSubscription_Reset_Proxy(IEnumSubscription *This);
259  void __RPC_STUB IEnumSubscription_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
260  HRESULT WINAPI IEnumSubscription_Clone_Proxy(IEnumSubscription *This,IEnumSubscription **ppenum);
261  void __RPC_STUB IEnumSubscription_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
262  HRESULT WINAPI IEnumSubscription_GetCount_Proxy(IEnumSubscription *This,ULONG *pnCount);
263  void __RPC_STUB IEnumSubscription_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
264#endif
265
266#ifndef __SubscriptionMgr_LIBRARY_DEFINED__
267#define __SubscriptionMgr_LIBRARY_DEFINED__
268  EXTERN_C const IID LIBID_SubscriptionMgr;
269#ifndef __ISubscriptionMgr_INTERFACE_DEFINED__
270#define __ISubscriptionMgr_INTERFACE_DEFINED__
271  typedef enum SUBSCRIPTIONTYPE {
272    SUBSTYPE_URL = 0,SUBSTYPE_CHANNEL = 1,SUBSTYPE_DESKTOPURL = 2,SUBSTYPE_EXTERNAL = 3,SUBSTYPE_DESKTOPCHANNEL = 4
273  } SUBSCRIPTIONTYPE;
274
275  typedef enum SUBSCRIPTIONINFOFLAGS {
276    SUBSINFO_SCHEDULE = 0x1,SUBSINFO_RECURSE = 0x2,SUBSINFO_WEBCRAWL = 0x4,SUBSINFO_MAILNOT = 0x8,
277    SUBSINFO_MAXSIZEKB = 0x10,SUBSINFO_USER = 0x20,SUBSINFO_PASSWORD = 0x40,SUBSINFO_TASKFLAGS = 0x100,
278    SUBSINFO_GLEAM = 0x200,SUBSINFO_CHANGESONLY = 0x400,SUBSINFO_CHANNELFLAGS = 0x800,SUBSINFO_FRIENDLYNAME = 0x2000,
279    SUBSINFO_NEEDPASSWORD = 0x4000,SUBSINFO_TYPE = 0x8000
280  } SUBSCRIPTIONINFOFLAGS;
281
282#define SUBSINFO_ALLFLAGS 0x0000EF7F
283
284  typedef enum CREATESUBSCRIPTIONFLAGS {
285    CREATESUBS_ADDTOFAVORITES = 0x1,CREATESUBS_FROMFAVORITES = 0x2,CREATESUBS_NOUI = 0x4,CREATESUBS_NOSAVE = 0x8,
286    CREATESUBS_SOFTWAREUPDATE = 0x10
287  } CREATESUBSCRIPTIONFLAGS;
288
289  typedef enum SUBSCRIPTIONSCHEDULE {
290    SUBSSCHED_AUTO = 0,SUBSSCHED_DAILY = 1,SUBSSCHED_WEEKLY = 2,SUBSSCHED_CUSTOM = 3,SUBSSCHED_MANUAL = 4
291  } SUBSCRIPTIONSCHEDULE;
292
293  typedef struct _tagSubscriptionInfo {
294    DWORD cbSize;
295    DWORD fUpdateFlags;
296    SUBSCRIPTIONSCHEDULE schedule;
297    CLSID customGroupCookie;
298    LPVOID pTrigger;
299    DWORD dwRecurseLevels;
300    DWORD fWebcrawlerFlags;
301    WINBOOL bMailNotification;
302    WINBOOL bGleam;
303    WINBOOL bChangesOnly;
304    WINBOOL bNeedPassword;
305    DWORD fChannelFlags;
306    BSTR bstrUserName;
307    BSTR bstrPassword;
308    BSTR bstrFriendlyName;
309    DWORD dwMaxSizeKB;
310    SUBSCRIPTIONTYPE subType;
311    DWORD fTaskFlags;
312    DWORD dwReserved;
313  } SUBSCRIPTIONINFO;
314
315  typedef struct _tagSubscriptionInfo *LPSUBSCRIPTIONINFO;
316  typedef struct _tagSubscriptionInfo *PSUBSCRIPTIONINFO;
317
318  EXTERN_C const IID IID_ISubscriptionMgr;
319#if defined(__cplusplus) && !defined(CINTERFACE)
320  struct ISubscriptionMgr : public IUnknown {
321  public:
322    virtual HRESULT WINAPI DeleteSubscription(LPCWSTR pwszURL,HWND hwnd) = 0;
323    virtual HRESULT WINAPI UpdateSubscription(LPCWSTR pwszURL) = 0;
324    virtual HRESULT WINAPI UpdateAll(void) = 0;
325    virtual HRESULT WINAPI IsSubscribed(LPCWSTR pwszURL,WINBOOL *pfSubscribed) = 0;
326    virtual HRESULT WINAPI GetSubscriptionInfo(LPCWSTR pwszURL,SUBSCRIPTIONINFO *pInfo) = 0;
327    virtual HRESULT WINAPI GetDefaultInfo(SUBSCRIPTIONTYPE subType,SUBSCRIPTIONINFO *pInfo) = 0;
328    virtual HRESULT WINAPI ShowSubscriptionProperties(LPCWSTR pwszURL,HWND hwnd) = 0;
329    virtual HRESULT WINAPI CreateSubscription(HWND hwnd,LPCWSTR pwszURL,LPCWSTR pwszFriendlyName,DWORD dwFlags,SUBSCRIPTIONTYPE subsType,SUBSCRIPTIONINFO *pInfo) = 0;
330  };
331#else
332  typedef struct ISubscriptionMgrVtbl {
333    BEGIN_INTERFACE
334      HRESULT (WINAPI *QueryInterface)(ISubscriptionMgr *This,REFIID riid,void **ppvObject);
335      ULONG (WINAPI *AddRef)(ISubscriptionMgr *This);
336      ULONG (WINAPI *Release)(ISubscriptionMgr *This);
337      HRESULT (WINAPI *DeleteSubscription)(ISubscriptionMgr *This,LPCWSTR pwszURL,HWND hwnd);
338      HRESULT (WINAPI *UpdateSubscription)(ISubscriptionMgr *This,LPCWSTR pwszURL);
339      HRESULT (WINAPI *UpdateAll)(ISubscriptionMgr *This);
340      HRESULT (WINAPI *IsSubscribed)(ISubscriptionMgr *This,LPCWSTR pwszURL,WINBOOL *pfSubscribed);
341      HRESULT (WINAPI *GetSubscriptionInfo)(ISubscriptionMgr *This,LPCWSTR pwszURL,SUBSCRIPTIONINFO *pInfo);
342      HRESULT (WINAPI *GetDefaultInfo)(ISubscriptionMgr *This,SUBSCRIPTIONTYPE subType,SUBSCRIPTIONINFO *pInfo);
343      HRESULT (WINAPI *ShowSubscriptionProperties)(ISubscriptionMgr *This,LPCWSTR pwszURL,HWND hwnd);
344      HRESULT (WINAPI *CreateSubscription)(ISubscriptionMgr *This,HWND hwnd,LPCWSTR pwszURL,LPCWSTR pwszFriendlyName,DWORD dwFlags,SUBSCRIPTIONTYPE subsType,SUBSCRIPTIONINFO *pInfo);
345    END_INTERFACE
346  } ISubscriptionMgrVtbl;
347  struct ISubscriptionMgr {
348    CONST_VTBL struct ISubscriptionMgrVtbl *lpVtbl;
349  };
350#ifdef COBJMACROS
351#define ISubscriptionMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
352#define ISubscriptionMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
353#define ISubscriptionMgr_Release(This) (This)->lpVtbl->Release(This)
354#define ISubscriptionMgr_DeleteSubscription(This,pwszURL,hwnd) (This)->lpVtbl->DeleteSubscription(This,pwszURL,hwnd)
355#define ISubscriptionMgr_UpdateSubscription(This,pwszURL) (This)->lpVtbl->UpdateSubscription(This,pwszURL)
356#define ISubscriptionMgr_UpdateAll(This) (This)->lpVtbl->UpdateAll(This)
357#define ISubscriptionMgr_IsSubscribed(This,pwszURL,pfSubscribed) (This)->lpVtbl->IsSubscribed(This,pwszURL,pfSubscribed)
358#define ISubscriptionMgr_GetSubscriptionInfo(This,pwszURL,pInfo) (This)->lpVtbl->GetSubscriptionInfo(This,pwszURL,pInfo)
359#define ISubscriptionMgr_GetDefaultInfo(This,subType,pInfo) (This)->lpVtbl->GetDefaultInfo(This,subType,pInfo)
360#define ISubscriptionMgr_ShowSubscriptionProperties(This,pwszURL,hwnd) (This)->lpVtbl->ShowSubscriptionProperties(This,pwszURL,hwnd)
361#define ISubscriptionMgr_CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo) (This)->lpVtbl->CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
362#endif
363#endif
364  HRESULT WINAPI ISubscriptionMgr_DeleteSubscription_Proxy(ISubscriptionMgr *This,LPCWSTR pwszURL,HWND hwnd);
365  void __RPC_STUB ISubscriptionMgr_DeleteSubscription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
366  HRESULT WINAPI ISubscriptionMgr_UpdateSubscription_Proxy(ISubscriptionMgr *This,LPCWSTR pwszURL);
367  void __RPC_STUB ISubscriptionMgr_UpdateSubscription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
368  HRESULT WINAPI ISubscriptionMgr_UpdateAll_Proxy(ISubscriptionMgr *This);
369  void __RPC_STUB ISubscriptionMgr_UpdateAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
370  HRESULT WINAPI ISubscriptionMgr_IsSubscribed_Proxy(ISubscriptionMgr *This,LPCWSTR pwszURL,WINBOOL *pfSubscribed);
371  void __RPC_STUB ISubscriptionMgr_IsSubscribed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
372  HRESULT WINAPI ISubscriptionMgr_GetSubscriptionInfo_Proxy(ISubscriptionMgr *This,LPCWSTR pwszURL,SUBSCRIPTIONINFO *pInfo);
373  void __RPC_STUB ISubscriptionMgr_GetSubscriptionInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
374  HRESULT WINAPI ISubscriptionMgr_GetDefaultInfo_Proxy(ISubscriptionMgr *This,SUBSCRIPTIONTYPE subType,SUBSCRIPTIONINFO *pInfo);
375  void __RPC_STUB ISubscriptionMgr_GetDefaultInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
376  HRESULT WINAPI ISubscriptionMgr_ShowSubscriptionProperties_Proxy(ISubscriptionMgr *This,LPCWSTR pwszURL,HWND hwnd);
377  void __RPC_STUB ISubscriptionMgr_ShowSubscriptionProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
378  HRESULT WINAPI ISubscriptionMgr_CreateSubscription_Proxy(ISubscriptionMgr *This,HWND hwnd,LPCWSTR pwszURL,LPCWSTR pwszFriendlyName,DWORD dwFlags,SUBSCRIPTIONTYPE subsType,SUBSCRIPTIONINFO *pInfo);
379  void __RPC_STUB ISubscriptionMgr_CreateSubscription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
380#endif
381
382#ifndef __ISubscriptionMgr2_INTERFACE_DEFINED__
383#define __ISubscriptionMgr2_INTERFACE_DEFINED__
384
385#define RS_READY 0x00000001
386#define RS_SUSPENDED 0x00000002
387#define RS_UPDATING 0x00000004
388#define RS_SUSPENDONIDLE 0x00010000
389#define RS_MAYBOTHERUSER 0x00020000
390#define RS_COMPLETED 0x80000000
391
392#define SUBSMGRUPDATE_MINIMIZE 0x00000001
393#define SUBSMGRUPDATE_MASK 0x00000001
394#define SUBSMGRENUM_TEMP 0x00000001
395#define SUBSMGRENUM_MASK 0x00000001
396
397  EXTERN_C const IID IID_ISubscriptionMgr2;
398#if defined(__cplusplus) && !defined(CINTERFACE)
399  struct ISubscriptionMgr2 : public ISubscriptionMgr {
400  public:
401    virtual HRESULT WINAPI GetItemFromURL(LPCWSTR pwszURL,ISubscriptionItem **ppSubscriptionItem) = 0;
402    virtual HRESULT WINAPI GetItemFromCookie(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,ISubscriptionItem **ppSubscriptionItem) = 0;
403    virtual HRESULT WINAPI GetSubscriptionRunState(DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies,DWORD *pdwRunState) = 0;
404    virtual HRESULT WINAPI EnumSubscriptions(DWORD dwFlags,IEnumSubscription **ppEnumSubscriptions) = 0;
405    virtual HRESULT WINAPI UpdateItems(DWORD dwFlags,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies) = 0;
406    virtual HRESULT WINAPI AbortItems(DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies) = 0;
407    virtual HRESULT WINAPI AbortAll(void) = 0;
408  };
409#else
410  typedef struct ISubscriptionMgr2Vtbl {
411    BEGIN_INTERFACE
412      HRESULT (WINAPI *QueryInterface)(ISubscriptionMgr2 *This,REFIID riid,void **ppvObject);
413      ULONG (WINAPI *AddRef)(ISubscriptionMgr2 *This);
414      ULONG (WINAPI *Release)(ISubscriptionMgr2 *This);
415      HRESULT (WINAPI *DeleteSubscription)(ISubscriptionMgr2 *This,LPCWSTR pwszURL,HWND hwnd);
416      HRESULT (WINAPI *UpdateSubscription)(ISubscriptionMgr2 *This,LPCWSTR pwszURL);
417      HRESULT (WINAPI *UpdateAll)(ISubscriptionMgr2 *This);
418      HRESULT (WINAPI *IsSubscribed)(ISubscriptionMgr2 *This,LPCWSTR pwszURL,WINBOOL *pfSubscribed);
419      HRESULT (WINAPI *GetSubscriptionInfo)(ISubscriptionMgr2 *This,LPCWSTR pwszURL,SUBSCRIPTIONINFO *pInfo);
420      HRESULT (WINAPI *GetDefaultInfo)(ISubscriptionMgr2 *This,SUBSCRIPTIONTYPE subType,SUBSCRIPTIONINFO *pInfo);
421      HRESULT (WINAPI *ShowSubscriptionProperties)(ISubscriptionMgr2 *This,LPCWSTR pwszURL,HWND hwnd);
422      HRESULT (WINAPI *CreateSubscription)(ISubscriptionMgr2 *This,HWND hwnd,LPCWSTR pwszURL,LPCWSTR pwszFriendlyName,DWORD dwFlags,SUBSCRIPTIONTYPE subsType,SUBSCRIPTIONINFO *pInfo);
423      HRESULT (WINAPI *GetItemFromURL)(ISubscriptionMgr2 *This,LPCWSTR pwszURL,ISubscriptionItem **ppSubscriptionItem);
424      HRESULT (WINAPI *GetItemFromCookie)(ISubscriptionMgr2 *This,const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,ISubscriptionItem **ppSubscriptionItem);
425      HRESULT (WINAPI *GetSubscriptionRunState)(ISubscriptionMgr2 *This,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies,DWORD *pdwRunState);
426      HRESULT (WINAPI *EnumSubscriptions)(ISubscriptionMgr2 *This,DWORD dwFlags,IEnumSubscription **ppEnumSubscriptions);
427      HRESULT (WINAPI *UpdateItems)(ISubscriptionMgr2 *This,DWORD dwFlags,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies);
428      HRESULT (WINAPI *AbortItems)(ISubscriptionMgr2 *This,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies);
429      HRESULT (WINAPI *AbortAll)(ISubscriptionMgr2 *This);
430    END_INTERFACE
431  } ISubscriptionMgr2Vtbl;
432  struct ISubscriptionMgr2 {
433    CONST_VTBL struct ISubscriptionMgr2Vtbl *lpVtbl;
434  };
435#ifdef COBJMACROS
436#define ISubscriptionMgr2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
437#define ISubscriptionMgr2_AddRef(This) (This)->lpVtbl->AddRef(This)
438#define ISubscriptionMgr2_Release(This) (This)->lpVtbl->Release(This)
439#define ISubscriptionMgr2_DeleteSubscription(This,pwszURL,hwnd) (This)->lpVtbl->DeleteSubscription(This,pwszURL,hwnd)
440#define ISubscriptionMgr2_UpdateSubscription(This,pwszURL) (This)->lpVtbl->UpdateSubscription(This,pwszURL)
441#define ISubscriptionMgr2_UpdateAll(This) (This)->lpVtbl->UpdateAll(This)
442#define ISubscriptionMgr2_IsSubscribed(This,pwszURL,pfSubscribed) (This)->lpVtbl->IsSubscribed(This,pwszURL,pfSubscribed)
443#define ISubscriptionMgr2_GetSubscriptionInfo(This,pwszURL,pInfo) (This)->lpVtbl->GetSubscriptionInfo(This,pwszURL,pInfo)
444#define ISubscriptionMgr2_GetDefaultInfo(This,subType,pInfo) (This)->lpVtbl->GetDefaultInfo(This,subType,pInfo)
445#define ISubscriptionMgr2_ShowSubscriptionProperties(This,pwszURL,hwnd) (This)->lpVtbl->ShowSubscriptionProperties(This,pwszURL,hwnd)
446#define ISubscriptionMgr2_CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo) (This)->lpVtbl->CreateSubscription(This,hwnd,pwszURL,pwszFriendlyName,dwFlags,subsType,pInfo)
447#define ISubscriptionMgr2_GetItemFromURL(This,pwszURL,ppSubscriptionItem) (This)->lpVtbl->GetItemFromURL(This,pwszURL,ppSubscriptionItem)
448#define ISubscriptionMgr2_GetItemFromCookie(This,pSubscriptionCookie,ppSubscriptionItem) (This)->lpVtbl->GetItemFromCookie(This,pSubscriptionCookie,ppSubscriptionItem)
449#define ISubscriptionMgr2_GetSubscriptionRunState(This,dwNumCookies,pCookies,pdwRunState) (This)->lpVtbl->GetSubscriptionRunState(This,dwNumCookies,pCookies,pdwRunState)
450#define ISubscriptionMgr2_EnumSubscriptions(This,dwFlags,ppEnumSubscriptions) (This)->lpVtbl->EnumSubscriptions(This,dwFlags,ppEnumSubscriptions)
451#define ISubscriptionMgr2_UpdateItems(This,dwFlags,dwNumCookies,pCookies) (This)->lpVtbl->UpdateItems(This,dwFlags,dwNumCookies,pCookies)
452#define ISubscriptionMgr2_AbortItems(This,dwNumCookies,pCookies) (This)->lpVtbl->AbortItems(This,dwNumCookies,pCookies)
453#define ISubscriptionMgr2_AbortAll(This) (This)->lpVtbl->AbortAll(This)
454#endif
455#endif
456  HRESULT WINAPI ISubscriptionMgr2_GetItemFromURL_Proxy(ISubscriptionMgr2 *This,LPCWSTR pwszURL,ISubscriptionItem **ppSubscriptionItem);
457  void __RPC_STUB ISubscriptionMgr2_GetItemFromURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
458  HRESULT WINAPI ISubscriptionMgr2_GetItemFromCookie_Proxy(ISubscriptionMgr2 *This,const SUBSCRIPTIONCOOKIE *pSubscriptionCookie,ISubscriptionItem **ppSubscriptionItem);
459  void __RPC_STUB ISubscriptionMgr2_GetItemFromCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
460  HRESULT WINAPI ISubscriptionMgr2_GetSubscriptionRunState_Proxy(ISubscriptionMgr2 *This,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies,DWORD *pdwRunState);
461  void __RPC_STUB ISubscriptionMgr2_GetSubscriptionRunState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
462  HRESULT WINAPI ISubscriptionMgr2_EnumSubscriptions_Proxy(ISubscriptionMgr2 *This,DWORD dwFlags,IEnumSubscription **ppEnumSubscriptions);
463  void __RPC_STUB ISubscriptionMgr2_EnumSubscriptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
464  HRESULT WINAPI ISubscriptionMgr2_UpdateItems_Proxy(ISubscriptionMgr2 *This,DWORD dwFlags,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies);
465  void __RPC_STUB ISubscriptionMgr2_UpdateItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
466  HRESULT WINAPI ISubscriptionMgr2_AbortItems_Proxy(ISubscriptionMgr2 *This,DWORD dwNumCookies,const SUBSCRIPTIONCOOKIE *pCookies);
467  void __RPC_STUB ISubscriptionMgr2_AbortItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
468  HRESULT WINAPI ISubscriptionMgr2_AbortAll_Proxy(ISubscriptionMgr2 *This);
469  void __RPC_STUB ISubscriptionMgr2_AbortAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
470#endif
471
472  EXTERN_C const CLSID CLSID_SubscriptionMgr;
473#ifdef __cplusplus
474  class SubscriptionMgr;
475#endif
476#endif
477
478  EXTERN_C const CLSID CLSID_WebCrawlerAgent;
479  EXTERN_C const CLSID CLSID_ChannelAgent;
480  EXTERN_C const CLSID CLSID_DialAgent;
481  EXTERN_C const CLSID CLSID_CDLAgent;
482  typedef enum DELIVERY_AGENT_FLAGS {
483    DELIVERY_AGENT_FLAG_NO_BROADCAST = 0x4,DELIVERY_AGENT_FLAG_NO_RESTRICTIONS = 0x8,DELIVERY_AGENT_FLAG_SILENT_DIAL = 0x10
484  } DELIVERY_AGENT_FLAGS;
485
486  typedef enum WEBCRAWL_RECURSEFLAGS {
487    WEBCRAWL_DONT_MAKE_STICKY = 0x1,WEBCRAWL_GET_IMAGES = 0x2,WEBCRAWL_GET_VIDEOS = 0x4,WEBCRAWL_GET_BGSOUNDS = 0x8,WEBCRAWL_GET_CONTROLS = 0x10,
488    WEBCRAWL_LINKS_ELSEWHERE = 0x20,WEBCRAWL_IGNORE_ROBOTSTXT = 0x80,WEBCRAWL_ONLY_LINKS_TO_HTML = 0x100
489  } WEBCRAWL_RECURSEFLAGS;
490
491  typedef enum CHANNEL_AGENT_FLAGS {
492    CHANNEL_AGENT_DYNAMIC_SCHEDULE = 0x1,CHANNEL_AGENT_PRECACHE_SOME = 0x2,CHANNEL_AGENT_PRECACHE_ALL = 0x4,CHANNEL_AGENT_PRECACHE_SCRNSAVER = 0x8
493  } CHANNEL_AGENT_FLAGS;
494
495#define INET_E_AGENT_MAX_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0x800C0F80)
496#define INET_S_AGENT_PART_FAIL _HRESULT_TYPEDEF_(0x000C0F81)
497#define INET_E_AGENT_CACHE_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0x800C0F82)
498#define INET_E_AGENT_CONNECTION_FAILED _HRESULT_TYPEDEF_(0x800C0F83)
499#define INET_E_SCHEDULED_UPDATES_DISABLED _HRESULT_TYPEDEF_(0x800C0F84)
500#define INET_E_SCHEDULED_UPDATES_RESTRICTED _HRESULT_TYPEDEF_(0x800C0F85)
501#define INET_E_SCHEDULED_UPDATE_INTERVAL _HRESULT_TYPEDEF_(0x800C0F86)
502#define INET_E_SCHEDULED_EXCLUDE_RANGE _HRESULT_TYPEDEF_(0x800C0F87)
503#define INET_E_AGENT_EXCEEDING_CACHE_SIZE _HRESULT_TYPEDEF_(0x800C0F90)
504#define INET_S_AGENT_INCREASED_CACHE_SIZE _HRESULT_TYPEDEF_(0x000C0F90)
505
506  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0268_v0_0_c_ifspec;
507  extern RPC_IF_HANDLE __MIDL_itf_subsmgr_0268_v0_0_s_ifspec;
508
509  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
510  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
511  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
512  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
513
514#ifdef __cplusplus
515}
516#endif
517#endif
518