Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2296 lines
72 KiB

  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 amstream.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 __amstream_h__
  27. #define __amstream_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IDirectShowStream_FWD_DEFINED__
  33. #define __IDirectShowStream_FWD_DEFINED__
  34. typedef interface IDirectShowStream IDirectShowStream;
  35. #endif /* __IDirectShowStream_FWD_DEFINED__ */
  36. #ifndef __IAMMultiMediaStream_FWD_DEFINED__
  37. #define __IAMMultiMediaStream_FWD_DEFINED__
  38. typedef interface IAMMultiMediaStream IAMMultiMediaStream;
  39. #endif /* __IAMMultiMediaStream_FWD_DEFINED__ */
  40. #ifndef __IAMMediaStream_FWD_DEFINED__
  41. #define __IAMMediaStream_FWD_DEFINED__
  42. typedef interface IAMMediaStream IAMMediaStream;
  43. #endif /* __IAMMediaStream_FWD_DEFINED__ */
  44. #ifndef __IMediaStreamFilter_FWD_DEFINED__
  45. #define __IMediaStreamFilter_FWD_DEFINED__
  46. typedef interface IMediaStreamFilter IMediaStreamFilter;
  47. #endif /* __IMediaStreamFilter_FWD_DEFINED__ */
  48. #ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  49. #define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
  50. typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
  51. #endif /* __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ */
  52. #ifndef __IDirectDrawMediaSample_FWD_DEFINED__
  53. #define __IDirectDrawMediaSample_FWD_DEFINED__
  54. typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
  55. #endif /* __IDirectDrawMediaSample_FWD_DEFINED__ */
  56. #ifndef __IAMMediaTypeStream_FWD_DEFINED__
  57. #define __IAMMediaTypeStream_FWD_DEFINED__
  58. typedef interface IAMMediaTypeStream IAMMediaTypeStream;
  59. #endif /* __IAMMediaTypeStream_FWD_DEFINED__ */
  60. #ifndef __IAMMediaTypeSample_FWD_DEFINED__
  61. #define __IAMMediaTypeSample_FWD_DEFINED__
  62. typedef interface IAMMediaTypeSample IAMMediaTypeSample;
  63. #endif /* __IAMMediaTypeSample_FWD_DEFINED__ */
  64. #ifndef __AMMultiMediaStream_FWD_DEFINED__
  65. #define __AMMultiMediaStream_FWD_DEFINED__
  66. #ifdef __cplusplus
  67. typedef class AMMultiMediaStream AMMultiMediaStream;
  68. #else
  69. typedef struct AMMultiMediaStream AMMultiMediaStream;
  70. #endif /* __cplusplus */
  71. #endif /* __AMMultiMediaStream_FWD_DEFINED__ */
  72. /* header files for imported files */
  73. #include "unknwn.h"
  74. #include "mmstream.h"
  75. #include "strmif.h"
  76. #ifdef __cplusplus
  77. extern "C"{
  78. #endif
  79. void * __RPC_USER MIDL_user_allocate(size_t);
  80. void __RPC_USER MIDL_user_free( void * );
  81. /* interface __MIDL_itf_amstream_0000 */
  82. /* [local] */
  83. #include <ddraw.h>
  84. #include <mmsystem.h>
  85. #include <mmstream.h>
  86. #include <ddstream.h>
  87. #include <austream.h>
  88. enum __MIDL___MIDL_itf_amstream_0000_0001
  89. { AMMSF_NOGRAPHTHREAD = 0x1
  90. } ;
  91. enum __MIDL___MIDL_itf_amstream_0000_0002
  92. { AMMSF_ADDDEFAULTRENDERER = 0x1,
  93. AMMSF_CREATEPEER = 0x2,
  94. AMMSF_STOPIFNOSAMPLES = 0x4,
  95. AMMSF_NOSTALL = 0x8
  96. } ;
  97. enum __MIDL___MIDL_itf_amstream_0000_0003
  98. { AMMSF_RENDERTYPEMASK = 0x3,
  99. AMMSF_RENDERTOEXISTING = 0,
  100. AMMSF_RENDERALLSTREAMS = 0x1,
  101. AMMSF_NORENDER = 0x2,
  102. AMMSF_NOCLOCK = 0x4,
  103. AMMSF_RUN = 0x8
  104. } ;
  105. typedef /* [public][public][public][public][public][v1_enum] */
  106. enum __MIDL___MIDL_itf_amstream_0000_0004
  107. { Disabled = 0,
  108. ReadData = 1,
  109. RenderData = 2
  110. } OUTPUT_STATE;
  111. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_c_ifspec;
  112. extern RPC_IF_HANDLE __MIDL_itf_amstream_0000_v0_0_s_ifspec;
  113. #ifndef __IDirectShowStream_INTERFACE_DEFINED__
  114. #define __IDirectShowStream_INTERFACE_DEFINED__
  115. /* interface IDirectShowStream */
  116. /* [unique][helpstring][dual][uuid][object] */
  117. EXTERN_C const IID IID_IDirectShowStream;
  118. #if defined(__cplusplus) && !defined(CINTERFACE)
  119. MIDL_INTERFACE("7DB01C96-C0C3-11d0-8FF1-00C04FD9189D")
  120. IDirectShowStream : public IDispatch
  121. {
  122. public:
  123. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FileName(
  124. /* [retval][out] */ BSTR *pVal) = 0;
  125. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FileName(
  126. /* [in] */ BSTR newVal) = 0;
  127. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Video(
  128. /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
  129. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Video(
  130. /* [in] */ OUTPUT_STATE newVal) = 0;
  131. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Audio(
  132. /* [retval][out] */ OUTPUT_STATE *pVal) = 0;
  133. virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Audio(
  134. /* [in] */ OUTPUT_STATE newVal) = 0;
  135. };
  136. #else /* C style interface */
  137. typedef struct IDirectShowStreamVtbl
  138. {
  139. BEGIN_INTERFACE
  140. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  141. IDirectShowStream * This,
  142. /* [in] */ REFIID riid,
  143. /* [iid_is][out] */ void **ppvObject);
  144. ULONG ( STDMETHODCALLTYPE *AddRef )(
  145. IDirectShowStream * This);
  146. ULONG ( STDMETHODCALLTYPE *Release )(
  147. IDirectShowStream * This);
  148. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  149. IDirectShowStream * This,
  150. /* [out] */ UINT *pctinfo);
  151. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  152. IDirectShowStream * This,
  153. /* [in] */ UINT iTInfo,
  154. /* [in] */ LCID lcid,
  155. /* [out] */ ITypeInfo **ppTInfo);
  156. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  157. IDirectShowStream * This,
  158. /* [in] */ REFIID riid,
  159. /* [size_is][in] */ LPOLESTR *rgszNames,
  160. /* [in] */ UINT cNames,
  161. /* [in] */ LCID lcid,
  162. /* [size_is][out] */ DISPID *rgDispId);
  163. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  164. IDirectShowStream * This,
  165. /* [in] */ DISPID dispIdMember,
  166. /* [in] */ REFIID riid,
  167. /* [in] */ LCID lcid,
  168. /* [in] */ WORD wFlags,
  169. /* [out][in] */ DISPPARAMS *pDispParams,
  170. /* [out] */ VARIANT *pVarResult,
  171. /* [out] */ EXCEPINFO *pExcepInfo,
  172. /* [out] */ UINT *puArgErr);
  173. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )(
  174. IDirectShowStream * This,
  175. /* [retval][out] */ BSTR *pVal);
  176. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )(
  177. IDirectShowStream * This,
  178. /* [in] */ BSTR newVal);
  179. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Video )(
  180. IDirectShowStream * This,
  181. /* [retval][out] */ OUTPUT_STATE *pVal);
  182. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Video )(
  183. IDirectShowStream * This,
  184. /* [in] */ OUTPUT_STATE newVal);
  185. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Audio )(
  186. IDirectShowStream * This,
  187. /* [retval][out] */ OUTPUT_STATE *pVal);
  188. /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Audio )(
  189. IDirectShowStream * This,
  190. /* [in] */ OUTPUT_STATE newVal);
  191. END_INTERFACE
  192. } IDirectShowStreamVtbl;
  193. interface IDirectShowStream
  194. {
  195. CONST_VTBL struct IDirectShowStreamVtbl *lpVtbl;
  196. };
  197. #ifdef COBJMACROS
  198. #define IDirectShowStream_QueryInterface(This,riid,ppvObject) \
  199. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  200. #define IDirectShowStream_AddRef(This) \
  201. (This)->lpVtbl -> AddRef(This)
  202. #define IDirectShowStream_Release(This) \
  203. (This)->lpVtbl -> Release(This)
  204. #define IDirectShowStream_GetTypeInfoCount(This,pctinfo) \
  205. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  206. #define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  207. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  208. #define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  209. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  210. #define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  211. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  212. #define IDirectShowStream_get_FileName(This,pVal) \
  213. (This)->lpVtbl -> get_FileName(This,pVal)
  214. #define IDirectShowStream_put_FileName(This,newVal) \
  215. (This)->lpVtbl -> put_FileName(This,newVal)
  216. #define IDirectShowStream_get_Video(This,pVal) \
  217. (This)->lpVtbl -> get_Video(This,pVal)
  218. #define IDirectShowStream_put_Video(This,newVal) \
  219. (This)->lpVtbl -> put_Video(This,newVal)
  220. #define IDirectShowStream_get_Audio(This,pVal) \
  221. (This)->lpVtbl -> get_Audio(This,pVal)
  222. #define IDirectShowStream_put_Audio(This,newVal) \
  223. (This)->lpVtbl -> put_Audio(This,newVal)
  224. #endif /* COBJMACROS */
  225. #endif /* C style interface */
  226. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy(
  227. IDirectShowStream * This,
  228. /* [retval][out] */ BSTR *pVal);
  229. void __RPC_STUB IDirectShowStream_get_FileName_Stub(
  230. IRpcStubBuffer *This,
  231. IRpcChannelBuffer *_pRpcChannelBuffer,
  232. PRPC_MESSAGE _pRpcMessage,
  233. DWORD *_pdwStubPhase);
  234. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy(
  235. IDirectShowStream * This,
  236. /* [in] */ BSTR newVal);
  237. void __RPC_STUB IDirectShowStream_put_FileName_Stub(
  238. IRpcStubBuffer *This,
  239. IRpcChannelBuffer *_pRpcChannelBuffer,
  240. PRPC_MESSAGE _pRpcMessage,
  241. DWORD *_pdwStubPhase);
  242. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy(
  243. IDirectShowStream * This,
  244. /* [retval][out] */ OUTPUT_STATE *pVal);
  245. void __RPC_STUB IDirectShowStream_get_Video_Stub(
  246. IRpcStubBuffer *This,
  247. IRpcChannelBuffer *_pRpcChannelBuffer,
  248. PRPC_MESSAGE _pRpcMessage,
  249. DWORD *_pdwStubPhase);
  250. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy(
  251. IDirectShowStream * This,
  252. /* [in] */ OUTPUT_STATE newVal);
  253. void __RPC_STUB IDirectShowStream_put_Video_Stub(
  254. IRpcStubBuffer *This,
  255. IRpcChannelBuffer *_pRpcChannelBuffer,
  256. PRPC_MESSAGE _pRpcMessage,
  257. DWORD *_pdwStubPhase);
  258. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy(
  259. IDirectShowStream * This,
  260. /* [retval][out] */ OUTPUT_STATE *pVal);
  261. void __RPC_STUB IDirectShowStream_get_Audio_Stub(
  262. IRpcStubBuffer *This,
  263. IRpcChannelBuffer *_pRpcChannelBuffer,
  264. PRPC_MESSAGE _pRpcMessage,
  265. DWORD *_pdwStubPhase);
  266. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy(
  267. IDirectShowStream * This,
  268. /* [in] */ OUTPUT_STATE newVal);
  269. void __RPC_STUB IDirectShowStream_put_Audio_Stub(
  270. IRpcStubBuffer *This,
  271. IRpcChannelBuffer *_pRpcChannelBuffer,
  272. PRPC_MESSAGE _pRpcMessage,
  273. DWORD *_pdwStubPhase);
  274. #endif /* __IDirectShowStream_INTERFACE_DEFINED__ */
  275. #ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__
  276. #define __IAMMultiMediaStream_INTERFACE_DEFINED__
  277. /* interface IAMMultiMediaStream */
  278. /* [unique][uuid][object] */
  279. EXTERN_C const IID IID_IAMMultiMediaStream;
  280. #if defined(__cplusplus) && !defined(CINTERFACE)
  281. MIDL_INTERFACE("BEBE595C-9A6F-11d0-8FDE-00C04FD9189D")
  282. IAMMultiMediaStream : public IMultiMediaStream
  283. {
  284. public:
  285. virtual HRESULT STDMETHODCALLTYPE Initialize(
  286. /* [in] */ STREAM_TYPE StreamType,
  287. /* [in] */ DWORD dwFlags,
  288. /* [in] */ IGraphBuilder *pFilterGraph) = 0;
  289. virtual HRESULT STDMETHODCALLTYPE GetFilterGraph(
  290. /* [out] */ IGraphBuilder **ppGraphBuilder) = 0;
  291. virtual HRESULT STDMETHODCALLTYPE GetFilter(
  292. /* [out] */ IMediaStreamFilter **ppFilter) = 0;
  293. virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
  294. /* [in] */ IUnknown *pStreamObject,
  295. /* [in] */ const MSPID *PurposeId,
  296. /* [in] */ DWORD dwFlags,
  297. /* [out] */ IMediaStream **ppNewStream) = 0;
  298. virtual HRESULT STDMETHODCALLTYPE OpenFile(
  299. /* [in] */ LPCWSTR pszFileName,
  300. /* [in] */ DWORD dwFlags) = 0;
  301. virtual HRESULT STDMETHODCALLTYPE OpenMoniker(
  302. /* [in] */ IBindCtx *pCtx,
  303. /* [in] */ IMoniker *pMoniker,
  304. /* [in] */ DWORD dwFlags) = 0;
  305. virtual HRESULT STDMETHODCALLTYPE Render(
  306. /* [in] */ DWORD dwFlags) = 0;
  307. };
  308. #else /* C style interface */
  309. typedef struct IAMMultiMediaStreamVtbl
  310. {
  311. BEGIN_INTERFACE
  312. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  313. IAMMultiMediaStream * This,
  314. /* [in] */ REFIID riid,
  315. /* [iid_is][out] */ void **ppvObject);
  316. ULONG ( STDMETHODCALLTYPE *AddRef )(
  317. IAMMultiMediaStream * This);
  318. ULONG ( STDMETHODCALLTYPE *Release )(
  319. IAMMultiMediaStream * This);
  320. HRESULT ( STDMETHODCALLTYPE *GetInformation )(
  321. IAMMultiMediaStream * This,
  322. /* [out] */ DWORD *pdwFlags,
  323. /* [out] */ STREAM_TYPE *pStreamType);
  324. HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
  325. IAMMultiMediaStream * This,
  326. /* [in] */ REFMSPID idPurpose,
  327. /* [out] */ IMediaStream **ppMediaStream);
  328. HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )(
  329. IAMMultiMediaStream * This,
  330. /* [in] */ long Index,
  331. /* [out] */ IMediaStream **ppMediaStream);
  332. HRESULT ( STDMETHODCALLTYPE *GetState )(
  333. IAMMultiMediaStream * This,
  334. /* [out] */ STREAM_STATE *pCurrentState);
  335. HRESULT ( STDMETHODCALLTYPE *SetState )(
  336. IAMMultiMediaStream * This,
  337. /* [in] */ STREAM_STATE NewState);
  338. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  339. IAMMultiMediaStream * This,
  340. /* [out] */ STREAM_TIME *pCurrentTime);
  341. HRESULT ( STDMETHODCALLTYPE *GetDuration )(
  342. IAMMultiMediaStream * This,
  343. /* [out] */ STREAM_TIME *pDuration);
  344. HRESULT ( STDMETHODCALLTYPE *Seek )(
  345. IAMMultiMediaStream * This,
  346. /* [in] */ STREAM_TIME SeekTime);
  347. HRESULT ( STDMETHODCALLTYPE *GetEndOfStreamEventHandle )(
  348. IAMMultiMediaStream * This,
  349. /* [out] */ HANDLE *phEOS);
  350. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  351. IAMMultiMediaStream * This,
  352. /* [in] */ STREAM_TYPE StreamType,
  353. /* [in] */ DWORD dwFlags,
  354. /* [in] */ IGraphBuilder *pFilterGraph);
  355. HRESULT ( STDMETHODCALLTYPE *GetFilterGraph )(
  356. IAMMultiMediaStream * This,
  357. /* [out] */ IGraphBuilder **ppGraphBuilder);
  358. HRESULT ( STDMETHODCALLTYPE *GetFilter )(
  359. IAMMultiMediaStream * This,
  360. /* [out] */ IMediaStreamFilter **ppFilter);
  361. HRESULT ( STDMETHODCALLTYPE *AddMediaStream )(
  362. IAMMultiMediaStream * This,
  363. /* [in] */ IUnknown *pStreamObject,
  364. /* [in] */ const MSPID *PurposeId,
  365. /* [in] */ DWORD dwFlags,
  366. /* [out] */ IMediaStream **ppNewStream);
  367. HRESULT ( STDMETHODCALLTYPE *OpenFile )(
  368. IAMMultiMediaStream * This,
  369. /* [in] */ LPCWSTR pszFileName,
  370. /* [in] */ DWORD dwFlags);
  371. HRESULT ( STDMETHODCALLTYPE *OpenMoniker )(
  372. IAMMultiMediaStream * This,
  373. /* [in] */ IBindCtx *pCtx,
  374. /* [in] */ IMoniker *pMoniker,
  375. /* [in] */ DWORD dwFlags);
  376. HRESULT ( STDMETHODCALLTYPE *Render )(
  377. IAMMultiMediaStream * This,
  378. /* [in] */ DWORD dwFlags);
  379. END_INTERFACE
  380. } IAMMultiMediaStreamVtbl;
  381. interface IAMMultiMediaStream
  382. {
  383. CONST_VTBL struct IAMMultiMediaStreamVtbl *lpVtbl;
  384. };
  385. #ifdef COBJMACROS
  386. #define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) \
  387. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  388. #define IAMMultiMediaStream_AddRef(This) \
  389. (This)->lpVtbl -> AddRef(This)
  390. #define IAMMultiMediaStream_Release(This) \
  391. (This)->lpVtbl -> Release(This)
  392. #define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) \
  393. (This)->lpVtbl -> GetInformation(This,pdwFlags,pStreamType)
  394. #define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) \
  395. (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  396. #define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) \
  397. (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  398. #define IAMMultiMediaStream_GetState(This,pCurrentState) \
  399. (This)->lpVtbl -> GetState(This,pCurrentState)
  400. #define IAMMultiMediaStream_SetState(This,NewState) \
  401. (This)->lpVtbl -> SetState(This,NewState)
  402. #define IAMMultiMediaStream_GetTime(This,pCurrentTime) \
  403. (This)->lpVtbl -> GetTime(This,pCurrentTime)
  404. #define IAMMultiMediaStream_GetDuration(This,pDuration) \
  405. (This)->lpVtbl -> GetDuration(This,pDuration)
  406. #define IAMMultiMediaStream_Seek(This,SeekTime) \
  407. (This)->lpVtbl -> Seek(This,SeekTime)
  408. #define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) \
  409. (This)->lpVtbl -> GetEndOfStreamEventHandle(This,phEOS)
  410. #define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) \
  411. (This)->lpVtbl -> Initialize(This,StreamType,dwFlags,pFilterGraph)
  412. #define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) \
  413. (This)->lpVtbl -> GetFilterGraph(This,ppGraphBuilder)
  414. #define IAMMultiMediaStream_GetFilter(This,ppFilter) \
  415. (This)->lpVtbl -> GetFilter(This,ppFilter)
  416. #define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) \
  417. (This)->lpVtbl -> AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
  418. #define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) \
  419. (This)->lpVtbl -> OpenFile(This,pszFileName,dwFlags)
  420. #define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) \
  421. (This)->lpVtbl -> OpenMoniker(This,pCtx,pMoniker,dwFlags)
  422. #define IAMMultiMediaStream_Render(This,dwFlags) \
  423. (This)->lpVtbl -> Render(This,dwFlags)
  424. #endif /* COBJMACROS */
  425. #endif /* C style interface */
  426. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Initialize_Proxy(
  427. IAMMultiMediaStream * This,
  428. /* [in] */ STREAM_TYPE StreamType,
  429. /* [in] */ DWORD dwFlags,
  430. /* [in] */ IGraphBuilder *pFilterGraph);
  431. void __RPC_STUB IAMMultiMediaStream_Initialize_Stub(
  432. IRpcStubBuffer *This,
  433. IRpcChannelBuffer *_pRpcChannelBuffer,
  434. PRPC_MESSAGE _pRpcMessage,
  435. DWORD *_pdwStubPhase);
  436. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy(
  437. IAMMultiMediaStream * This,
  438. /* [out] */ IGraphBuilder **ppGraphBuilder);
  439. void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub(
  440. IRpcStubBuffer *This,
  441. IRpcChannelBuffer *_pRpcChannelBuffer,
  442. PRPC_MESSAGE _pRpcMessage,
  443. DWORD *_pdwStubPhase);
  444. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy(
  445. IAMMultiMediaStream * This,
  446. /* [out] */ IMediaStreamFilter **ppFilter);
  447. void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub(
  448. IRpcStubBuffer *This,
  449. IRpcChannelBuffer *_pRpcChannelBuffer,
  450. PRPC_MESSAGE _pRpcMessage,
  451. DWORD *_pdwStubPhase);
  452. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_AddMediaStream_Proxy(
  453. IAMMultiMediaStream * This,
  454. /* [in] */ IUnknown *pStreamObject,
  455. /* [in] */ const MSPID *PurposeId,
  456. /* [in] */ DWORD dwFlags,
  457. /* [out] */ IMediaStream **ppNewStream);
  458. void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub(
  459. IRpcStubBuffer *This,
  460. IRpcChannelBuffer *_pRpcChannelBuffer,
  461. PRPC_MESSAGE _pRpcMessage,
  462. DWORD *_pdwStubPhase);
  463. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenFile_Proxy(
  464. IAMMultiMediaStream * This,
  465. /* [in] */ LPCWSTR pszFileName,
  466. /* [in] */ DWORD dwFlags);
  467. void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub(
  468. IRpcStubBuffer *This,
  469. IRpcChannelBuffer *_pRpcChannelBuffer,
  470. PRPC_MESSAGE _pRpcMessage,
  471. DWORD *_pdwStubPhase);
  472. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenMoniker_Proxy(
  473. IAMMultiMediaStream * This,
  474. /* [in] */ IBindCtx *pCtx,
  475. /* [in] */ IMoniker *pMoniker,
  476. /* [in] */ DWORD dwFlags);
  477. void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub(
  478. IRpcStubBuffer *This,
  479. IRpcChannelBuffer *_pRpcChannelBuffer,
  480. PRPC_MESSAGE _pRpcMessage,
  481. DWORD *_pdwStubPhase);
  482. HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Render_Proxy(
  483. IAMMultiMediaStream * This,
  484. /* [in] */ DWORD dwFlags);
  485. void __RPC_STUB IAMMultiMediaStream_Render_Stub(
  486. IRpcStubBuffer *This,
  487. IRpcChannelBuffer *_pRpcChannelBuffer,
  488. PRPC_MESSAGE _pRpcMessage,
  489. DWORD *_pdwStubPhase);
  490. #endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */
  491. #ifndef __IAMMediaStream_INTERFACE_DEFINED__
  492. #define __IAMMediaStream_INTERFACE_DEFINED__
  493. /* interface IAMMediaStream */
  494. /* [unique][uuid][object] */
  495. EXTERN_C const IID IID_IAMMediaStream;
  496. #if defined(__cplusplus) && !defined(CINTERFACE)
  497. MIDL_INTERFACE("BEBE595D-9A6F-11d0-8FDE-00C04FD9189D")
  498. IAMMediaStream : public IMediaStream
  499. {
  500. public:
  501. virtual HRESULT STDMETHODCALLTYPE Initialize(
  502. /* [in] */ IUnknown *pSourceObject,
  503. /* [in] */ DWORD dwFlags,
  504. /* [in] */ REFMSPID PurposeId,
  505. /* [in] */ const STREAM_TYPE StreamType) = 0;
  506. virtual HRESULT STDMETHODCALLTYPE SetState(
  507. /* [in] */ FILTER_STATE State) = 0;
  508. virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream(
  509. /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream) = 0;
  510. virtual HRESULT STDMETHODCALLTYPE JoinFilter(
  511. /* [in] */ IMediaStreamFilter *pMediaStreamFilter) = 0;
  512. virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
  513. /* [in] */ IFilterGraph *pFilterGraph) = 0;
  514. };
  515. #else /* C style interface */
  516. typedef struct IAMMediaStreamVtbl
  517. {
  518. BEGIN_INTERFACE
  519. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  520. IAMMediaStream * This,
  521. /* [in] */ REFIID riid,
  522. /* [iid_is][out] */ void **ppvObject);
  523. ULONG ( STDMETHODCALLTYPE *AddRef )(
  524. IAMMediaStream * This);
  525. ULONG ( STDMETHODCALLTYPE *Release )(
  526. IAMMediaStream * This);
  527. HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )(
  528. IAMMediaStream * This,
  529. /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  530. HRESULT ( STDMETHODCALLTYPE *GetInformation )(
  531. IAMMediaStream * This,
  532. /* [out] */ MSPID *pPurposeId,
  533. /* [out] */ STREAM_TYPE *pType);
  534. HRESULT ( STDMETHODCALLTYPE *SetSameFormat )(
  535. IAMMediaStream * This,
  536. /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  537. /* [in] */ DWORD dwFlags);
  538. HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
  539. IAMMediaStream * This,
  540. /* [in] */ DWORD dwFlags,
  541. /* [out] */ IStreamSample **ppSample);
  542. HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )(
  543. IAMMediaStream * This,
  544. /* [in] */ IStreamSample *pExistingSample,
  545. /* [in] */ DWORD dwFlags,
  546. /* [out] */ IStreamSample **ppNewSample);
  547. HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )(
  548. IAMMediaStream * This,
  549. DWORD dwFlags);
  550. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  551. IAMMediaStream * This,
  552. /* [in] */ IUnknown *pSourceObject,
  553. /* [in] */ DWORD dwFlags,
  554. /* [in] */ REFMSPID PurposeId,
  555. /* [in] */ const STREAM_TYPE StreamType);
  556. HRESULT ( STDMETHODCALLTYPE *SetState )(
  557. IAMMediaStream * This,
  558. /* [in] */ FILTER_STATE State);
  559. HRESULT ( STDMETHODCALLTYPE *JoinAMMultiMediaStream )(
  560. IAMMediaStream * This,
  561. /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
  562. HRESULT ( STDMETHODCALLTYPE *JoinFilter )(
  563. IAMMediaStream * This,
  564. /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
  565. HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
  566. IAMMediaStream * This,
  567. /* [in] */ IFilterGraph *pFilterGraph);
  568. END_INTERFACE
  569. } IAMMediaStreamVtbl;
  570. interface IAMMediaStream
  571. {
  572. CONST_VTBL struct IAMMediaStreamVtbl *lpVtbl;
  573. };
  574. #ifdef COBJMACROS
  575. #define IAMMediaStream_QueryInterface(This,riid,ppvObject) \
  576. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  577. #define IAMMediaStream_AddRef(This) \
  578. (This)->lpVtbl -> AddRef(This)
  579. #define IAMMediaStream_Release(This) \
  580. (This)->lpVtbl -> Release(This)
  581. #define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) \
  582. (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  583. #define IAMMediaStream_GetInformation(This,pPurposeId,pType) \
  584. (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  585. #define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) \
  586. (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  587. #define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) \
  588. (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  589. #define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) \
  590. (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  591. #define IAMMediaStream_SendEndOfStream(This,dwFlags) \
  592. (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  593. #define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) \
  594. (This)->lpVtbl -> Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
  595. #define IAMMediaStream_SetState(This,State) \
  596. (This)->lpVtbl -> SetState(This,State)
  597. #define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) \
  598. (This)->lpVtbl -> JoinAMMultiMediaStream(This,pAMMultiMediaStream)
  599. #define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) \
  600. (This)->lpVtbl -> JoinFilter(This,pMediaStreamFilter)
  601. #define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) \
  602. (This)->lpVtbl -> JoinFilterGraph(This,pFilterGraph)
  603. #endif /* COBJMACROS */
  604. #endif /* C style interface */
  605. HRESULT STDMETHODCALLTYPE IAMMediaStream_Initialize_Proxy(
  606. IAMMediaStream * This,
  607. /* [in] */ IUnknown *pSourceObject,
  608. /* [in] */ DWORD dwFlags,
  609. /* [in] */ REFMSPID PurposeId,
  610. /* [in] */ const STREAM_TYPE StreamType);
  611. void __RPC_STUB IAMMediaStream_Initialize_Stub(
  612. IRpcStubBuffer *This,
  613. IRpcChannelBuffer *_pRpcChannelBuffer,
  614. PRPC_MESSAGE _pRpcMessage,
  615. DWORD *_pdwStubPhase);
  616. HRESULT STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy(
  617. IAMMediaStream * This,
  618. /* [in] */ FILTER_STATE State);
  619. void __RPC_STUB IAMMediaStream_SetState_Stub(
  620. IRpcStubBuffer *This,
  621. IRpcChannelBuffer *_pRpcChannelBuffer,
  622. PRPC_MESSAGE _pRpcMessage,
  623. DWORD *_pdwStubPhase);
  624. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy(
  625. IAMMediaStream * This,
  626. /* [in] */ IAMMultiMediaStream *pAMMultiMediaStream);
  627. void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub(
  628. IRpcStubBuffer *This,
  629. IRpcChannelBuffer *_pRpcChannelBuffer,
  630. PRPC_MESSAGE _pRpcMessage,
  631. DWORD *_pdwStubPhase);
  632. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy(
  633. IAMMediaStream * This,
  634. /* [in] */ IMediaStreamFilter *pMediaStreamFilter);
  635. void __RPC_STUB IAMMediaStream_JoinFilter_Stub(
  636. IRpcStubBuffer *This,
  637. IRpcChannelBuffer *_pRpcChannelBuffer,
  638. PRPC_MESSAGE _pRpcMessage,
  639. DWORD *_pdwStubPhase);
  640. HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilterGraph_Proxy(
  641. IAMMediaStream * This,
  642. /* [in] */ IFilterGraph *pFilterGraph);
  643. void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub(
  644. IRpcStubBuffer *This,
  645. IRpcChannelBuffer *_pRpcChannelBuffer,
  646. PRPC_MESSAGE _pRpcMessage,
  647. DWORD *_pdwStubPhase);
  648. #endif /* __IAMMediaStream_INTERFACE_DEFINED__ */
  649. #ifndef __IMediaStreamFilter_INTERFACE_DEFINED__
  650. #define __IMediaStreamFilter_INTERFACE_DEFINED__
  651. /* interface IMediaStreamFilter */
  652. /* [unique][uuid][local][object] */
  653. EXTERN_C const IID IID_IMediaStreamFilter;
  654. #if defined(__cplusplus) && !defined(CINTERFACE)
  655. MIDL_INTERFACE("BEBE595E-9A6F-11d0-8FDE-00C04FD9189D")
  656. IMediaStreamFilter : public IBaseFilter
  657. {
  658. public:
  659. virtual HRESULT STDMETHODCALLTYPE AddMediaStream(
  660. /* [in] */ IAMMediaStream *pAMMediaStream) = 0;
  661. virtual HRESULT STDMETHODCALLTYPE GetMediaStream(
  662. /* [in] */ REFMSPID idPurpose,
  663. /* [out] */ IMediaStream **ppMediaStream) = 0;
  664. virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams(
  665. /* [in] */ long Index,
  666. /* [out] */ IMediaStream **ppMediaStream) = 0;
  667. virtual HRESULT STDMETHODCALLTYPE SupportSeeking(
  668. /* [in] */ BOOL bRenderer) = 0;
  669. virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime(
  670. /* [out][in] */ REFERENCE_TIME *pTime) = 0;
  671. virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime(
  672. /* [out] */ REFERENCE_TIME *pCurrentStreamTime) = 0;
  673. virtual HRESULT STDMETHODCALLTYPE WaitUntil(
  674. /* [in] */ REFERENCE_TIME WaitStreamTime) = 0;
  675. virtual HRESULT STDMETHODCALLTYPE Flush(
  676. /* [in] */ BOOL bCancelEOS) = 0;
  677. virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  678. };
  679. #else /* C style interface */
  680. typedef struct IMediaStreamFilterVtbl
  681. {
  682. BEGIN_INTERFACE
  683. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  684. IMediaStreamFilter * This,
  685. /* [in] */ REFIID riid,
  686. /* [iid_is][out] */ void **ppvObject);
  687. ULONG ( STDMETHODCALLTYPE *AddRef )(
  688. IMediaStreamFilter * This);
  689. ULONG ( STDMETHODCALLTYPE *Release )(
  690. IMediaStreamFilter * This);
  691. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  692. IMediaStreamFilter * This,
  693. /* [out] */ CLSID *pClassID);
  694. HRESULT ( STDMETHODCALLTYPE *Stop )(
  695. IMediaStreamFilter * This);
  696. HRESULT ( STDMETHODCALLTYPE *Pause )(
  697. IMediaStreamFilter * This);
  698. HRESULT ( STDMETHODCALLTYPE *Run )(
  699. IMediaStreamFilter * This,
  700. REFERENCE_TIME tStart);
  701. HRESULT ( STDMETHODCALLTYPE *GetState )(
  702. IMediaStreamFilter * This,
  703. /* [in] */ DWORD dwMilliSecsTimeout,
  704. /* [out] */ FILTER_STATE *State);
  705. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  706. IMediaStreamFilter * This,
  707. /* [in] */ IReferenceClock *pClock);
  708. HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
  709. IMediaStreamFilter * This,
  710. /* [out] */ IReferenceClock **pClock);
  711. HRESULT ( STDMETHODCALLTYPE *EnumPins )(
  712. IMediaStreamFilter * This,
  713. /* [out] */ IEnumPins **ppEnum);
  714. HRESULT ( STDMETHODCALLTYPE *FindPin )(
  715. IMediaStreamFilter * This,
  716. /* [string][in] */ LPCWSTR Id,
  717. /* [out] */ IPin **ppPin);
  718. HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
  719. IMediaStreamFilter * This,
  720. /* [out] */ FILTER_INFO *pInfo);
  721. HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
  722. IMediaStreamFilter * This,
  723. /* [in] */ IFilterGraph *pGraph,
  724. /* [string][in] */ LPCWSTR pName);
  725. HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
  726. IMediaStreamFilter * This,
  727. /* [string][out] */ LPWSTR *pVendorInfo);
  728. HRESULT ( STDMETHODCALLTYPE *AddMediaStream )(
  729. IMediaStreamFilter * This,
  730. /* [in] */ IAMMediaStream *pAMMediaStream);
  731. HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
  732. IMediaStreamFilter * This,
  733. /* [in] */ REFMSPID idPurpose,
  734. /* [out] */ IMediaStream **ppMediaStream);
  735. HRESULT ( STDMETHODCALLTYPE *EnumMediaStreams )(
  736. IMediaStreamFilter * This,
  737. /* [in] */ long Index,
  738. /* [out] */ IMediaStream **ppMediaStream);
  739. HRESULT ( STDMETHODCALLTYPE *SupportSeeking )(
  740. IMediaStreamFilter * This,
  741. /* [in] */ BOOL bRenderer);
  742. HRESULT ( STDMETHODCALLTYPE *ReferenceTimeToStreamTime )(
  743. IMediaStreamFilter * This,
  744. /* [out][in] */ REFERENCE_TIME *pTime);
  745. HRESULT ( STDMETHODCALLTYPE *GetCurrentStreamTime )(
  746. IMediaStreamFilter * This,
  747. /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
  748. HRESULT ( STDMETHODCALLTYPE *WaitUntil )(
  749. IMediaStreamFilter * This,
  750. /* [in] */ REFERENCE_TIME WaitStreamTime);
  751. HRESULT ( STDMETHODCALLTYPE *Flush )(
  752. IMediaStreamFilter * This,
  753. /* [in] */ BOOL bCancelEOS);
  754. HRESULT ( STDMETHODCALLTYPE *EndOfStream )(
  755. IMediaStreamFilter * This);
  756. END_INTERFACE
  757. } IMediaStreamFilterVtbl;
  758. interface IMediaStreamFilter
  759. {
  760. CONST_VTBL struct IMediaStreamFilterVtbl *lpVtbl;
  761. };
  762. #ifdef COBJMACROS
  763. #define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) \
  764. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  765. #define IMediaStreamFilter_AddRef(This) \
  766. (This)->lpVtbl -> AddRef(This)
  767. #define IMediaStreamFilter_Release(This) \
  768. (This)->lpVtbl -> Release(This)
  769. #define IMediaStreamFilter_GetClassID(This,pClassID) \
  770. (This)->lpVtbl -> GetClassID(This,pClassID)
  771. #define IMediaStreamFilter_Stop(This) \
  772. (This)->lpVtbl -> Stop(This)
  773. #define IMediaStreamFilter_Pause(This) \
  774. (This)->lpVtbl -> Pause(This)
  775. #define IMediaStreamFilter_Run(This,tStart) \
  776. (This)->lpVtbl -> Run(This,tStart)
  777. #define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) \
  778. (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  779. #define IMediaStreamFilter_SetSyncSource(This,pClock) \
  780. (This)->lpVtbl -> SetSyncSource(This,pClock)
  781. #define IMediaStreamFilter_GetSyncSource(This,pClock) \
  782. (This)->lpVtbl -> GetSyncSource(This,pClock)
  783. #define IMediaStreamFilter_EnumPins(This,ppEnum) \
  784. (This)->lpVtbl -> EnumPins(This,ppEnum)
  785. #define IMediaStreamFilter_FindPin(This,Id,ppPin) \
  786. (This)->lpVtbl -> FindPin(This,Id,ppPin)
  787. #define IMediaStreamFilter_QueryFilterInfo(This,pInfo) \
  788. (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  789. #define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) \
  790. (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  791. #define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) \
  792. (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  793. #define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) \
  794. (This)->lpVtbl -> AddMediaStream(This,pAMMediaStream)
  795. #define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) \
  796. (This)->lpVtbl -> GetMediaStream(This,idPurpose,ppMediaStream)
  797. #define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) \
  798. (This)->lpVtbl -> EnumMediaStreams(This,Index,ppMediaStream)
  799. #define IMediaStreamFilter_SupportSeeking(This,bRenderer) \
  800. (This)->lpVtbl -> SupportSeeking(This,bRenderer)
  801. #define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) \
  802. (This)->lpVtbl -> ReferenceTimeToStreamTime(This,pTime)
  803. #define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) \
  804. (This)->lpVtbl -> GetCurrentStreamTime(This,pCurrentStreamTime)
  805. #define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) \
  806. (This)->lpVtbl -> WaitUntil(This,WaitStreamTime)
  807. #define IMediaStreamFilter_Flush(This,bCancelEOS) \
  808. (This)->lpVtbl -> Flush(This,bCancelEOS)
  809. #define IMediaStreamFilter_EndOfStream(This) \
  810. (This)->lpVtbl -> EndOfStream(This)
  811. #endif /* COBJMACROS */
  812. #endif /* C style interface */
  813. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy(
  814. IMediaStreamFilter * This,
  815. /* [in] */ IAMMediaStream *pAMMediaStream);
  816. void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub(
  817. IRpcStubBuffer *This,
  818. IRpcChannelBuffer *_pRpcChannelBuffer,
  819. PRPC_MESSAGE _pRpcMessage,
  820. DWORD *_pdwStubPhase);
  821. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetMediaStream_Proxy(
  822. IMediaStreamFilter * This,
  823. /* [in] */ REFMSPID idPurpose,
  824. /* [out] */ IMediaStream **ppMediaStream);
  825. void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub(
  826. IRpcStubBuffer *This,
  827. IRpcChannelBuffer *_pRpcChannelBuffer,
  828. PRPC_MESSAGE _pRpcMessage,
  829. DWORD *_pdwStubPhase);
  830. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EnumMediaStreams_Proxy(
  831. IMediaStreamFilter * This,
  832. /* [in] */ long Index,
  833. /* [out] */ IMediaStream **ppMediaStream);
  834. void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub(
  835. IRpcStubBuffer *This,
  836. IRpcChannelBuffer *_pRpcChannelBuffer,
  837. PRPC_MESSAGE _pRpcMessage,
  838. DWORD *_pdwStubPhase);
  839. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy(
  840. IMediaStreamFilter * This,
  841. /* [in] */ BOOL bRenderer);
  842. void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub(
  843. IRpcStubBuffer *This,
  844. IRpcChannelBuffer *_pRpcChannelBuffer,
  845. PRPC_MESSAGE _pRpcMessage,
  846. DWORD *_pdwStubPhase);
  847. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy(
  848. IMediaStreamFilter * This,
  849. /* [out][in] */ REFERENCE_TIME *pTime);
  850. void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
  851. IRpcStubBuffer *This,
  852. IRpcChannelBuffer *_pRpcChannelBuffer,
  853. PRPC_MESSAGE _pRpcMessage,
  854. DWORD *_pdwStubPhase);
  855. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy(
  856. IMediaStreamFilter * This,
  857. /* [out] */ REFERENCE_TIME *pCurrentStreamTime);
  858. void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub(
  859. IRpcStubBuffer *This,
  860. IRpcChannelBuffer *_pRpcChannelBuffer,
  861. PRPC_MESSAGE _pRpcMessage,
  862. DWORD *_pdwStubPhase);
  863. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy(
  864. IMediaStreamFilter * This,
  865. /* [in] */ REFERENCE_TIME WaitStreamTime);
  866. void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub(
  867. IRpcStubBuffer *This,
  868. IRpcChannelBuffer *_pRpcChannelBuffer,
  869. PRPC_MESSAGE _pRpcMessage,
  870. DWORD *_pdwStubPhase);
  871. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy(
  872. IMediaStreamFilter * This,
  873. /* [in] */ BOOL bCancelEOS);
  874. void __RPC_STUB IMediaStreamFilter_Flush_Stub(
  875. IRpcStubBuffer *This,
  876. IRpcChannelBuffer *_pRpcChannelBuffer,
  877. PRPC_MESSAGE _pRpcMessage,
  878. DWORD *_pdwStubPhase);
  879. HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy(
  880. IMediaStreamFilter * This);
  881. void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub(
  882. IRpcStubBuffer *This,
  883. IRpcChannelBuffer *_pRpcChannelBuffer,
  884. PRPC_MESSAGE _pRpcMessage,
  885. DWORD *_pdwStubPhase);
  886. #endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
  887. #ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  888. #define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__
  889. /* interface IDirectDrawMediaSampleAllocator */
  890. /* [unique][uuid][local][object] */
  891. EXTERN_C const IID IID_IDirectDrawMediaSampleAllocator;
  892. #if defined(__cplusplus) && !defined(CINTERFACE)
  893. MIDL_INTERFACE("AB6B4AFC-F6E4-11d0-900D-00C04FD9189D")
  894. IDirectDrawMediaSampleAllocator : public IUnknown
  895. {
  896. public:
  897. virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
  898. IDirectDraw **ppDirectDraw) = 0;
  899. };
  900. #else /* C style interface */
  901. typedef struct IDirectDrawMediaSampleAllocatorVtbl
  902. {
  903. BEGIN_INTERFACE
  904. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  905. IDirectDrawMediaSampleAllocator * This,
  906. /* [in] */ REFIID riid,
  907. /* [iid_is][out] */ void **ppvObject);
  908. ULONG ( STDMETHODCALLTYPE *AddRef )(
  909. IDirectDrawMediaSampleAllocator * This);
  910. ULONG ( STDMETHODCALLTYPE *Release )(
  911. IDirectDrawMediaSampleAllocator * This);
  912. HRESULT ( STDMETHODCALLTYPE *GetDirectDraw )(
  913. IDirectDrawMediaSampleAllocator * This,
  914. IDirectDraw **ppDirectDraw);
  915. END_INTERFACE
  916. } IDirectDrawMediaSampleAllocatorVtbl;
  917. interface IDirectDrawMediaSampleAllocator
  918. {
  919. CONST_VTBL struct IDirectDrawMediaSampleAllocatorVtbl *lpVtbl;
  920. };
  921. #ifdef COBJMACROS
  922. #define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) \
  923. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  924. #define IDirectDrawMediaSampleAllocator_AddRef(This) \
  925. (This)->lpVtbl -> AddRef(This)
  926. #define IDirectDrawMediaSampleAllocator_Release(This) \
  927. (This)->lpVtbl -> Release(This)
  928. #define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) \
  929. (This)->lpVtbl -> GetDirectDraw(This,ppDirectDraw)
  930. #endif /* COBJMACROS */
  931. #endif /* C style interface */
  932. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy(
  933. IDirectDrawMediaSampleAllocator * This,
  934. IDirectDraw **ppDirectDraw);
  935. void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub(
  936. IRpcStubBuffer *This,
  937. IRpcChannelBuffer *_pRpcChannelBuffer,
  938. PRPC_MESSAGE _pRpcMessage,
  939. DWORD *_pdwStubPhase);
  940. #endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */
  941. #ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__
  942. #define __IDirectDrawMediaSample_INTERFACE_DEFINED__
  943. /* interface IDirectDrawMediaSample */
  944. /* [unique][uuid][local][object] */
  945. EXTERN_C const IID IID_IDirectDrawMediaSample;
  946. #if defined(__cplusplus) && !defined(CINTERFACE)
  947. MIDL_INTERFACE("AB6B4AFE-F6E4-11d0-900D-00C04FD9189D")
  948. IDirectDrawMediaSample : public IUnknown
  949. {
  950. public:
  951. virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock(
  952. /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  953. /* [out] */ RECT *pRect) = 0;
  954. virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( void) = 0;
  955. };
  956. #else /* C style interface */
  957. typedef struct IDirectDrawMediaSampleVtbl
  958. {
  959. BEGIN_INTERFACE
  960. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  961. IDirectDrawMediaSample * This,
  962. /* [in] */ REFIID riid,
  963. /* [iid_is][out] */ void **ppvObject);
  964. ULONG ( STDMETHODCALLTYPE *AddRef )(
  965. IDirectDrawMediaSample * This);
  966. ULONG ( STDMETHODCALLTYPE *Release )(
  967. IDirectDrawMediaSample * This);
  968. HRESULT ( STDMETHODCALLTYPE *GetSurfaceAndReleaseLock )(
  969. IDirectDrawMediaSample * This,
  970. /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  971. /* [out] */ RECT *pRect);
  972. HRESULT ( STDMETHODCALLTYPE *LockMediaSamplePointer )(
  973. IDirectDrawMediaSample * This);
  974. END_INTERFACE
  975. } IDirectDrawMediaSampleVtbl;
  976. interface IDirectDrawMediaSample
  977. {
  978. CONST_VTBL struct IDirectDrawMediaSampleVtbl *lpVtbl;
  979. };
  980. #ifdef COBJMACROS
  981. #define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) \
  982. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  983. #define IDirectDrawMediaSample_AddRef(This) \
  984. (This)->lpVtbl -> AddRef(This)
  985. #define IDirectDrawMediaSample_Release(This) \
  986. (This)->lpVtbl -> Release(This)
  987. #define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) \
  988. (This)->lpVtbl -> GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
  989. #define IDirectDrawMediaSample_LockMediaSamplePointer(This) \
  990. (This)->lpVtbl -> LockMediaSamplePointer(This)
  991. #endif /* COBJMACROS */
  992. #endif /* C style interface */
  993. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy(
  994. IDirectDrawMediaSample * This,
  995. /* [out] */ IDirectDrawSurface **ppDirectDrawSurface,
  996. /* [out] */ RECT *pRect);
  997. void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub(
  998. IRpcStubBuffer *This,
  999. IRpcChannelBuffer *_pRpcChannelBuffer,
  1000. PRPC_MESSAGE _pRpcMessage,
  1001. DWORD *_pdwStubPhase);
  1002. HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_LockMediaSamplePointer_Proxy(
  1003. IDirectDrawMediaSample * This);
  1004. void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub(
  1005. IRpcStubBuffer *This,
  1006. IRpcChannelBuffer *_pRpcChannelBuffer,
  1007. PRPC_MESSAGE _pRpcMessage,
  1008. DWORD *_pdwStubPhase);
  1009. #endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */
  1010. #ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__
  1011. #define __IAMMediaTypeStream_INTERFACE_DEFINED__
  1012. /* interface IAMMediaTypeStream */
  1013. /* [unique][uuid][local][object] */
  1014. EXTERN_C const IID IID_IAMMediaTypeStream;
  1015. #if defined(__cplusplus) && !defined(CINTERFACE)
  1016. MIDL_INTERFACE("AB6B4AFA-F6E4-11d0-900D-00C04FD9189D")
  1017. IAMMediaTypeStream : public IMediaStream
  1018. {
  1019. public:
  1020. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  1021. /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1022. /* [in] */ DWORD dwFlags) = 0;
  1023. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  1024. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1025. /* [in] */ DWORD dwFlags) = 0;
  1026. virtual HRESULT STDMETHODCALLTYPE CreateSample(
  1027. /* [in] */ long lSampleSize,
  1028. /* [in] */ BYTE *pbBuffer,
  1029. /* [in] */ DWORD dwFlags,
  1030. /* [in] */ IUnknown *pUnkOuter,
  1031. /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample) = 0;
  1032. virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements(
  1033. /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  1034. virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements(
  1035. /* [in] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  1036. };
  1037. #else /* C style interface */
  1038. typedef struct IAMMediaTypeStreamVtbl
  1039. {
  1040. BEGIN_INTERFACE
  1041. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1042. IAMMediaTypeStream * This,
  1043. /* [in] */ REFIID riid,
  1044. /* [iid_is][out] */ void **ppvObject);
  1045. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1046. IAMMediaTypeStream * This);
  1047. ULONG ( STDMETHODCALLTYPE *Release )(
  1048. IAMMediaTypeStream * This);
  1049. HRESULT ( STDMETHODCALLTYPE *GetMultiMediaStream )(
  1050. IAMMediaTypeStream * This,
  1051. /* [out] */ IMultiMediaStream **ppMultiMediaStream);
  1052. HRESULT ( STDMETHODCALLTYPE *GetInformation )(
  1053. IAMMediaTypeStream * This,
  1054. /* [out] */ MSPID *pPurposeId,
  1055. /* [out] */ STREAM_TYPE *pType);
  1056. HRESULT ( STDMETHODCALLTYPE *SetSameFormat )(
  1057. IAMMediaTypeStream * This,
  1058. /* [in] */ IMediaStream *pStreamThatHasDesiredFormat,
  1059. /* [in] */ DWORD dwFlags);
  1060. HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
  1061. IAMMediaTypeStream * This,
  1062. /* [in] */ DWORD dwFlags,
  1063. /* [out] */ IStreamSample **ppSample);
  1064. HRESULT ( STDMETHODCALLTYPE *CreateSharedSample )(
  1065. IAMMediaTypeStream * This,
  1066. /* [in] */ IStreamSample *pExistingSample,
  1067. /* [in] */ DWORD dwFlags,
  1068. /* [out] */ IStreamSample **ppNewSample);
  1069. HRESULT ( STDMETHODCALLTYPE *SendEndOfStream )(
  1070. IAMMediaTypeStream * This,
  1071. DWORD dwFlags);
  1072. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  1073. IAMMediaTypeStream * This,
  1074. /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1075. /* [in] */ DWORD dwFlags);
  1076. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  1077. IAMMediaTypeStream * This,
  1078. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1079. /* [in] */ DWORD dwFlags);
  1080. HRESULT ( STDMETHODCALLTYPE *CreateSample )(
  1081. IAMMediaTypeStream * This,
  1082. /* [in] */ long lSampleSize,
  1083. /* [in] */ BYTE *pbBuffer,
  1084. /* [in] */ DWORD dwFlags,
  1085. /* [in] */ IUnknown *pUnkOuter,
  1086. /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
  1087. HRESULT ( STDMETHODCALLTYPE *GetStreamAllocatorRequirements )(
  1088. IAMMediaTypeStream * This,
  1089. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  1090. HRESULT ( STDMETHODCALLTYPE *SetStreamAllocatorRequirements )(
  1091. IAMMediaTypeStream * This,
  1092. /* [in] */ ALLOCATOR_PROPERTIES *pProps);
  1093. END_INTERFACE
  1094. } IAMMediaTypeStreamVtbl;
  1095. interface IAMMediaTypeStream
  1096. {
  1097. CONST_VTBL struct IAMMediaTypeStreamVtbl *lpVtbl;
  1098. };
  1099. #ifdef COBJMACROS
  1100. #define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) \
  1101. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1102. #define IAMMediaTypeStream_AddRef(This) \
  1103. (This)->lpVtbl -> AddRef(This)
  1104. #define IAMMediaTypeStream_Release(This) \
  1105. (This)->lpVtbl -> Release(This)
  1106. #define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) \
  1107. (This)->lpVtbl -> GetMultiMediaStream(This,ppMultiMediaStream)
  1108. #define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) \
  1109. (This)->lpVtbl -> GetInformation(This,pPurposeId,pType)
  1110. #define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) \
  1111. (This)->lpVtbl -> SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
  1112. #define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) \
  1113. (This)->lpVtbl -> AllocateSample(This,dwFlags,ppSample)
  1114. #define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) \
  1115. (This)->lpVtbl -> CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
  1116. #define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) \
  1117. (This)->lpVtbl -> SendEndOfStream(This,dwFlags)
  1118. #define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) \
  1119. (This)->lpVtbl -> GetFormat(This,pMediaType,dwFlags)
  1120. #define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) \
  1121. (This)->lpVtbl -> SetFormat(This,pMediaType,dwFlags)
  1122. #define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) \
  1123. (This)->lpVtbl -> CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
  1124. #define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) \
  1125. (This)->lpVtbl -> GetStreamAllocatorRequirements(This,pProps)
  1126. #define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) \
  1127. (This)->lpVtbl -> SetStreamAllocatorRequirements(This,pProps)
  1128. #endif /* COBJMACROS */
  1129. #endif /* C style interface */
  1130. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetFormat_Proxy(
  1131. IAMMediaTypeStream * This,
  1132. /* [out] */ AM_MEDIA_TYPE *pMediaType,
  1133. /* [in] */ DWORD dwFlags);
  1134. void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub(
  1135. IRpcStubBuffer *This,
  1136. IRpcChannelBuffer *_pRpcChannelBuffer,
  1137. PRPC_MESSAGE _pRpcMessage,
  1138. DWORD *_pdwStubPhase);
  1139. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetFormat_Proxy(
  1140. IAMMediaTypeStream * This,
  1141. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  1142. /* [in] */ DWORD dwFlags);
  1143. void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub(
  1144. IRpcStubBuffer *This,
  1145. IRpcChannelBuffer *_pRpcChannelBuffer,
  1146. PRPC_MESSAGE _pRpcMessage,
  1147. DWORD *_pdwStubPhase);
  1148. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_CreateSample_Proxy(
  1149. IAMMediaTypeStream * This,
  1150. /* [in] */ long lSampleSize,
  1151. /* [in] */ BYTE *pbBuffer,
  1152. /* [in] */ DWORD dwFlags,
  1153. /* [in] */ IUnknown *pUnkOuter,
  1154. /* [out] */ IAMMediaTypeSample **ppAMMediaTypeSample);
  1155. void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub(
  1156. IRpcStubBuffer *This,
  1157. IRpcChannelBuffer *_pRpcChannelBuffer,
  1158. PRPC_MESSAGE _pRpcMessage,
  1159. DWORD *_pdwStubPhase);
  1160. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy(
  1161. IAMMediaTypeStream * This,
  1162. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  1163. void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
  1164. IRpcStubBuffer *This,
  1165. IRpcChannelBuffer *_pRpcChannelBuffer,
  1166. PRPC_MESSAGE _pRpcMessage,
  1167. DWORD *_pdwStubPhase);
  1168. HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy(
  1169. IAMMediaTypeStream * This,
  1170. /* [in] */ ALLOCATOR_PROPERTIES *pProps);
  1171. void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub(
  1172. IRpcStubBuffer *This,
  1173. IRpcChannelBuffer *_pRpcChannelBuffer,
  1174. PRPC_MESSAGE _pRpcMessage,
  1175. DWORD *_pdwStubPhase);
  1176. #endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */
  1177. #ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__
  1178. #define __IAMMediaTypeSample_INTERFACE_DEFINED__
  1179. /* interface IAMMediaTypeSample */
  1180. /* [unique][uuid][local][object] */
  1181. EXTERN_C const IID IID_IAMMediaTypeSample;
  1182. #if defined(__cplusplus) && !defined(CINTERFACE)
  1183. MIDL_INTERFACE("AB6B4AFB-F6E4-11d0-900D-00C04FD9189D")
  1184. IAMMediaTypeSample : public IStreamSample
  1185. {
  1186. public:
  1187. virtual HRESULT STDMETHODCALLTYPE SetPointer(
  1188. /* [in] */ BYTE *pBuffer,
  1189. /* [in] */ long lSize) = 0;
  1190. virtual HRESULT STDMETHODCALLTYPE GetPointer(
  1191. /* [out] */ BYTE **ppBuffer) = 0;
  1192. virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  1193. virtual HRESULT STDMETHODCALLTYPE GetTime(
  1194. /* [out] */ REFERENCE_TIME *pTimeStart,
  1195. /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  1196. virtual HRESULT STDMETHODCALLTYPE SetTime(
  1197. /* [in] */ REFERENCE_TIME *pTimeStart,
  1198. /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  1199. virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  1200. virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
  1201. BOOL bIsSyncPoint) = 0;
  1202. virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  1203. virtual HRESULT STDMETHODCALLTYPE SetPreroll(
  1204. BOOL bIsPreroll) = 0;
  1205. virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  1206. virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
  1207. long __MIDL_0017) = 0;
  1208. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  1209. AM_MEDIA_TYPE **ppMediaType) = 0;
  1210. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  1211. AM_MEDIA_TYPE *pMediaType) = 0;
  1212. virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  1213. virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
  1214. BOOL bDiscontinuity) = 0;
  1215. virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
  1216. /* [out] */ LONGLONG *pTimeStart,
  1217. /* [out] */ LONGLONG *pTimeEnd) = 0;
  1218. virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
  1219. /* [in] */ LONGLONG *pTimeStart,
  1220. /* [in] */ LONGLONG *pTimeEnd) = 0;
  1221. };
  1222. #else /* C style interface */
  1223. typedef struct IAMMediaTypeSampleVtbl
  1224. {
  1225. BEGIN_INTERFACE
  1226. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1227. IAMMediaTypeSample * This,
  1228. /* [in] */ REFIID riid,
  1229. /* [iid_is][out] */ void **ppvObject);
  1230. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1231. IAMMediaTypeSample * This);
  1232. ULONG ( STDMETHODCALLTYPE *Release )(
  1233. IAMMediaTypeSample * This);
  1234. HRESULT ( STDMETHODCALLTYPE *GetMediaStream )(
  1235. IAMMediaTypeSample * This,
  1236. /* [in] */ IMediaStream **ppMediaStream);
  1237. HRESULT ( STDMETHODCALLTYPE *GetSampleTimes )(
  1238. IAMMediaTypeSample * This,
  1239. /* [out] */ STREAM_TIME *pStartTime,
  1240. /* [out] */ STREAM_TIME *pEndTime,
  1241. /* [out] */ STREAM_TIME *pCurrentTime);
  1242. HRESULT ( STDMETHODCALLTYPE *SetSampleTimes )(
  1243. IAMMediaTypeSample * This,
  1244. /* [in] */ const STREAM_TIME *pStartTime,
  1245. /* [in] */ const STREAM_TIME *pEndTime);
  1246. HRESULT ( STDMETHODCALLTYPE *Update )(
  1247. IAMMediaTypeSample * This,
  1248. /* [in] */ DWORD dwFlags,
  1249. /* [in] */ HANDLE hEvent,
  1250. /* [in] */ PAPCFUNC pfnAPC,
  1251. /* [in] */ DWORD_PTR dwAPCData);
  1252. HRESULT ( STDMETHODCALLTYPE *CompletionStatus )(
  1253. IAMMediaTypeSample * This,
  1254. /* [in] */ DWORD dwFlags,
  1255. /* [in] */ DWORD dwMilliseconds);
  1256. HRESULT ( STDMETHODCALLTYPE *SetPointer )(
  1257. IAMMediaTypeSample * This,
  1258. /* [in] */ BYTE *pBuffer,
  1259. /* [in] */ long lSize);
  1260. HRESULT ( STDMETHODCALLTYPE *GetPointer )(
  1261. IAMMediaTypeSample * This,
  1262. /* [out] */ BYTE **ppBuffer);
  1263. long ( STDMETHODCALLTYPE *GetSize )(
  1264. IAMMediaTypeSample * This);
  1265. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  1266. IAMMediaTypeSample * This,
  1267. /* [out] */ REFERENCE_TIME *pTimeStart,
  1268. /* [out] */ REFERENCE_TIME *pTimeEnd);
  1269. HRESULT ( STDMETHODCALLTYPE *SetTime )(
  1270. IAMMediaTypeSample * This,
  1271. /* [in] */ REFERENCE_TIME *pTimeStart,
  1272. /* [in] */ REFERENCE_TIME *pTimeEnd);
  1273. HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
  1274. IAMMediaTypeSample * This);
  1275. HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
  1276. IAMMediaTypeSample * This,
  1277. BOOL bIsSyncPoint);
  1278. HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
  1279. IAMMediaTypeSample * This);
  1280. HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
  1281. IAMMediaTypeSample * This,
  1282. BOOL bIsPreroll);
  1283. long ( STDMETHODCALLTYPE *GetActualDataLength )(
  1284. IAMMediaTypeSample * This);
  1285. HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
  1286. IAMMediaTypeSample * This,
  1287. long __MIDL_0017);
  1288. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  1289. IAMMediaTypeSample * This,
  1290. AM_MEDIA_TYPE **ppMediaType);
  1291. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  1292. IAMMediaTypeSample * This,
  1293. AM_MEDIA_TYPE *pMediaType);
  1294. HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
  1295. IAMMediaTypeSample * This);
  1296. HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
  1297. IAMMediaTypeSample * This,
  1298. BOOL bDiscontinuity);
  1299. HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
  1300. IAMMediaTypeSample * This,
  1301. /* [out] */ LONGLONG *pTimeStart,
  1302. /* [out] */ LONGLONG *pTimeEnd);
  1303. HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
  1304. IAMMediaTypeSample * This,
  1305. /* [in] */ LONGLONG *pTimeStart,
  1306. /* [in] */ LONGLONG *pTimeEnd);
  1307. END_INTERFACE
  1308. } IAMMediaTypeSampleVtbl;
  1309. interface IAMMediaTypeSample
  1310. {
  1311. CONST_VTBL struct IAMMediaTypeSampleVtbl *lpVtbl;
  1312. };
  1313. #ifdef COBJMACROS
  1314. #define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) \
  1315. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1316. #define IAMMediaTypeSample_AddRef(This) \
  1317. (This)->lpVtbl -> AddRef(This)
  1318. #define IAMMediaTypeSample_Release(This) \
  1319. (This)->lpVtbl -> Release(This)
  1320. #define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) \
  1321. (This)->lpVtbl -> GetMediaStream(This,ppMediaStream)
  1322. #define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) \
  1323. (This)->lpVtbl -> GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
  1324. #define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) \
  1325. (This)->lpVtbl -> SetSampleTimes(This,pStartTime,pEndTime)
  1326. #define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) \
  1327. (This)->lpVtbl -> Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
  1328. #define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) \
  1329. (This)->lpVtbl -> CompletionStatus(This,dwFlags,dwMilliseconds)
  1330. #define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) \
  1331. (This)->lpVtbl -> SetPointer(This,pBuffer,lSize)
  1332. #define IAMMediaTypeSample_GetPointer(This,ppBuffer) \
  1333. (This)->lpVtbl -> GetPointer(This,ppBuffer)
  1334. #define IAMMediaTypeSample_GetSize(This) \
  1335. (This)->lpVtbl -> GetSize(This)
  1336. #define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) \
  1337. (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  1338. #define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) \
  1339. (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  1340. #define IAMMediaTypeSample_IsSyncPoint(This) \
  1341. (This)->lpVtbl -> IsSyncPoint(This)
  1342. #define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) \
  1343. (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  1344. #define IAMMediaTypeSample_IsPreroll(This) \
  1345. (This)->lpVtbl -> IsPreroll(This)
  1346. #define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) \
  1347. (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  1348. #define IAMMediaTypeSample_GetActualDataLength(This) \
  1349. (This)->lpVtbl -> GetActualDataLength(This)
  1350. #define IAMMediaTypeSample_SetActualDataLength(This,__MIDL_0017) \
  1351. (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0017)
  1352. #define IAMMediaTypeSample_GetMediaType(This,ppMediaType) \
  1353. (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  1354. #define IAMMediaTypeSample_SetMediaType(This,pMediaType) \
  1355. (This)->lpVtbl -> SetMediaType(This,pMediaType)
  1356. #define IAMMediaTypeSample_IsDiscontinuity(This) \
  1357. (This)->lpVtbl -> IsDiscontinuity(This)
  1358. #define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) \
  1359. (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  1360. #define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) \
  1361. (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  1362. #define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) \
  1363. (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  1364. #endif /* COBJMACROS */
  1365. #endif /* C style interface */
  1366. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPointer_Proxy(
  1367. IAMMediaTypeSample * This,
  1368. /* [in] */ BYTE *pBuffer,
  1369. /* [in] */ long lSize);
  1370. void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub(
  1371. IRpcStubBuffer *This,
  1372. IRpcChannelBuffer *_pRpcChannelBuffer,
  1373. PRPC_MESSAGE _pRpcMessage,
  1374. DWORD *_pdwStubPhase);
  1375. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy(
  1376. IAMMediaTypeSample * This,
  1377. /* [out] */ BYTE **ppBuffer);
  1378. void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub(
  1379. IRpcStubBuffer *This,
  1380. IRpcChannelBuffer *_pRpcChannelBuffer,
  1381. PRPC_MESSAGE _pRpcMessage,
  1382. DWORD *_pdwStubPhase);
  1383. long STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy(
  1384. IAMMediaTypeSample * This);
  1385. void __RPC_STUB IAMMediaTypeSample_GetSize_Stub(
  1386. IRpcStubBuffer *This,
  1387. IRpcChannelBuffer *_pRpcChannelBuffer,
  1388. PRPC_MESSAGE _pRpcMessage,
  1389. DWORD *_pdwStubPhase);
  1390. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetTime_Proxy(
  1391. IAMMediaTypeSample * This,
  1392. /* [out] */ REFERENCE_TIME *pTimeStart,
  1393. /* [out] */ REFERENCE_TIME *pTimeEnd);
  1394. void __RPC_STUB IAMMediaTypeSample_GetTime_Stub(
  1395. IRpcStubBuffer *This,
  1396. IRpcChannelBuffer *_pRpcChannelBuffer,
  1397. PRPC_MESSAGE _pRpcMessage,
  1398. DWORD *_pdwStubPhase);
  1399. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetTime_Proxy(
  1400. IAMMediaTypeSample * This,
  1401. /* [in] */ REFERENCE_TIME *pTimeStart,
  1402. /* [in] */ REFERENCE_TIME *pTimeEnd);
  1403. void __RPC_STUB IAMMediaTypeSample_SetTime_Stub(
  1404. IRpcStubBuffer *This,
  1405. IRpcChannelBuffer *_pRpcChannelBuffer,
  1406. PRPC_MESSAGE _pRpcMessage,
  1407. DWORD *_pdwStubPhase);
  1408. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy(
  1409. IAMMediaTypeSample * This);
  1410. void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub(
  1411. IRpcStubBuffer *This,
  1412. IRpcChannelBuffer *_pRpcChannelBuffer,
  1413. PRPC_MESSAGE _pRpcMessage,
  1414. DWORD *_pdwStubPhase);
  1415. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy(
  1416. IAMMediaTypeSample * This,
  1417. BOOL bIsSyncPoint);
  1418. void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub(
  1419. IRpcStubBuffer *This,
  1420. IRpcChannelBuffer *_pRpcChannelBuffer,
  1421. PRPC_MESSAGE _pRpcMessage,
  1422. DWORD *_pdwStubPhase);
  1423. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy(
  1424. IAMMediaTypeSample * This);
  1425. void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub(
  1426. IRpcStubBuffer *This,
  1427. IRpcChannelBuffer *_pRpcChannelBuffer,
  1428. PRPC_MESSAGE _pRpcMessage,
  1429. DWORD *_pdwStubPhase);
  1430. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy(
  1431. IAMMediaTypeSample * This,
  1432. BOOL bIsPreroll);
  1433. void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub(
  1434. IRpcStubBuffer *This,
  1435. IRpcChannelBuffer *_pRpcChannelBuffer,
  1436. PRPC_MESSAGE _pRpcMessage,
  1437. DWORD *_pdwStubPhase);
  1438. long STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy(
  1439. IAMMediaTypeSample * This);
  1440. void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub(
  1441. IRpcStubBuffer *This,
  1442. IRpcChannelBuffer *_pRpcChannelBuffer,
  1443. PRPC_MESSAGE _pRpcMessage,
  1444. DWORD *_pdwStubPhase);
  1445. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy(
  1446. IAMMediaTypeSample * This,
  1447. long __MIDL_0017);
  1448. void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub(
  1449. IRpcStubBuffer *This,
  1450. IRpcChannelBuffer *_pRpcChannelBuffer,
  1451. PRPC_MESSAGE _pRpcMessage,
  1452. DWORD *_pdwStubPhase);
  1453. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaType_Proxy(
  1454. IAMMediaTypeSample * This,
  1455. AM_MEDIA_TYPE **ppMediaType);
  1456. void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub(
  1457. IRpcStubBuffer *This,
  1458. IRpcChannelBuffer *_pRpcChannelBuffer,
  1459. PRPC_MESSAGE _pRpcMessage,
  1460. DWORD *_pdwStubPhase);
  1461. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaType_Proxy(
  1462. IAMMediaTypeSample * This,
  1463. AM_MEDIA_TYPE *pMediaType);
  1464. void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub(
  1465. IRpcStubBuffer *This,
  1466. IRpcChannelBuffer *_pRpcChannelBuffer,
  1467. PRPC_MESSAGE _pRpcMessage,
  1468. DWORD *_pdwStubPhase);
  1469. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy(
  1470. IAMMediaTypeSample * This);
  1471. void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub(
  1472. IRpcStubBuffer *This,
  1473. IRpcChannelBuffer *_pRpcChannelBuffer,
  1474. PRPC_MESSAGE _pRpcMessage,
  1475. DWORD *_pdwStubPhase);
  1476. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy(
  1477. IAMMediaTypeSample * This,
  1478. BOOL bDiscontinuity);
  1479. void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub(
  1480. IRpcStubBuffer *This,
  1481. IRpcChannelBuffer *_pRpcChannelBuffer,
  1482. PRPC_MESSAGE _pRpcMessage,
  1483. DWORD *_pdwStubPhase);
  1484. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaTime_Proxy(
  1485. IAMMediaTypeSample * This,
  1486. /* [out] */ LONGLONG *pTimeStart,
  1487. /* [out] */ LONGLONG *pTimeEnd);
  1488. void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub(
  1489. IRpcStubBuffer *This,
  1490. IRpcChannelBuffer *_pRpcChannelBuffer,
  1491. PRPC_MESSAGE _pRpcMessage,
  1492. DWORD *_pdwStubPhase);
  1493. HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaTime_Proxy(
  1494. IAMMediaTypeSample * This,
  1495. /* [in] */ LONGLONG *pTimeStart,
  1496. /* [in] */ LONGLONG *pTimeEnd);
  1497. void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub(
  1498. IRpcStubBuffer *This,
  1499. IRpcChannelBuffer *_pRpcChannelBuffer,
  1500. PRPC_MESSAGE _pRpcMessage,
  1501. DWORD *_pdwStubPhase);
  1502. #endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */
  1503. #ifndef __DirectShowStreamLib_LIBRARY_DEFINED__
  1504. #define __DirectShowStreamLib_LIBRARY_DEFINED__
  1505. /* library DirectShowStreamLib */
  1506. /* [helpstring][version][uuid] */
  1507. EXTERN_C const IID LIBID_DirectShowStreamLib;
  1508. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  1509. #ifdef __cplusplus
  1510. class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45")
  1511. AMMultiMediaStream;
  1512. #endif
  1513. #endif /* __DirectShowStreamLib_LIBRARY_DEFINED__ */
  1514. /* interface __MIDL_itf_amstream_0421 */
  1515. /* [local] */
  1516. #ifndef __cplusplus
  1517. EXTERN_C const CLSID CLSID_AMMultiMediaStream;
  1518. #endif
  1519. DEFINE_GUID(CLSID_AMDirectDrawStream, /* 49c47ce4-9ba4-11d0-8212-00c04fc32c45 */
  1520. 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1521. DEFINE_GUID(CLSID_AMAudioStream, /* 8496e040-af4c-11d0-8212-00c04fc32c45 */
  1522. 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1523. DEFINE_GUID(CLSID_AMAudioData, /* f2468580-af8a-11d0-8212-00c04fc32c45 */
  1524. 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
  1525. DEFINE_GUID(CLSID_AMMediaTypeStream, /* CF0F2F7C-F7BF-11d0-900D-00C04FD9189D */
  1526. 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);
  1527. extern RPC_IF_HANDLE __MIDL_itf_amstream_0421_v0_0_c_ifspec;
  1528. extern RPC_IF_HANDLE __MIDL_itf_amstream_0421_v0_0_s_ifspec;
  1529. /* Additional Prototypes for ALL interfaces */
  1530. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  1531. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  1532. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  1533. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  1534. /* end of Additional Prototypes */
  1535. #ifdef __cplusplus
  1536. }
  1537. #endif
  1538. #endif