wmsbuffer.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948
  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 wmsbuffer.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 __wmsbuffer_h__
  27. #define __wmsbuffer_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __INSSBuffer_FWD_DEFINED__
  33. #define __INSSBuffer_FWD_DEFINED__
  34. typedef interface INSSBuffer INSSBuffer;
  35. #endif /* __INSSBuffer_FWD_DEFINED__ */
  36. #ifndef __INSSBuffer2_FWD_DEFINED__
  37. #define __INSSBuffer2_FWD_DEFINED__
  38. typedef interface INSSBuffer2 INSSBuffer2;
  39. #endif /* __INSSBuffer2_FWD_DEFINED__ */
  40. #ifndef __INSSBuffer3_FWD_DEFINED__
  41. #define __INSSBuffer3_FWD_DEFINED__
  42. typedef interface INSSBuffer3 INSSBuffer3;
  43. #endif /* __INSSBuffer3_FWD_DEFINED__ */
  44. #ifndef __INSSBuffer4_FWD_DEFINED__
  45. #define __INSSBuffer4_FWD_DEFINED__
  46. typedef interface INSSBuffer4 INSSBuffer4;
  47. #endif /* __INSSBuffer4_FWD_DEFINED__ */
  48. #ifndef __IWMSBufferAllocator_FWD_DEFINED__
  49. #define __IWMSBufferAllocator_FWD_DEFINED__
  50. typedef interface IWMSBufferAllocator IWMSBufferAllocator;
  51. #endif /* __IWMSBufferAllocator_FWD_DEFINED__ */
  52. /* header files for imported files */
  53. #include "objidl.h"
  54. #ifdef __cplusplus
  55. extern "C"{
  56. #endif
  57. void * __RPC_USER MIDL_user_allocate(size_t);
  58. void __RPC_USER MIDL_user_free( void * );
  59. /* interface __MIDL_itf_wmsbuffer_0000 */
  60. /* [local] */
  61. //=========================================================================
  62. //
  63. // Microsoft Windows Media Technologies
  64. // Copyright (C) Microsoft Corporation. All Rights Reserved.
  65. //
  66. //=========================================================================
  67. #if _MSC_VER > 1000
  68. #pragma once
  69. #endif // _MSC_VER > 1000
  70. EXTERN_GUID( IID_INSSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  71. EXTERN_GUID( IID_IWMSBuffer, 0xE1CD3524,0x03D7,0x11d2,0x9E,0xED,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  72. EXTERN_GUID( IID_INSSBuffer2,0x4f528693,0x1035,0x43fe,0xb4,0x28,0x75,0x75,0x61,0xad,0x3a,0x68 );
  73. EXTERN_GUID( IID_INSSBuffer3,0xc87ceaaf,0x75be,0x4bc4,0x84,0xeb,0xac,0x27,0x98,0x50,0x76,0x72 );
  74. EXTERN_GUID( IID_INSSBuffer4,0xb6b8fd5a,0x32e2,0x49d4,0xa9,0x10,0xc2,0x6c,0xc8,0x54,0x65,0xed );
  75. EXTERN_GUID( IID_IWMSBufferAllocator, 0x61103CA4,0x2033,0x11d2,0x9E,0xF1,0x00,0x60,0x97,0xD2,0xD7,0xCF );
  76. #define IWMSBuffer INSSBuffer
  77. extern RPC_IF_HANDLE __MIDL_itf_wmsbuffer_0000_v0_0_c_ifspec;
  78. extern RPC_IF_HANDLE __MIDL_itf_wmsbuffer_0000_v0_0_s_ifspec;
  79. #ifndef __INSSBuffer_INTERFACE_DEFINED__
  80. #define __INSSBuffer_INTERFACE_DEFINED__
  81. /* interface INSSBuffer */
  82. /* [version][uuid][unique][object][local] */
  83. EXTERN_C const IID IID_INSSBuffer;
  84. #if defined(__cplusplus) && !defined(CINTERFACE)
  85. MIDL_INTERFACE("E1CD3524-03D7-11d2-9EED-006097D2D7CF")
  86. INSSBuffer : public IUnknown
  87. {
  88. public:
  89. virtual HRESULT STDMETHODCALLTYPE GetLength(
  90. /* [out] */ DWORD *pdwLength) = 0;
  91. virtual HRESULT STDMETHODCALLTYPE SetLength(
  92. /* [in] */ DWORD dwLength) = 0;
  93. virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
  94. /* [out] */ DWORD *pdwLength) = 0;
  95. virtual HRESULT STDMETHODCALLTYPE GetBuffer(
  96. /* [out] */ BYTE **ppdwBuffer) = 0;
  97. virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength(
  98. /* [out] */ BYTE **ppdwBuffer,
  99. /* [out] */ DWORD *pdwLength) = 0;
  100. };
  101. #else /* C style interface */
  102. typedef struct INSSBufferVtbl
  103. {
  104. BEGIN_INTERFACE
  105. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  106. INSSBuffer * This,
  107. /* [in] */ REFIID riid,
  108. /* [iid_is][out] */ void **ppvObject);
  109. ULONG ( STDMETHODCALLTYPE *AddRef )(
  110. INSSBuffer * This);
  111. ULONG ( STDMETHODCALLTYPE *Release )(
  112. INSSBuffer * This);
  113. HRESULT ( STDMETHODCALLTYPE *GetLength )(
  114. INSSBuffer * This,
  115. /* [out] */ DWORD *pdwLength);
  116. HRESULT ( STDMETHODCALLTYPE *SetLength )(
  117. INSSBuffer * This,
  118. /* [in] */ DWORD dwLength);
  119. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  120. INSSBuffer * This,
  121. /* [out] */ DWORD *pdwLength);
  122. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  123. INSSBuffer * This,
  124. /* [out] */ BYTE **ppdwBuffer);
  125. HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
  126. INSSBuffer * This,
  127. /* [out] */ BYTE **ppdwBuffer,
  128. /* [out] */ DWORD *pdwLength);
  129. END_INTERFACE
  130. } INSSBufferVtbl;
  131. interface INSSBuffer
  132. {
  133. CONST_VTBL struct INSSBufferVtbl *lpVtbl;
  134. };
  135. #ifdef COBJMACROS
  136. #define INSSBuffer_QueryInterface(This,riid,ppvObject) \
  137. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  138. #define INSSBuffer_AddRef(This) \
  139. (This)->lpVtbl -> AddRef(This)
  140. #define INSSBuffer_Release(This) \
  141. (This)->lpVtbl -> Release(This)
  142. #define INSSBuffer_GetLength(This,pdwLength) \
  143. (This)->lpVtbl -> GetLength(This,pdwLength)
  144. #define INSSBuffer_SetLength(This,dwLength) \
  145. (This)->lpVtbl -> SetLength(This,dwLength)
  146. #define INSSBuffer_GetMaxLength(This,pdwLength) \
  147. (This)->lpVtbl -> GetMaxLength(This,pdwLength)
  148. #define INSSBuffer_GetBuffer(This,ppdwBuffer) \
  149. (This)->lpVtbl -> GetBuffer(This,ppdwBuffer)
  150. #define INSSBuffer_GetBufferAndLength(This,ppdwBuffer,pdwLength) \
  151. (This)->lpVtbl -> GetBufferAndLength(This,ppdwBuffer,pdwLength)
  152. #endif /* COBJMACROS */
  153. #endif /* C style interface */
  154. HRESULT STDMETHODCALLTYPE INSSBuffer_GetLength_Proxy(
  155. INSSBuffer * This,
  156. /* [out] */ DWORD *pdwLength);
  157. void __RPC_STUB INSSBuffer_GetLength_Stub(
  158. IRpcStubBuffer *This,
  159. IRpcChannelBuffer *_pRpcChannelBuffer,
  160. PRPC_MESSAGE _pRpcMessage,
  161. DWORD *_pdwStubPhase);
  162. HRESULT STDMETHODCALLTYPE INSSBuffer_SetLength_Proxy(
  163. INSSBuffer * This,
  164. /* [in] */ DWORD dwLength);
  165. void __RPC_STUB INSSBuffer_SetLength_Stub(
  166. IRpcStubBuffer *This,
  167. IRpcChannelBuffer *_pRpcChannelBuffer,
  168. PRPC_MESSAGE _pRpcMessage,
  169. DWORD *_pdwStubPhase);
  170. HRESULT STDMETHODCALLTYPE INSSBuffer_GetMaxLength_Proxy(
  171. INSSBuffer * This,
  172. /* [out] */ DWORD *pdwLength);
  173. void __RPC_STUB INSSBuffer_GetMaxLength_Stub(
  174. IRpcStubBuffer *This,
  175. IRpcChannelBuffer *_pRpcChannelBuffer,
  176. PRPC_MESSAGE _pRpcMessage,
  177. DWORD *_pdwStubPhase);
  178. HRESULT STDMETHODCALLTYPE INSSBuffer_GetBuffer_Proxy(
  179. INSSBuffer * This,
  180. /* [out] */ BYTE **ppdwBuffer);
  181. void __RPC_STUB INSSBuffer_GetBuffer_Stub(
  182. IRpcStubBuffer *This,
  183. IRpcChannelBuffer *_pRpcChannelBuffer,
  184. PRPC_MESSAGE _pRpcMessage,
  185. DWORD *_pdwStubPhase);
  186. HRESULT STDMETHODCALLTYPE INSSBuffer_GetBufferAndLength_Proxy(
  187. INSSBuffer * This,
  188. /* [out] */ BYTE **ppdwBuffer,
  189. /* [out] */ DWORD *pdwLength);
  190. void __RPC_STUB INSSBuffer_GetBufferAndLength_Stub(
  191. IRpcStubBuffer *This,
  192. IRpcChannelBuffer *_pRpcChannelBuffer,
  193. PRPC_MESSAGE _pRpcMessage,
  194. DWORD *_pdwStubPhase);
  195. #endif /* __INSSBuffer_INTERFACE_DEFINED__ */
  196. #ifndef __INSSBuffer2_INTERFACE_DEFINED__
  197. #define __INSSBuffer2_INTERFACE_DEFINED__
  198. /* interface INSSBuffer2 */
  199. /* [version][uuid][unique][object][local] */
  200. EXTERN_C const IID IID_INSSBuffer2;
  201. #if defined(__cplusplus) && !defined(CINTERFACE)
  202. MIDL_INTERFACE("4F528693-1035-43fe-B428-757561AD3A68")
  203. INSSBuffer2 : public INSSBuffer
  204. {
  205. public:
  206. virtual HRESULT STDMETHODCALLTYPE GetSampleProperties(
  207. /* [in] */ DWORD cbProperties,
  208. /* [out] */ BYTE *pbProperties) = 0;
  209. virtual HRESULT STDMETHODCALLTYPE SetSampleProperties(
  210. /* [in] */ DWORD cbProperties,
  211. /* [in] */ BYTE *pbProperties) = 0;
  212. };
  213. #else /* C style interface */
  214. typedef struct INSSBuffer2Vtbl
  215. {
  216. BEGIN_INTERFACE
  217. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  218. INSSBuffer2 * This,
  219. /* [in] */ REFIID riid,
  220. /* [iid_is][out] */ void **ppvObject);
  221. ULONG ( STDMETHODCALLTYPE *AddRef )(
  222. INSSBuffer2 * This);
  223. ULONG ( STDMETHODCALLTYPE *Release )(
  224. INSSBuffer2 * This);
  225. HRESULT ( STDMETHODCALLTYPE *GetLength )(
  226. INSSBuffer2 * This,
  227. /* [out] */ DWORD *pdwLength);
  228. HRESULT ( STDMETHODCALLTYPE *SetLength )(
  229. INSSBuffer2 * This,
  230. /* [in] */ DWORD dwLength);
  231. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  232. INSSBuffer2 * This,
  233. /* [out] */ DWORD *pdwLength);
  234. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  235. INSSBuffer2 * This,
  236. /* [out] */ BYTE **ppdwBuffer);
  237. HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
  238. INSSBuffer2 * This,
  239. /* [out] */ BYTE **ppdwBuffer,
  240. /* [out] */ DWORD *pdwLength);
  241. HRESULT ( STDMETHODCALLTYPE *GetSampleProperties )(
  242. INSSBuffer2 * This,
  243. /* [in] */ DWORD cbProperties,
  244. /* [out] */ BYTE *pbProperties);
  245. HRESULT ( STDMETHODCALLTYPE *SetSampleProperties )(
  246. INSSBuffer2 * This,
  247. /* [in] */ DWORD cbProperties,
  248. /* [in] */ BYTE *pbProperties);
  249. END_INTERFACE
  250. } INSSBuffer2Vtbl;
  251. interface INSSBuffer2
  252. {
  253. CONST_VTBL struct INSSBuffer2Vtbl *lpVtbl;
  254. };
  255. #ifdef COBJMACROS
  256. #define INSSBuffer2_QueryInterface(This,riid,ppvObject) \
  257. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  258. #define INSSBuffer2_AddRef(This) \
  259. (This)->lpVtbl -> AddRef(This)
  260. #define INSSBuffer2_Release(This) \
  261. (This)->lpVtbl -> Release(This)
  262. #define INSSBuffer2_GetLength(This,pdwLength) \
  263. (This)->lpVtbl -> GetLength(This,pdwLength)
  264. #define INSSBuffer2_SetLength(This,dwLength) \
  265. (This)->lpVtbl -> SetLength(This,dwLength)
  266. #define INSSBuffer2_GetMaxLength(This,pdwLength) \
  267. (This)->lpVtbl -> GetMaxLength(This,pdwLength)
  268. #define INSSBuffer2_GetBuffer(This,ppdwBuffer) \
  269. (This)->lpVtbl -> GetBuffer(This,ppdwBuffer)
  270. #define INSSBuffer2_GetBufferAndLength(This,ppdwBuffer,pdwLength) \
  271. (This)->lpVtbl -> GetBufferAndLength(This,ppdwBuffer,pdwLength)
  272. #define INSSBuffer2_GetSampleProperties(This,cbProperties,pbProperties) \
  273. (This)->lpVtbl -> GetSampleProperties(This,cbProperties,pbProperties)
  274. #define INSSBuffer2_SetSampleProperties(This,cbProperties,pbProperties) \
  275. (This)->lpVtbl -> SetSampleProperties(This,cbProperties,pbProperties)
  276. #endif /* COBJMACROS */
  277. #endif /* C style interface */
  278. HRESULT STDMETHODCALLTYPE INSSBuffer2_GetSampleProperties_Proxy(
  279. INSSBuffer2 * This,
  280. /* [in] */ DWORD cbProperties,
  281. /* [out] */ BYTE *pbProperties);
  282. void __RPC_STUB INSSBuffer2_GetSampleProperties_Stub(
  283. IRpcStubBuffer *This,
  284. IRpcChannelBuffer *_pRpcChannelBuffer,
  285. PRPC_MESSAGE _pRpcMessage,
  286. DWORD *_pdwStubPhase);
  287. HRESULT STDMETHODCALLTYPE INSSBuffer2_SetSampleProperties_Proxy(
  288. INSSBuffer2 * This,
  289. /* [in] */ DWORD cbProperties,
  290. /* [in] */ BYTE *pbProperties);
  291. void __RPC_STUB INSSBuffer2_SetSampleProperties_Stub(
  292. IRpcStubBuffer *This,
  293. IRpcChannelBuffer *_pRpcChannelBuffer,
  294. PRPC_MESSAGE _pRpcMessage,
  295. DWORD *_pdwStubPhase);
  296. #endif /* __INSSBuffer2_INTERFACE_DEFINED__ */
  297. #ifndef __INSSBuffer3_INTERFACE_DEFINED__
  298. #define __INSSBuffer3_INTERFACE_DEFINED__
  299. /* interface INSSBuffer3 */
  300. /* [version][uuid][unique][object][local] */
  301. EXTERN_C const IID IID_INSSBuffer3;
  302. #if defined(__cplusplus) && !defined(CINTERFACE)
  303. MIDL_INTERFACE("C87CEAAF-75BE-4bc4-84EB-AC2798507672")
  304. INSSBuffer3 : public INSSBuffer2
  305. {
  306. public:
  307. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  308. /* [in] */ GUID guidBufferProperty,
  309. /* [in] */ void *pvBufferProperty,
  310. /* [in] */ DWORD dwBufferPropertySize) = 0;
  311. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  312. /* [in] */ GUID guidBufferProperty,
  313. /* [out] */ void *pvBufferProperty,
  314. /* [out][in] */ DWORD *pdwBufferPropertySize) = 0;
  315. };
  316. #else /* C style interface */
  317. typedef struct INSSBuffer3Vtbl
  318. {
  319. BEGIN_INTERFACE
  320. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  321. INSSBuffer3 * This,
  322. /* [in] */ REFIID riid,
  323. /* [iid_is][out] */ void **ppvObject);
  324. ULONG ( STDMETHODCALLTYPE *AddRef )(
  325. INSSBuffer3 * This);
  326. ULONG ( STDMETHODCALLTYPE *Release )(
  327. INSSBuffer3 * This);
  328. HRESULT ( STDMETHODCALLTYPE *GetLength )(
  329. INSSBuffer3 * This,
  330. /* [out] */ DWORD *pdwLength);
  331. HRESULT ( STDMETHODCALLTYPE *SetLength )(
  332. INSSBuffer3 * This,
  333. /* [in] */ DWORD dwLength);
  334. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  335. INSSBuffer3 * This,
  336. /* [out] */ DWORD *pdwLength);
  337. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  338. INSSBuffer3 * This,
  339. /* [out] */ BYTE **ppdwBuffer);
  340. HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
  341. INSSBuffer3 * This,
  342. /* [out] */ BYTE **ppdwBuffer,
  343. /* [out] */ DWORD *pdwLength);
  344. HRESULT ( STDMETHODCALLTYPE *GetSampleProperties )(
  345. INSSBuffer3 * This,
  346. /* [in] */ DWORD cbProperties,
  347. /* [out] */ BYTE *pbProperties);
  348. HRESULT ( STDMETHODCALLTYPE *SetSampleProperties )(
  349. INSSBuffer3 * This,
  350. /* [in] */ DWORD cbProperties,
  351. /* [in] */ BYTE *pbProperties);
  352. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  353. INSSBuffer3 * This,
  354. /* [in] */ GUID guidBufferProperty,
  355. /* [in] */ void *pvBufferProperty,
  356. /* [in] */ DWORD dwBufferPropertySize);
  357. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  358. INSSBuffer3 * This,
  359. /* [in] */ GUID guidBufferProperty,
  360. /* [out] */ void *pvBufferProperty,
  361. /* [out][in] */ DWORD *pdwBufferPropertySize);
  362. END_INTERFACE
  363. } INSSBuffer3Vtbl;
  364. interface INSSBuffer3
  365. {
  366. CONST_VTBL struct INSSBuffer3Vtbl *lpVtbl;
  367. };
  368. #ifdef COBJMACROS
  369. #define INSSBuffer3_QueryInterface(This,riid,ppvObject) \
  370. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  371. #define INSSBuffer3_AddRef(This) \
  372. (This)->lpVtbl -> AddRef(This)
  373. #define INSSBuffer3_Release(This) \
  374. (This)->lpVtbl -> Release(This)
  375. #define INSSBuffer3_GetLength(This,pdwLength) \
  376. (This)->lpVtbl -> GetLength(This,pdwLength)
  377. #define INSSBuffer3_SetLength(This,dwLength) \
  378. (This)->lpVtbl -> SetLength(This,dwLength)
  379. #define INSSBuffer3_GetMaxLength(This,pdwLength) \
  380. (This)->lpVtbl -> GetMaxLength(This,pdwLength)
  381. #define INSSBuffer3_GetBuffer(This,ppdwBuffer) \
  382. (This)->lpVtbl -> GetBuffer(This,ppdwBuffer)
  383. #define INSSBuffer3_GetBufferAndLength(This,ppdwBuffer,pdwLength) \
  384. (This)->lpVtbl -> GetBufferAndLength(This,ppdwBuffer,pdwLength)
  385. #define INSSBuffer3_GetSampleProperties(This,cbProperties,pbProperties) \
  386. (This)->lpVtbl -> GetSampleProperties(This,cbProperties,pbProperties)
  387. #define INSSBuffer3_SetSampleProperties(This,cbProperties,pbProperties) \
  388. (This)->lpVtbl -> SetSampleProperties(This,cbProperties,pbProperties)
  389. #define INSSBuffer3_SetProperty(This,guidBufferProperty,pvBufferProperty,dwBufferPropertySize) \
  390. (This)->lpVtbl -> SetProperty(This,guidBufferProperty,pvBufferProperty,dwBufferPropertySize)
  391. #define INSSBuffer3_GetProperty(This,guidBufferProperty,pvBufferProperty,pdwBufferPropertySize) \
  392. (This)->lpVtbl -> GetProperty(This,guidBufferProperty,pvBufferProperty,pdwBufferPropertySize)
  393. #endif /* COBJMACROS */
  394. #endif /* C style interface */
  395. HRESULT STDMETHODCALLTYPE INSSBuffer3_SetProperty_Proxy(
  396. INSSBuffer3 * This,
  397. /* [in] */ GUID guidBufferProperty,
  398. /* [in] */ void *pvBufferProperty,
  399. /* [in] */ DWORD dwBufferPropertySize);
  400. void __RPC_STUB INSSBuffer3_SetProperty_Stub(
  401. IRpcStubBuffer *This,
  402. IRpcChannelBuffer *_pRpcChannelBuffer,
  403. PRPC_MESSAGE _pRpcMessage,
  404. DWORD *_pdwStubPhase);
  405. HRESULT STDMETHODCALLTYPE INSSBuffer3_GetProperty_Proxy(
  406. INSSBuffer3 * This,
  407. /* [in] */ GUID guidBufferProperty,
  408. /* [out] */ void *pvBufferProperty,
  409. /* [out][in] */ DWORD *pdwBufferPropertySize);
  410. void __RPC_STUB INSSBuffer3_GetProperty_Stub(
  411. IRpcStubBuffer *This,
  412. IRpcChannelBuffer *_pRpcChannelBuffer,
  413. PRPC_MESSAGE _pRpcMessage,
  414. DWORD *_pdwStubPhase);
  415. #endif /* __INSSBuffer3_INTERFACE_DEFINED__ */
  416. #ifndef __INSSBuffer4_INTERFACE_DEFINED__
  417. #define __INSSBuffer4_INTERFACE_DEFINED__
  418. /* interface INSSBuffer4 */
  419. /* [version][uuid][unique][object][local] */
  420. EXTERN_C const IID IID_INSSBuffer4;
  421. #if defined(__cplusplus) && !defined(CINTERFACE)
  422. MIDL_INTERFACE("B6B8FD5A-32E2-49d4-A910-C26CC85465ED")
  423. INSSBuffer4 : public INSSBuffer3
  424. {
  425. public:
  426. virtual HRESULT STDMETHODCALLTYPE GetPropertyCount(
  427. /* [out] */ DWORD *pcBufferProperties) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE GetPropertyByIndex(
  429. /* [in] */ DWORD dwBufferPropertyIndex,
  430. /* [out] */ GUID *pguidBufferProperty,
  431. /* [out] */ void *pvBufferProperty,
  432. /* [out][in] */ DWORD *pdwBufferPropertySize) = 0;
  433. };
  434. #else /* C style interface */
  435. typedef struct INSSBuffer4Vtbl
  436. {
  437. BEGIN_INTERFACE
  438. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  439. INSSBuffer4 * This,
  440. /* [in] */ REFIID riid,
  441. /* [iid_is][out] */ void **ppvObject);
  442. ULONG ( STDMETHODCALLTYPE *AddRef )(
  443. INSSBuffer4 * This);
  444. ULONG ( STDMETHODCALLTYPE *Release )(
  445. INSSBuffer4 * This);
  446. HRESULT ( STDMETHODCALLTYPE *GetLength )(
  447. INSSBuffer4 * This,
  448. /* [out] */ DWORD *pdwLength);
  449. HRESULT ( STDMETHODCALLTYPE *SetLength )(
  450. INSSBuffer4 * This,
  451. /* [in] */ DWORD dwLength);
  452. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  453. INSSBuffer4 * This,
  454. /* [out] */ DWORD *pdwLength);
  455. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  456. INSSBuffer4 * This,
  457. /* [out] */ BYTE **ppdwBuffer);
  458. HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
  459. INSSBuffer4 * This,
  460. /* [out] */ BYTE **ppdwBuffer,
  461. /* [out] */ DWORD *pdwLength);
  462. HRESULT ( STDMETHODCALLTYPE *GetSampleProperties )(
  463. INSSBuffer4 * This,
  464. /* [in] */ DWORD cbProperties,
  465. /* [out] */ BYTE *pbProperties);
  466. HRESULT ( STDMETHODCALLTYPE *SetSampleProperties )(
  467. INSSBuffer4 * This,
  468. /* [in] */ DWORD cbProperties,
  469. /* [in] */ BYTE *pbProperties);
  470. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  471. INSSBuffer4 * This,
  472. /* [in] */ GUID guidBufferProperty,
  473. /* [in] */ void *pvBufferProperty,
  474. /* [in] */ DWORD dwBufferPropertySize);
  475. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  476. INSSBuffer4 * This,
  477. /* [in] */ GUID guidBufferProperty,
  478. /* [out] */ void *pvBufferProperty,
  479. /* [out][in] */ DWORD *pdwBufferPropertySize);
  480. HRESULT ( STDMETHODCALLTYPE *GetPropertyCount )(
  481. INSSBuffer4 * This,
  482. /* [out] */ DWORD *pcBufferProperties);
  483. HRESULT ( STDMETHODCALLTYPE *GetPropertyByIndex )(
  484. INSSBuffer4 * This,
  485. /* [in] */ DWORD dwBufferPropertyIndex,
  486. /* [out] */ GUID *pguidBufferProperty,
  487. /* [out] */ void *pvBufferProperty,
  488. /* [out][in] */ DWORD *pdwBufferPropertySize);
  489. END_INTERFACE
  490. } INSSBuffer4Vtbl;
  491. interface INSSBuffer4
  492. {
  493. CONST_VTBL struct INSSBuffer4Vtbl *lpVtbl;
  494. };
  495. #ifdef COBJMACROS
  496. #define INSSBuffer4_QueryInterface(This,riid,ppvObject) \
  497. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  498. #define INSSBuffer4_AddRef(This) \
  499. (This)->lpVtbl -> AddRef(This)
  500. #define INSSBuffer4_Release(This) \
  501. (This)->lpVtbl -> Release(This)
  502. #define INSSBuffer4_GetLength(This,pdwLength) \
  503. (This)->lpVtbl -> GetLength(This,pdwLength)
  504. #define INSSBuffer4_SetLength(This,dwLength) \
  505. (This)->lpVtbl -> SetLength(This,dwLength)
  506. #define INSSBuffer4_GetMaxLength(This,pdwLength) \
  507. (This)->lpVtbl -> GetMaxLength(This,pdwLength)
  508. #define INSSBuffer4_GetBuffer(This,ppdwBuffer) \
  509. (This)->lpVtbl -> GetBuffer(This,ppdwBuffer)
  510. #define INSSBuffer4_GetBufferAndLength(This,ppdwBuffer,pdwLength) \
  511. (This)->lpVtbl -> GetBufferAndLength(This,ppdwBuffer,pdwLength)
  512. #define INSSBuffer4_GetSampleProperties(This,cbProperties,pbProperties) \
  513. (This)->lpVtbl -> GetSampleProperties(This,cbProperties,pbProperties)
  514. #define INSSBuffer4_SetSampleProperties(This,cbProperties,pbProperties) \
  515. (This)->lpVtbl -> SetSampleProperties(This,cbProperties,pbProperties)
  516. #define INSSBuffer4_SetProperty(This,guidBufferProperty,pvBufferProperty,dwBufferPropertySize) \
  517. (This)->lpVtbl -> SetProperty(This,guidBufferProperty,pvBufferProperty,dwBufferPropertySize)
  518. #define INSSBuffer4_GetProperty(This,guidBufferProperty,pvBufferProperty,pdwBufferPropertySize) \
  519. (This)->lpVtbl -> GetProperty(This,guidBufferProperty,pvBufferProperty,pdwBufferPropertySize)
  520. #define INSSBuffer4_GetPropertyCount(This,pcBufferProperties) \
  521. (This)->lpVtbl -> GetPropertyCount(This,pcBufferProperties)
  522. #define INSSBuffer4_GetPropertyByIndex(This,dwBufferPropertyIndex,pguidBufferProperty,pvBufferProperty,pdwBufferPropertySize) \
  523. (This)->lpVtbl -> GetPropertyByIndex(This,dwBufferPropertyIndex,pguidBufferProperty,pvBufferProperty,pdwBufferPropertySize)
  524. #endif /* COBJMACROS */
  525. #endif /* C style interface */
  526. HRESULT STDMETHODCALLTYPE INSSBuffer4_GetPropertyCount_Proxy(
  527. INSSBuffer4 * This,
  528. /* [out] */ DWORD *pcBufferProperties);
  529. void __RPC_STUB INSSBuffer4_GetPropertyCount_Stub(
  530. IRpcStubBuffer *This,
  531. IRpcChannelBuffer *_pRpcChannelBuffer,
  532. PRPC_MESSAGE _pRpcMessage,
  533. DWORD *_pdwStubPhase);
  534. HRESULT STDMETHODCALLTYPE INSSBuffer4_GetPropertyByIndex_Proxy(
  535. INSSBuffer4 * This,
  536. /* [in] */ DWORD dwBufferPropertyIndex,
  537. /* [out] */ GUID *pguidBufferProperty,
  538. /* [out] */ void *pvBufferProperty,
  539. /* [out][in] */ DWORD *pdwBufferPropertySize);
  540. void __RPC_STUB INSSBuffer4_GetPropertyByIndex_Stub(
  541. IRpcStubBuffer *This,
  542. IRpcChannelBuffer *_pRpcChannelBuffer,
  543. PRPC_MESSAGE _pRpcMessage,
  544. DWORD *_pdwStubPhase);
  545. #endif /* __INSSBuffer4_INTERFACE_DEFINED__ */
  546. #ifndef __IWMSBufferAllocator_INTERFACE_DEFINED__
  547. #define __IWMSBufferAllocator_INTERFACE_DEFINED__
  548. /* interface IWMSBufferAllocator */
  549. /* [version][uuid][unique][object][local] */
  550. EXTERN_C const IID IID_IWMSBufferAllocator;
  551. #if defined(__cplusplus) && !defined(CINTERFACE)
  552. MIDL_INTERFACE("61103CA4-2033-11d2-9EF1-006097D2D7CF")
  553. IWMSBufferAllocator : public IUnknown
  554. {
  555. public:
  556. virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
  557. /* [in] */ DWORD dwMaxBufferSize,
  558. /* [out] */ INSSBuffer **ppBuffer) = 0;
  559. virtual HRESULT STDMETHODCALLTYPE AllocatePageSizeBuffer(
  560. /* [in] */ DWORD dwMaxBufferSize,
  561. /* [out] */ INSSBuffer **ppBuffer) = 0;
  562. };
  563. #else /* C style interface */
  564. typedef struct IWMSBufferAllocatorVtbl
  565. {
  566. BEGIN_INTERFACE
  567. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  568. IWMSBufferAllocator * This,
  569. /* [in] */ REFIID riid,
  570. /* [iid_is][out] */ void **ppvObject);
  571. ULONG ( STDMETHODCALLTYPE *AddRef )(
  572. IWMSBufferAllocator * This);
  573. ULONG ( STDMETHODCALLTYPE *Release )(
  574. IWMSBufferAllocator * This);
  575. HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )(
  576. IWMSBufferAllocator * This,
  577. /* [in] */ DWORD dwMaxBufferSize,
  578. /* [out] */ INSSBuffer **ppBuffer);
  579. HRESULT ( STDMETHODCALLTYPE *AllocatePageSizeBuffer )(
  580. IWMSBufferAllocator * This,
  581. /* [in] */ DWORD dwMaxBufferSize,
  582. /* [out] */ INSSBuffer **ppBuffer);
  583. END_INTERFACE
  584. } IWMSBufferAllocatorVtbl;
  585. interface IWMSBufferAllocator
  586. {
  587. CONST_VTBL struct IWMSBufferAllocatorVtbl *lpVtbl;
  588. };
  589. #ifdef COBJMACROS
  590. #define IWMSBufferAllocator_QueryInterface(This,riid,ppvObject) \
  591. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  592. #define IWMSBufferAllocator_AddRef(This) \
  593. (This)->lpVtbl -> AddRef(This)
  594. #define IWMSBufferAllocator_Release(This) \
  595. (This)->lpVtbl -> Release(This)
  596. #define IWMSBufferAllocator_AllocateBuffer(This,dwMaxBufferSize,ppBuffer) \
  597. (This)->lpVtbl -> AllocateBuffer(This,dwMaxBufferSize,ppBuffer)
  598. #define IWMSBufferAllocator_AllocatePageSizeBuffer(This,dwMaxBufferSize,ppBuffer) \
  599. (This)->lpVtbl -> AllocatePageSizeBuffer(This,dwMaxBufferSize,ppBuffer)
  600. #endif /* COBJMACROS */
  601. #endif /* C style interface */
  602. HRESULT STDMETHODCALLTYPE IWMSBufferAllocator_AllocateBuffer_Proxy(
  603. IWMSBufferAllocator * This,
  604. /* [in] */ DWORD dwMaxBufferSize,
  605. /* [out] */ INSSBuffer **ppBuffer);
  606. void __RPC_STUB IWMSBufferAllocator_AllocateBuffer_Stub(
  607. IRpcStubBuffer *This,
  608. IRpcChannelBuffer *_pRpcChannelBuffer,
  609. PRPC_MESSAGE _pRpcMessage,
  610. DWORD *_pdwStubPhase);
  611. HRESULT STDMETHODCALLTYPE IWMSBufferAllocator_AllocatePageSizeBuffer_Proxy(
  612. IWMSBufferAllocator * This,
  613. /* [in] */ DWORD dwMaxBufferSize,
  614. /* [out] */ INSSBuffer **ppBuffer);
  615. void __RPC_STUB IWMSBufferAllocator_AllocatePageSizeBuffer_Stub(
  616. IRpcStubBuffer *This,
  617. IRpcChannelBuffer *_pRpcChannelBuffer,
  618. PRPC_MESSAGE _pRpcMessage,
  619. DWORD *_pdwStubPhase);
  620. #endif /* __IWMSBufferAllocator_INTERFACE_DEFINED__ */
  621. /* Additional Prototypes for ALL interfaces */
  622. /* end of Additional Prototypes */
  623. #ifdef __cplusplus
  624. }
  625. #endif
  626. #endif