datacontainer.h 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437
  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 datacontainer.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  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__ 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 COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __datacontainer_h__
  27. #define __datacontainer_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IWMSDataSourcePlugin_FWD_DEFINED__
  33. #define __IWMSDataSourcePlugin_FWD_DEFINED__
  34. typedef interface IWMSDataSourcePlugin IWMSDataSourcePlugin;
  35. #endif /* __IWMSDataSourcePlugin_FWD_DEFINED__ */
  36. #ifndef __IWMSDataSourcePluginCallback_FWD_DEFINED__
  37. #define __IWMSDataSourcePluginCallback_FWD_DEFINED__
  38. typedef interface IWMSDataSourcePluginCallback IWMSDataSourcePluginCallback;
  39. #endif /* __IWMSDataSourcePluginCallback_FWD_DEFINED__ */
  40. #ifndef __IWMSDataContainer_FWD_DEFINED__
  41. #define __IWMSDataContainer_FWD_DEFINED__
  42. typedef interface IWMSDataContainer IWMSDataContainer;
  43. #endif /* __IWMSDataContainer_FWD_DEFINED__ */
  44. #ifndef __IWMSDataContainerCallback_FWD_DEFINED__
  45. #define __IWMSDataContainerCallback_FWD_DEFINED__
  46. typedef interface IWMSDataContainerCallback IWMSDataContainerCallback;
  47. #endif /* __IWMSDataContainerCallback_FWD_DEFINED__ */
  48. #ifndef __IWMSDirectory_FWD_DEFINED__
  49. #define __IWMSDirectory_FWD_DEFINED__
  50. typedef interface IWMSDirectory IWMSDirectory;
  51. #endif /* __IWMSDirectory_FWD_DEFINED__ */
  52. /* header files for imported files */
  53. #include "objidl.h"
  54. #include "WMSBuffer.h"
  55. #include "WMSContext.h"
  56. #include "DataContainerVersion.h"
  57. #include "wmsPacket.h"
  58. #ifdef __cplusplus
  59. extern "C"{
  60. #endif
  61. void * __RPC_USER MIDL_user_allocate(size_t);
  62. void __RPC_USER MIDL_user_free( void * );
  63. /* interface __MIDL_itf_datacontainer_0000 */
  64. /* [local] */
  65. //*****************************************************************************
  66. //
  67. // Microsoft Windows Media
  68. // Copyright (C) Microsoft Corporation. All rights reserved.
  69. //
  70. // Automatically generated by Midl from datacontainer.idl
  71. //
  72. // DO NOT EDIT THIS FILE.
  73. //
  74. //*****************************************************************************
  75. #define WMS_DATA_CONTAINER_NONSEEKABLE 0xFFFFFFFFFFFFFFFF
  76. EXTERN_GUID( IID_IWMSDataSourcePlugin, 0xE1CD3525,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  77. EXTERN_GUID( IID_IWMSDataSourcePluginCallback, 0xE1CD3526,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  78. EXTERN_GUID( IID_IWMSDataContainer, 0xE6EE9A13,0x0FCC,0x11d2,0x9E,0xEE,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  79. EXTERN_GUID( IID_IWMSDataContainerCallback, 0x2E34AB82,0x0D3D,0x11d2,0x9E,0xEE,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  80. EXTERN_GUID( IID_IWMSDirectory, 0x6fa365e7, 0xe8b9, 0x437a, 0x8c, 0x4b, 0x65, 0x52, 0xdf, 0xbb, 0xc, 0x57 );
  81. EXTERN_GUID( IID_IWMSUnknownFormat, 0x9b6c9e51, 0x4813, 0x11d2, 0x9e, 0xff, 0x00, 0x60, 0x97, 0xd2, 0xd7, 0xcf );
  82. EXTERN_GUID( IID_IWMSDirectoryFormat, 0x7408ceb0, 0x3a5a, 0x41b6, 0xa5, 0xec, 0x9a, 0x4e, 0x81, 0x1c, 0x96, 0x73 );
  83. EXTERN_GUID( IID_IWMSPlaylistSmilFormat, 0xc34294ea, 0xe111, 0x4fb2, 0xbe, 0x6b, 0xec, 0x68, 0x6a, 0x1a, 0x97, 0x57 );
  84. typedef /* [public] */
  85. enum WMS_DATA_CONTAINER_OPEN_FLAGS
  86. { WMS_DATA_CONTAINER_READ_ACCESS = 0x1,
  87. WMS_DATA_CONTAINER_WRITE_ACCESS = 0x2,
  88. WMS_DATA_CONTAINER_CREATE_NEW_CONTAINER = 0x4,
  89. WMS_DATA_CONTAINER_ALLOW_BUFFER_IO = 0x8,
  90. WMS_DATA_CONTAINER_SHARED_SOURCE = 0x10
  91. } WMS_DATA_CONTAINER_OPEN_FLAGS;
  92. typedef /* [public] */
  93. enum WMS_DIRECTORY_ENTRY_FLAGS
  94. { WMS_DIRECTORY_ENTRY_IS_DIRECTORY = 0x1
  95. } WMS_DIRECTORY_ENTRY_FLAGS;
  96. typedef /* [public] */
  97. enum WMS_DATA_CONTAINER_GETINFO_VALUES
  98. { WMS_DATA_CONTAINER_SIZE = 1,
  99. WMS_DATA_CONTAINER_MAX_SUPPORTED_READ_SIZE = 2
  100. } WMS_DATA_CONTAINER_GETINFO_VALUES;
  101. typedef /* [public] */
  102. enum WMS_DATA_CONTAINER_GETINFO_FLAGS
  103. { WMS_SEEKABLE_CONTAINER = 0x1,
  104. WMS_LOCAL_DATA_CONTAINER = 0x2
  105. } WMS_DATA_CONTAINER_GETINFO_FLAGS;
  106. typedef /* [public] */
  107. enum WMS_DATA_CONTAINER_ATTRIBUTES
  108. { WMS_DATA_CONTAINER_SUPPORTS_ENUMERATION = 0x1
  109. } WMS_DATA_CONTAINER_ATTRIBUTES;
  110. typedef unsigned __int64 QWORD;
  111. extern RPC_IF_HANDLE __MIDL_itf_datacontainer_0000_v0_0_c_ifspec;
  112. extern RPC_IF_HANDLE __MIDL_itf_datacontainer_0000_v0_0_s_ifspec;
  113. #ifndef __IWMSDataSourcePlugin_INTERFACE_DEFINED__
  114. #define __IWMSDataSourcePlugin_INTERFACE_DEFINED__
  115. /* interface IWMSDataSourcePlugin */
  116. /* [helpstring][version][uuid][unique][object] */
  117. EXTERN_C const IID IID_IWMSDataSourcePlugin;
  118. #if defined(__cplusplus) && !defined(CINTERFACE)
  119. MIDL_INTERFACE("E1CD3525-03D7-11d2-9EED-006097D2D7CF")
  120. IWMSDataSourcePlugin : public IUnknown
  121. {
  122. public:
  123. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataSourceAttributes(
  124. /* [out] */ DWORD *pdwFlags) = 0;
  125. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRootDirectories(
  126. /* [in] */ LPWSTR *pstrRootDirectoryList,
  127. /* [in] */ DWORD dwMaxRoots,
  128. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  129. /* [in] */ QWORD qwContext) = 0;
  130. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenDataContainer(
  131. /* [in] */ IWMSCommandContext *pCommandContext,
  132. /* [in] */ IWMSContext *pUserContext,
  133. /* [in] */ IWMSContext *pPresentationContext,
  134. /* [in] */ LPWSTR pszContainerName,
  135. /* [in] */ DWORD dwFlags,
  136. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  137. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  138. /* [in] */ QWORD qwContext) = 0;
  139. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenDirectory(
  140. /* [in] */ IWMSCommandContext *pCommandContext,
  141. /* [in] */ IWMSContext *pUserContext,
  142. /* [in] */ IWMSContext *pPresentationContext,
  143. /* [in] */ LPWSTR pszContainerName,
  144. /* [in] */ DWORD dwFlags,
  145. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  146. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  147. /* [in] */ QWORD qwContext) = 0;
  148. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteDataContainer(
  149. /* [in] */ LPWSTR pszContainerName,
  150. /* [in] */ DWORD dwFlags,
  151. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  152. /* [in] */ QWORD qwContext) = 0;
  153. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataContainerVersion(
  154. /* [in] */ IWMSCommandContext *pCommandContext,
  155. /* [in] */ IWMSContext *pUserContext,
  156. /* [in] */ IWMSContext *pPresContext,
  157. /* [in] */ LPWSTR pszContainerName,
  158. /* [in] */ DWORD dwFlags,
  159. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  160. /* [in] */ QWORD qwContext) = 0;
  161. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDataSourceDirectory(
  162. /* [in] */ IWMSCommandContext *pCommandContext,
  163. /* [in] */ LPWSTR pszContainerName,
  164. /* [in] */ DWORD dwFlags,
  165. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  166. /* [in] */ QWORD qwContext) = 0;
  167. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteDirectory(
  168. /* [in] */ LPWSTR pszContainerName,
  169. /* [in] */ DWORD dwFlags,
  170. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  171. /* [in] */ QWORD qwContext) = 0;
  172. };
  173. #else /* C style interface */
  174. typedef struct IWMSDataSourcePluginVtbl
  175. {
  176. BEGIN_INTERFACE
  177. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  178. IWMSDataSourcePlugin * This,
  179. /* [in] */ REFIID riid,
  180. /* [iid_is][out] */ void **ppvObject);
  181. ULONG ( STDMETHODCALLTYPE *AddRef )(
  182. IWMSDataSourcePlugin * This);
  183. ULONG ( STDMETHODCALLTYPE *Release )(
  184. IWMSDataSourcePlugin * This);
  185. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataSourceAttributes )(
  186. IWMSDataSourcePlugin * This,
  187. /* [out] */ DWORD *pdwFlags);
  188. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRootDirectories )(
  189. IWMSDataSourcePlugin * This,
  190. /* [in] */ LPWSTR *pstrRootDirectoryList,
  191. /* [in] */ DWORD dwMaxRoots,
  192. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  193. /* [in] */ QWORD qwContext);
  194. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenDataContainer )(
  195. IWMSDataSourcePlugin * This,
  196. /* [in] */ IWMSCommandContext *pCommandContext,
  197. /* [in] */ IWMSContext *pUserContext,
  198. /* [in] */ IWMSContext *pPresentationContext,
  199. /* [in] */ LPWSTR pszContainerName,
  200. /* [in] */ DWORD dwFlags,
  201. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  202. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  203. /* [in] */ QWORD qwContext);
  204. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenDirectory )(
  205. IWMSDataSourcePlugin * This,
  206. /* [in] */ IWMSCommandContext *pCommandContext,
  207. /* [in] */ IWMSContext *pUserContext,
  208. /* [in] */ IWMSContext *pPresentationContext,
  209. /* [in] */ LPWSTR pszContainerName,
  210. /* [in] */ DWORD dwFlags,
  211. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  212. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  213. /* [in] */ QWORD qwContext);
  214. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteDataContainer )(
  215. IWMSDataSourcePlugin * This,
  216. /* [in] */ LPWSTR pszContainerName,
  217. /* [in] */ DWORD dwFlags,
  218. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  219. /* [in] */ QWORD qwContext);
  220. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataContainerVersion )(
  221. IWMSDataSourcePlugin * This,
  222. /* [in] */ IWMSCommandContext *pCommandContext,
  223. /* [in] */ IWMSContext *pUserContext,
  224. /* [in] */ IWMSContext *pPresContext,
  225. /* [in] */ LPWSTR pszContainerName,
  226. /* [in] */ DWORD dwFlags,
  227. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  228. /* [in] */ QWORD qwContext);
  229. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDataSourceDirectory )(
  230. IWMSDataSourcePlugin * This,
  231. /* [in] */ IWMSCommandContext *pCommandContext,
  232. /* [in] */ LPWSTR pszContainerName,
  233. /* [in] */ DWORD dwFlags,
  234. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  235. /* [in] */ QWORD qwContext);
  236. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteDirectory )(
  237. IWMSDataSourcePlugin * This,
  238. /* [in] */ LPWSTR pszContainerName,
  239. /* [in] */ DWORD dwFlags,
  240. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  241. /* [in] */ QWORD qwContext);
  242. END_INTERFACE
  243. } IWMSDataSourcePluginVtbl;
  244. interface IWMSDataSourcePlugin
  245. {
  246. CONST_VTBL struct IWMSDataSourcePluginVtbl *lpVtbl;
  247. };
  248. #ifdef COBJMACROS
  249. #define IWMSDataSourcePlugin_QueryInterface(This,riid,ppvObject) \
  250. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  251. #define IWMSDataSourcePlugin_AddRef(This) \
  252. (This)->lpVtbl -> AddRef(This)
  253. #define IWMSDataSourcePlugin_Release(This) \
  254. (This)->lpVtbl -> Release(This)
  255. #define IWMSDataSourcePlugin_GetDataSourceAttributes(This,pdwFlags) \
  256. (This)->lpVtbl -> GetDataSourceAttributes(This,pdwFlags)
  257. #define IWMSDataSourcePlugin_GetRootDirectories(This,pstrRootDirectoryList,dwMaxRoots,pCallback,qwContext) \
  258. (This)->lpVtbl -> GetRootDirectories(This,pstrRootDirectoryList,dwMaxRoots,pCallback,qwContext)
  259. #define IWMSDataSourcePlugin_OpenDataContainer(This,pCommandContext,pUserContext,pPresentationContext,pszContainerName,dwFlags,pBufferAllocator,pCallback,qwContext) \
  260. (This)->lpVtbl -> OpenDataContainer(This,pCommandContext,pUserContext,pPresentationContext,pszContainerName,dwFlags,pBufferAllocator,pCallback,qwContext)
  261. #define IWMSDataSourcePlugin_OpenDirectory(This,pCommandContext,pUserContext,pPresentationContext,pszContainerName,dwFlags,pBufferAllocator,pCallback,qwContext) \
  262. (This)->lpVtbl -> OpenDirectory(This,pCommandContext,pUserContext,pPresentationContext,pszContainerName,dwFlags,pBufferAllocator,pCallback,qwContext)
  263. #define IWMSDataSourcePlugin_DeleteDataContainer(This,pszContainerName,dwFlags,pCallback,qwContext) \
  264. (This)->lpVtbl -> DeleteDataContainer(This,pszContainerName,dwFlags,pCallback,qwContext)
  265. #define IWMSDataSourcePlugin_GetDataContainerVersion(This,pCommandContext,pUserContext,pPresContext,pszContainerName,dwFlags,pCallback,qwContext) \
  266. (This)->lpVtbl -> GetDataContainerVersion(This,pCommandContext,pUserContext,pPresContext,pszContainerName,dwFlags,pCallback,qwContext)
  267. #define IWMSDataSourcePlugin_CreateDataSourceDirectory(This,pCommandContext,pszContainerName,dwFlags,pCallback,qwContext) \
  268. (This)->lpVtbl -> CreateDataSourceDirectory(This,pCommandContext,pszContainerName,dwFlags,pCallback,qwContext)
  269. #define IWMSDataSourcePlugin_DeleteDirectory(This,pszContainerName,dwFlags,pCallback,qwContext) \
  270. (This)->lpVtbl -> DeleteDirectory(This,pszContainerName,dwFlags,pCallback,qwContext)
  271. #endif /* COBJMACROS */
  272. #endif /* C style interface */
  273. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_GetDataSourceAttributes_Proxy(
  274. IWMSDataSourcePlugin * This,
  275. /* [out] */ DWORD *pdwFlags);
  276. void __RPC_STUB IWMSDataSourcePlugin_GetDataSourceAttributes_Stub(
  277. IRpcStubBuffer *This,
  278. IRpcChannelBuffer *_pRpcChannelBuffer,
  279. PRPC_MESSAGE _pRpcMessage,
  280. DWORD *_pdwStubPhase);
  281. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_GetRootDirectories_Proxy(
  282. IWMSDataSourcePlugin * This,
  283. /* [in] */ LPWSTR *pstrRootDirectoryList,
  284. /* [in] */ DWORD dwMaxRoots,
  285. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  286. /* [in] */ QWORD qwContext);
  287. void __RPC_STUB IWMSDataSourcePlugin_GetRootDirectories_Stub(
  288. IRpcStubBuffer *This,
  289. IRpcChannelBuffer *_pRpcChannelBuffer,
  290. PRPC_MESSAGE _pRpcMessage,
  291. DWORD *_pdwStubPhase);
  292. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_OpenDataContainer_Proxy(
  293. IWMSDataSourcePlugin * This,
  294. /* [in] */ IWMSCommandContext *pCommandContext,
  295. /* [in] */ IWMSContext *pUserContext,
  296. /* [in] */ IWMSContext *pPresentationContext,
  297. /* [in] */ LPWSTR pszContainerName,
  298. /* [in] */ DWORD dwFlags,
  299. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  300. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  301. /* [in] */ QWORD qwContext);
  302. void __RPC_STUB IWMSDataSourcePlugin_OpenDataContainer_Stub(
  303. IRpcStubBuffer *This,
  304. IRpcChannelBuffer *_pRpcChannelBuffer,
  305. PRPC_MESSAGE _pRpcMessage,
  306. DWORD *_pdwStubPhase);
  307. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_OpenDirectory_Proxy(
  308. IWMSDataSourcePlugin * This,
  309. /* [in] */ IWMSCommandContext *pCommandContext,
  310. /* [in] */ IWMSContext *pUserContext,
  311. /* [in] */ IWMSContext *pPresentationContext,
  312. /* [in] */ LPWSTR pszContainerName,
  313. /* [in] */ DWORD dwFlags,
  314. /* [in] */ IWMSBufferAllocator *pBufferAllocator,
  315. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  316. /* [in] */ QWORD qwContext);
  317. void __RPC_STUB IWMSDataSourcePlugin_OpenDirectory_Stub(
  318. IRpcStubBuffer *This,
  319. IRpcChannelBuffer *_pRpcChannelBuffer,
  320. PRPC_MESSAGE _pRpcMessage,
  321. DWORD *_pdwStubPhase);
  322. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_DeleteDataContainer_Proxy(
  323. IWMSDataSourcePlugin * This,
  324. /* [in] */ LPWSTR pszContainerName,
  325. /* [in] */ DWORD dwFlags,
  326. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  327. /* [in] */ QWORD qwContext);
  328. void __RPC_STUB IWMSDataSourcePlugin_DeleteDataContainer_Stub(
  329. IRpcStubBuffer *This,
  330. IRpcChannelBuffer *_pRpcChannelBuffer,
  331. PRPC_MESSAGE _pRpcMessage,
  332. DWORD *_pdwStubPhase);
  333. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_GetDataContainerVersion_Proxy(
  334. IWMSDataSourcePlugin * This,
  335. /* [in] */ IWMSCommandContext *pCommandContext,
  336. /* [in] */ IWMSContext *pUserContext,
  337. /* [in] */ IWMSContext *pPresContext,
  338. /* [in] */ LPWSTR pszContainerName,
  339. /* [in] */ DWORD dwFlags,
  340. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  341. /* [in] */ QWORD qwContext);
  342. void __RPC_STUB IWMSDataSourcePlugin_GetDataContainerVersion_Stub(
  343. IRpcStubBuffer *This,
  344. IRpcChannelBuffer *_pRpcChannelBuffer,
  345. PRPC_MESSAGE _pRpcMessage,
  346. DWORD *_pdwStubPhase);
  347. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_CreateDataSourceDirectory_Proxy(
  348. IWMSDataSourcePlugin * This,
  349. /* [in] */ IWMSCommandContext *pCommandContext,
  350. /* [in] */ LPWSTR pszContainerName,
  351. /* [in] */ DWORD dwFlags,
  352. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  353. /* [in] */ QWORD qwContext);
  354. void __RPC_STUB IWMSDataSourcePlugin_CreateDataSourceDirectory_Stub(
  355. IRpcStubBuffer *This,
  356. IRpcChannelBuffer *_pRpcChannelBuffer,
  357. PRPC_MESSAGE _pRpcMessage,
  358. DWORD *_pdwStubPhase);
  359. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePlugin_DeleteDirectory_Proxy(
  360. IWMSDataSourcePlugin * This,
  361. /* [in] */ LPWSTR pszContainerName,
  362. /* [in] */ DWORD dwFlags,
  363. /* [in] */ IWMSDataSourcePluginCallback *pCallback,
  364. /* [in] */ QWORD qwContext);
  365. void __RPC_STUB IWMSDataSourcePlugin_DeleteDirectory_Stub(
  366. IRpcStubBuffer *This,
  367. IRpcChannelBuffer *_pRpcChannelBuffer,
  368. PRPC_MESSAGE _pRpcMessage,
  369. DWORD *_pdwStubPhase);
  370. #endif /* __IWMSDataSourcePlugin_INTERFACE_DEFINED__ */
  371. #ifndef __IWMSDataSourcePluginCallback_INTERFACE_DEFINED__
  372. #define __IWMSDataSourcePluginCallback_INTERFACE_DEFINED__
  373. /* interface IWMSDataSourcePluginCallback */
  374. /* [helpstring][version][uuid][unique][object] */
  375. EXTERN_C const IID IID_IWMSDataSourcePluginCallback;
  376. #if defined(__cplusplus) && !defined(CINTERFACE)
  377. MIDL_INTERFACE("E1CD3526-03D7-11d2-9EED-006097D2D7CF")
  378. IWMSDataSourcePluginCallback : public IUnknown
  379. {
  380. public:
  381. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOpenDataContainer(
  382. /* [in] */ HRESULT hr,
  383. /* [in] */ IWMSDataContainer *pDataContainer,
  384. /* [in] */ QWORD qwContext) = 0;
  385. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOpenDirectory(
  386. /* [in] */ HRESULT hr,
  387. /* [in] */ IWMSDirectory *pDirectory,
  388. /* [in] */ QWORD qwContext) = 0;
  389. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnOpenPacketStreamDataContainer(
  390. /* [in] */ HRESULT hr,
  391. /* [in] */ IUnknown *pLiveDataContainer,
  392. /* [in] */ QWORD qwContext) = 0;
  393. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDeleteDataContainer(
  394. /* [in] */ HRESULT hr,
  395. /* [in] */ QWORD qwContext) = 0;
  396. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetDataContainerVersion(
  397. /* [in] */ HRESULT hr,
  398. /* [in] */ IWMSDataContainerVersion *pVersion,
  399. /* [in] */ QWORD qwContext) = 0;
  400. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetRootDirectories(
  401. /* [in] */ HRESULT hr,
  402. /* [in] */ DWORD dwNumReturnedRoots,
  403. /* [in] */ DWORD dwTotalNumRoots,
  404. /* [in] */ QWORD qwContext) = 0;
  405. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnCreateDirectory(
  406. /* [in] */ HRESULT hr,
  407. /* [in] */ QWORD qwContext) = 0;
  408. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDeleteDirectory(
  409. /* [in] */ HRESULT hr,
  410. /* [in] */ QWORD qwContext) = 0;
  411. };
  412. #else /* C style interface */
  413. typedef struct IWMSDataSourcePluginCallbackVtbl
  414. {
  415. BEGIN_INTERFACE
  416. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  417. IWMSDataSourcePluginCallback * This,
  418. /* [in] */ REFIID riid,
  419. /* [iid_is][out] */ void **ppvObject);
  420. ULONG ( STDMETHODCALLTYPE *AddRef )(
  421. IWMSDataSourcePluginCallback * This);
  422. ULONG ( STDMETHODCALLTYPE *Release )(
  423. IWMSDataSourcePluginCallback * This);
  424. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOpenDataContainer )(
  425. IWMSDataSourcePluginCallback * This,
  426. /* [in] */ HRESULT hr,
  427. /* [in] */ IWMSDataContainer *pDataContainer,
  428. /* [in] */ QWORD qwContext);
  429. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOpenDirectory )(
  430. IWMSDataSourcePluginCallback * This,
  431. /* [in] */ HRESULT hr,
  432. /* [in] */ IWMSDirectory *pDirectory,
  433. /* [in] */ QWORD qwContext);
  434. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnOpenPacketStreamDataContainer )(
  435. IWMSDataSourcePluginCallback * This,
  436. /* [in] */ HRESULT hr,
  437. /* [in] */ IUnknown *pLiveDataContainer,
  438. /* [in] */ QWORD qwContext);
  439. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDeleteDataContainer )(
  440. IWMSDataSourcePluginCallback * This,
  441. /* [in] */ HRESULT hr,
  442. /* [in] */ QWORD qwContext);
  443. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetDataContainerVersion )(
  444. IWMSDataSourcePluginCallback * This,
  445. /* [in] */ HRESULT hr,
  446. /* [in] */ IWMSDataContainerVersion *pVersion,
  447. /* [in] */ QWORD qwContext);
  448. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetRootDirectories )(
  449. IWMSDataSourcePluginCallback * This,
  450. /* [in] */ HRESULT hr,
  451. /* [in] */ DWORD dwNumReturnedRoots,
  452. /* [in] */ DWORD dwTotalNumRoots,
  453. /* [in] */ QWORD qwContext);
  454. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnCreateDirectory )(
  455. IWMSDataSourcePluginCallback * This,
  456. /* [in] */ HRESULT hr,
  457. /* [in] */ QWORD qwContext);
  458. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDeleteDirectory )(
  459. IWMSDataSourcePluginCallback * This,
  460. /* [in] */ HRESULT hr,
  461. /* [in] */ QWORD qwContext);
  462. END_INTERFACE
  463. } IWMSDataSourcePluginCallbackVtbl;
  464. interface IWMSDataSourcePluginCallback
  465. {
  466. CONST_VTBL struct IWMSDataSourcePluginCallbackVtbl *lpVtbl;
  467. };
  468. #ifdef COBJMACROS
  469. #define IWMSDataSourcePluginCallback_QueryInterface(This,riid,ppvObject) \
  470. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  471. #define IWMSDataSourcePluginCallback_AddRef(This) \
  472. (This)->lpVtbl -> AddRef(This)
  473. #define IWMSDataSourcePluginCallback_Release(This) \
  474. (This)->lpVtbl -> Release(This)
  475. #define IWMSDataSourcePluginCallback_OnOpenDataContainer(This,hr,pDataContainer,qwContext) \
  476. (This)->lpVtbl -> OnOpenDataContainer(This,hr,pDataContainer,qwContext)
  477. #define IWMSDataSourcePluginCallback_OnOpenDirectory(This,hr,pDirectory,qwContext) \
  478. (This)->lpVtbl -> OnOpenDirectory(This,hr,pDirectory,qwContext)
  479. #define IWMSDataSourcePluginCallback_OnOpenPacketStreamDataContainer(This,hr,pLiveDataContainer,qwContext) \
  480. (This)->lpVtbl -> OnOpenPacketStreamDataContainer(This,hr,pLiveDataContainer,qwContext)
  481. #define IWMSDataSourcePluginCallback_OnDeleteDataContainer(This,hr,qwContext) \
  482. (This)->lpVtbl -> OnDeleteDataContainer(This,hr,qwContext)
  483. #define IWMSDataSourcePluginCallback_OnGetDataContainerVersion(This,hr,pVersion,qwContext) \
  484. (This)->lpVtbl -> OnGetDataContainerVersion(This,hr,pVersion,qwContext)
  485. #define IWMSDataSourcePluginCallback_OnGetRootDirectories(This,hr,dwNumReturnedRoots,dwTotalNumRoots,qwContext) \
  486. (This)->lpVtbl -> OnGetRootDirectories(This,hr,dwNumReturnedRoots,dwTotalNumRoots,qwContext)
  487. #define IWMSDataSourcePluginCallback_OnCreateDirectory(This,hr,qwContext) \
  488. (This)->lpVtbl -> OnCreateDirectory(This,hr,qwContext)
  489. #define IWMSDataSourcePluginCallback_OnDeleteDirectory(This,hr,qwContext) \
  490. (This)->lpVtbl -> OnDeleteDirectory(This,hr,qwContext)
  491. #endif /* COBJMACROS */
  492. #endif /* C style interface */
  493. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnOpenDataContainer_Proxy(
  494. IWMSDataSourcePluginCallback * This,
  495. /* [in] */ HRESULT hr,
  496. /* [in] */ IWMSDataContainer *pDataContainer,
  497. /* [in] */ QWORD qwContext);
  498. void __RPC_STUB IWMSDataSourcePluginCallback_OnOpenDataContainer_Stub(
  499. IRpcStubBuffer *This,
  500. IRpcChannelBuffer *_pRpcChannelBuffer,
  501. PRPC_MESSAGE _pRpcMessage,
  502. DWORD *_pdwStubPhase);
  503. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnOpenDirectory_Proxy(
  504. IWMSDataSourcePluginCallback * This,
  505. /* [in] */ HRESULT hr,
  506. /* [in] */ IWMSDirectory *pDirectory,
  507. /* [in] */ QWORD qwContext);
  508. void __RPC_STUB IWMSDataSourcePluginCallback_OnOpenDirectory_Stub(
  509. IRpcStubBuffer *This,
  510. IRpcChannelBuffer *_pRpcChannelBuffer,
  511. PRPC_MESSAGE _pRpcMessage,
  512. DWORD *_pdwStubPhase);
  513. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnOpenPacketStreamDataContainer_Proxy(
  514. IWMSDataSourcePluginCallback * This,
  515. /* [in] */ HRESULT hr,
  516. /* [in] */ IUnknown *pLiveDataContainer,
  517. /* [in] */ QWORD qwContext);
  518. void __RPC_STUB IWMSDataSourcePluginCallback_OnOpenPacketStreamDataContainer_Stub(
  519. IRpcStubBuffer *This,
  520. IRpcChannelBuffer *_pRpcChannelBuffer,
  521. PRPC_MESSAGE _pRpcMessage,
  522. DWORD *_pdwStubPhase);
  523. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnDeleteDataContainer_Proxy(
  524. IWMSDataSourcePluginCallback * This,
  525. /* [in] */ HRESULT hr,
  526. /* [in] */ QWORD qwContext);
  527. void __RPC_STUB IWMSDataSourcePluginCallback_OnDeleteDataContainer_Stub(
  528. IRpcStubBuffer *This,
  529. IRpcChannelBuffer *_pRpcChannelBuffer,
  530. PRPC_MESSAGE _pRpcMessage,
  531. DWORD *_pdwStubPhase);
  532. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnGetDataContainerVersion_Proxy(
  533. IWMSDataSourcePluginCallback * This,
  534. /* [in] */ HRESULT hr,
  535. /* [in] */ IWMSDataContainerVersion *pVersion,
  536. /* [in] */ QWORD qwContext);
  537. void __RPC_STUB IWMSDataSourcePluginCallback_OnGetDataContainerVersion_Stub(
  538. IRpcStubBuffer *This,
  539. IRpcChannelBuffer *_pRpcChannelBuffer,
  540. PRPC_MESSAGE _pRpcMessage,
  541. DWORD *_pdwStubPhase);
  542. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnGetRootDirectories_Proxy(
  543. IWMSDataSourcePluginCallback * This,
  544. /* [in] */ HRESULT hr,
  545. /* [in] */ DWORD dwNumReturnedRoots,
  546. /* [in] */ DWORD dwTotalNumRoots,
  547. /* [in] */ QWORD qwContext);
  548. void __RPC_STUB IWMSDataSourcePluginCallback_OnGetRootDirectories_Stub(
  549. IRpcStubBuffer *This,
  550. IRpcChannelBuffer *_pRpcChannelBuffer,
  551. PRPC_MESSAGE _pRpcMessage,
  552. DWORD *_pdwStubPhase);
  553. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnCreateDirectory_Proxy(
  554. IWMSDataSourcePluginCallback * This,
  555. /* [in] */ HRESULT hr,
  556. /* [in] */ QWORD qwContext);
  557. void __RPC_STUB IWMSDataSourcePluginCallback_OnCreateDirectory_Stub(
  558. IRpcStubBuffer *This,
  559. IRpcChannelBuffer *_pRpcChannelBuffer,
  560. PRPC_MESSAGE _pRpcMessage,
  561. DWORD *_pdwStubPhase);
  562. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataSourcePluginCallback_OnDeleteDirectory_Proxy(
  563. IWMSDataSourcePluginCallback * This,
  564. /* [in] */ HRESULT hr,
  565. /* [in] */ QWORD qwContext);
  566. void __RPC_STUB IWMSDataSourcePluginCallback_OnDeleteDirectory_Stub(
  567. IRpcStubBuffer *This,
  568. IRpcChannelBuffer *_pRpcChannelBuffer,
  569. PRPC_MESSAGE _pRpcMessage,
  570. DWORD *_pdwStubPhase);
  571. #endif /* __IWMSDataSourcePluginCallback_INTERFACE_DEFINED__ */
  572. /* interface __MIDL_itf_datacontainer_0136 */
  573. /* [local] */
  574. typedef /* [public][public] */ struct __MIDL___MIDL_itf_datacontainer_0136_0001
  575. {
  576. LPOLESTR pstrName;
  577. DWORD dwFlags;
  578. QWORD qwSize;
  579. } WMSDirectoryEntryInfo;
  580. extern RPC_IF_HANDLE __MIDL_itf_datacontainer_0136_v0_0_c_ifspec;
  581. extern RPC_IF_HANDLE __MIDL_itf_datacontainer_0136_v0_0_s_ifspec;
  582. #ifndef __IWMSDataContainer_INTERFACE_DEFINED__
  583. #define __IWMSDataContainer_INTERFACE_DEFINED__
  584. /* interface IWMSDataContainer */
  585. /* [helpstring][version][uuid][unique][object] */
  586. EXTERN_C const IID IID_IWMSDataContainer;
  587. #if defined(__cplusplus) && !defined(CINTERFACE)
  588. MIDL_INTERFACE("E6EE9A13-0FCC-11d2-9EEE-006097D2D7CF")
  589. IWMSDataContainer : public IUnknown
  590. {
  591. public:
  592. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetContainerFormat(
  593. /* [out] */ GUID *pFormat) = 0;
  594. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataSourcePlugin(
  595. /* [out] */ IWMSDataSourcePlugin **ppDataSource) = 0;
  596. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInfo(
  597. /* [in] */ DWORD dwInfoValueId,
  598. /* [in] */ IWMSDataContainerCallback *pCallback,
  599. /* [in] */ QWORD qwContext) = 0;
  600. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Read(
  601. /* [in] */ BYTE *pbBuffer,
  602. /* [in] */ QWORD qwOffset,
  603. /* [in] */ DWORD dwMaxDataSize,
  604. /* [in] */ DWORD dwFlags,
  605. /* [in] */ IWMSDataContainerCallback *pCallback,
  606. /* [in] */ QWORD qwContext) = 0;
  607. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Write(
  608. /* [in] */ BYTE *pbBuffer,
  609. /* [in] */ DWORD dwDataSize,
  610. /* [in] */ QWORD qwWritePosition,
  611. /* [in] */ IWMSDataContainerCallback *pCallback,
  612. /* [in] */ QWORD qwContext) = 0;
  613. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTransferParameters(
  614. /* [in] */ QWORD qwDesiredOffset,
  615. /* [in] */ DWORD dwDesiredMinSize,
  616. /* [in] */ DWORD dwDesiredMaxSize,
  617. /* [out] */ QWORD *pqwOffset,
  618. /* [out] */ DWORD *pdwSize,
  619. /* [out] */ DWORD *pdwBufferAlignment) = 0;
  620. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoDataContainerExtendedCommand(
  621. /* [in] */ LPWSTR szCommandName,
  622. /* [in] */ IWMSCommandContext *pCommand,
  623. /* [in] */ DWORD dwCallFlags,
  624. /* [in] */ IWMSDataContainerCallback *pCallback,
  625. /* [in] */ QWORD qwContext) = 0;
  626. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishParsingPacketlist(
  627. /* [in] */ IWMSPacketList *pPacketList) = 0;
  628. };
  629. #else /* C style interface */
  630. typedef struct IWMSDataContainerVtbl
  631. {
  632. BEGIN_INTERFACE
  633. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  634. IWMSDataContainer * This,
  635. /* [in] */ REFIID riid,
  636. /* [iid_is][out] */ void **ppvObject);
  637. ULONG ( STDMETHODCALLTYPE *AddRef )(
  638. IWMSDataContainer * This);
  639. ULONG ( STDMETHODCALLTYPE *Release )(
  640. IWMSDataContainer * This);
  641. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetContainerFormat )(
  642. IWMSDataContainer * This,
  643. /* [out] */ GUID *pFormat);
  644. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataSourcePlugin )(
  645. IWMSDataContainer * This,
  646. /* [out] */ IWMSDataSourcePlugin **ppDataSource);
  647. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  648. IWMSDataContainer * This,
  649. /* [in] */ DWORD dwInfoValueId,
  650. /* [in] */ IWMSDataContainerCallback *pCallback,
  651. /* [in] */ QWORD qwContext);
  652. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  653. IWMSDataContainer * This,
  654. /* [in] */ BYTE *pbBuffer,
  655. /* [in] */ QWORD qwOffset,
  656. /* [in] */ DWORD dwMaxDataSize,
  657. /* [in] */ DWORD dwFlags,
  658. /* [in] */ IWMSDataContainerCallback *pCallback,
  659. /* [in] */ QWORD qwContext);
  660. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  661. IWMSDataContainer * This,
  662. /* [in] */ BYTE *pbBuffer,
  663. /* [in] */ DWORD dwDataSize,
  664. /* [in] */ QWORD qwWritePosition,
  665. /* [in] */ IWMSDataContainerCallback *pCallback,
  666. /* [in] */ QWORD qwContext);
  667. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTransferParameters )(
  668. IWMSDataContainer * This,
  669. /* [in] */ QWORD qwDesiredOffset,
  670. /* [in] */ DWORD dwDesiredMinSize,
  671. /* [in] */ DWORD dwDesiredMaxSize,
  672. /* [out] */ QWORD *pqwOffset,
  673. /* [out] */ DWORD *pdwSize,
  674. /* [out] */ DWORD *pdwBufferAlignment);
  675. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoDataContainerExtendedCommand )(
  676. IWMSDataContainer * This,
  677. /* [in] */ LPWSTR szCommandName,
  678. /* [in] */ IWMSCommandContext *pCommand,
  679. /* [in] */ DWORD dwCallFlags,
  680. /* [in] */ IWMSDataContainerCallback *pCallback,
  681. /* [in] */ QWORD qwContext);
  682. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishParsingPacketlist )(
  683. IWMSDataContainer * This,
  684. /* [in] */ IWMSPacketList *pPacketList);
  685. END_INTERFACE
  686. } IWMSDataContainerVtbl;
  687. interface IWMSDataContainer
  688. {
  689. CONST_VTBL struct IWMSDataContainerVtbl *lpVtbl;
  690. };
  691. #ifdef COBJMACROS
  692. #define IWMSDataContainer_QueryInterface(This,riid,ppvObject) \
  693. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  694. #define IWMSDataContainer_AddRef(This) \
  695. (This)->lpVtbl -> AddRef(This)
  696. #define IWMSDataContainer_Release(This) \
  697. (This)->lpVtbl -> Release(This)
  698. #define IWMSDataContainer_GetContainerFormat(This,pFormat) \
  699. (This)->lpVtbl -> GetContainerFormat(This,pFormat)
  700. #define IWMSDataContainer_GetDataSourcePlugin(This,ppDataSource) \
  701. (This)->lpVtbl -> GetDataSourcePlugin(This,ppDataSource)
  702. #define IWMSDataContainer_GetInfo(This,dwInfoValueId,pCallback,qwContext) \
  703. (This)->lpVtbl -> GetInfo(This,dwInfoValueId,pCallback,qwContext)
  704. #define IWMSDataContainer_Read(This,pbBuffer,qwOffset,dwMaxDataSize,dwFlags,pCallback,qwContext) \
  705. (This)->lpVtbl -> Read(This,pbBuffer,qwOffset,dwMaxDataSize,dwFlags,pCallback,qwContext)
  706. #define IWMSDataContainer_Write(This,pbBuffer,dwDataSize,qwWritePosition,pCallback,qwContext) \
  707. (This)->lpVtbl -> Write(This,pbBuffer,dwDataSize,qwWritePosition,pCallback,qwContext)
  708. #define IWMSDataContainer_GetTransferParameters(This,qwDesiredOffset,dwDesiredMinSize,dwDesiredMaxSize,pqwOffset,pdwSize,pdwBufferAlignment) \
  709. (This)->lpVtbl -> GetTransferParameters(This,qwDesiredOffset,dwDesiredMinSize,dwDesiredMaxSize,pqwOffset,pdwSize,pdwBufferAlignment)
  710. #define IWMSDataContainer_DoDataContainerExtendedCommand(This,szCommandName,pCommand,dwCallFlags,pCallback,qwContext) \
  711. (This)->lpVtbl -> DoDataContainerExtendedCommand(This,szCommandName,pCommand,dwCallFlags,pCallback,qwContext)
  712. #define IWMSDataContainer_FinishParsingPacketlist(This,pPacketList) \
  713. (This)->lpVtbl -> FinishParsingPacketlist(This,pPacketList)
  714. #endif /* COBJMACROS */
  715. #endif /* C style interface */
  716. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_GetContainerFormat_Proxy(
  717. IWMSDataContainer * This,
  718. /* [out] */ GUID *pFormat);
  719. void __RPC_STUB IWMSDataContainer_GetContainerFormat_Stub(
  720. IRpcStubBuffer *This,
  721. IRpcChannelBuffer *_pRpcChannelBuffer,
  722. PRPC_MESSAGE _pRpcMessage,
  723. DWORD *_pdwStubPhase);
  724. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_GetDataSourcePlugin_Proxy(
  725. IWMSDataContainer * This,
  726. /* [out] */ IWMSDataSourcePlugin **ppDataSource);
  727. void __RPC_STUB IWMSDataContainer_GetDataSourcePlugin_Stub(
  728. IRpcStubBuffer *This,
  729. IRpcChannelBuffer *_pRpcChannelBuffer,
  730. PRPC_MESSAGE _pRpcMessage,
  731. DWORD *_pdwStubPhase);
  732. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_GetInfo_Proxy(
  733. IWMSDataContainer * This,
  734. /* [in] */ DWORD dwInfoValueId,
  735. /* [in] */ IWMSDataContainerCallback *pCallback,
  736. /* [in] */ QWORD qwContext);
  737. void __RPC_STUB IWMSDataContainer_GetInfo_Stub(
  738. IRpcStubBuffer *This,
  739. IRpcChannelBuffer *_pRpcChannelBuffer,
  740. PRPC_MESSAGE _pRpcMessage,
  741. DWORD *_pdwStubPhase);
  742. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_Read_Proxy(
  743. IWMSDataContainer * This,
  744. /* [in] */ BYTE *pbBuffer,
  745. /* [in] */ QWORD qwOffset,
  746. /* [in] */ DWORD dwMaxDataSize,
  747. /* [in] */ DWORD dwFlags,
  748. /* [in] */ IWMSDataContainerCallback *pCallback,
  749. /* [in] */ QWORD qwContext);
  750. void __RPC_STUB IWMSDataContainer_Read_Stub(
  751. IRpcStubBuffer *This,
  752. IRpcChannelBuffer *_pRpcChannelBuffer,
  753. PRPC_MESSAGE _pRpcMessage,
  754. DWORD *_pdwStubPhase);
  755. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_Write_Proxy(
  756. IWMSDataContainer * This,
  757. /* [in] */ BYTE *pbBuffer,
  758. /* [in] */ DWORD dwDataSize,
  759. /* [in] */ QWORD qwWritePosition,
  760. /* [in] */ IWMSDataContainerCallback *pCallback,
  761. /* [in] */ QWORD qwContext);
  762. void __RPC_STUB IWMSDataContainer_Write_Stub(
  763. IRpcStubBuffer *This,
  764. IRpcChannelBuffer *_pRpcChannelBuffer,
  765. PRPC_MESSAGE _pRpcMessage,
  766. DWORD *_pdwStubPhase);
  767. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_GetTransferParameters_Proxy(
  768. IWMSDataContainer * This,
  769. /* [in] */ QWORD qwDesiredOffset,
  770. /* [in] */ DWORD dwDesiredMinSize,
  771. /* [in] */ DWORD dwDesiredMaxSize,
  772. /* [out] */ QWORD *pqwOffset,
  773. /* [out] */ DWORD *pdwSize,
  774. /* [out] */ DWORD *pdwBufferAlignment);
  775. void __RPC_STUB IWMSDataContainer_GetTransferParameters_Stub(
  776. IRpcStubBuffer *This,
  777. IRpcChannelBuffer *_pRpcChannelBuffer,
  778. PRPC_MESSAGE _pRpcMessage,
  779. DWORD *_pdwStubPhase);
  780. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_DoDataContainerExtendedCommand_Proxy(
  781. IWMSDataContainer * This,
  782. /* [in] */ LPWSTR szCommandName,
  783. /* [in] */ IWMSCommandContext *pCommand,
  784. /* [in] */ DWORD dwCallFlags,
  785. /* [in] */ IWMSDataContainerCallback *pCallback,
  786. /* [in] */ QWORD qwContext);
  787. void __RPC_STUB IWMSDataContainer_DoDataContainerExtendedCommand_Stub(
  788. IRpcStubBuffer *This,
  789. IRpcChannelBuffer *_pRpcChannelBuffer,
  790. PRPC_MESSAGE _pRpcMessage,
  791. DWORD *_pdwStubPhase);
  792. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainer_FinishParsingPacketlist_Proxy(
  793. IWMSDataContainer * This,
  794. /* [in] */ IWMSPacketList *pPacketList);
  795. void __RPC_STUB IWMSDataContainer_FinishParsingPacketlist_Stub(
  796. IRpcStubBuffer *This,
  797. IRpcChannelBuffer *_pRpcChannelBuffer,
  798. PRPC_MESSAGE _pRpcMessage,
  799. DWORD *_pdwStubPhase);
  800. #endif /* __IWMSDataContainer_INTERFACE_DEFINED__ */
  801. #ifndef __IWMSDataContainerCallback_INTERFACE_DEFINED__
  802. #define __IWMSDataContainerCallback_INTERFACE_DEFINED__
  803. /* interface IWMSDataContainerCallback */
  804. /* [helpstring][version][uuid][unique][object] */
  805. EXTERN_C const IID IID_IWMSDataContainerCallback;
  806. #if defined(__cplusplus) && !defined(CINTERFACE)
  807. MIDL_INTERFACE("2E34AB82-0D3D-11d2-9EEE-006097D2D7CF")
  808. IWMSDataContainerCallback : public IUnknown
  809. {
  810. public:
  811. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetInfo(
  812. /* [in] */ HRESULT hr,
  813. /* [in] */ DWORD dwFlags,
  814. /* [in] */ QWORD qwInfoValue,
  815. /* [in] */ QWORD qwContext) = 0;
  816. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnRead(
  817. /* [in] */ HRESULT hr,
  818. /* [in] */ DWORD dwActualBytesTransferred,
  819. /* [in] */ DWORD dwChangeType,
  820. /* [in] */ QWORD qwChangeParameter,
  821. /* [in] */ QWORD qwContext) = 0;
  822. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnWrite(
  823. /* [in] */ HRESULT hr,
  824. /* [in] */ DWORD dwActualBytesTransferred,
  825. /* [in] */ QWORD qwContext) = 0;
  826. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDoDataContainerExtendedCommand(
  827. /* [in] */ HRESULT hr,
  828. /* [in] */ QWORD qwContext) = 0;
  829. };
  830. #else /* C style interface */
  831. typedef struct IWMSDataContainerCallbackVtbl
  832. {
  833. BEGIN_INTERFACE
  834. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  835. IWMSDataContainerCallback * This,
  836. /* [in] */ REFIID riid,
  837. /* [iid_is][out] */ void **ppvObject);
  838. ULONG ( STDMETHODCALLTYPE *AddRef )(
  839. IWMSDataContainerCallback * This);
  840. ULONG ( STDMETHODCALLTYPE *Release )(
  841. IWMSDataContainerCallback * This);
  842. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetInfo )(
  843. IWMSDataContainerCallback * This,
  844. /* [in] */ HRESULT hr,
  845. /* [in] */ DWORD dwFlags,
  846. /* [in] */ QWORD qwInfoValue,
  847. /* [in] */ QWORD qwContext);
  848. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnRead )(
  849. IWMSDataContainerCallback * This,
  850. /* [in] */ HRESULT hr,
  851. /* [in] */ DWORD dwActualBytesTransferred,
  852. /* [in] */ DWORD dwChangeType,
  853. /* [in] */ QWORD qwChangeParameter,
  854. /* [in] */ QWORD qwContext);
  855. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnWrite )(
  856. IWMSDataContainerCallback * This,
  857. /* [in] */ HRESULT hr,
  858. /* [in] */ DWORD dwActualBytesTransferred,
  859. /* [in] */ QWORD qwContext);
  860. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDoDataContainerExtendedCommand )(
  861. IWMSDataContainerCallback * This,
  862. /* [in] */ HRESULT hr,
  863. /* [in] */ QWORD qwContext);
  864. END_INTERFACE
  865. } IWMSDataContainerCallbackVtbl;
  866. interface IWMSDataContainerCallback
  867. {
  868. CONST_VTBL struct IWMSDataContainerCallbackVtbl *lpVtbl;
  869. };
  870. #ifdef COBJMACROS
  871. #define IWMSDataContainerCallback_QueryInterface(This,riid,ppvObject) \
  872. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  873. #define IWMSDataContainerCallback_AddRef(This) \
  874. (This)->lpVtbl -> AddRef(This)
  875. #define IWMSDataContainerCallback_Release(This) \
  876. (This)->lpVtbl -> Release(This)
  877. #define IWMSDataContainerCallback_OnGetInfo(This,hr,dwFlags,qwInfoValue,qwContext) \
  878. (This)->lpVtbl -> OnGetInfo(This,hr,dwFlags,qwInfoValue,qwContext)
  879. #define IWMSDataContainerCallback_OnRead(This,hr,dwActualBytesTransferred,dwChangeType,qwChangeParameter,qwContext) \
  880. (This)->lpVtbl -> OnRead(This,hr,dwActualBytesTransferred,dwChangeType,qwChangeParameter,qwContext)
  881. #define IWMSDataContainerCallback_OnWrite(This,hr,dwActualBytesTransferred,qwContext) \
  882. (This)->lpVtbl -> OnWrite(This,hr,dwActualBytesTransferred,qwContext)
  883. #define IWMSDataContainerCallback_OnDoDataContainerExtendedCommand(This,hr,qwContext) \
  884. (This)->lpVtbl -> OnDoDataContainerExtendedCommand(This,hr,qwContext)
  885. #endif /* COBJMACROS */
  886. #endif /* C style interface */
  887. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainerCallback_OnGetInfo_Proxy(
  888. IWMSDataContainerCallback * This,
  889. /* [in] */ HRESULT hr,
  890. /* [in] */ DWORD dwFlags,
  891. /* [in] */ QWORD qwInfoValue,
  892. /* [in] */ QWORD qwContext);
  893. void __RPC_STUB IWMSDataContainerCallback_OnGetInfo_Stub(
  894. IRpcStubBuffer *This,
  895. IRpcChannelBuffer *_pRpcChannelBuffer,
  896. PRPC_MESSAGE _pRpcMessage,
  897. DWORD *_pdwStubPhase);
  898. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainerCallback_OnRead_Proxy(
  899. IWMSDataContainerCallback * This,
  900. /* [in] */ HRESULT hr,
  901. /* [in] */ DWORD dwActualBytesTransferred,
  902. /* [in] */ DWORD dwChangeType,
  903. /* [in] */ QWORD qwChangeParameter,
  904. /* [in] */ QWORD qwContext);
  905. void __RPC_STUB IWMSDataContainerCallback_OnRead_Stub(
  906. IRpcStubBuffer *This,
  907. IRpcChannelBuffer *_pRpcChannelBuffer,
  908. PRPC_MESSAGE _pRpcMessage,
  909. DWORD *_pdwStubPhase);
  910. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainerCallback_OnWrite_Proxy(
  911. IWMSDataContainerCallback * This,
  912. /* [in] */ HRESULT hr,
  913. /* [in] */ DWORD dwActualBytesTransferred,
  914. /* [in] */ QWORD qwContext);
  915. void __RPC_STUB IWMSDataContainerCallback_OnWrite_Stub(
  916. IRpcStubBuffer *This,
  917. IRpcChannelBuffer *_pRpcChannelBuffer,
  918. PRPC_MESSAGE _pRpcMessage,
  919. DWORD *_pdwStubPhase);
  920. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDataContainerCallback_OnDoDataContainerExtendedCommand_Proxy(
  921. IWMSDataContainerCallback * This,
  922. /* [in] */ HRESULT hr,
  923. /* [in] */ QWORD qwContext);
  924. void __RPC_STUB IWMSDataContainerCallback_OnDoDataContainerExtendedCommand_Stub(
  925. IRpcStubBuffer *This,
  926. IRpcChannelBuffer *_pRpcChannelBuffer,
  927. PRPC_MESSAGE _pRpcMessage,
  928. DWORD *_pdwStubPhase);
  929. #endif /* __IWMSDataContainerCallback_INTERFACE_DEFINED__ */
  930. #ifndef __IWMSDirectory_INTERFACE_DEFINED__
  931. #define __IWMSDirectory_INTERFACE_DEFINED__
  932. /* interface IWMSDirectory */
  933. /* [helpstring][version][uuid][unique][object] */
  934. EXTERN_C const IID IID_IWMSDirectory;
  935. #if defined(__cplusplus) && !defined(CINTERFACE)
  936. MIDL_INTERFACE("6FA365E7-E8B9-437a-8C4B-6552DFBB0C57")
  937. IWMSDirectory : public IUnknown
  938. {
  939. public:
  940. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataSourcePlugin(
  941. /* [out] */ IWMSDataSourcePlugin **ppDataSource) = 0;
  942. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetName(
  943. /* [out] */ LPOLESTR *pstrValue) = 0;
  944. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetChildInfo(
  945. /* [in] */ DWORD dwIndex,
  946. /* [out] */ WMSDirectoryEntryInfo *pInfo) = 0;
  947. };
  948. #else /* C style interface */
  949. typedef struct IWMSDirectoryVtbl
  950. {
  951. BEGIN_INTERFACE
  952. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  953. IWMSDirectory * This,
  954. /* [in] */ REFIID riid,
  955. /* [iid_is][out] */ void **ppvObject);
  956. ULONG ( STDMETHODCALLTYPE *AddRef )(
  957. IWMSDirectory * This);
  958. ULONG ( STDMETHODCALLTYPE *Release )(
  959. IWMSDirectory * This);
  960. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataSourcePlugin )(
  961. IWMSDirectory * This,
  962. /* [out] */ IWMSDataSourcePlugin **ppDataSource);
  963. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetName )(
  964. IWMSDirectory * This,
  965. /* [out] */ LPOLESTR *pstrValue);
  966. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetChildInfo )(
  967. IWMSDirectory * This,
  968. /* [in] */ DWORD dwIndex,
  969. /* [out] */ WMSDirectoryEntryInfo *pInfo);
  970. END_INTERFACE
  971. } IWMSDirectoryVtbl;
  972. interface IWMSDirectory
  973. {
  974. CONST_VTBL struct IWMSDirectoryVtbl *lpVtbl;
  975. };
  976. #ifdef COBJMACROS
  977. #define IWMSDirectory_QueryInterface(This,riid,ppvObject) \
  978. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  979. #define IWMSDirectory_AddRef(This) \
  980. (This)->lpVtbl -> AddRef(This)
  981. #define IWMSDirectory_Release(This) \
  982. (This)->lpVtbl -> Release(This)
  983. #define IWMSDirectory_GetDataSourcePlugin(This,ppDataSource) \
  984. (This)->lpVtbl -> GetDataSourcePlugin(This,ppDataSource)
  985. #define IWMSDirectory_GetName(This,pstrValue) \
  986. (This)->lpVtbl -> GetName(This,pstrValue)
  987. #define IWMSDirectory_GetChildInfo(This,dwIndex,pInfo) \
  988. (This)->lpVtbl -> GetChildInfo(This,dwIndex,pInfo)
  989. #endif /* COBJMACROS */
  990. #endif /* C style interface */
  991. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDirectory_GetDataSourcePlugin_Proxy(
  992. IWMSDirectory * This,
  993. /* [out] */ IWMSDataSourcePlugin **ppDataSource);
  994. void __RPC_STUB IWMSDirectory_GetDataSourcePlugin_Stub(
  995. IRpcStubBuffer *This,
  996. IRpcChannelBuffer *_pRpcChannelBuffer,
  997. PRPC_MESSAGE _pRpcMessage,
  998. DWORD *_pdwStubPhase);
  999. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDirectory_GetName_Proxy(
  1000. IWMSDirectory * This,
  1001. /* [out] */ LPOLESTR *pstrValue);
  1002. void __RPC_STUB IWMSDirectory_GetName_Stub(
  1003. IRpcStubBuffer *This,
  1004. IRpcChannelBuffer *_pRpcChannelBuffer,
  1005. PRPC_MESSAGE _pRpcMessage,
  1006. DWORD *_pdwStubPhase);
  1007. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IWMSDirectory_GetChildInfo_Proxy(
  1008. IWMSDirectory * This,
  1009. /* [in] */ DWORD dwIndex,
  1010. /* [out] */ WMSDirectoryEntryInfo *pInfo);
  1011. void __RPC_STUB IWMSDirectory_GetChildInfo_Stub(
  1012. IRpcStubBuffer *This,
  1013. IRpcChannelBuffer *_pRpcChannelBuffer,
  1014. PRPC_MESSAGE _pRpcMessage,
  1015. DWORD *_pdwStubPhase);
  1016. #endif /* __IWMSDirectory_INTERFACE_DEFINED__ */
  1017. /* Additional Prototypes for ALL interfaces */
  1018. /* end of Additional Prototypes */
  1019. #ifdef __cplusplus
  1020. }
  1021. #endif
  1022. #endif