Source code of Windows XP (NT5)
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.

532 lines
14 KiB

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