strmif.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:843k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for strmif.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 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 __strmif_h__
  27. #define __strmif_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ICreateDevEnum_FWD_DEFINED__
  33. #define __ICreateDevEnum_FWD_DEFINED__
  34. typedef interface ICreateDevEnum ICreateDevEnum;
  35. #endif  /* __ICreateDevEnum_FWD_DEFINED__ */
  36. #ifndef __IPin_FWD_DEFINED__
  37. #define __IPin_FWD_DEFINED__
  38. typedef interface IPin IPin;
  39. #endif  /* __IPin_FWD_DEFINED__ */
  40. #ifndef __IEnumPins_FWD_DEFINED__
  41. #define __IEnumPins_FWD_DEFINED__
  42. typedef interface IEnumPins IEnumPins;
  43. #endif  /* __IEnumPins_FWD_DEFINED__ */
  44. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  45. #define __IEnumMediaTypes_FWD_DEFINED__
  46. typedef interface IEnumMediaTypes IEnumMediaTypes;
  47. #endif  /* __IEnumMediaTypes_FWD_DEFINED__ */
  48. #ifndef __IFilterGraph_FWD_DEFINED__
  49. #define __IFilterGraph_FWD_DEFINED__
  50. typedef interface IFilterGraph IFilterGraph;
  51. #endif  /* __IFilterGraph_FWD_DEFINED__ */
  52. #ifndef __IEnumFilters_FWD_DEFINED__
  53. #define __IEnumFilters_FWD_DEFINED__
  54. typedef interface IEnumFilters IEnumFilters;
  55. #endif  /* __IEnumFilters_FWD_DEFINED__ */
  56. #ifndef __IMediaFilter_FWD_DEFINED__
  57. #define __IMediaFilter_FWD_DEFINED__
  58. typedef interface IMediaFilter IMediaFilter;
  59. #endif  /* __IMediaFilter_FWD_DEFINED__ */
  60. #ifndef __IBaseFilter_FWD_DEFINED__
  61. #define __IBaseFilter_FWD_DEFINED__
  62. typedef interface IBaseFilter IBaseFilter;
  63. #endif  /* __IBaseFilter_FWD_DEFINED__ */
  64. #ifndef __IReferenceClock_FWD_DEFINED__
  65. #define __IReferenceClock_FWD_DEFINED__
  66. typedef interface IReferenceClock IReferenceClock;
  67. #endif  /* __IReferenceClock_FWD_DEFINED__ */
  68. #ifndef __IReferenceClock2_FWD_DEFINED__
  69. #define __IReferenceClock2_FWD_DEFINED__
  70. typedef interface IReferenceClock2 IReferenceClock2;
  71. #endif  /* __IReferenceClock2_FWD_DEFINED__ */
  72. #ifndef __IMediaSample_FWD_DEFINED__
  73. #define __IMediaSample_FWD_DEFINED__
  74. typedef interface IMediaSample IMediaSample;
  75. #endif  /* __IMediaSample_FWD_DEFINED__ */
  76. #ifndef __IMediaSample2_FWD_DEFINED__
  77. #define __IMediaSample2_FWD_DEFINED__
  78. typedef interface IMediaSample2 IMediaSample2;
  79. #endif  /* __IMediaSample2_FWD_DEFINED__ */
  80. #ifndef __IMemAllocator_FWD_DEFINED__
  81. #define __IMemAllocator_FWD_DEFINED__
  82. typedef interface IMemAllocator IMemAllocator;
  83. #endif  /* __IMemAllocator_FWD_DEFINED__ */
  84. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  85. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  86. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  87. #endif  /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  88. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  89. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  90. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  91. #endif  /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  92. #ifndef __IMemInputPin_FWD_DEFINED__
  93. #define __IMemInputPin_FWD_DEFINED__
  94. typedef interface IMemInputPin IMemInputPin;
  95. #endif  /* __IMemInputPin_FWD_DEFINED__ */
  96. #ifndef __IAMovieSetup_FWD_DEFINED__
  97. #define __IAMovieSetup_FWD_DEFINED__
  98. typedef interface IAMovieSetup IAMovieSetup;
  99. #endif  /* __IAMovieSetup_FWD_DEFINED__ */
  100. #ifndef __IMediaSeeking_FWD_DEFINED__
  101. #define __IMediaSeeking_FWD_DEFINED__
  102. typedef interface IMediaSeeking IMediaSeeking;
  103. #endif  /* __IMediaSeeking_FWD_DEFINED__ */
  104. #ifndef __IEnumRegFilters_FWD_DEFINED__
  105. #define __IEnumRegFilters_FWD_DEFINED__
  106. typedef interface IEnumRegFilters IEnumRegFilters;
  107. #endif  /* __IEnumRegFilters_FWD_DEFINED__ */
  108. #ifndef __IFilterMapper_FWD_DEFINED__
  109. #define __IFilterMapper_FWD_DEFINED__
  110. typedef interface IFilterMapper IFilterMapper;
  111. #endif  /* __IFilterMapper_FWD_DEFINED__ */
  112. #ifndef __IFilterMapper2_FWD_DEFINED__
  113. #define __IFilterMapper2_FWD_DEFINED__
  114. typedef interface IFilterMapper2 IFilterMapper2;
  115. #endif  /* __IFilterMapper2_FWD_DEFINED__ */
  116. #ifndef __IFilterMapper3_FWD_DEFINED__
  117. #define __IFilterMapper3_FWD_DEFINED__
  118. typedef interface IFilterMapper3 IFilterMapper3;
  119. #endif  /* __IFilterMapper3_FWD_DEFINED__ */
  120. #ifndef __IQualityControl_FWD_DEFINED__
  121. #define __IQualityControl_FWD_DEFINED__
  122. typedef interface IQualityControl IQualityControl;
  123. #endif  /* __IQualityControl_FWD_DEFINED__ */
  124. #ifndef __IOverlayNotify_FWD_DEFINED__
  125. #define __IOverlayNotify_FWD_DEFINED__
  126. typedef interface IOverlayNotify IOverlayNotify;
  127. #endif  /* __IOverlayNotify_FWD_DEFINED__ */
  128. #ifndef __IOverlayNotify2_FWD_DEFINED__
  129. #define __IOverlayNotify2_FWD_DEFINED__
  130. typedef interface IOverlayNotify2 IOverlayNotify2;
  131. #endif  /* __IOverlayNotify2_FWD_DEFINED__ */
  132. #ifndef __IOverlay_FWD_DEFINED__
  133. #define __IOverlay_FWD_DEFINED__
  134. typedef interface IOverlay IOverlay;
  135. #endif  /* __IOverlay_FWD_DEFINED__ */
  136. #ifndef __IMediaEventSink_FWD_DEFINED__
  137. #define __IMediaEventSink_FWD_DEFINED__
  138. typedef interface IMediaEventSink IMediaEventSink;
  139. #endif  /* __IMediaEventSink_FWD_DEFINED__ */
  140. #ifndef __IFileSourceFilter_FWD_DEFINED__
  141. #define __IFileSourceFilter_FWD_DEFINED__
  142. typedef interface IFileSourceFilter IFileSourceFilter;
  143. #endif  /* __IFileSourceFilter_FWD_DEFINED__ */
  144. #ifndef __IFileSinkFilter_FWD_DEFINED__
  145. #define __IFileSinkFilter_FWD_DEFINED__
  146. typedef interface IFileSinkFilter IFileSinkFilter;
  147. #endif  /* __IFileSinkFilter_FWD_DEFINED__ */
  148. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  149. #define __IFileSinkFilter2_FWD_DEFINED__
  150. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  151. #endif  /* __IFileSinkFilter2_FWD_DEFINED__ */
  152. #ifndef __IGraphBuilder_FWD_DEFINED__
  153. #define __IGraphBuilder_FWD_DEFINED__
  154. typedef interface IGraphBuilder IGraphBuilder;
  155. #endif  /* __IGraphBuilder_FWD_DEFINED__ */
  156. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  157. #define __ICaptureGraphBuilder_FWD_DEFINED__
  158. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  159. #endif  /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  160. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  161. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  162. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  163. #endif  /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  164. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  165. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  166. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  167. #endif  /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  168. #ifndef __IFilterGraph2_FWD_DEFINED__
  169. #define __IFilterGraph2_FWD_DEFINED__
  170. typedef interface IFilterGraph2 IFilterGraph2;
  171. #endif  /* __IFilterGraph2_FWD_DEFINED__ */
  172. #ifndef __IStreamBuilder_FWD_DEFINED__
  173. #define __IStreamBuilder_FWD_DEFINED__
  174. typedef interface IStreamBuilder IStreamBuilder;
  175. #endif  /* __IStreamBuilder_FWD_DEFINED__ */
  176. #ifndef __IAsyncReader_FWD_DEFINED__
  177. #define __IAsyncReader_FWD_DEFINED__
  178. typedef interface IAsyncReader IAsyncReader;
  179. #endif  /* __IAsyncReader_FWD_DEFINED__ */
  180. #ifndef __IGraphVersion_FWD_DEFINED__
  181. #define __IGraphVersion_FWD_DEFINED__
  182. typedef interface IGraphVersion IGraphVersion;
  183. #endif  /* __IGraphVersion_FWD_DEFINED__ */
  184. #ifndef __IResourceConsumer_FWD_DEFINED__
  185. #define __IResourceConsumer_FWD_DEFINED__
  186. typedef interface IResourceConsumer IResourceConsumer;
  187. #endif  /* __IResourceConsumer_FWD_DEFINED__ */
  188. #ifndef __IResourceManager_FWD_DEFINED__
  189. #define __IResourceManager_FWD_DEFINED__
  190. typedef interface IResourceManager IResourceManager;
  191. #endif  /* __IResourceManager_FWD_DEFINED__ */
  192. #ifndef __IDistributorNotify_FWD_DEFINED__
  193. #define __IDistributorNotify_FWD_DEFINED__
  194. typedef interface IDistributorNotify IDistributorNotify;
  195. #endif  /* __IDistributorNotify_FWD_DEFINED__ */
  196. #ifndef __IAMStreamControl_FWD_DEFINED__
  197. #define __IAMStreamControl_FWD_DEFINED__
  198. typedef interface IAMStreamControl IAMStreamControl;
  199. #endif  /* __IAMStreamControl_FWD_DEFINED__ */
  200. #ifndef __ISeekingPassThru_FWD_DEFINED__
  201. #define __ISeekingPassThru_FWD_DEFINED__
  202. typedef interface ISeekingPassThru ISeekingPassThru;
  203. #endif  /* __ISeekingPassThru_FWD_DEFINED__ */
  204. #ifndef __IAMStreamConfig_FWD_DEFINED__
  205. #define __IAMStreamConfig_FWD_DEFINED__
  206. typedef interface IAMStreamConfig IAMStreamConfig;
  207. #endif  /* __IAMStreamConfig_FWD_DEFINED__ */
  208. #ifndef __IConfigInterleaving_FWD_DEFINED__
  209. #define __IConfigInterleaving_FWD_DEFINED__
  210. typedef interface IConfigInterleaving IConfigInterleaving;
  211. #endif  /* __IConfigInterleaving_FWD_DEFINED__ */
  212. #ifndef __IConfigAviMux_FWD_DEFINED__
  213. #define __IConfigAviMux_FWD_DEFINED__
  214. typedef interface IConfigAviMux IConfigAviMux;
  215. #endif  /* __IConfigAviMux_FWD_DEFINED__ */
  216. #ifndef __IAMVideoCompression_FWD_DEFINED__
  217. #define __IAMVideoCompression_FWD_DEFINED__
  218. typedef interface IAMVideoCompression IAMVideoCompression;
  219. #endif  /* __IAMVideoCompression_FWD_DEFINED__ */
  220. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  221. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  222. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  223. #endif  /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  224. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  225. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  226. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  227. #endif  /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  228. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  229. #define __IAMDroppedFrames_FWD_DEFINED__
  230. typedef interface IAMDroppedFrames IAMDroppedFrames;
  231. #endif  /* __IAMDroppedFrames_FWD_DEFINED__ */
  232. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  233. #define __IAMAudioInputMixer_FWD_DEFINED__
  234. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  235. #endif  /* __IAMAudioInputMixer_FWD_DEFINED__ */
  236. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  237. #define __IAMBufferNegotiation_FWD_DEFINED__
  238. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  239. #endif  /* __IAMBufferNegotiation_FWD_DEFINED__ */
  240. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  241. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  242. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  243. #endif  /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  244. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  245. #define __IAMVideoProcAmp_FWD_DEFINED__
  246. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  247. #endif  /* __IAMVideoProcAmp_FWD_DEFINED__ */
  248. #ifndef __IAMCameraControl_FWD_DEFINED__
  249. #define __IAMCameraControl_FWD_DEFINED__
  250. typedef interface IAMCameraControl IAMCameraControl;
  251. #endif  /* __IAMCameraControl_FWD_DEFINED__ */
  252. #ifndef __IAMVideoControl_FWD_DEFINED__
  253. #define __IAMVideoControl_FWD_DEFINED__
  254. typedef interface IAMVideoControl IAMVideoControl;
  255. #endif  /* __IAMVideoControl_FWD_DEFINED__ */
  256. #ifndef __IAMCrossbar_FWD_DEFINED__
  257. #define __IAMCrossbar_FWD_DEFINED__
  258. typedef interface IAMCrossbar IAMCrossbar;
  259. #endif  /* __IAMCrossbar_FWD_DEFINED__ */
  260. #ifndef __IAMTuner_FWD_DEFINED__
  261. #define __IAMTuner_FWD_DEFINED__
  262. typedef interface IAMTuner IAMTuner;
  263. #endif  /* __IAMTuner_FWD_DEFINED__ */
  264. #ifndef __IAMTunerNotification_FWD_DEFINED__
  265. #define __IAMTunerNotification_FWD_DEFINED__
  266. typedef interface IAMTunerNotification IAMTunerNotification;
  267. #endif  /* __IAMTunerNotification_FWD_DEFINED__ */
  268. #ifndef __IAMTVTuner_FWD_DEFINED__
  269. #define __IAMTVTuner_FWD_DEFINED__
  270. typedef interface IAMTVTuner IAMTVTuner;
  271. #endif  /* __IAMTVTuner_FWD_DEFINED__ */
  272. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  273. #define __IBPCSatelliteTuner_FWD_DEFINED__
  274. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  275. #endif  /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  276. #ifndef __IAMTVAudio_FWD_DEFINED__
  277. #define __IAMTVAudio_FWD_DEFINED__
  278. typedef interface IAMTVAudio IAMTVAudio;
  279. #endif  /* __IAMTVAudio_FWD_DEFINED__ */
  280. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  281. #define __IAMTVAudioNotification_FWD_DEFINED__
  282. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  283. #endif  /* __IAMTVAudioNotification_FWD_DEFINED__ */
  284. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  285. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  286. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  287. #endif  /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  288. #ifndef __IKsPropertySet_FWD_DEFINED__
  289. #define __IKsPropertySet_FWD_DEFINED__
  290. typedef interface IKsPropertySet IKsPropertySet;
  291. #endif  /* __IKsPropertySet_FWD_DEFINED__ */
  292. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  293. #define __IMediaPropertyBag_FWD_DEFINED__
  294. typedef interface IMediaPropertyBag IMediaPropertyBag;
  295. #endif  /* __IMediaPropertyBag_FWD_DEFINED__ */
  296. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  297. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  298. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  299. #endif  /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  300. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  301. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  302. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  303. #endif  /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  304. #ifndef __IAMExtDevice_FWD_DEFINED__
  305. #define __IAMExtDevice_FWD_DEFINED__
  306. typedef interface IAMExtDevice IAMExtDevice;
  307. #endif  /* __IAMExtDevice_FWD_DEFINED__ */
  308. #ifndef __IAMExtTransport_FWD_DEFINED__
  309. #define __IAMExtTransport_FWD_DEFINED__
  310. typedef interface IAMExtTransport IAMExtTransport;
  311. #endif  /* __IAMExtTransport_FWD_DEFINED__ */
  312. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  313. #define __IAMTimecodeReader_FWD_DEFINED__
  314. typedef interface IAMTimecodeReader IAMTimecodeReader;
  315. #endif  /* __IAMTimecodeReader_FWD_DEFINED__ */
  316. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  317. #define __IAMTimecodeGenerator_FWD_DEFINED__
  318. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  319. #endif  /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  320. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  321. #define __IAMTimecodeDisplay_FWD_DEFINED__
  322. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  323. #endif  /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  324. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  325. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  326. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  327. #endif  /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  328. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  329. #define __IAMDevMemoryControl_FWD_DEFINED__
  330. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  331. #endif  /* __IAMDevMemoryControl_FWD_DEFINED__ */
  332. #ifndef __IAMStreamSelect_FWD_DEFINED__
  333. #define __IAMStreamSelect_FWD_DEFINED__
  334. typedef interface IAMStreamSelect IAMStreamSelect;
  335. #endif  /* __IAMStreamSelect_FWD_DEFINED__ */
  336. #ifndef __IAMResourceControl_FWD_DEFINED__
  337. #define __IAMResourceControl_FWD_DEFINED__
  338. typedef interface IAMResourceControl IAMResourceControl;
  339. #endif  /* __IAMResourceControl_FWD_DEFINED__ */
  340. #ifndef __IAMClockAdjust_FWD_DEFINED__
  341. #define __IAMClockAdjust_FWD_DEFINED__
  342. typedef interface IAMClockAdjust IAMClockAdjust;
  343. #endif  /* __IAMClockAdjust_FWD_DEFINED__ */
  344. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  345. #define __IAMFilterMiscFlags_FWD_DEFINED__
  346. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  347. #endif  /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  348. #ifndef __IDrawVideoImage_FWD_DEFINED__
  349. #define __IDrawVideoImage_FWD_DEFINED__
  350. typedef interface IDrawVideoImage IDrawVideoImage;
  351. #endif  /* __IDrawVideoImage_FWD_DEFINED__ */
  352. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  353. #define __IDecimateVideoImage_FWD_DEFINED__
  354. typedef interface IDecimateVideoImage IDecimateVideoImage;
  355. #endif  /* __IDecimateVideoImage_FWD_DEFINED__ */
  356. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  357. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  358. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  359. #endif  /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  360. #ifndef __IVideoFrameStep_FWD_DEFINED__
  361. #define __IVideoFrameStep_FWD_DEFINED__
  362. typedef interface IVideoFrameStep IVideoFrameStep;
  363. #endif  /* __IVideoFrameStep_FWD_DEFINED__ */
  364. #ifndef __IAMLatency_FWD_DEFINED__
  365. #define __IAMLatency_FWD_DEFINED__
  366. typedef interface IAMLatency IAMLatency;
  367. #endif  /* __IAMLatency_FWD_DEFINED__ */
  368. #ifndef __IAMPushSource_FWD_DEFINED__
  369. #define __IAMPushSource_FWD_DEFINED__
  370. typedef interface IAMPushSource IAMPushSource;
  371. #endif  /* __IAMPushSource_FWD_DEFINED__ */
  372. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  373. #define __IAMDeviceRemoval_FWD_DEFINED__
  374. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  375. #endif  /* __IAMDeviceRemoval_FWD_DEFINED__ */
  376. #ifndef __IDVEnc_FWD_DEFINED__
  377. #define __IDVEnc_FWD_DEFINED__
  378. typedef interface IDVEnc IDVEnc;
  379. #endif  /* __IDVEnc_FWD_DEFINED__ */
  380. #ifndef __IIPDVDec_FWD_DEFINED__
  381. #define __IIPDVDec_FWD_DEFINED__
  382. typedef interface IIPDVDec IIPDVDec;
  383. #endif  /* __IIPDVDec_FWD_DEFINED__ */
  384. #ifndef __IDVRGB219_FWD_DEFINED__
  385. #define __IDVRGB219_FWD_DEFINED__
  386. typedef interface IDVRGB219 IDVRGB219;
  387. #endif  /* __IDVRGB219_FWD_DEFINED__ */
  388. #ifndef __IDVSplitter_FWD_DEFINED__
  389. #define __IDVSplitter_FWD_DEFINED__
  390. typedef interface IDVSplitter IDVSplitter;
  391. #endif  /* __IDVSplitter_FWD_DEFINED__ */
  392. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  393. #define __IAMAudioRendererStats_FWD_DEFINED__
  394. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  395. #endif  /* __IAMAudioRendererStats_FWD_DEFINED__ */
  396. #ifndef __IAMGraphStreams_FWD_DEFINED__
  397. #define __IAMGraphStreams_FWD_DEFINED__
  398. typedef interface IAMGraphStreams IAMGraphStreams;
  399. #endif  /* __IAMGraphStreams_FWD_DEFINED__ */
  400. #ifndef __IAMOverlayFX_FWD_DEFINED__
  401. #define __IAMOverlayFX_FWD_DEFINED__
  402. typedef interface IAMOverlayFX IAMOverlayFX;
  403. #endif  /* __IAMOverlayFX_FWD_DEFINED__ */
  404. #ifndef __IAMOpenProgress_FWD_DEFINED__
  405. #define __IAMOpenProgress_FWD_DEFINED__
  406. typedef interface IAMOpenProgress IAMOpenProgress;
  407. #endif  /* __IAMOpenProgress_FWD_DEFINED__ */
  408. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  409. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  410. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  411. #endif  /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  412. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  413. #define __IEnumStreamIdMap_FWD_DEFINED__
  414. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  415. #endif  /* __IEnumStreamIdMap_FWD_DEFINED__ */
  416. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  417. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  418. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  419. #endif  /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  420. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  421. #define __IRegisterServiceProvider_FWD_DEFINED__
  422. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  423. #endif  /* __IRegisterServiceProvider_FWD_DEFINED__ */
  424. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  425. #define __IAMDecoderCaps_FWD_DEFINED__
  426. typedef interface IAMDecoderCaps IAMDecoderCaps;
  427. #endif  /* __IAMDecoderCaps_FWD_DEFINED__ */
  428. #ifndef __IAMClockSlave_FWD_DEFINED__
  429. #define __IAMClockSlave_FWD_DEFINED__
  430. typedef interface IAMClockSlave IAMClockSlave;
  431. #endif  /* __IAMClockSlave_FWD_DEFINED__ */
  432. #ifndef __IDvdControl_FWD_DEFINED__
  433. #define __IDvdControl_FWD_DEFINED__
  434. typedef interface IDvdControl IDvdControl;
  435. #endif  /* __IDvdControl_FWD_DEFINED__ */
  436. #ifndef __IDvdInfo_FWD_DEFINED__
  437. #define __IDvdInfo_FWD_DEFINED__
  438. typedef interface IDvdInfo IDvdInfo;
  439. #endif  /* __IDvdInfo_FWD_DEFINED__ */
  440. #ifndef __IDvdCmd_FWD_DEFINED__
  441. #define __IDvdCmd_FWD_DEFINED__
  442. typedef interface IDvdCmd IDvdCmd;
  443. #endif  /* __IDvdCmd_FWD_DEFINED__ */
  444. #ifndef __IDvdState_FWD_DEFINED__
  445. #define __IDvdState_FWD_DEFINED__
  446. typedef interface IDvdState IDvdState;
  447. #endif  /* __IDvdState_FWD_DEFINED__ */
  448. #ifndef __IDvdControl2_FWD_DEFINED__
  449. #define __IDvdControl2_FWD_DEFINED__
  450. typedef interface IDvdControl2 IDvdControl2;
  451. #endif  /* __IDvdControl2_FWD_DEFINED__ */
  452. #ifndef __IDvdInfo2_FWD_DEFINED__
  453. #define __IDvdInfo2_FWD_DEFINED__
  454. typedef interface IDvdInfo2 IDvdInfo2;
  455. #endif  /* __IDvdInfo2_FWD_DEFINED__ */
  456. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  457. #define __IDvdGraphBuilder_FWD_DEFINED__
  458. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  459. #endif  /* __IDvdGraphBuilder_FWD_DEFINED__ */
  460. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  461. #define __IDDrawExclModeVideo_FWD_DEFINED__
  462. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  463. #endif  /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  464. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  465. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  466. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  467. #endif  /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  468. #ifndef __IPinConnection_FWD_DEFINED__
  469. #define __IPinConnection_FWD_DEFINED__
  470. typedef interface IPinConnection IPinConnection;
  471. #endif  /* __IPinConnection_FWD_DEFINED__ */
  472. #ifndef __IPinFlowControl_FWD_DEFINED__
  473. #define __IPinFlowControl_FWD_DEFINED__
  474. typedef interface IPinFlowControl IPinFlowControl;
  475. #endif  /* __IPinFlowControl_FWD_DEFINED__ */
  476. #ifndef __IGraphConfig_FWD_DEFINED__
  477. #define __IGraphConfig_FWD_DEFINED__
  478. typedef interface IGraphConfig IGraphConfig;
  479. #endif  /* __IGraphConfig_FWD_DEFINED__ */
  480. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  481. #define __IGraphConfigCallback_FWD_DEFINED__
  482. typedef interface IGraphConfigCallback IGraphConfigCallback;
  483. #endif  /* __IGraphConfigCallback_FWD_DEFINED__ */
  484. #ifndef __IFilterChain_FWD_DEFINED__
  485. #define __IFilterChain_FWD_DEFINED__
  486. typedef interface IFilterChain IFilterChain;
  487. #endif  /* __IFilterChain_FWD_DEFINED__ */
  488. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  489. #define __IVMRImagePresenter_FWD_DEFINED__
  490. typedef interface IVMRImagePresenter IVMRImagePresenter;
  491. #endif  /* __IVMRImagePresenter_FWD_DEFINED__ */
  492. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  493. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  494. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  495. #endif  /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  496. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  497. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  498. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  499. #endif  /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  500. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  501. #define __IVMRWindowlessControl_FWD_DEFINED__
  502. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  503. #endif  /* __IVMRWindowlessControl_FWD_DEFINED__ */
  504. #ifndef __IVMRMixerControl_FWD_DEFINED__
  505. #define __IVMRMixerControl_FWD_DEFINED__
  506. typedef interface IVMRMixerControl IVMRMixerControl;
  507. #endif  /* __IVMRMixerControl_FWD_DEFINED__ */
  508. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  509. #define __IVMRMonitorConfig_FWD_DEFINED__
  510. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  511. #endif  /* __IVMRMonitorConfig_FWD_DEFINED__ */
  512. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  513. #define __IVMRFilterConfig_FWD_DEFINED__
  514. typedef interface IVMRFilterConfig IVMRFilterConfig;
  515. #endif  /* __IVMRFilterConfig_FWD_DEFINED__ */
  516. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  517. #define __IVMRMixerBitmap_FWD_DEFINED__
  518. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  519. #endif  /* __IVMRMixerBitmap_FWD_DEFINED__ */
  520. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  521. #define __IVMRImageCompositor_FWD_DEFINED__
  522. typedef interface IVMRImageCompositor IVMRImageCompositor;
  523. #endif  /* __IVMRImageCompositor_FWD_DEFINED__ */
  524. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  525. #define __IVMRVideoStreamControl_FWD_DEFINED__
  526. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  527. #endif  /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  528. #ifndef __IVMRSurface_FWD_DEFINED__
  529. #define __IVMRSurface_FWD_DEFINED__
  530. typedef interface IVMRSurface IVMRSurface;
  531. #endif  /* __IVMRSurface_FWD_DEFINED__ */
  532. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  533. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  534. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  535. #endif  /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  536. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  537. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  538. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  539. #endif  /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  540. #ifndef __IVPManager_FWD_DEFINED__
  541. #define __IVPManager_FWD_DEFINED__
  542. typedef interface IVPManager IVPManager;
  543. #endif  /* __IVPManager_FWD_DEFINED__ */
  544. /* header files for imported files */
  545. #include "unknwn.h"
  546. #include "objidl.h"
  547. #include "oaidl.h"
  548. #include "ocidl.h"
  549. #ifdef __cplusplus
  550. extern "C"{
  551. #endif 
  552. void * __RPC_USER MIDL_user_allocate(size_t);
  553. void __RPC_USER MIDL_user_free( void * ); 
  554. /* interface __MIDL_itf_strmif_0000 */
  555. /* [local] */ 
  556. #define CDEF_CLASS_DEFAULT      0x0001
  557. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  558. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  559. #define CDEF_DEVMON_CMGR_DEVICE  0x0010
  560. #define CDEF_DEVMON_DMO  0x0020
  561. #define CDEF_DEVMON_PNP_DEVICE  0x0040
  562. #define CDEF_DEVMON_FILTER  0x0080
  563. #define CDEF_DEVMON_SELECTIVE_MASK  0x00f0
  564. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  565. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  566. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  567. #define __ICreateDevEnum_INTERFACE_DEFINED__
  568. /* interface ICreateDevEnum */
  569. /* [unique][uuid][object] */ 
  570. EXTERN_C const IID IID_ICreateDevEnum;
  571. #if defined(__cplusplus) && !defined(CINTERFACE)
  572.     
  573.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  574.     ICreateDevEnum : public IUnknown
  575.     {
  576.     public:
  577.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  578.             /* [in] */ REFCLSID clsidDeviceClass,
  579.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  580.             /* [in] */ DWORD dwFlags) = 0;
  581.         
  582.     };
  583.     
  584. #else  /* C style interface */
  585.     typedef struct ICreateDevEnumVtbl
  586.     {
  587.         BEGIN_INTERFACE
  588.         
  589.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  590.             ICreateDevEnum * This,
  591.             /* [in] */ REFIID riid,
  592.             /* [iid_is][out] */ void **ppvObject);
  593.         
  594.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  595.             ICreateDevEnum * This);
  596.         
  597.         ULONG ( STDMETHODCALLTYPE *Release )( 
  598.             ICreateDevEnum * This);
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )( 
  601.             ICreateDevEnum * This,
  602.             /* [in] */ REFCLSID clsidDeviceClass,
  603.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  604.             /* [in] */ DWORD dwFlags);
  605.         
  606.         END_INTERFACE
  607.     } ICreateDevEnumVtbl;
  608.     interface ICreateDevEnum
  609.     {
  610.         CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  611.     };
  612.     
  613. #ifdef COBJMACROS
  614. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)
  615.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  616. #define ICreateDevEnum_AddRef(This)
  617.     (This)->lpVtbl -> AddRef(This)
  618. #define ICreateDevEnum_Release(This)
  619.     (This)->lpVtbl -> Release(This)
  620. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  621.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  622. #endif /* COBJMACROS */
  623. #endif  /* C style interface */
  624. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  625.     ICreateDevEnum * This,
  626.     /* [in] */ REFCLSID clsidDeviceClass,
  627.     /* [out] */ IEnumMoniker **ppEnumMoniker,
  628.     /* [in] */ DWORD dwFlags);
  629. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  630.     IRpcStubBuffer *This,
  631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  632.     PRPC_MESSAGE _pRpcMessage,
  633.     DWORD *_pdwStubPhase);
  634. #endif  /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  635. /* interface __MIDL_itf_strmif_0111 */
  636. /* [local] */ 
  637. #define CHARS_IN_GUID     39
  638. typedef struct _AMMediaType
  639.     {
  640.     GUID majortype;
  641.     GUID subtype;
  642.     BOOL bFixedSizeSamples;
  643.     BOOL bTemporalCompression;
  644.     ULONG lSampleSize;
  645.     GUID formattype;
  646.     IUnknown *pUnk;
  647.     ULONG cbFormat;
  648.     /* [size_is] */ BYTE *pbFormat;
  649.     }  AM_MEDIA_TYPE;
  650. typedef 
  651. enum _PinDirection
  652.     { PINDIR_INPUT = 0,
  653. PINDIR_OUTPUT = PINDIR_INPUT + 1
  654.     }  PIN_DIRECTION;
  655. #define MAX_PIN_NAME     128
  656. #define MAX_FILTER_NAME  128
  657. typedef LONGLONG REFERENCE_TIME;
  658. typedef double REFTIME;
  659. typedef DWORD_PTR HSEMAPHORE;
  660. typedef DWORD_PTR HEVENT;
  661. typedef struct _AllocatorProperties
  662.     {
  663.     long cBuffers;
  664.     long cbBuffer;
  665.     long cbAlign;
  666.     long cbPrefix;
  667.     }  ALLOCATOR_PROPERTIES;
  668. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_c_ifspec;
  669. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_s_ifspec;
  670. #ifndef __IPin_INTERFACE_DEFINED__
  671. #define __IPin_INTERFACE_DEFINED__
  672. /* interface IPin */
  673. /* [unique][uuid][object] */ 
  674. typedef struct _PinInfo
  675.     {
  676.     IBaseFilter *pFilter;
  677.     PIN_DIRECTION dir;
  678.     WCHAR achName[ 128 ];
  679.     }  PIN_INFO;
  680. EXTERN_C const IID IID_IPin;
  681. #if defined(__cplusplus) && !defined(CINTERFACE)
  682.     
  683.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  684.     IPin : public IUnknown
  685.     {
  686.     public:
  687.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  688.             /* [in] */ IPin *pReceivePin,
  689.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  690.         
  691.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  692.             /* [in] */ IPin *pConnector,
  693.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  694.         
  695.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  696.         
  697.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  698.             /* [out] */ IPin **pPin) = 0;
  699.         
  700.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  701.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  702.         
  703.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  704.             /* [out] */ PIN_INFO *pInfo) = 0;
  705.         
  706.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  707.             /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  708.         
  709.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  710.             /* [out] */ LPWSTR *Id) = 0;
  711.         
  712.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  713.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  714.         
  715.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  716.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  717.         
  718.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  719.             /* [out] */ IPin **apPin,
  720.             /* [out][in] */ ULONG *nPin) = 0;
  721.         
  722.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  723.         
  724.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  725.         
  726.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  727.         
  728.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  729.             /* [in] */ REFERENCE_TIME tStart,
  730.             /* [in] */ REFERENCE_TIME tStop,
  731.             /* [in] */ double dRate) = 0;
  732.         
  733.     };
  734.     
  735. #else  /* C style interface */
  736.     typedef struct IPinVtbl
  737.     {
  738.         BEGIN_INTERFACE
  739.         
  740.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  741.             IPin * This,
  742.             /* [in] */ REFIID riid,
  743.             /* [iid_is][out] */ void **ppvObject);
  744.         
  745.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  746.             IPin * This);
  747.         
  748.         ULONG ( STDMETHODCALLTYPE *Release )( 
  749.             IPin * This);
  750.         
  751.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  752.             IPin * This,
  753.             /* [in] */ IPin *pReceivePin,
  754.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  755.         
  756.         HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )( 
  757.             IPin * This,
  758.             /* [in] */ IPin *pConnector,
  759.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  760.         
  761.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  762.             IPin * This);
  763.         
  764.         HRESULT ( STDMETHODCALLTYPE *ConnectedTo )( 
  765.             IPin * This,
  766.             /* [out] */ IPin **pPin);
  767.         
  768.         HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )( 
  769.             IPin * This,
  770.             /* [out] */ AM_MEDIA_TYPE *pmt);
  771.         
  772.         HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )( 
  773.             IPin * This,
  774.             /* [out] */ PIN_INFO *pInfo);
  775.         
  776.         HRESULT ( STDMETHODCALLTYPE *QueryDirection )( 
  777.             IPin * This,
  778.             /* [out] */ PIN_DIRECTION *pPinDir);
  779.         
  780.         HRESULT ( STDMETHODCALLTYPE *QueryId )( 
  781.             IPin * This,
  782.             /* [out] */ LPWSTR *Id);
  783.         
  784.         HRESULT ( STDMETHODCALLTYPE *QueryAccept )( 
  785.             IPin * This,
  786.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  787.         
  788.         HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )( 
  789.             IPin * This,
  790.             /* [out] */ IEnumMediaTypes **ppEnum);
  791.         
  792.         HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )( 
  793.             IPin * This,
  794.             /* [out] */ IPin **apPin,
  795.             /* [out][in] */ ULONG *nPin);
  796.         
  797.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  798.             IPin * This);
  799.         
  800.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  801.             IPin * This);
  802.         
  803.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  804.             IPin * This);
  805.         
  806.         HRESULT ( STDMETHODCALLTYPE *NewSegment )( 
  807.             IPin * This,
  808.             /* [in] */ REFERENCE_TIME tStart,
  809.             /* [in] */ REFERENCE_TIME tStop,
  810.             /* [in] */ double dRate);
  811.         
  812.         END_INTERFACE
  813.     } IPinVtbl;
  814.     interface IPin
  815.     {
  816.         CONST_VTBL struct IPinVtbl *lpVtbl;
  817.     };
  818.     
  819. #ifdef COBJMACROS
  820. #define IPin_QueryInterface(This,riid,ppvObject)
  821.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  822. #define IPin_AddRef(This)
  823.     (This)->lpVtbl -> AddRef(This)
  824. #define IPin_Release(This)
  825.     (This)->lpVtbl -> Release(This)
  826. #define IPin_Connect(This,pReceivePin,pmt)
  827.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  828. #define IPin_ReceiveConnection(This,pConnector,pmt)
  829.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  830. #define IPin_Disconnect(This)
  831.     (This)->lpVtbl -> Disconnect(This)
  832. #define IPin_ConnectedTo(This,pPin)
  833.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  834. #define IPin_ConnectionMediaType(This,pmt)
  835.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  836. #define IPin_QueryPinInfo(This,pInfo)
  837.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  838. #define IPin_QueryDirection(This,pPinDir)
  839.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  840. #define IPin_QueryId(This,Id)
  841.     (This)->lpVtbl -> QueryId(This,Id)
  842. #define IPin_QueryAccept(This,pmt)
  843.     (This)->lpVtbl -> QueryAccept(This,pmt)
  844. #define IPin_EnumMediaTypes(This,ppEnum)
  845.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  846. #define IPin_QueryInternalConnections(This,apPin,nPin)
  847.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  848. #define IPin_EndOfStream(This)
  849.     (This)->lpVtbl -> EndOfStream(This)
  850. #define IPin_BeginFlush(This)
  851.     (This)->lpVtbl -> BeginFlush(This)
  852. #define IPin_EndFlush(This)
  853.     (This)->lpVtbl -> EndFlush(This)
  854. #define IPin_NewSegment(This,tStart,tStop,dRate)
  855.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  856. #endif /* COBJMACROS */
  857. #endif  /* C style interface */
  858. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  859.     IPin * This,
  860.     /* [in] */ IPin *pReceivePin,
  861.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  862. void __RPC_STUB IPin_Connect_Stub(
  863.     IRpcStubBuffer *This,
  864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  865.     PRPC_MESSAGE _pRpcMessage,
  866.     DWORD *_pdwStubPhase);
  867. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  868.     IPin * This,
  869.     /* [in] */ IPin *pConnector,
  870.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  871. void __RPC_STUB IPin_ReceiveConnection_Stub(
  872.     IRpcStubBuffer *This,
  873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  874.     PRPC_MESSAGE _pRpcMessage,
  875.     DWORD *_pdwStubPhase);
  876. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  877.     IPin * This);
  878. void __RPC_STUB IPin_Disconnect_Stub(
  879.     IRpcStubBuffer *This,
  880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  881.     PRPC_MESSAGE _pRpcMessage,
  882.     DWORD *_pdwStubPhase);
  883. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  884.     IPin * This,
  885.     /* [out] */ IPin **pPin);
  886. void __RPC_STUB IPin_ConnectedTo_Stub(
  887.     IRpcStubBuffer *This,
  888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  889.     PRPC_MESSAGE _pRpcMessage,
  890.     DWORD *_pdwStubPhase);
  891. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  892.     IPin * This,
  893.     /* [out] */ AM_MEDIA_TYPE *pmt);
  894. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  895.     IRpcStubBuffer *This,
  896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  897.     PRPC_MESSAGE _pRpcMessage,
  898.     DWORD *_pdwStubPhase);
  899. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  900.     IPin * This,
  901.     /* [out] */ PIN_INFO *pInfo);
  902. void __RPC_STUB IPin_QueryPinInfo_Stub(
  903.     IRpcStubBuffer *This,
  904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  905.     PRPC_MESSAGE _pRpcMessage,
  906.     DWORD *_pdwStubPhase);
  907. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  908.     IPin * This,
  909.     /* [out] */ PIN_DIRECTION *pPinDir);
  910. void __RPC_STUB IPin_QueryDirection_Stub(
  911.     IRpcStubBuffer *This,
  912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  913.     PRPC_MESSAGE _pRpcMessage,
  914.     DWORD *_pdwStubPhase);
  915. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  916.     IPin * This,
  917.     /* [out] */ LPWSTR *Id);
  918. void __RPC_STUB IPin_QueryId_Stub(
  919.     IRpcStubBuffer *This,
  920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  921.     PRPC_MESSAGE _pRpcMessage,
  922.     DWORD *_pdwStubPhase);
  923. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  924.     IPin * This,
  925.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  926. void __RPC_STUB IPin_QueryAccept_Stub(
  927.     IRpcStubBuffer *This,
  928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  929.     PRPC_MESSAGE _pRpcMessage,
  930.     DWORD *_pdwStubPhase);
  931. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  932.     IPin * This,
  933.     /* [out] */ IEnumMediaTypes **ppEnum);
  934. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  935.     IRpcStubBuffer *This,
  936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  937.     PRPC_MESSAGE _pRpcMessage,
  938.     DWORD *_pdwStubPhase);
  939. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  940.     IPin * This,
  941.     /* [out] */ IPin **apPin,
  942.     /* [out][in] */ ULONG *nPin);
  943. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  944.     IRpcStubBuffer *This,
  945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  946.     PRPC_MESSAGE _pRpcMessage,
  947.     DWORD *_pdwStubPhase);
  948. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  949.     IPin * This);
  950. void __RPC_STUB IPin_EndOfStream_Stub(
  951.     IRpcStubBuffer *This,
  952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  953.     PRPC_MESSAGE _pRpcMessage,
  954.     DWORD *_pdwStubPhase);
  955. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  956.     IPin * This);
  957. void __RPC_STUB IPin_BeginFlush_Stub(
  958.     IRpcStubBuffer *This,
  959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  960.     PRPC_MESSAGE _pRpcMessage,
  961.     DWORD *_pdwStubPhase);
  962. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  963.     IPin * This);
  964. void __RPC_STUB IPin_EndFlush_Stub(
  965.     IRpcStubBuffer *This,
  966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  967.     PRPC_MESSAGE _pRpcMessage,
  968.     DWORD *_pdwStubPhase);
  969. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  970.     IPin * This,
  971.     /* [in] */ REFERENCE_TIME tStart,
  972.     /* [in] */ REFERENCE_TIME tStop,
  973.     /* [in] */ double dRate);
  974. void __RPC_STUB IPin_NewSegment_Stub(
  975.     IRpcStubBuffer *This,
  976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  977.     PRPC_MESSAGE _pRpcMessage,
  978.     DWORD *_pdwStubPhase);
  979. #endif  /* __IPin_INTERFACE_DEFINED__ */
  980. /* interface __MIDL_itf_strmif_0112 */
  981. /* [local] */ 
  982. typedef IPin *PPIN;
  983. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_c_ifspec;
  984. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_s_ifspec;
  985. #ifndef __IEnumPins_INTERFACE_DEFINED__
  986. #define __IEnumPins_INTERFACE_DEFINED__
  987. /* interface IEnumPins */
  988. /* [unique][uuid][object] */ 
  989. EXTERN_C const IID IID_IEnumPins;
  990. #if defined(__cplusplus) && !defined(CINTERFACE)
  991.     
  992.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  993.     IEnumPins : public IUnknown
  994.     {
  995.     public:
  996.         virtual HRESULT STDMETHODCALLTYPE Next( 
  997.             /* [in] */ ULONG cPins,
  998.             /* [size_is][out] */ IPin **ppPins,
  999.             /* [out] */ ULONG *pcFetched) = 0;
  1000.         
  1001.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1002.             /* [in] */ ULONG cPins) = 0;
  1003.         
  1004.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1005.         
  1006.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1007.             /* [out] */ IEnumPins **ppEnum) = 0;
  1008.         
  1009.     };
  1010.     
  1011. #else  /* C style interface */
  1012.     typedef struct IEnumPinsVtbl
  1013.     {
  1014.         BEGIN_INTERFACE
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1017.             IEnumPins * This,
  1018.             /* [in] */ REFIID riid,
  1019.             /* [iid_is][out] */ void **ppvObject);
  1020.         
  1021.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1022.             IEnumPins * This);
  1023.         
  1024.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1025.             IEnumPins * This);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1028.             IEnumPins * This,
  1029.             /* [in] */ ULONG cPins,
  1030.             /* [size_is][out] */ IPin **ppPins,
  1031.             /* [out] */ ULONG *pcFetched);
  1032.         
  1033.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1034.             IEnumPins * This,
  1035.             /* [in] */ ULONG cPins);
  1036.         
  1037.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1038.             IEnumPins * This);
  1039.         
  1040.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1041.             IEnumPins * This,
  1042.             /* [out] */ IEnumPins **ppEnum);
  1043.         
  1044.         END_INTERFACE
  1045.     } IEnumPinsVtbl;
  1046.     interface IEnumPins
  1047.     {
  1048.         CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1049.     };
  1050.     
  1051. #ifdef COBJMACROS
  1052. #define IEnumPins_QueryInterface(This,riid,ppvObject)
  1053.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1054. #define IEnumPins_AddRef(This)
  1055.     (This)->lpVtbl -> AddRef(This)
  1056. #define IEnumPins_Release(This)
  1057.     (This)->lpVtbl -> Release(This)
  1058. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)
  1059.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1060. #define IEnumPins_Skip(This,cPins)
  1061.     (This)->lpVtbl -> Skip(This,cPins)
  1062. #define IEnumPins_Reset(This)
  1063.     (This)->lpVtbl -> Reset(This)
  1064. #define IEnumPins_Clone(This,ppEnum)
  1065.     (This)->lpVtbl -> Clone(This,ppEnum)
  1066. #endif /* COBJMACROS */
  1067. #endif  /* C style interface */
  1068. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1069.     IEnumPins * This,
  1070.     /* [in] */ ULONG cPins,
  1071.     /* [size_is][out] */ IPin **ppPins,
  1072.     /* [out] */ ULONG *pcFetched);
  1073. void __RPC_STUB IEnumPins_Next_Stub(
  1074.     IRpcStubBuffer *This,
  1075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1076.     PRPC_MESSAGE _pRpcMessage,
  1077.     DWORD *_pdwStubPhase);
  1078. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1079.     IEnumPins * This,
  1080.     /* [in] */ ULONG cPins);
  1081. void __RPC_STUB IEnumPins_Skip_Stub(
  1082.     IRpcStubBuffer *This,
  1083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1084.     PRPC_MESSAGE _pRpcMessage,
  1085.     DWORD *_pdwStubPhase);
  1086. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1087.     IEnumPins * This);
  1088. void __RPC_STUB IEnumPins_Reset_Stub(
  1089.     IRpcStubBuffer *This,
  1090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1091.     PRPC_MESSAGE _pRpcMessage,
  1092.     DWORD *_pdwStubPhase);
  1093. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1094.     IEnumPins * This,
  1095.     /* [out] */ IEnumPins **ppEnum);
  1096. void __RPC_STUB IEnumPins_Clone_Stub(
  1097.     IRpcStubBuffer *This,
  1098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1099.     PRPC_MESSAGE _pRpcMessage,
  1100.     DWORD *_pdwStubPhase);
  1101. #endif  /* __IEnumPins_INTERFACE_DEFINED__ */
  1102. /* interface __MIDL_itf_strmif_0113 */
  1103. /* [local] */ 
  1104. typedef IEnumPins *PENUMPINS;
  1105. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  1106. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  1107. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1108. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1109. /* interface IEnumMediaTypes */
  1110. /* [unique][uuid][object] */ 
  1111. EXTERN_C const IID IID_IEnumMediaTypes;
  1112. #if defined(__cplusplus) && !defined(CINTERFACE)
  1113.     
  1114.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1115.     IEnumMediaTypes : public IUnknown
  1116.     {
  1117.     public:
  1118.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1119.             /* [in] */ ULONG cMediaTypes,
  1120.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1121.             /* [out] */ ULONG *pcFetched) = 0;
  1122.         
  1123.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1124.             /* [in] */ ULONG cMediaTypes) = 0;
  1125.         
  1126.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1127.         
  1128.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1129.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1130.         
  1131.     };
  1132.     
  1133. #else  /* C style interface */
  1134.     typedef struct IEnumMediaTypesVtbl
  1135.     {
  1136.         BEGIN_INTERFACE
  1137.         
  1138.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1139.             IEnumMediaTypes * This,
  1140.             /* [in] */ REFIID riid,
  1141.             /* [iid_is][out] */ void **ppvObject);
  1142.         
  1143.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1144.             IEnumMediaTypes * This);
  1145.         
  1146.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1147.             IEnumMediaTypes * This);
  1148.         
  1149.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1150.             IEnumMediaTypes * This,
  1151.             /* [in] */ ULONG cMediaTypes,
  1152.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1153.             /* [out] */ ULONG *pcFetched);
  1154.         
  1155.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1156.             IEnumMediaTypes * This,
  1157.             /* [in] */ ULONG cMediaTypes);
  1158.         
  1159.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1160.             IEnumMediaTypes * This);
  1161.         
  1162.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1163.             IEnumMediaTypes * This,
  1164.             /* [out] */ IEnumMediaTypes **ppEnum);
  1165.         
  1166.         END_INTERFACE
  1167.     } IEnumMediaTypesVtbl;
  1168.     interface IEnumMediaTypes
  1169.     {
  1170.         CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1171.     };
  1172.     
  1173. #ifdef COBJMACROS
  1174. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)
  1175.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1176. #define IEnumMediaTypes_AddRef(This)
  1177.     (This)->lpVtbl -> AddRef(This)
  1178. #define IEnumMediaTypes_Release(This)
  1179.     (This)->lpVtbl -> Release(This)
  1180. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1181.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1182. #define IEnumMediaTypes_Skip(This,cMediaTypes)
  1183.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1184. #define IEnumMediaTypes_Reset(This)
  1185.     (This)->lpVtbl -> Reset(This)
  1186. #define IEnumMediaTypes_Clone(This,ppEnum)
  1187.     (This)->lpVtbl -> Clone(This,ppEnum)
  1188. #endif /* COBJMACROS */
  1189. #endif  /* C style interface */
  1190. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1191.     IEnumMediaTypes * This,
  1192.     /* [in] */ ULONG cMediaTypes,
  1193.     /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1194.     /* [out] */ ULONG *pcFetched);
  1195. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1196.     IRpcStubBuffer *This,
  1197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1198.     PRPC_MESSAGE _pRpcMessage,
  1199.     DWORD *_pdwStubPhase);
  1200. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1201.     IEnumMediaTypes * This,
  1202.     /* [in] */ ULONG cMediaTypes);
  1203. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1204.     IRpcStubBuffer *This,
  1205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1206.     PRPC_MESSAGE _pRpcMessage,
  1207.     DWORD *_pdwStubPhase);
  1208. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1209.     IEnumMediaTypes * This);
  1210. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1211.     IRpcStubBuffer *This,
  1212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1213.     PRPC_MESSAGE _pRpcMessage,
  1214.     DWORD *_pdwStubPhase);
  1215. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1216.     IEnumMediaTypes * This,
  1217.     /* [out] */ IEnumMediaTypes **ppEnum);
  1218. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1219.     IRpcStubBuffer *This,
  1220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1221.     PRPC_MESSAGE _pRpcMessage,
  1222.     DWORD *_pdwStubPhase);
  1223. #endif  /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1224. /* interface __MIDL_itf_strmif_0114 */
  1225. /* [local] */ 
  1226. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1227. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  1228. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  1229. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1230. #define __IFilterGraph_INTERFACE_DEFINED__
  1231. /* interface IFilterGraph */
  1232. /* [unique][uuid][object] */ 
  1233. EXTERN_C const IID IID_IFilterGraph;
  1234. #if defined(__cplusplus) && !defined(CINTERFACE)
  1235.     
  1236.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1237.     IFilterGraph : public IUnknown
  1238.     {
  1239.     public:
  1240.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1241.             /* [in] */ IBaseFilter *pFilter,
  1242.             /* [string][in] */ LPCWSTR pName) = 0;
  1243.         
  1244.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1245.             /* [in] */ IBaseFilter *pFilter) = 0;
  1246.         
  1247.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1248.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1249.         
  1250.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1251.             /* [string][in] */ LPCWSTR pName,
  1252.             /* [out] */ IBaseFilter **ppFilter) = 0;
  1253.         
  1254.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1255.             /* [in] */ IPin *ppinOut,
  1256.             /* [in] */ IPin *ppinIn,
  1257.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1258.         
  1259.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1260.             /* [in] */ IPin *ppin) = 0;
  1261.         
  1262.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1263.             /* [in] */ IPin *ppin) = 0;
  1264.         
  1265.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1266.         
  1267.     };
  1268.     
  1269. #else  /* C style interface */
  1270.     typedef struct IFilterGraphVtbl
  1271.     {
  1272.         BEGIN_INTERFACE
  1273.         
  1274.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1275.             IFilterGraph * This,
  1276.             /* [in] */ REFIID riid,
  1277.             /* [iid_is][out] */ void **ppvObject);
  1278.         
  1279.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1280.             IFilterGraph * This);
  1281.         
  1282.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1283.             IFilterGraph * This);
  1284.         
  1285.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  1286.             IFilterGraph * This,
  1287.             /* [in] */ IBaseFilter *pFilter,
  1288.             /* [string][in] */ LPCWSTR pName);
  1289.         
  1290.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  1291.             IFilterGraph * This,
  1292.             /* [in] */ IBaseFilter *pFilter);
  1293.         
  1294.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1295.             IFilterGraph * This,
  1296.             /* [out] */ IEnumFilters **ppEnum);
  1297.         
  1298.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  1299.             IFilterGraph * This,
  1300.             /* [string][in] */ LPCWSTR pName,
  1301.             /* [out] */ IBaseFilter **ppFilter);
  1302.         
  1303.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  1304.             IFilterGraph * This,
  1305.             /* [in] */ IPin *ppinOut,
  1306.             /* [in] */ IPin *ppinIn,
  1307.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1308.         
  1309.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  1310.             IFilterGraph * This,
  1311.             /* [in] */ IPin *ppin);
  1312.         
  1313.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1314.             IFilterGraph * This,
  1315.             /* [in] */ IPin *ppin);
  1316.         
  1317.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  1318.             IFilterGraph * This);
  1319.         
  1320.         END_INTERFACE
  1321.     } IFilterGraphVtbl;
  1322.     interface IFilterGraph
  1323.     {
  1324.         CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1325.     };
  1326.     
  1327. #ifdef COBJMACROS
  1328. #define IFilterGraph_QueryInterface(This,riid,ppvObject)
  1329.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1330. #define IFilterGraph_AddRef(This)
  1331.     (This)->lpVtbl -> AddRef(This)
  1332. #define IFilterGraph_Release(This)
  1333.     (This)->lpVtbl -> Release(This)
  1334. #define IFilterGraph_AddFilter(This,pFilter,pName)
  1335.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1336. #define IFilterGraph_RemoveFilter(This,pFilter)
  1337.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1338. #define IFilterGraph_EnumFilters(This,ppEnum)
  1339.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1340. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)
  1341.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1342. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)
  1343.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1344. #define IFilterGraph_Reconnect(This,ppin)
  1345.     (This)->lpVtbl -> Reconnect(This,ppin)
  1346. #define IFilterGraph_Disconnect(This,ppin)
  1347.     (This)->lpVtbl -> Disconnect(This,ppin)
  1348. #define IFilterGraph_SetDefaultSyncSource(This)
  1349.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1350. #endif /* COBJMACROS */
  1351. #endif  /* C style interface */
  1352. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1353.     IFilterGraph * This,
  1354.     /* [in] */ IBaseFilter *pFilter,
  1355.     /* [string][in] */ LPCWSTR pName);
  1356. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1362.     IFilterGraph * This,
  1363.     /* [in] */ IBaseFilter *pFilter);
  1364. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1365.     IRpcStubBuffer *This,
  1366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1367.     PRPC_MESSAGE _pRpcMessage,
  1368.     DWORD *_pdwStubPhase);
  1369. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1370.     IFilterGraph * This,
  1371.     /* [out] */ IEnumFilters **ppEnum);
  1372. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1373.     IRpcStubBuffer *This,
  1374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1375.     PRPC_MESSAGE _pRpcMessage,
  1376.     DWORD *_pdwStubPhase);
  1377. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1378.     IFilterGraph * This,
  1379.     /* [string][in] */ LPCWSTR pName,
  1380.     /* [out] */ IBaseFilter **ppFilter);
  1381. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1382.     IRpcStubBuffer *This,
  1383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1384.     PRPC_MESSAGE _pRpcMessage,
  1385.     DWORD *_pdwStubPhase);
  1386. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  1387.     IFilterGraph * This,
  1388.     /* [in] */ IPin *ppinOut,
  1389.     /* [in] */ IPin *ppinIn,
  1390.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1391. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  1397.     IFilterGraph * This,
  1398.     /* [in] */ IPin *ppin);
  1399. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1400.     IRpcStubBuffer *This,
  1401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1402.     PRPC_MESSAGE _pRpcMessage,
  1403.     DWORD *_pdwStubPhase);
  1404. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  1405.     IFilterGraph * This,
  1406.     /* [in] */ IPin *ppin);
  1407. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1408.     IRpcStubBuffer *This,
  1409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1410.     PRPC_MESSAGE _pRpcMessage,
  1411.     DWORD *_pdwStubPhase);
  1412. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  1413.     IFilterGraph * This);
  1414. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  1415.     IRpcStubBuffer *This,
  1416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1417.     PRPC_MESSAGE _pRpcMessage,
  1418.     DWORD *_pdwStubPhase);
  1419. #endif  /* __IFilterGraph_INTERFACE_DEFINED__ */
  1420. /* interface __MIDL_itf_strmif_0115 */
  1421. /* [local] */ 
  1422. typedef IFilterGraph *PFILTERGRAPH;
  1423. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  1424. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  1425. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  1426. #define __IEnumFilters_INTERFACE_DEFINED__
  1427. /* interface IEnumFilters */
  1428. /* [unique][uuid][object] */ 
  1429. EXTERN_C const IID IID_IEnumFilters;
  1430. #if defined(__cplusplus) && !defined(CINTERFACE)
  1431.     
  1432.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  1433.     IEnumFilters : public IUnknown
  1434.     {
  1435.     public:
  1436.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1437.             /* [in] */ ULONG cFilters,
  1438.             /* [out] */ IBaseFilter **ppFilter,
  1439.             /* [out] */ ULONG *pcFetched) = 0;
  1440.         
  1441.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1442.             /* [in] */ ULONG cFilters) = 0;
  1443.         
  1444.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1445.         
  1446.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1447.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1448.         
  1449.     };
  1450.     
  1451. #else  /* C style interface */
  1452.     typedef struct IEnumFiltersVtbl
  1453.     {
  1454.         BEGIN_INTERFACE
  1455.         
  1456.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1457.             IEnumFilters * This,
  1458.             /* [in] */ REFIID riid,
  1459.             /* [iid_is][out] */ void **ppvObject);
  1460.         
  1461.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1462.             IEnumFilters * This);
  1463.         
  1464.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1465.             IEnumFilters * This);
  1466.         
  1467.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1468.             IEnumFilters * This,
  1469.             /* [in] */ ULONG cFilters,
  1470.             /* [out] */ IBaseFilter **ppFilter,
  1471.             /* [out] */ ULONG *pcFetched);
  1472.         
  1473.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1474.             IEnumFilters * This,
  1475.             /* [in] */ ULONG cFilters);
  1476.         
  1477.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1478.             IEnumFilters * This);
  1479.         
  1480.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1481.             IEnumFilters * This,
  1482.             /* [out] */ IEnumFilters **ppEnum);
  1483.         
  1484.         END_INTERFACE
  1485.     } IEnumFiltersVtbl;
  1486.     interface IEnumFilters
  1487.     {
  1488.         CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  1489.     };
  1490.     
  1491. #ifdef COBJMACROS
  1492. #define IEnumFilters_QueryInterface(This,riid,ppvObject)
  1493.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1494. #define IEnumFilters_AddRef(This)
  1495.     (This)->lpVtbl -> AddRef(This)
  1496. #define IEnumFilters_Release(This)
  1497.     (This)->lpVtbl -> Release(This)
  1498. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)
  1499.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  1500. #define IEnumFilters_Skip(This,cFilters)
  1501.     (This)->lpVtbl -> Skip(This,cFilters)
  1502. #define IEnumFilters_Reset(This)
  1503.     (This)->lpVtbl -> Reset(This)
  1504. #define IEnumFilters_Clone(This,ppEnum)
  1505.     (This)->lpVtbl -> Clone(This,ppEnum)
  1506. #endif /* COBJMACROS */
  1507. #endif  /* C style interface */
  1508. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  1509.     IEnumFilters * This,
  1510.     /* [in] */ ULONG cFilters,
  1511.     /* [out] */ IBaseFilter **ppFilter,
  1512.     /* [out] */ ULONG *pcFetched);
  1513. void __RPC_STUB IEnumFilters_Next_Stub(
  1514.     IRpcStubBuffer *This,
  1515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1516.     PRPC_MESSAGE _pRpcMessage,
  1517.     DWORD *_pdwStubPhase);
  1518. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  1519.     IEnumFilters * This,
  1520.     /* [in] */ ULONG cFilters);
  1521. void __RPC_STUB IEnumFilters_Skip_Stub(
  1522.     IRpcStubBuffer *This,
  1523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1524.     PRPC_MESSAGE _pRpcMessage,
  1525.     DWORD *_pdwStubPhase);
  1526. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  1527.     IEnumFilters * This);
  1528. void __RPC_STUB IEnumFilters_Reset_Stub(
  1529.     IRpcStubBuffer *This,
  1530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1531.     PRPC_MESSAGE _pRpcMessage,
  1532.     DWORD *_pdwStubPhase);
  1533. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  1534.     IEnumFilters * This,
  1535.     /* [out] */ IEnumFilters **ppEnum);
  1536. void __RPC_STUB IEnumFilters_Clone_Stub(
  1537.     IRpcStubBuffer *This,
  1538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1539.     PRPC_MESSAGE _pRpcMessage,
  1540.     DWORD *_pdwStubPhase);
  1541. #endif  /* __IEnumFilters_INTERFACE_DEFINED__ */
  1542. /* interface __MIDL_itf_strmif_0116 */
  1543. /* [local] */ 
  1544. typedef IEnumFilters *PENUMFILTERS;
  1545. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  1546. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  1547. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  1548. #define __IMediaFilter_INTERFACE_DEFINED__
  1549. /* interface IMediaFilter */
  1550. /* [unique][uuid][object] */ 
  1551. typedef 
  1552. enum _FilterState
  1553.     { State_Stopped = 0,
  1554. State_Paused = State_Stopped + 1,
  1555. State_Running = State_Paused + 1
  1556.     }  FILTER_STATE;
  1557. EXTERN_C const IID IID_IMediaFilter;
  1558. #if defined(__cplusplus) && !defined(CINTERFACE)
  1559.     
  1560.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  1561.     IMediaFilter : public IPersist
  1562.     {
  1563.     public:
  1564.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1565.         
  1566.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1567.         
  1568.         virtual HRESULT STDMETHODCALLTYPE Run( 
  1569.             REFERENCE_TIME tStart) = 0;
  1570.         
  1571.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  1572.             /* [in] */ DWORD dwMilliSecsTimeout,
  1573.             /* [out] */ FILTER_STATE *State) = 0;
  1574.         
  1575.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  1576.             /* [in] */ IReferenceClock *pClock) = 0;
  1577.         
  1578.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  1579.             /* [out] */ IReferenceClock **pClock) = 0;
  1580.         
  1581.     };
  1582.     
  1583. #else  /* C style interface */
  1584.     typedef struct IMediaFilterVtbl
  1585.     {
  1586.         BEGIN_INTERFACE
  1587.         
  1588.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1589.             IMediaFilter * This,
  1590.             /* [in] */ REFIID riid,
  1591.             /* [iid_is][out] */ void **ppvObject);
  1592.         
  1593.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1594.             IMediaFilter * This);
  1595.         
  1596.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1597.             IMediaFilter * This);
  1598.         
  1599.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1600.             IMediaFilter * This,
  1601.             /* [out] */ CLSID *pClassID);
  1602.         
  1603.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  1604.             IMediaFilter * This);
  1605.         
  1606.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  1607.             IMediaFilter * This);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  1610.             IMediaFilter * This,
  1611.             REFERENCE_TIME tStart);
  1612.         
  1613.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  1614.             IMediaFilter * This,
  1615.             /* [in] */ DWORD dwMilliSecsTimeout,
  1616.             /* [out] */ FILTER_STATE *State);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  1619.             IMediaFilter * This,
  1620.             /* [in] */ IReferenceClock *pClock);
  1621.         
  1622.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  1623.             IMediaFilter * This,
  1624.             /* [out] */ IReferenceClock **pClock);
  1625.         
  1626.         END_INTERFACE
  1627.     } IMediaFilterVtbl;
  1628.     interface IMediaFilter
  1629.     {
  1630.         CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  1631.     };
  1632.     
  1633. #ifdef COBJMACROS
  1634. #define IMediaFilter_QueryInterface(This,riid,ppvObject)
  1635.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1636. #define IMediaFilter_AddRef(This)
  1637.     (This)->lpVtbl -> AddRef(This)
  1638. #define IMediaFilter_Release(This)
  1639.     (This)->lpVtbl -> Release(This)
  1640. #define IMediaFilter_GetClassID(This,pClassID)
  1641.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1642. #define IMediaFilter_Stop(This)
  1643.     (This)->lpVtbl -> Stop(This)
  1644. #define IMediaFilter_Pause(This)
  1645.     (This)->lpVtbl -> Pause(This)
  1646. #define IMediaFilter_Run(This,tStart)
  1647.     (This)->lpVtbl -> Run(This,tStart)
  1648. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)
  1649.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1650. #define IMediaFilter_SetSyncSource(This,pClock)
  1651.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  1652. #define IMediaFilter_GetSyncSource(This,pClock)
  1653.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  1654. #endif /* COBJMACROS */
  1655. #endif  /* C style interface */
  1656. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  1657.     IMediaFilter * This);
  1658. void __RPC_STUB IMediaFilter_Stop_Stub(
  1659.     IRpcStubBuffer *This,
  1660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1661.     PRPC_MESSAGE _pRpcMessage,
  1662.     DWORD *_pdwStubPhase);
  1663. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  1664.     IMediaFilter * This);
  1665. void __RPC_STUB IMediaFilter_Pause_Stub(
  1666.     IRpcStubBuffer *This,
  1667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1668.     PRPC_MESSAGE _pRpcMessage,
  1669.     DWORD *_pdwStubPhase);
  1670. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  1671.     IMediaFilter * This,
  1672.     REFERENCE_TIME tStart);
  1673. void __RPC_STUB IMediaFilter_Run_Stub(
  1674.     IRpcStubBuffer *This,
  1675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1676.     PRPC_MESSAGE _pRpcMessage,
  1677.     DWORD *_pdwStubPhase);
  1678. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  1679.     IMediaFilter * This,
  1680.     /* [in] */ DWORD dwMilliSecsTimeout,
  1681.     /* [out] */ FILTER_STATE *State);
  1682. void __RPC_STUB IMediaFilter_GetState_Stub(
  1683.     IRpcStubBuffer *This,
  1684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1685.     PRPC_MESSAGE _pRpcMessage,
  1686.     DWORD *_pdwStubPhase);
  1687. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  1688.     IMediaFilter * This,
  1689.     /* [in] */ IReferenceClock *pClock);
  1690. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  1691.     IRpcStubBuffer *This,
  1692.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1693.     PRPC_MESSAGE _pRpcMessage,
  1694.     DWORD *_pdwStubPhase);
  1695. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  1696.     IMediaFilter * This,
  1697.     /* [out] */ IReferenceClock **pClock);
  1698. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  1699.     IRpcStubBuffer *This,
  1700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1701.     PRPC_MESSAGE _pRpcMessage,
  1702.     DWORD *_pdwStubPhase);
  1703. #endif  /* __IMediaFilter_INTERFACE_DEFINED__ */
  1704. /* interface __MIDL_itf_strmif_0117 */
  1705. /* [local] */ 
  1706. typedef IMediaFilter *PMEDIAFILTER;
  1707. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  1708. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  1709. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  1710. #define __IBaseFilter_INTERFACE_DEFINED__
  1711. /* interface IBaseFilter */
  1712. /* [unique][uuid][object] */ 
  1713. typedef struct _FilterInfo
  1714.     {
  1715.     WCHAR achName[ 128 ];
  1716.     IFilterGraph *pGraph;
  1717.     }  FILTER_INFO;
  1718. EXTERN_C const IID IID_IBaseFilter;
  1719. #if defined(__cplusplus) && !defined(CINTERFACE)
  1720.     
  1721.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  1722.     IBaseFilter : public IMediaFilter
  1723.     {
  1724.     public:
  1725.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  1726.             /* [out] */ IEnumPins **ppEnum) = 0;
  1727.         
  1728.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  1729.             /* [string][in] */ LPCWSTR Id,
  1730.             /* [out] */ IPin **ppPin) = 0;
  1731.         
  1732.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  1733.             /* [out] */ FILTER_INFO *pInfo) = 0;
  1734.         
  1735.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  1736.             /* [in] */ IFilterGraph *pGraph,
  1737.             /* [string][in] */ LPCWSTR pName) = 0;
  1738.         
  1739.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  1740.             /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  1741.         
  1742.     };
  1743.     
  1744. #else  /* C style interface */
  1745.     typedef struct IBaseFilterVtbl
  1746.     {
  1747.         BEGIN_INTERFACE
  1748.         
  1749.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1750.             IBaseFilter * This,
  1751.             /* [in] */ REFIID riid,
  1752.             /* [iid_is][out] */ void **ppvObject);
  1753.         
  1754.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1755.             IBaseFilter * This);
  1756.         
  1757.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1758.             IBaseFilter * This);
  1759.         
  1760.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1761.             IBaseFilter * This,
  1762.             /* [out] */ CLSID *pClassID);
  1763.         
  1764.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  1765.             IBaseFilter * This);
  1766.         
  1767.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  1768.             IBaseFilter * This);
  1769.         
  1770.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  1771.             IBaseFilter * This,
  1772.             REFERENCE_TIME tStart);
  1773.         
  1774.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  1775.             IBaseFilter * This,
  1776.             /* [in] */ DWORD dwMilliSecsTimeout,
  1777.             /* [out] */ FILTER_STATE *State);
  1778.         
  1779.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  1780.             IBaseFilter * This,
  1781.             /* [in] */ IReferenceClock *pClock);
  1782.         
  1783.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  1784.             IBaseFilter * This,
  1785.             /* [out] */ IReferenceClock **pClock);
  1786.         
  1787.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  1788.             IBaseFilter * This,
  1789.             /* [out] */ IEnumPins **ppEnum);
  1790.         
  1791.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  1792.             IBaseFilter * This,
  1793.             /* [string][in] */ LPCWSTR Id,
  1794.             /* [out] */ IPin **ppPin);
  1795.         
  1796.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  1797.             IBaseFilter * This,
  1798.             /* [out] */ FILTER_INFO *pInfo);
  1799.         
  1800.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  1801.             IBaseFilter * This,
  1802.             /* [in] */ IFilterGraph *pGraph,
  1803.             /* [string][in] */ LPCWSTR pName);
  1804.         
  1805.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  1806.             IBaseFilter * This,
  1807.             /* [string][out] */ LPWSTR *pVendorInfo);
  1808.         
  1809.         END_INTERFACE
  1810.     } IBaseFilterVtbl;
  1811.     interface IBaseFilter
  1812.     {
  1813.         CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  1814.     };
  1815.     
  1816. #ifdef COBJMACROS
  1817. #define IBaseFilter_QueryInterface(This,riid,ppvObject)
  1818.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1819. #define IBaseFilter_AddRef(This)
  1820.     (This)->lpVtbl -> AddRef(This)
  1821. #define IBaseFilter_Release(This)
  1822.     (This)->lpVtbl -> Release(This)
  1823. #define IBaseFilter_GetClassID(This,pClassID)
  1824.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1825. #define IBaseFilter_Stop(This)
  1826.     (This)->lpVtbl -> Stop(This)
  1827. #define IBaseFilter_Pause(This)
  1828.     (This)->lpVtbl -> Pause(This)
  1829. #define IBaseFilter_Run(This,tStart)
  1830.     (This)->lpVtbl -> Run(This,tStart)
  1831. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)
  1832.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1833. #define IBaseFilter_SetSyncSource(This,pClock)
  1834.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  1835. #define IBaseFilter_GetSyncSource(This,pClock)
  1836.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  1837. #define IBaseFilter_EnumPins(This,ppEnum)
  1838.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  1839. #define IBaseFilter_FindPin(This,Id,ppPin)
  1840.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  1841. #define IBaseFilter_QueryFilterInfo(This,pInfo)
  1842.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  1843. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)
  1844.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  1845. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)
  1846.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  1847. #endif /* COBJMACROS */
  1848. #endif  /* C style interface */
  1849. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  1850.     IBaseFilter * This,
  1851.     /* [out] */ IEnumPins **ppEnum);
  1852. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  1853.     IRpcStubBuffer *This,
  1854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1855.     PRPC_MESSAGE _pRpcMessage,
  1856.     DWORD *_pdwStubPhase);
  1857. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  1858.     IBaseFilter * This,
  1859.     /* [string][in] */ LPCWSTR Id,
  1860.     /* [out] */ IPin **ppPin);
  1861. void __RPC_STUB IBaseFilter_FindPin_Stub(
  1862.     IRpcStubBuffer *This,
  1863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1864.     PRPC_MESSAGE _pRpcMessage,
  1865.     DWORD *_pdwStubPhase);
  1866. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  1867.     IBaseFilter * This,
  1868.     /* [out] */ FILTER_INFO *pInfo);
  1869. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  1870.     IRpcStubBuffer *This,
  1871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1872.     PRPC_MESSAGE _pRpcMessage,
  1873.     DWORD *_pdwStubPhase);
  1874. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  1875.     IBaseFilter * This,
  1876.     /* [in] */ IFilterGraph *pGraph,
  1877.     /* [string][in] */ LPCWSTR pName);
  1878. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  1879.     IRpcStubBuffer *This,
  1880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1881.     PRPC_MESSAGE _pRpcMessage,
  1882.     DWORD *_pdwStubPhase);
  1883. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  1884.     IBaseFilter * This,
  1885.     /* [string][out] */ LPWSTR *pVendorInfo);
  1886. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  1887.     IRpcStubBuffer *This,
  1888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1889.     PRPC_MESSAGE _pRpcMessage,
  1890.     DWORD *_pdwStubPhase);
  1891. #endif  /* __IBaseFilter_INTERFACE_DEFINED__ */
  1892. /* interface __MIDL_itf_strmif_0118 */
  1893. /* [local] */ 
  1894. typedef IBaseFilter *PFILTER;
  1895. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  1896. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  1897. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  1898. #define __IReferenceClock_INTERFACE_DEFINED__
  1899. /* interface IReferenceClock */
  1900. /* [unique][uuid][object] */ 
  1901. EXTERN_C const IID IID_IReferenceClock;
  1902. #if defined(__cplusplus) && !defined(CINTERFACE)
  1903.     
  1904.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  1905.     IReferenceClock : public IUnknown
  1906.     {
  1907.     public:
  1908.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  1909.             /* [out] */ REFERENCE_TIME *pTime) = 0;
  1910.         
  1911.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  1912.             /* [in] */ REFERENCE_TIME baseTime,
  1913.             /* [in] */ REFERENCE_TIME streamTime,
  1914.             /* [in] */ HEVENT hEvent,
  1915.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1916.         
  1917.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  1918.             /* [in] */ REFERENCE_TIME startTime,
  1919.             /* [in] */ REFERENCE_TIME periodTime,
  1920.             /* [in] */ HSEMAPHORE hSemaphore,
  1921.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1922.         
  1923.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  1924.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  1925.         
  1926.     };
  1927.     
  1928. #else  /* C style interface */
  1929.     typedef struct IReferenceClockVtbl
  1930.     {
  1931.         BEGIN_INTERFACE
  1932.         
  1933.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1934.             IReferenceClock * This,
  1935.             /* [in] */ REFIID riid,
  1936.             /* [iid_is][out] */ void **ppvObject);
  1937.         
  1938.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1939.             IReferenceClock * This);
  1940.         
  1941.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1942.             IReferenceClock * This);
  1943.         
  1944.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  1945.             IReferenceClock * This,
  1946.             /* [out] */ REFERENCE_TIME *pTime);
  1947.         
  1948.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  1949.             IReferenceClock * This,
  1950.             /* [in] */ REFERENCE_TIME baseTime,
  1951.             /* [in] */ REFERENCE_TIME streamTime,
  1952.             /* [in] */ HEVENT hEvent,
  1953.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1954.         
  1955.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  1956.             IReferenceClock * This,
  1957.             /* [in] */ REFERENCE_TIME startTime,
  1958.             /* [in] */ REFERENCE_TIME periodTime,
  1959.             /* [in] */ HSEMAPHORE hSemaphore,
  1960.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1961.         
  1962.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  1963.             IReferenceClock * This,
  1964.             /* [in] */ DWORD_PTR dwAdviseCookie);
  1965.         
  1966.         END_INTERFACE
  1967.     } IReferenceClockVtbl;
  1968.     interface IReferenceClock
  1969.     {
  1970.         CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  1971.     };
  1972.     
  1973. #ifdef COBJMACROS
  1974. #define IReferenceClock_QueryInterface(This,riid,ppvObject)
  1975.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1976. #define IReferenceClock_AddRef(This)
  1977.     (This)->lpVtbl -> AddRef(This)
  1978. #define IReferenceClock_Release(This)
  1979.     (This)->lpVtbl -> Release(This)
  1980. #define IReferenceClock_GetTime(This,pTime)
  1981.     (This)->lpVtbl -> GetTime(This,pTime)
  1982. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1983.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1984. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1985.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1986. #define IReferenceClock_Unadvise(This,dwAdviseCookie)
  1987.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  1988. #endif /* COBJMACROS */
  1989. #endif  /* C style interface */
  1990. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  1991.     IReferenceClock * This,
  1992.     /* [out] */ REFERENCE_TIME *pTime);
  1993. void __RPC_STUB IReferenceClock_GetTime_Stub(
  1994.     IRpcStubBuffer *This,
  1995.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1996.     PRPC_MESSAGE _pRpcMessage,
  1997.     DWORD *_pdwStubPhase);
  1998. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  1999.     IReferenceClock * This,
  2000.     /* [in] */ REFERENCE_TIME baseTime,
  2001.     /* [in] */ REFERENCE_TIME streamTime,
  2002.     /* [in] */ HEVENT hEvent,
  2003.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2004. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2005.     IRpcStubBuffer *This,
  2006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2007.     PRPC_MESSAGE _pRpcMessage,
  2008.     DWORD *_pdwStubPhase);
  2009. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2010.     IReferenceClock * This,
  2011.     /* [in] */ REFERENCE_TIME startTime,
  2012.     /* [in] */ REFERENCE_TIME periodTime,
  2013.     /* [in] */ HSEMAPHORE hSemaphore,
  2014.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2015. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2016.     IRpcStubBuffer *This,
  2017.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2018.     PRPC_MESSAGE _pRpcMessage,
  2019.     DWORD *_pdwStubPhase);
  2020. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2021.     IReferenceClock * This,
  2022.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2023. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2024.     IRpcStubBuffer *This,
  2025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2026.     PRPC_MESSAGE _pRpcMessage,
  2027.     DWORD *_pdwStubPhase);
  2028. #endif  /* __IReferenceClock_INTERFACE_DEFINED__ */
  2029. /* interface __MIDL_itf_strmif_0119 */
  2030. /* [local] */ 
  2031. typedef IReferenceClock *PREFERENCECLOCK;
  2032. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  2033. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  2034. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2035. #define __IReferenceClock2_INTERFACE_DEFINED__
  2036. /* interface IReferenceClock2 */
  2037. /* [unique][uuid][object] */ 
  2038. EXTERN_C const IID IID_IReferenceClock2;
  2039. #if defined(__cplusplus) && !defined(CINTERFACE)
  2040.     
  2041.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2042.     IReferenceClock2 : public IReferenceClock
  2043.     {
  2044.     public:
  2045.     };
  2046.     
  2047. #else  /* C style interface */
  2048.     typedef struct IReferenceClock2Vtbl
  2049.     {
  2050.         BEGIN_INTERFACE
  2051.         
  2052.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2053.             IReferenceClock2 * This,
  2054.             /* [in] */ REFIID riid,
  2055.             /* [iid_is][out] */ void **ppvObject);
  2056.         
  2057.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2058.             IReferenceClock2 * This);
  2059.         
  2060.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2061.             IReferenceClock2 * This);
  2062.         
  2063.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2064.             IReferenceClock2 * This,
  2065.             /* [out] */ REFERENCE_TIME *pTime);
  2066.         
  2067.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2068.             IReferenceClock2 * This,
  2069.             /* [in] */ REFERENCE_TIME baseTime,
  2070.             /* [in] */ REFERENCE_TIME streamTime,
  2071.             /* [in] */ HEVENT hEvent,
  2072.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2073.         
  2074.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2075.             IReferenceClock2 * This,
  2076.             /* [in] */ REFERENCE_TIME startTime,
  2077.             /* [in] */ REFERENCE_TIME periodTime,
  2078.             /* [in] */ HSEMAPHORE hSemaphore,
  2079.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2080.         
  2081.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2082.             IReferenceClock2 * This,
  2083.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2084.         
  2085.         END_INTERFACE
  2086.     } IReferenceClock2Vtbl;
  2087.     interface IReferenceClock2
  2088.     {
  2089.         CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  2090.     };
  2091.     
  2092. #ifdef COBJMACROS
  2093. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)
  2094.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2095. #define IReferenceClock2_AddRef(This)
  2096.     (This)->lpVtbl -> AddRef(This)
  2097. #define IReferenceClock2_Release(This)
  2098.     (This)->lpVtbl -> Release(This)
  2099. #define IReferenceClock2_GetTime(This,pTime)
  2100.     (This)->lpVtbl -> GetTime(This,pTime)
  2101. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2102.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2103. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2104.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2105. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)
  2106.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2107. #endif /* COBJMACROS */
  2108. #endif  /* C style interface */
  2109. #endif  /* __IReferenceClock2_INTERFACE_DEFINED__ */
  2110. /* interface __MIDL_itf_strmif_0120 */
  2111. /* [local] */ 
  2112. typedef IReferenceClock2 *PREFERENCECLOCK2;
  2113. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  2114. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  2115. #ifndef __IMediaSample_INTERFACE_DEFINED__
  2116. #define __IMediaSample_INTERFACE_DEFINED__
  2117. /* interface IMediaSample */
  2118. /* [unique][uuid][object][local] */ 
  2119. EXTERN_C const IID IID_IMediaSample;
  2120. #if defined(__cplusplus) && !defined(CINTERFACE)
  2121.     
  2122.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  2123.     IMediaSample : public IUnknown
  2124.     {
  2125.     public:
  2126.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  2127.             /* [out] */ BYTE **ppBuffer) = 0;
  2128.         
  2129.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  2130.         
  2131.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2132.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2133.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  2134.         
  2135.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  2136.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2137.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  2138.         
  2139.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  2140.         
  2141.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  2142.             BOOL bIsSyncPoint) = 0;
  2143.         
  2144.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  2145.         
  2146.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  2147.             BOOL bIsPreroll) = 0;
  2148.         
  2149.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  2150.         
  2151.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  2152.             long __MIDL_0010) = 0;
  2153.         
  2154.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  2155.             AM_MEDIA_TYPE **ppMediaType) = 0;
  2156.         
  2157.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  2158.             AM_MEDIA_TYPE *pMediaType) = 0;
  2159.         
  2160.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  2161.         
  2162.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  2163.             BOOL bDiscontinuity) = 0;
  2164.         
  2165.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  2166.             /* [out] */ LONGLONG *pTimeStart,
  2167.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  2168.         
  2169.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  2170.             /* [in] */ LONGLONG *pTimeStart,
  2171.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  2172.         
  2173.     };
  2174.     
  2175. #else  /* C style interface */
  2176.     typedef struct IMediaSampleVtbl
  2177.     {
  2178.         BEGIN_INTERFACE
  2179.         
  2180.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2181.             IMediaSample * This,
  2182.             /* [in] */ REFIID riid,
  2183.             /* [iid_is][out] */ void **ppvObject);
  2184.         
  2185.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2186.             IMediaSample * This);
  2187.         
  2188.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2189.             IMediaSample * This);
  2190.         
  2191.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  2192.             IMediaSample * This,
  2193.             /* [out] */ BYTE **ppBuffer);
  2194.         
  2195.         long ( STDMETHODCALLTYPE *GetSize )( 
  2196.             IMediaSample * This);
  2197.         
  2198.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2199.             IMediaSample * This,
  2200.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2201.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  2202.         
  2203.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  2204.             IMediaSample * This,
  2205.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2206.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  2209.             IMediaSample * This);
  2210.         
  2211.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  2212.             IMediaSample * This,
  2213.             BOOL bIsSyncPoint);
  2214.         
  2215.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  2216.             IMediaSample * This);
  2217.         
  2218.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  2219.             IMediaSample * This,
  2220.             BOOL bIsPreroll);
  2221.         
  2222.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  2223.             IMediaSample * This);
  2224.         
  2225.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  2226.             IMediaSample * This,
  2227.             long __MIDL_0010);
  2228.         
  2229.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  2230.             IMediaSample * This,
  2231.             AM_MEDIA_TYPE **ppMediaType);
  2232.         
  2233.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  2234.             IMediaSample * This,
  2235.             AM_MEDIA_TYPE *pMediaType);
  2236.         
  2237.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  2238.             IMediaSample * This);
  2239.         
  2240.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  2241.             IMediaSample * This,
  2242.             BOOL bDiscontinuity);
  2243.         
  2244.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  2245.             IMediaSample * This,
  2246.             /* [out] */ LONGLONG *pTimeStart,
  2247.             /* [out] */ LONGLONG *pTimeEnd);
  2248.         
  2249.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  2250.             IMediaSample * This,
  2251.             /* [in] */ LONGLONG *pTimeStart,
  2252.             /* [in] */ LONGLONG *pTimeEnd);
  2253.         
  2254.         END_INTERFACE
  2255.     } IMediaSampleVtbl;
  2256.     interface IMediaSample
  2257.     {
  2258.         CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  2259.     };
  2260.     
  2261. #ifdef COBJMACROS
  2262. #define IMediaSample_QueryInterface(This,riid,ppvObject)
  2263.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2264. #define IMediaSample_AddRef(This)
  2265.     (This)->lpVtbl -> AddRef(This)
  2266. #define IMediaSample_Release(This)
  2267.     (This)->lpVtbl -> Release(This)
  2268. #define IMediaSample_GetPointer(This,ppBuffer)
  2269.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2270. #define IMediaSample_GetSize(This)
  2271.     (This)->lpVtbl -> GetSize(This)
  2272. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)
  2273.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2274. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)
  2275.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2276. #define IMediaSample_IsSyncPoint(This)
  2277.     (This)->lpVtbl -> IsSyncPoint(This)
  2278. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)
  2279.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2280. #define IMediaSample_IsPreroll(This)
  2281.     (This)->lpVtbl -> IsPreroll(This)
  2282. #define IMediaSample_SetPreroll(This,bIsPreroll)
  2283.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2284. #define IMediaSample_GetActualDataLength(This)
  2285.     (This)->lpVtbl -> GetActualDataLength(This)
  2286. #define IMediaSample_SetActualDataLength(This,__MIDL_0010)
  2287.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2288. #define IMediaSample_GetMediaType(This,ppMediaType)
  2289.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2290. #define IMediaSample_SetMediaType(This,pMediaType)
  2291.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2292. #define IMediaSample_IsDiscontinuity(This)
  2293.     (This)->lpVtbl -> IsDiscontinuity(This)
  2294. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)
  2295.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2296. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)
  2297.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2298. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)
  2299.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2300. #endif /* COBJMACROS */
  2301. #endif  /* C style interface */
  2302. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  2303.     IMediaSample * This,
  2304.     /* [out] */ BYTE **ppBuffer);
  2305. void __RPC_STUB IMediaSample_GetPointer_Stub(
  2306.     IRpcStubBuffer *This,
  2307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2308.     PRPC_MESSAGE _pRpcMessage,
  2309.     DWORD *_pdwStubPhase);
  2310. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  2311.     IMediaSample * This);
  2312. void __RPC_STUB IMediaSample_GetSize_Stub(
  2313.     IRpcStubBuffer *This,
  2314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2315.     PRPC_MESSAGE _pRpcMessage,
  2316.     DWORD *_pdwStubPhase);
  2317. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  2318.     IMediaSample * This,
  2319.     /* [out] */ REFERENCE_TIME *pTimeStart,
  2320.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  2321. void __RPC_STUB IMediaSample_GetTime_Stub(
  2322.     IRpcStubBuffer *This,
  2323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2324.     PRPC_MESSAGE _pRpcMessage,
  2325.     DWORD *_pdwStubPhase);
  2326. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  2327.     IMediaSample * This,
  2328.     /* [in] */ REFERENCE_TIME *pTimeStart,
  2329.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  2330. void __RPC_STUB IMediaSample_SetTime_Stub(
  2331.     IRpcStubBuffer *This,
  2332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2333.     PRPC_MESSAGE _pRpcMessage,
  2334.     DWORD *_pdwStubPhase);
  2335. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  2336.     IMediaSample * This);
  2337. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  2338.     IRpcStubBuffer *This,
  2339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2340.     PRPC_MESSAGE _pRpcMessage,
  2341.     DWORD *_pdwStubPhase);
  2342. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  2343.     IMediaSample * This,
  2344.     BOOL bIsSyncPoint);
  2345. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  2346.     IRpcStubBuffer *This,
  2347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2348.     PRPC_MESSAGE _pRpcMessage,
  2349.     DWORD *_pdwStubPhase);
  2350. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  2351.     IMediaSample * This);
  2352. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  2353.     IRpcStubBuffer *This,
  2354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2355.     PRPC_MESSAGE _pRpcMessage,
  2356.     DWORD *_pdwStubPhase);
  2357. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  2358.     IMediaSample * This,
  2359.     BOOL bIsPreroll);
  2360. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  2361.     IRpcStubBuffer *This,
  2362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2363.     PRPC_MESSAGE _pRpcMessage,
  2364.     DWORD *_pdwStubPhase);
  2365. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  2366.     IMediaSample * This);
  2367. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  2368.     IRpcStubBuffer *This,
  2369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2370.     PRPC_MESSAGE _pRpcMessage,
  2371.     DWORD *_pdwStubPhase);
  2372. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  2373.     IMediaSample * This,
  2374.     long __MIDL_0010);
  2375. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  2376.     IRpcStubBuffer *This,
  2377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2378.     PRPC_MESSAGE _pRpcMessage,
  2379.     DWORD *_pdwStubPhase);
  2380. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  2381.     IMediaSample * This,
  2382.     AM_MEDIA_TYPE **ppMediaType);
  2383. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  2384.     IRpcStubBuffer *This,
  2385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2386.     PRPC_MESSAGE _pRpcMessage,
  2387.     DWORD *_pdwStubPhase);
  2388. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  2389.     IMediaSample * This,
  2390.     AM_MEDIA_TYPE *pMediaType);
  2391. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  2392.     IRpcStubBuffer *This,
  2393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2394.     PRPC_MESSAGE _pRpcMessage,
  2395.     DWORD *_pdwStubPhase);
  2396. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  2397.     IMediaSample * This);
  2398. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  2399.     IRpcStubBuffer *This,
  2400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2401.     PRPC_MESSAGE _pRpcMessage,
  2402.     DWORD *_pdwStubPhase);
  2403. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  2404.     IMediaSample * This,
  2405.     BOOL bDiscontinuity);
  2406. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  2407.     IRpcStubBuffer *This,
  2408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2409.     PRPC_MESSAGE _pRpcMessage,
  2410.     DWORD *_pdwStubPhase);
  2411. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  2412.     IMediaSample * This,
  2413.     /* [out] */ LONGLONG *pTimeStart,
  2414.     /* [out] */ LONGLONG *pTimeEnd);
  2415. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  2416.     IRpcStubBuffer *This,
  2417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2418.     PRPC_MESSAGE _pRpcMessage,
  2419.     DWORD *_pdwStubPhase);
  2420. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  2421.     IMediaSample * This,
  2422.     /* [in] */ LONGLONG *pTimeStart,
  2423.     /* [in] */ LONGLONG *pTimeEnd);
  2424. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  2425.     IRpcStubBuffer *This,
  2426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2427.     PRPC_MESSAGE _pRpcMessage,
  2428.     DWORD *_pdwStubPhase);
  2429. #endif  /* __IMediaSample_INTERFACE_DEFINED__ */
  2430. /* interface __MIDL_itf_strmif_0121 */
  2431. /* [local] */ 
  2432. typedef IMediaSample *PMEDIASAMPLE;
  2433. enum tagAM_SAMPLE_PROPERTY_FLAGS
  2434.     { AM_SAMPLE_SPLICEPOINT = 0x1,
  2435. AM_SAMPLE_PREROLL = 0x2,
  2436. AM_SAMPLE_DATADISCONTINUITY = 0x4,
  2437. AM_SAMPLE_TYPECHANGED = 0x8,
  2438. AM_SAMPLE_TIMEVALID = 0x10,
  2439. AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  2440. AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  2441. AM_SAMPLE_STOPVALID = 0x100,
  2442. AM_SAMPLE_ENDOFSTREAM = 0x200,
  2443. AM_STREAM_MEDIA = 0,
  2444. AM_STREAM_CONTROL = 1
  2445.     } ;
  2446. typedef struct tagAM_SAMPLE2_PROPERTIES
  2447.     {
  2448.     DWORD cbData;
  2449.     DWORD dwTypeSpecificFlags;
  2450.     DWORD dwSampleFlags;
  2451.     LONG lActual;
  2452.     REFERENCE_TIME tStart;
  2453.     REFERENCE_TIME tStop;
  2454.     DWORD dwStreamId;
  2455.     AM_MEDIA_TYPE *pMediaType;
  2456.     BYTE *pbBuffer;
  2457.     LONG cbBuffer;
  2458.     }  AM_SAMPLE2_PROPERTIES;
  2459. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  2460. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  2461. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  2462. #define __IMediaSample2_INTERFACE_DEFINED__
  2463. /* interface IMediaSample2 */
  2464. /* [unique][uuid][object][local] */ 
  2465. EXTERN_C const IID IID_IMediaSample2;
  2466. #if defined(__cplusplus) && !defined(CINTERFACE)
  2467.     
  2468.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  2469.     IMediaSample2 : public IMediaSample
  2470.     {
  2471.     public:
  2472.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  2473.             /* [in] */ DWORD cbProperties,
  2474.             /* [size_is][out] */ BYTE *pbProperties) = 0;
  2475.         
  2476.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  2477.             /* [in] */ DWORD cbProperties,
  2478.             /* [size_is][in] */ const BYTE *pbProperties) = 0;
  2479.         
  2480.     };
  2481.     
  2482. #else  /* C style interface */
  2483.     typedef struct IMediaSample2Vtbl
  2484.     {
  2485.         BEGIN_INTERFACE
  2486.         
  2487.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2488.             IMediaSample2 * This,
  2489.             /* [in] */ REFIID riid,
  2490.             /* [iid_is][out] */ void **ppvObject);
  2491.         
  2492.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2493.             IMediaSample2 * This);
  2494.         
  2495.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2496.             IMediaSample2 * This);
  2497.         
  2498.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  2499.             IMediaSample2 * This,
  2500.             /* [out] */ BYTE **ppBuffer);
  2501.         
  2502.         long ( STDMETHODCALLTYPE *GetSize )( 
  2503.             IMediaSample2 * This);
  2504.         
  2505.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2506.             IMediaSample2 * This,
  2507.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2508.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  2509.         
  2510.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  2511.             IMediaSample2 * This,
  2512.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2513.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  2514.         
  2515.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  2516.             IMediaSample2 * This);
  2517.         
  2518.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  2519.             IMediaSample2 * This,
  2520.             BOOL bIsSyncPoint);
  2521.         
  2522.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  2523.             IMediaSample2 * This);
  2524.         
  2525.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  2526.             IMediaSample2 * This,
  2527.             BOOL bIsPreroll);
  2528.         
  2529.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  2530.             IMediaSample2 * This);
  2531.         
  2532.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  2533.             IMediaSample2 * This,
  2534.             long __MIDL_0010);
  2535.         
  2536.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  2537.             IMediaSample2 * This,
  2538.             AM_MEDIA_TYPE **ppMediaType);
  2539.         
  2540.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  2541.             IMediaSample2 * This,
  2542.             AM_MEDIA_TYPE *pMediaType);
  2543.         
  2544.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  2545.             IMediaSample2 * This);
  2546.         
  2547.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  2548.             IMediaSample2 * This,
  2549.             BOOL bDiscontinuity);
  2550.         
  2551.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  2552.             IMediaSample2 * This,
  2553.             /* [out] */ LONGLONG *pTimeStart,
  2554.             /* [out] */ LONGLONG *pTimeEnd);
  2555.         
  2556.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  2557.             IMediaSample2 * This,
  2558.             /* [in] */ LONGLONG *pTimeStart,
  2559.             /* [in] */ LONGLONG *pTimeEnd);
  2560.         
  2561.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  2562.             IMediaSample2 * This,
  2563.             /* [in] */ DWORD cbProperties,
  2564.             /* [size_is][out] */ BYTE *pbProperties);
  2565.         
  2566.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  2567.             IMediaSample2 * This,
  2568.             /* [in] */ DWORD cbProperties,
  2569.             /* [size_is][in] */ const BYTE *pbProperties);
  2570.         
  2571.         END_INTERFACE
  2572.     } IMediaSample2Vtbl;
  2573.     interface IMediaSample2
  2574.     {
  2575.         CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  2576.     };
  2577.     
  2578. #ifdef COBJMACROS
  2579. #define IMediaSample2_QueryInterface(This,riid,ppvObject)
  2580.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2581. #define IMediaSample2_AddRef(This)
  2582.     (This)->lpVtbl -> AddRef(This)
  2583. #define IMediaSample2_Release(This)
  2584.     (This)->lpVtbl -> Release(This)
  2585. #define IMediaSample2_GetPointer(This,ppBuffer)
  2586.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2587. #define IMediaSample2_GetSize(This)
  2588.     (This)->lpVtbl -> GetSize(This)
  2589. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)
  2590.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2591. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)
  2592.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2593. #define IMediaSample2_IsSyncPoint(This)
  2594.     (This)->lpVtbl -> IsSyncPoint(This)
  2595. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)
  2596.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2597. #define IMediaSample2_IsPreroll(This)
  2598.     (This)->lpVtbl -> IsPreroll(This)
  2599. #define IMediaSample2_SetPreroll(This,bIsPreroll)
  2600.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2601. #define IMediaSample2_GetActualDataLength(This)
  2602.     (This)->lpVtbl -> GetActualDataLength(This)
  2603. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010)
  2604.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2605. #define IMediaSample2_GetMediaType(This,ppMediaType)
  2606.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2607. #define IMediaSample2_SetMediaType(This,pMediaType)
  2608.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2609. #define IMediaSample2_IsDiscontinuity(This)
  2610.     (This)->lpVtbl -> IsDiscontinuity(This)
  2611. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)
  2612.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2613. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)
  2614.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2615. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)
  2616.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2617. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)
  2618.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  2619. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)
  2620.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  2621. #endif /* COBJMACROS */
  2622. #endif  /* C style interface */
  2623. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  2624.     IMediaSample2 * This,
  2625.     /* [in] */ DWORD cbProperties,
  2626.     /* [size_is][out] */ BYTE *pbProperties);
  2627. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  2628.     IRpcStubBuffer *This,
  2629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2630.     PRPC_MESSAGE _pRpcMessage,
  2631.     DWORD *_pdwStubPhase);
  2632. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  2633.     IMediaSample2 * This,
  2634.     /* [in] */ DWORD cbProperties,
  2635.     /* [size_is][in] */ const BYTE *pbProperties);
  2636. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  2637.     IRpcStubBuffer *This,
  2638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2639.     PRPC_MESSAGE _pRpcMessage,
  2640.     DWORD *_pdwStubPhase);
  2641. #endif  /* __IMediaSample2_INTERFACE_DEFINED__ */
  2642. /* interface __MIDL_itf_strmif_0122 */
  2643. /* [local] */ 
  2644. typedef IMediaSample2 *PMEDIASAMPLE2;
  2645. #define AM_GBF_PREVFRAMESKIPPED 1
  2646. #define AM_GBF_NOTASYNCPOINT 2
  2647. #define AM_GBF_NOWAIT 4
  2648. #define AM_GBF_NODDSURFACELOCK 8
  2649. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  2650. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  2651. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  2652. #define __IMemAllocator_INTERFACE_DEFINED__
  2653. /* interface IMemAllocator */
  2654. /* [unique][uuid][object] */ 
  2655. EXTERN_C const IID IID_IMemAllocator;
  2656. #if defined(__cplusplus) && !defined(CINTERFACE)
  2657.     
  2658.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  2659.     IMemAllocator : public IUnknown
  2660.     {
  2661.     public:
  2662.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  2663.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2664.             /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  2665.         
  2666.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  2667.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  2668.         
  2669.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  2670.         
  2671.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  2672.         
  2673.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  2674.             /* [out] */ IMediaSample **ppBuffer,
  2675.             /* [in] */ REFERENCE_TIME *pStartTime,
  2676.             /* [in] */ REFERENCE_TIME *pEndTime,
  2677.             /* [in] */ DWORD dwFlags) = 0;
  2678.         
  2679.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  2680.             /* [in] */ IMediaSample *pBuffer) = 0;
  2681.         
  2682.     };
  2683.     
  2684. #else  /* C style interface */
  2685.     typedef struct IMemAllocatorVtbl
  2686.     {
  2687.         BEGIN_INTERFACE
  2688.         
  2689.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2690.             IMemAllocator * This,
  2691.             /* [in] */ REFIID riid,
  2692.             /* [iid_is][out] */ void **ppvObject);
  2693.         
  2694.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2695.             IMemAllocator * This);
  2696.         
  2697.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2698.             IMemAllocator * This);
  2699.         
  2700.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  2701.             IMemAllocator * This,
  2702.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2703.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2704.         
  2705.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  2706.             IMemAllocator * This,
  2707.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2708.         
  2709.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  2710.             IMemAllocator * This);
  2711.         
  2712.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  2713.             IMemAllocator * This);
  2714.         
  2715.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  2716.             IMemAllocator * This,
  2717.             /* [out] */ IMediaSample **ppBuffer,
  2718.             /* [in] */ REFERENCE_TIME *pStartTime,
  2719.             /* [in] */ REFERENCE_TIME *pEndTime,
  2720.             /* [in] */ DWORD dwFlags);
  2721.         
  2722.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  2723.             IMemAllocator * This,
  2724.             /* [in] */ IMediaSample *pBuffer);
  2725.         
  2726.         END_INTERFACE
  2727.     } IMemAllocatorVtbl;
  2728.     interface IMemAllocator
  2729.     {
  2730.         CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  2731.     };
  2732.     
  2733. #ifdef COBJMACROS
  2734. #define IMemAllocator_QueryInterface(This,riid,ppvObject)
  2735.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2736. #define IMemAllocator_AddRef(This)
  2737.     (This)->lpVtbl -> AddRef(This)
  2738. #define IMemAllocator_Release(This)
  2739.     (This)->lpVtbl -> Release(This)
  2740. #define IMemAllocator_SetProperties(This,pRequest,pActual)
  2741.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2742. #define IMemAllocator_GetProperties(This,pProps)
  2743.     (This)->lpVtbl -> GetProperties(This,pProps)
  2744. #define IMemAllocator_Commit(This)
  2745.     (This)->lpVtbl -> Commit(This)
  2746. #define IMemAllocator_Decommit(This)
  2747.     (This)->lpVtbl -> Decommit(This)
  2748. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2749.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2750. #define IMemAllocator_ReleaseBuffer(This,pBuffer)
  2751.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2752. #endif /* COBJMACROS */
  2753. #endif  /* C style interface */
  2754. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  2755.     IMemAllocator * This,
  2756.     /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2757.     /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2758. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  2759.     IRpcStubBuffer *This,
  2760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2761.     PRPC_MESSAGE _pRpcMessage,
  2762.     DWORD *_pdwStubPhase);
  2763. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  2764.     IMemAllocator * This,
  2765.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2766. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  2767.     IRpcStubBuffer *This,
  2768.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2769.     PRPC_MESSAGE _pRpcMessage,
  2770.     DWORD *_pdwStubPhase);
  2771. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  2772.     IMemAllocator * This);
  2773. void __RPC_STUB IMemAllocator_Commit_Stub(
  2774.     IRpcStubBuffer *This,
  2775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2776.     PRPC_MESSAGE _pRpcMessage,
  2777.     DWORD *_pdwStubPhase);
  2778. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  2779.     IMemAllocator * This);
  2780. void __RPC_STUB IMemAllocator_Decommit_Stub(
  2781.     IRpcStubBuffer *This,
  2782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2783.     PRPC_MESSAGE _pRpcMessage,
  2784.     DWORD *_pdwStubPhase);
  2785. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  2786.     IMemAllocator * This,
  2787.     /* [out] */ IMediaSample **ppBuffer,
  2788.     /* [in] */ REFERENCE_TIME *pStartTime,
  2789.     /* [in] */ REFERENCE_TIME *pEndTime,
  2790.     /* [in] */ DWORD dwFlags);
  2791. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  2792.     IRpcStubBuffer *This,
  2793.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2794.     PRPC_MESSAGE _pRpcMessage,
  2795.     DWORD *_pdwStubPhase);
  2796. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  2797.     IMemAllocator * This,
  2798.     /* [in] */ IMediaSample *pBuffer);
  2799. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  2800.     IRpcStubBuffer *This,
  2801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2802.     PRPC_MESSAGE _pRpcMessage,
  2803.     DWORD *_pdwStubPhase);
  2804. #endif  /* __IMemAllocator_INTERFACE_DEFINED__ */
  2805. /* interface __MIDL_itf_strmif_0123 */
  2806. /* [local] */ 
  2807. typedef IMemAllocator *PMEMALLOCATOR;
  2808. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  2809. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  2810. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2811. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2812. /* interface IMemAllocatorCallbackTemp */
  2813. /* [unique][uuid][object] */ 
  2814. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  2815. #if defined(__cplusplus) && !defined(CINTERFACE)
  2816.     
  2817.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  2818.     IMemAllocatorCallbackTemp : public IMemAllocator
  2819.     {
  2820.     public:
  2821.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  2822.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  2823.         
  2824.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  2825.             /* [out] */ LONG *plBuffersFree) = 0;
  2826.         
  2827.     };
  2828.     
  2829. #else  /* C style interface */
  2830.     typedef struct IMemAllocatorCallbackTempVtbl
  2831.     {
  2832.         BEGIN_INTERFACE
  2833.         
  2834.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2835.             IMemAllocatorCallbackTemp * This,
  2836.             /* [in] */ REFIID riid,
  2837.             /* [iid_is][out] */ void **ppvObject);
  2838.         
  2839.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2840.             IMemAllocatorCallbackTemp * This);
  2841.         
  2842.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2843.             IMemAllocatorCallbackTemp * This);
  2844.         
  2845.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  2846.             IMemAllocatorCallbackTemp * This,
  2847.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2848.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2849.         
  2850.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  2851.             IMemAllocatorCallbackTemp * This,
  2852.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2853.         
  2854.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  2855.             IMemAllocatorCallbackTemp * This);
  2856.         
  2857.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  2858.             IMemAllocatorCallbackTemp * This);
  2859.         
  2860.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  2861.             IMemAllocatorCallbackTemp * This,
  2862.             /* [out] */ IMediaSample **ppBuffer,
  2863.             /* [in] */ REFERENCE_TIME *pStartTime,
  2864.             /* [in] */ REFERENCE_TIME *pEndTime,
  2865.             /* [in] */ DWORD dwFlags);
  2866.         
  2867.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  2868.             IMemAllocatorCallbackTemp * This,
  2869.             /* [in] */ IMediaSample *pBuffer);
  2870.         
  2871.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  2872.             IMemAllocatorCallbackTemp * This,
  2873.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2874.         
  2875.         HRESULT ( STDMETHODCALLTYPE *GetFreeCount )( 
  2876.             IMemAllocatorCallbackTemp * This,
  2877.             /* [out] */ LONG *plBuffersFree);
  2878.         
  2879.         END_INTERFACE
  2880.     } IMemAllocatorCallbackTempVtbl;
  2881.     interface IMemAllocatorCallbackTemp
  2882.     {
  2883.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  2884.     };
  2885.     
  2886. #ifdef COBJMACROS
  2887. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)
  2888.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2889. #define IMemAllocatorCallbackTemp_AddRef(This)
  2890.     (This)->lpVtbl -> AddRef(This)
  2891. #define IMemAllocatorCallbackTemp_Release(This)
  2892.     (This)->lpVtbl -> Release(This)
  2893. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)
  2894.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2895. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)
  2896.     (This)->lpVtbl -> GetProperties(This,pProps)
  2897. #define IMemAllocatorCallbackTemp_Commit(This)
  2898.     (This)->lpVtbl -> Commit(This)
  2899. #define IMemAllocatorCallbackTemp_Decommit(This)
  2900.     (This)->lpVtbl -> Decommit(This)
  2901. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2902.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2903. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)
  2904.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2905. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)
  2906.     (This)->lpVtbl -> SetNotify(This,pNotify)
  2907. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)
  2908.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  2909. #endif /* COBJMACROS */
  2910. #endif  /* C style interface */
  2911. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  2912.     IMemAllocatorCallbackTemp * This,
  2913.     /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2914. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  2915.     IRpcStubBuffer *This,
  2916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2917.     PRPC_MESSAGE _pRpcMessage,
  2918.     DWORD *_pdwStubPhase);
  2919. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  2920.     IMemAllocatorCallbackTemp * This,
  2921.     /* [out] */ LONG *plBuffersFree);
  2922. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  2923.     IRpcStubBuffer *This,
  2924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2925.     PRPC_MESSAGE _pRpcMessage,
  2926.     DWORD *_pdwStubPhase);
  2927. #endif  /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  2928. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2929. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2930. /* interface IMemAllocatorNotifyCallbackTemp */
  2931. /* [unique][uuid][object] */ 
  2932. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  2933. #if defined(__cplusplus) && !defined(CINTERFACE)
  2934.     
  2935.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  2936.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  2937.     {
  2938.     public:
  2939.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  2940.         
  2941.     };
  2942.     
  2943. #else  /* C style interface */
  2944.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  2945.     {
  2946.         BEGIN_INTERFACE
  2947.         
  2948.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2949.             IMemAllocatorNotifyCallbackTemp * This,
  2950.             /* [in] */ REFIID riid,
  2951.             /* [iid_is][out] */ void **ppvObject);
  2952.         
  2953.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2954.             IMemAllocatorNotifyCallbackTemp * This);
  2955.         
  2956.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2957.             IMemAllocatorNotifyCallbackTemp * This);
  2958.         
  2959.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  2960.             IMemAllocatorNotifyCallbackTemp * This);
  2961.         
  2962.         END_INTERFACE
  2963.     } IMemAllocatorNotifyCallbackTempVtbl;
  2964.     interface IMemAllocatorNotifyCallbackTemp
  2965.     {
  2966.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  2967.     };
  2968.     
  2969. #ifdef COBJMACROS
  2970. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)
  2971.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2972. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)
  2973.     (This)->lpVtbl -> AddRef(This)
  2974. #define IMemAllocatorNotifyCallbackTemp_Release(This)
  2975.     (This)->lpVtbl -> Release(This)
  2976. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)
  2977.     (This)->lpVtbl -> NotifyRelease(This)
  2978. #endif /* COBJMACROS */
  2979. #endif  /* C style interface */
  2980. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  2981.     IMemAllocatorNotifyCallbackTemp * This);
  2982. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  2983.     IRpcStubBuffer *This,
  2984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2985.     PRPC_MESSAGE _pRpcMessage,
  2986.     DWORD *_pdwStubPhase);
  2987. #endif  /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  2988. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  2989. #define __IMemInputPin_INTERFACE_DEFINED__
  2990. /* interface IMemInputPin */
  2991. /* [unique][uuid][object] */ 
  2992. EXTERN_C const IID IID_IMemInputPin;
  2993. #if defined(__cplusplus) && !defined(CINTERFACE)
  2994.     
  2995.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  2996.     IMemInputPin : public IUnknown
  2997.     {
  2998.     public:
  2999.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  3000.             /* [out] */ IMemAllocator **ppAllocator) = 0;
  3001.         
  3002.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  3003.             /* [in] */ IMemAllocator *pAllocator,
  3004.             /* [in] */ BOOL bReadOnly) = 0;
  3005.         
  3006.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  3007.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  3008.         
  3009.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  3010.             /* [in] */ IMediaSample *pSample) = 0;
  3011.         
  3012.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  3013.             /* [size_is][in] */ IMediaSample **pSamples,
  3014.             /* [in] */ long nSamples,
  3015.             /* [out] */ long *nSamplesProcessed) = 0;
  3016.         
  3017.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  3018.         
  3019.     };
  3020.     
  3021. #else  /* C style interface */
  3022.     typedef struct IMemInputPinVtbl
  3023.     {
  3024.         BEGIN_INTERFACE
  3025.         
  3026.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3027.             IMemInputPin * This,
  3028.             /* [in] */ REFIID riid,
  3029.             /* [iid_is][out] */ void **ppvObject);
  3030.         
  3031.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3032.             IMemInputPin * This);
  3033.         
  3034.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3035.             IMemInputPin * This);
  3036.         
  3037.         HRESULT ( STDMETHODCALLTYPE *GetAllocator )( 
  3038.             IMemInputPin * This,
  3039.             /* [out] */ IMemAllocator **ppAllocator);
  3040.         
  3041.         HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(