chanmgr.h 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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__ 475
  8. #endif
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef __RPCNDR_H_VERSION__
  12. #error this stub requires an updated version of <rpcndr.h>
  13. #endif
  14. #ifndef __chanmgr_h__
  15. #define __chanmgr_h__
  16. #ifndef __IChannelMgr_FWD_DEFINED__
  17. #define __IChannelMgr_FWD_DEFINED__
  18. typedef struct IChannelMgr IChannelMgr;
  19. #endif
  20. #ifndef __IEnumChannels_FWD_DEFINED__
  21. #define __IEnumChannels_FWD_DEFINED__
  22. typedef struct IEnumChannels IEnumChannels;
  23. #endif
  24. #ifndef __ChannelMgr_FWD_DEFINED__
  25. #define __ChannelMgr_FWD_DEFINED__
  26. #ifdef __cplusplus
  27. typedef class ChannelMgr ChannelMgr;
  28. #else
  29. typedef struct ChannelMgr ChannelMgr;
  30. #endif
  31. #endif
  32. #include "unknwn.h"
  33. #ifdef __cplusplus
  34. extern "C"{
  35. #endif
  36. #ifndef __MIDL_user_allocate_free_DEFINED__
  37. #define __MIDL_user_allocate_free_DEFINED__
  38. void *__RPC_API MIDL_user_allocate(size_t);
  39. void __RPC_API MIDL_user_free(void *);
  40. #endif
  41. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
  42. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
  43. #ifndef __CHANNELMGR_LIBRARY_DEFINED__
  44. #define __CHANNELMGR_LIBRARY_DEFINED__
  45. EXTERN_C const IID LIBID_CHANNELMGR;
  46. #ifndef __IChannelMgr_INTERFACE_DEFINED__
  47. #define __IChannelMgr_INTERFACE_DEFINED__
  48. typedef struct _tagChannelShortcutInfo {
  49. DWORD cbSize;
  50. LPWSTR pszTitle;
  51. LPWSTR pszURL;
  52. LPWSTR pszLogo;
  53. LPWSTR pszIcon;
  54. LPWSTR pszWideLogo;
  55. WINBOOL bIsSoftware;
  56. } CHANNELSHORTCUTINFO;
  57. typedef struct _tagChannelCategoryInfo {
  58. DWORD cbSize;
  59. LPWSTR pszTitle;
  60. LPWSTR pszURL;
  61. LPWSTR pszLogo;
  62. LPWSTR pszIcon;
  63. LPWSTR pszWideLogo;
  64. } CHANNELCATEGORYINFO;
  65. typedef enum _tagChannelEnumFlags {
  66. CHANENUM_CHANNELFOLDER = 0x1,CHANENUM_SOFTUPDATEFOLDER = 0x2,CHANENUM_DESKTOPFOLDER = 0x4,CHANENUM_TITLE = 0x10000,CHANENUM_PATH = 0x20000,
  67. CHANENUM_URL = 0x40000,CHANENUM_SUBSCRIBESTATE = 0x80000
  68. } CHANNELENUMFLAGS;
  69. #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER)
  70. #define CHANENUM_ALLDATA (CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
  71. #define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER | CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
  72. EXTERN_C const IID IID_IChannelMgr;
  73. #if defined(__cplusplus) && !defined(CINTERFACE)
  74. struct IChannelMgr : public IUnknown {
  75. public:
  76. virtual HRESULT WINAPI AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo) = 0;
  77. virtual HRESULT WINAPI DeleteChannelShortcut(LPWSTR pszTitle) = 0;
  78. virtual HRESULT WINAPI AddCategory(CHANNELCATEGORYINFO *pCategoryInfo) = 0;
  79. virtual HRESULT WINAPI DeleteCategory(LPWSTR pszTitle) = 0;
  80. virtual HRESULT WINAPI EnumChannels(DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels) = 0;
  81. };
  82. #else
  83. typedef struct IChannelMgrVtbl {
  84. BEGIN_INTERFACE
  85. HRESULT (WINAPI *QueryInterface)(IChannelMgr *This,REFIID riid,void **ppvObject);
  86. ULONG (WINAPI *AddRef)(IChannelMgr *This);
  87. ULONG (WINAPI *Release)(IChannelMgr *This);
  88. HRESULT (WINAPI *AddChannelShortcut)(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
  89. HRESULT (WINAPI *DeleteChannelShortcut)(IChannelMgr *This,LPWSTR pszTitle);
  90. HRESULT (WINAPI *AddCategory)(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
  91. HRESULT (WINAPI *DeleteCategory)(IChannelMgr *This,LPWSTR pszTitle);
  92. HRESULT (WINAPI *EnumChannels)(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
  93. END_INTERFACE
  94. } IChannelMgrVtbl;
  95. struct IChannelMgr {
  96. CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
  97. };
  98. #ifdef COBJMACROS
  99. #define IChannelMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  100. #define IChannelMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
  101. #define IChannelMgr_Release(This) (This)->lpVtbl->Release(This)
  102. #define IChannelMgr_AddChannelShortcut(This,pChannelInfo) (This)->lpVtbl->AddChannelShortcut(This,pChannelInfo)
  103. #define IChannelMgr_DeleteChannelShortcut(This,pszTitle) (This)->lpVtbl->DeleteChannelShortcut(This,pszTitle)
  104. #define IChannelMgr_AddCategory(This,pCategoryInfo) (This)->lpVtbl->AddCategory(This,pCategoryInfo)
  105. #define IChannelMgr_DeleteCategory(This,pszTitle) (This)->lpVtbl->DeleteCategory(This,pszTitle)
  106. #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) (This)->lpVtbl->EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
  107. #endif
  108. #endif
  109. HRESULT WINAPI IChannelMgr_AddChannelShortcut_Proxy(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
  110. void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  111. HRESULT WINAPI IChannelMgr_DeleteChannelShortcut_Proxy(IChannelMgr *This,LPWSTR pszTitle);
  112. void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  113. HRESULT WINAPI IChannelMgr_AddCategory_Proxy(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
  114. void __RPC_STUB IChannelMgr_AddCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  115. HRESULT WINAPI IChannelMgr_DeleteCategory_Proxy(IChannelMgr *This,LPWSTR pszTitle);
  116. void __RPC_STUB IChannelMgr_DeleteCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  117. HRESULT WINAPI IChannelMgr_EnumChannels_Proxy(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
  118. void __RPC_STUB IChannelMgr_EnumChannels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  119. #endif
  120. #ifndef __IEnumChannels_INTERFACE_DEFINED__
  121. #define __IEnumChannels_INTERFACE_DEFINED__
  122. typedef enum _tagSubcriptionState {
  123. SUBSTATE_NOTSUBSCRIBED = 0,SUBSTATE_PARTIALSUBSCRIPTION,SUBSTATE_FULLSUBSCRIPTION
  124. } SUBSCRIPTIONSTATE;
  125. typedef struct _tagChannelInfo {
  126. LPOLESTR pszTitle;
  127. LPOLESTR pszPath;
  128. LPOLESTR pszURL;
  129. SUBSCRIPTIONSTATE stSubscriptionState;
  130. } CHANNELENUMINFO;
  131. EXTERN_C const IID IID_IEnumChannels;
  132. #if defined(__cplusplus) && !defined(CINTERFACE)
  133. struct IEnumChannels : public IUnknown {
  134. public:
  135. virtual HRESULT WINAPI Next(ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched) = 0;
  136. virtual HRESULT WINAPI Skip(ULONG celt) = 0;
  137. virtual HRESULT WINAPI Reset(void) = 0;
  138. virtual HRESULT WINAPI Clone(IEnumChannels **ppenum) = 0;
  139. };
  140. #else
  141. typedef struct IEnumChannelsVtbl {
  142. BEGIN_INTERFACE
  143. HRESULT (WINAPI *QueryInterface)(IEnumChannels *This,REFIID riid,void **ppvObject);
  144. ULONG (WINAPI *AddRef)(IEnumChannels *This);
  145. ULONG (WINAPI *Release)(IEnumChannels *This);
  146. HRESULT (WINAPI *Next)(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
  147. HRESULT (WINAPI *Skip)(IEnumChannels *This,ULONG celt);
  148. HRESULT (WINAPI *Reset)(IEnumChannels *This);
  149. HRESULT (WINAPI *Clone)(IEnumChannels *This,IEnumChannels **ppenum);
  150. END_INTERFACE
  151. } IEnumChannelsVtbl;
  152. struct IEnumChannels {
  153. CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
  154. };
  155. #ifdef COBJMACROS
  156. #define IEnumChannels_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  157. #define IEnumChannels_AddRef(This) (This)->lpVtbl->AddRef(This)
  158. #define IEnumChannels_Release(This) (This)->lpVtbl->Release(This)
  159. #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) (This)->lpVtbl->Next(This,celt,rgChanInf,pceltFetched)
  160. #define IEnumChannels_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  161. #define IEnumChannels_Reset(This) (This)->lpVtbl->Reset(This)
  162. #define IEnumChannels_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  163. #endif
  164. #endif
  165. HRESULT WINAPI IEnumChannels_Next_Proxy(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
  166. void __RPC_STUB IEnumChannels_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  167. HRESULT WINAPI IEnumChannels_Skip_Proxy(IEnumChannels *This,ULONG celt);
  168. void __RPC_STUB IEnumChannels_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  169. HRESULT WINAPI IEnumChannels_Reset_Proxy(IEnumChannels *This);
  170. void __RPC_STUB IEnumChannels_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  171. HRESULT WINAPI IEnumChannels_Clone_Proxy(IEnumChannels *This,IEnumChannels **ppenum);
  172. void __RPC_STUB IEnumChannels_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  173. #endif
  174. EXTERN_C const CLSID CLSID_ChannelMgr;
  175. #ifdef __cplusplus
  176. class ChannelMgr;
  177. #endif
  178. #endif
  179. #ifdef __cplusplus
  180. }
  181. #endif
  182. #endif