ChanMgr.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537
  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 chanmgr.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  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__ 475
  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 __chanmgr_h__
  23. #define __chanmgr_h__
  24. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  25. #pragma once
  26. #endif
  27. /* Forward Declarations */
  28. #ifndef __IChannelMgr_FWD_DEFINED__
  29. #define __IChannelMgr_FWD_DEFINED__
  30. typedef interface IChannelMgr IChannelMgr;
  31. #endif /* __IChannelMgr_FWD_DEFINED__ */
  32. #ifndef __IEnumChannels_FWD_DEFINED__
  33. #define __IEnumChannels_FWD_DEFINED__
  34. typedef interface IEnumChannels IEnumChannels;
  35. #endif /* __IEnumChannels_FWD_DEFINED__ */
  36. #ifndef __ChannelMgr_FWD_DEFINED__
  37. #define __ChannelMgr_FWD_DEFINED__
  38. #ifdef __cplusplus
  39. typedef class ChannelMgr ChannelMgr;
  40. #else
  41. typedef struct ChannelMgr ChannelMgr;
  42. #endif /* __cplusplus */
  43. #endif /* __ChannelMgr_FWD_DEFINED__ */
  44. /* header files for imported files */
  45. #include "unknwn.h"
  46. #ifdef __cplusplus
  47. extern "C"{
  48. #endif
  49. void * __RPC_USER MIDL_user_allocate(size_t);
  50. void __RPC_USER MIDL_user_free( void * );
  51. /* interface __MIDL_itf_chanmgr_0000 */
  52. /* [local] */
  53. //=--------------------------------------------------------------------------=
  54. // chanmgr.h
  55. //=--------------------------------------------------------------------------=
  56. // Copyright (c) Microsoft Corporation. All rights reserved.
  57. //
  58. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  59. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  60. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  61. // PARTICULAR PURPOSE.
  62. //=--------------------------------------------------------------------------=
  63. #pragma comment(lib,"uuid.lib")
  64. //---------------------------------------------------------------------------=
  65. // Channel Manager Interfaces.
  66. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
  67. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
  68. #ifndef __CHANNELMGR_LIBRARY_DEFINED__
  69. #define __CHANNELMGR_LIBRARY_DEFINED__
  70. /* library CHANNELMGR */
  71. /* [version][lcid][helpstring][uuid] */
  72. EXTERN_C const IID LIBID_CHANNELMGR;
  73. #ifndef __IChannelMgr_INTERFACE_DEFINED__
  74. #define __IChannelMgr_INTERFACE_DEFINED__
  75. /* interface IChannelMgr */
  76. /* [object][helpstring][uuid] */
  77. typedef struct _tagChannelShortcutInfo
  78. {
  79. DWORD cbSize;
  80. LPWSTR pszTitle;
  81. LPWSTR pszURL;
  82. LPWSTR pszLogo;
  83. LPWSTR pszIcon;
  84. LPWSTR pszWideLogo;
  85. BOOL bIsSoftware;
  86. } CHANNELSHORTCUTINFO;
  87. typedef struct _tagChannelCategoryInfo
  88. {
  89. DWORD cbSize;
  90. LPWSTR pszTitle;
  91. LPWSTR pszURL;
  92. LPWSTR pszLogo;
  93. LPWSTR pszIcon;
  94. LPWSTR pszWideLogo;
  95. } CHANNELCATEGORYINFO;
  96. typedef
  97. enum _tagChannelEnumFlags
  98. { CHANENUM_CHANNELFOLDER = 0x1,
  99. CHANENUM_SOFTUPDATEFOLDER = 0x2,
  100. CHANENUM_DESKTOPFOLDER = 0x4,
  101. CHANENUM_TITLE = 0x10000,
  102. CHANENUM_PATH = 0x20000,
  103. CHANENUM_URL = 0x40000,
  104. CHANENUM_SUBSCRIBESTATE = 0x80000
  105. } CHANNELENUMFLAGS;
  106. #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | \
  107. CHANENUM_SOFTUPDATEFOLDER | \
  108. CHANENUM_DESKTOPFOLDER )
  109. #define CHANENUM_ALLDATA (CHANENUM_TITLE | \
  110. CHANENUM_PATH | \
  111. CHANENUM_URL | \
  112. CHANENUM_SUBSCRIBESTATE )
  113. #define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | \
  114. CHANENUM_SOFTUPDATEFOLDER | \
  115. CHANENUM_DESKTOPFOLDER | \
  116. CHANENUM_TITLE | \
  117. CHANENUM_PATH | \
  118. CHANENUM_URL | \
  119. CHANENUM_SUBSCRIBESTATE )
  120. EXTERN_C const IID IID_IChannelMgr;
  121. #if defined(__cplusplus) && !defined(CINTERFACE)
  122. MIDL_INTERFACE("85BD8E82-0FBA-11d1-90C3-00C04FC2F568")
  123. IChannelMgr : public IUnknown
  124. {
  125. public:
  126. virtual HRESULT STDMETHODCALLTYPE AddChannelShortcut(
  127. /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo) = 0;
  128. virtual HRESULT STDMETHODCALLTYPE DeleteChannelShortcut(
  129. /* [in] */ LPWSTR pszTitle) = 0;
  130. virtual HRESULT STDMETHODCALLTYPE AddCategory(
  131. /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo) = 0;
  132. virtual HRESULT STDMETHODCALLTYPE DeleteCategory(
  133. /* [in] */ LPWSTR pszTitle) = 0;
  134. virtual HRESULT STDMETHODCALLTYPE EnumChannels(
  135. /* [in] */ DWORD dwEnumFlags,
  136. /* [in] */ LPCWSTR pszURL,
  137. /* [out] */ IEnumChannels **pIEnumChannels) = 0;
  138. };
  139. #else /* C style interface */
  140. typedef struct IChannelMgrVtbl
  141. {
  142. BEGIN_INTERFACE
  143. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  144. IChannelMgr * This,
  145. /* [in] */ REFIID riid,
  146. /* [iid_is][out] */ void **ppvObject);
  147. ULONG ( STDMETHODCALLTYPE *AddRef )(
  148. IChannelMgr * This);
  149. ULONG ( STDMETHODCALLTYPE *Release )(
  150. IChannelMgr * This);
  151. HRESULT ( STDMETHODCALLTYPE *AddChannelShortcut )(
  152. IChannelMgr * This,
  153. /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo);
  154. HRESULT ( STDMETHODCALLTYPE *DeleteChannelShortcut )(
  155. IChannelMgr * This,
  156. /* [in] */ LPWSTR pszTitle);
  157. HRESULT ( STDMETHODCALLTYPE *AddCategory )(
  158. IChannelMgr * This,
  159. /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo);
  160. HRESULT ( STDMETHODCALLTYPE *DeleteCategory )(
  161. IChannelMgr * This,
  162. /* [in] */ LPWSTR pszTitle);
  163. HRESULT ( STDMETHODCALLTYPE *EnumChannels )(
  164. IChannelMgr * This,
  165. /* [in] */ DWORD dwEnumFlags,
  166. /* [in] */ LPCWSTR pszURL,
  167. /* [out] */ IEnumChannels **pIEnumChannels);
  168. END_INTERFACE
  169. } IChannelMgrVtbl;
  170. interface IChannelMgr
  171. {
  172. CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
  173. };
  174. #ifdef COBJMACROS
  175. #define IChannelMgr_QueryInterface(This,riid,ppvObject) \
  176. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  177. #define IChannelMgr_AddRef(This) \
  178. (This)->lpVtbl -> AddRef(This)
  179. #define IChannelMgr_Release(This) \
  180. (This)->lpVtbl -> Release(This)
  181. #define IChannelMgr_AddChannelShortcut(This,pChannelInfo) \
  182. (This)->lpVtbl -> AddChannelShortcut(This,pChannelInfo)
  183. #define IChannelMgr_DeleteChannelShortcut(This,pszTitle) \
  184. (This)->lpVtbl -> DeleteChannelShortcut(This,pszTitle)
  185. #define IChannelMgr_AddCategory(This,pCategoryInfo) \
  186. (This)->lpVtbl -> AddCategory(This,pCategoryInfo)
  187. #define IChannelMgr_DeleteCategory(This,pszTitle) \
  188. (This)->lpVtbl -> DeleteCategory(This,pszTitle)
  189. #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) \
  190. (This)->lpVtbl -> EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
  191. #endif /* COBJMACROS */
  192. #endif /* C style interface */
  193. HRESULT STDMETHODCALLTYPE IChannelMgr_AddChannelShortcut_Proxy(
  194. IChannelMgr * This,
  195. /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo);
  196. void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(
  197. IRpcStubBuffer *This,
  198. IRpcChannelBuffer *_pRpcChannelBuffer,
  199. PRPC_MESSAGE _pRpcMessage,
  200. DWORD *_pdwStubPhase);
  201. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteChannelShortcut_Proxy(
  202. IChannelMgr * This,
  203. /* [in] */ LPWSTR pszTitle);
  204. void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(
  205. IRpcStubBuffer *This,
  206. IRpcChannelBuffer *_pRpcChannelBuffer,
  207. PRPC_MESSAGE _pRpcMessage,
  208. DWORD *_pdwStubPhase);
  209. HRESULT STDMETHODCALLTYPE IChannelMgr_AddCategory_Proxy(
  210. IChannelMgr * This,
  211. /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo);
  212. void __RPC_STUB IChannelMgr_AddCategory_Stub(
  213. IRpcStubBuffer *This,
  214. IRpcChannelBuffer *_pRpcChannelBuffer,
  215. PRPC_MESSAGE _pRpcMessage,
  216. DWORD *_pdwStubPhase);
  217. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteCategory_Proxy(
  218. IChannelMgr * This,
  219. /* [in] */ LPWSTR pszTitle);
  220. void __RPC_STUB IChannelMgr_DeleteCategory_Stub(
  221. IRpcStubBuffer *This,
  222. IRpcChannelBuffer *_pRpcChannelBuffer,
  223. PRPC_MESSAGE _pRpcMessage,
  224. DWORD *_pdwStubPhase);
  225. HRESULT STDMETHODCALLTYPE IChannelMgr_EnumChannels_Proxy(
  226. IChannelMgr * This,
  227. /* [in] */ DWORD dwEnumFlags,
  228. /* [in] */ LPCWSTR pszURL,
  229. /* [out] */ IEnumChannels **pIEnumChannels);
  230. void __RPC_STUB IChannelMgr_EnumChannels_Stub(
  231. IRpcStubBuffer *This,
  232. IRpcChannelBuffer *_pRpcChannelBuffer,
  233. PRPC_MESSAGE _pRpcMessage,
  234. DWORD *_pdwStubPhase);
  235. #endif /* __IChannelMgr_INTERFACE_DEFINED__ */
  236. #ifndef __IEnumChannels_INTERFACE_DEFINED__
  237. #define __IEnumChannels_INTERFACE_DEFINED__
  238. /* interface IEnumChannels */
  239. /* [object][helpstring][uuid] */
  240. typedef
  241. enum _tagSubcriptionState
  242. { SUBSTATE_NOTSUBSCRIBED = 0,
  243. SUBSTATE_PARTIALSUBSCRIPTION = SUBSTATE_NOTSUBSCRIBED + 1,
  244. SUBSTATE_FULLSUBSCRIPTION = SUBSTATE_PARTIALSUBSCRIPTION + 1
  245. } SUBSCRIPTIONSTATE;
  246. typedef struct _tagChannelInfo
  247. {
  248. LPOLESTR pszTitle;
  249. LPOLESTR pszPath;
  250. LPOLESTR pszURL;
  251. SUBSCRIPTIONSTATE stSubscriptionState;
  252. } CHANNELENUMINFO;
  253. EXTERN_C const IID IID_IEnumChannels;
  254. #if defined(__cplusplus) && !defined(CINTERFACE)
  255. MIDL_INTERFACE("A4C65425-0F82-11d1-90C3-00C04FC2F568")
  256. IEnumChannels : public IUnknown
  257. {
  258. public:
  259. virtual HRESULT STDMETHODCALLTYPE Next(
  260. ULONG celt,
  261. CHANNELENUMINFO *rgChanInf,
  262. ULONG *pceltFetched) = 0;
  263. virtual HRESULT STDMETHODCALLTYPE Skip(
  264. ULONG celt) = 0;
  265. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  266. virtual HRESULT STDMETHODCALLTYPE Clone(
  267. IEnumChannels **ppenum) = 0;
  268. };
  269. #else /* C style interface */
  270. typedef struct IEnumChannelsVtbl
  271. {
  272. BEGIN_INTERFACE
  273. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  274. IEnumChannels * This,
  275. /* [in] */ REFIID riid,
  276. /* [iid_is][out] */ void **ppvObject);
  277. ULONG ( STDMETHODCALLTYPE *AddRef )(
  278. IEnumChannels * This);
  279. ULONG ( STDMETHODCALLTYPE *Release )(
  280. IEnumChannels * This);
  281. HRESULT ( STDMETHODCALLTYPE *Next )(
  282. IEnumChannels * This,
  283. ULONG celt,
  284. CHANNELENUMINFO *rgChanInf,
  285. ULONG *pceltFetched);
  286. HRESULT ( STDMETHODCALLTYPE *Skip )(
  287. IEnumChannels * This,
  288. ULONG celt);
  289. HRESULT ( STDMETHODCALLTYPE *Reset )(
  290. IEnumChannels * This);
  291. HRESULT ( STDMETHODCALLTYPE *Clone )(
  292. IEnumChannels * This,
  293. IEnumChannels **ppenum);
  294. END_INTERFACE
  295. } IEnumChannelsVtbl;
  296. interface IEnumChannels
  297. {
  298. CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
  299. };
  300. #ifdef COBJMACROS
  301. #define IEnumChannels_QueryInterface(This,riid,ppvObject) \
  302. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  303. #define IEnumChannels_AddRef(This) \
  304. (This)->lpVtbl -> AddRef(This)
  305. #define IEnumChannels_Release(This) \
  306. (This)->lpVtbl -> Release(This)
  307. #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) \
  308. (This)->lpVtbl -> Next(This,celt,rgChanInf,pceltFetched)
  309. #define IEnumChannels_Skip(This,celt) \
  310. (This)->lpVtbl -> Skip(This,celt)
  311. #define IEnumChannels_Reset(This) \
  312. (This)->lpVtbl -> Reset(This)
  313. #define IEnumChannels_Clone(This,ppenum) \
  314. (This)->lpVtbl -> Clone(This,ppenum)
  315. #endif /* COBJMACROS */
  316. #endif /* C style interface */
  317. HRESULT STDMETHODCALLTYPE IEnumChannels_Next_Proxy(
  318. IEnumChannels * This,
  319. ULONG celt,
  320. CHANNELENUMINFO *rgChanInf,
  321. ULONG *pceltFetched);
  322. void __RPC_STUB IEnumChannels_Next_Stub(
  323. IRpcStubBuffer *This,
  324. IRpcChannelBuffer *_pRpcChannelBuffer,
  325. PRPC_MESSAGE _pRpcMessage,
  326. DWORD *_pdwStubPhase);
  327. HRESULT STDMETHODCALLTYPE IEnumChannels_Skip_Proxy(
  328. IEnumChannels * This,
  329. ULONG celt);
  330. void __RPC_STUB IEnumChannels_Skip_Stub(
  331. IRpcStubBuffer *This,
  332. IRpcChannelBuffer *_pRpcChannelBuffer,
  333. PRPC_MESSAGE _pRpcMessage,
  334. DWORD *_pdwStubPhase);
  335. HRESULT STDMETHODCALLTYPE IEnumChannels_Reset_Proxy(
  336. IEnumChannels * This);
  337. void __RPC_STUB IEnumChannels_Reset_Stub(
  338. IRpcStubBuffer *This,
  339. IRpcChannelBuffer *_pRpcChannelBuffer,
  340. PRPC_MESSAGE _pRpcMessage,
  341. DWORD *_pdwStubPhase);
  342. HRESULT STDMETHODCALLTYPE IEnumChannels_Clone_Proxy(
  343. IEnumChannels * This,
  344. IEnumChannels **ppenum);
  345. void __RPC_STUB IEnumChannels_Clone_Stub(
  346. IRpcStubBuffer *This,
  347. IRpcChannelBuffer *_pRpcChannelBuffer,
  348. PRPC_MESSAGE _pRpcMessage,
  349. DWORD *_pdwStubPhase);
  350. #endif /* __IEnumChannels_INTERFACE_DEFINED__ */
  351. EXTERN_C const CLSID CLSID_ChannelMgr;
  352. #ifdef __cplusplus
  353. class DECLSPEC_UUID("b3cdae90-d170-11d0-802b-00c04fd75d13")
  354. ChannelMgr;
  355. #endif
  356. #endif /* __CHANNELMGR_LIBRARY_DEFINED__ */
  357. /* Additional Prototypes for ALL interfaces */
  358. /* end of Additional Prototypes */
  359. #ifdef __cplusplus
  360. }
  361. #endif
  362. #endif