home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the 3D Game Programming Gurus / gurus.iso / DirectX / dx9sdkcp.exe / SDK (C++) / Include / strmif.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-12-04  |  888.5 KB  |  30,738 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0357 */
  8. /* Compiler settings for strmif.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __strmif_h__
  37. #define __strmif_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __ICreateDevEnum_FWD_DEFINED__
  46. #define __ICreateDevEnum_FWD_DEFINED__
  47. typedef interface ICreateDevEnum ICreateDevEnum;
  48. #endif     /* __ICreateDevEnum_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IPin_FWD_DEFINED__
  52. #define __IPin_FWD_DEFINED__
  53. typedef interface IPin IPin;
  54. #endif     /* __IPin_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IEnumPins_FWD_DEFINED__
  58. #define __IEnumPins_FWD_DEFINED__
  59. typedef interface IEnumPins IEnumPins;
  60. #endif     /* __IEnumPins_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  64. #define __IEnumMediaTypes_FWD_DEFINED__
  65. typedef interface IEnumMediaTypes IEnumMediaTypes;
  66. #endif     /* __IEnumMediaTypes_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IFilterGraph_FWD_DEFINED__
  70. #define __IFilterGraph_FWD_DEFINED__
  71. typedef interface IFilterGraph IFilterGraph;
  72. #endif     /* __IFilterGraph_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IEnumFilters_FWD_DEFINED__
  76. #define __IEnumFilters_FWD_DEFINED__
  77. typedef interface IEnumFilters IEnumFilters;
  78. #endif     /* __IEnumFilters_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IMediaFilter_FWD_DEFINED__
  82. #define __IMediaFilter_FWD_DEFINED__
  83. typedef interface IMediaFilter IMediaFilter;
  84. #endif     /* __IMediaFilter_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IBaseFilter_FWD_DEFINED__
  88. #define __IBaseFilter_FWD_DEFINED__
  89. typedef interface IBaseFilter IBaseFilter;
  90. #endif     /* __IBaseFilter_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IReferenceClock_FWD_DEFINED__
  94. #define __IReferenceClock_FWD_DEFINED__
  95. typedef interface IReferenceClock IReferenceClock;
  96. #endif     /* __IReferenceClock_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IReferenceClock2_FWD_DEFINED__
  100. #define __IReferenceClock2_FWD_DEFINED__
  101. typedef interface IReferenceClock2 IReferenceClock2;
  102. #endif     /* __IReferenceClock2_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IMediaSample_FWD_DEFINED__
  106. #define __IMediaSample_FWD_DEFINED__
  107. typedef interface IMediaSample IMediaSample;
  108. #endif     /* __IMediaSample_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IMediaSample2_FWD_DEFINED__
  112. #define __IMediaSample2_FWD_DEFINED__
  113. typedef interface IMediaSample2 IMediaSample2;
  114. #endif     /* __IMediaSample2_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IMemAllocator_FWD_DEFINED__
  118. #define __IMemAllocator_FWD_DEFINED__
  119. typedef interface IMemAllocator IMemAllocator;
  120. #endif     /* __IMemAllocator_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  124. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  125. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  126. #endif     /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  127.  
  128.  
  129. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  130. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  131. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  132. #endif     /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  133.  
  134.  
  135. #ifndef __IMemInputPin_FWD_DEFINED__
  136. #define __IMemInputPin_FWD_DEFINED__
  137. typedef interface IMemInputPin IMemInputPin;
  138. #endif     /* __IMemInputPin_FWD_DEFINED__ */
  139.  
  140.  
  141. #ifndef __IAMovieSetup_FWD_DEFINED__
  142. #define __IAMovieSetup_FWD_DEFINED__
  143. typedef interface IAMovieSetup IAMovieSetup;
  144. #endif     /* __IAMovieSetup_FWD_DEFINED__ */
  145.  
  146.  
  147. #ifndef __IMediaSeeking_FWD_DEFINED__
  148. #define __IMediaSeeking_FWD_DEFINED__
  149. typedef interface IMediaSeeking IMediaSeeking;
  150. #endif     /* __IMediaSeeking_FWD_DEFINED__ */
  151.  
  152.  
  153. #ifndef __IEnumRegFilters_FWD_DEFINED__
  154. #define __IEnumRegFilters_FWD_DEFINED__
  155. typedef interface IEnumRegFilters IEnumRegFilters;
  156. #endif     /* __IEnumRegFilters_FWD_DEFINED__ */
  157.  
  158.  
  159. #ifndef __IFilterMapper_FWD_DEFINED__
  160. #define __IFilterMapper_FWD_DEFINED__
  161. typedef interface IFilterMapper IFilterMapper;
  162. #endif     /* __IFilterMapper_FWD_DEFINED__ */
  163.  
  164.  
  165. #ifndef __IFilterMapper2_FWD_DEFINED__
  166. #define __IFilterMapper2_FWD_DEFINED__
  167. typedef interface IFilterMapper2 IFilterMapper2;
  168. #endif     /* __IFilterMapper2_FWD_DEFINED__ */
  169.  
  170.  
  171. #ifndef __IFilterMapper3_FWD_DEFINED__
  172. #define __IFilterMapper3_FWD_DEFINED__
  173. typedef interface IFilterMapper3 IFilterMapper3;
  174. #endif     /* __IFilterMapper3_FWD_DEFINED__ */
  175.  
  176.  
  177. #ifndef __IQualityControl_FWD_DEFINED__
  178. #define __IQualityControl_FWD_DEFINED__
  179. typedef interface IQualityControl IQualityControl;
  180. #endif     /* __IQualityControl_FWD_DEFINED__ */
  181.  
  182.  
  183. #ifndef __IOverlayNotify_FWD_DEFINED__
  184. #define __IOverlayNotify_FWD_DEFINED__
  185. typedef interface IOverlayNotify IOverlayNotify;
  186. #endif     /* __IOverlayNotify_FWD_DEFINED__ */
  187.  
  188.  
  189. #ifndef __IOverlayNotify2_FWD_DEFINED__
  190. #define __IOverlayNotify2_FWD_DEFINED__
  191. typedef interface IOverlayNotify2 IOverlayNotify2;
  192. #endif     /* __IOverlayNotify2_FWD_DEFINED__ */
  193.  
  194.  
  195. #ifndef __IOverlay_FWD_DEFINED__
  196. #define __IOverlay_FWD_DEFINED__
  197. typedef interface IOverlay IOverlay;
  198. #endif     /* __IOverlay_FWD_DEFINED__ */
  199.  
  200.  
  201. #ifndef __IMediaEventSink_FWD_DEFINED__
  202. #define __IMediaEventSink_FWD_DEFINED__
  203. typedef interface IMediaEventSink IMediaEventSink;
  204. #endif     /* __IMediaEventSink_FWD_DEFINED__ */
  205.  
  206.  
  207. #ifndef __IFileSourceFilter_FWD_DEFINED__
  208. #define __IFileSourceFilter_FWD_DEFINED__
  209. typedef interface IFileSourceFilter IFileSourceFilter;
  210. #endif     /* __IFileSourceFilter_FWD_DEFINED__ */
  211.  
  212.  
  213. #ifndef __IFileSinkFilter_FWD_DEFINED__
  214. #define __IFileSinkFilter_FWD_DEFINED__
  215. typedef interface IFileSinkFilter IFileSinkFilter;
  216. #endif     /* __IFileSinkFilter_FWD_DEFINED__ */
  217.  
  218.  
  219. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  220. #define __IFileSinkFilter2_FWD_DEFINED__
  221. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  222. #endif     /* __IFileSinkFilter2_FWD_DEFINED__ */
  223.  
  224.  
  225. #ifndef __IGraphBuilder_FWD_DEFINED__
  226. #define __IGraphBuilder_FWD_DEFINED__
  227. typedef interface IGraphBuilder IGraphBuilder;
  228. #endif     /* __IGraphBuilder_FWD_DEFINED__ */
  229.  
  230.  
  231. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  232. #define __ICaptureGraphBuilder_FWD_DEFINED__
  233. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  234. #endif     /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  235.  
  236.  
  237. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  238. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  239. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  240. #endif     /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  241.  
  242.  
  243. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  244. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  245. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  246. #endif     /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  247.  
  248.  
  249. #ifndef __IFilterGraph2_FWD_DEFINED__
  250. #define __IFilterGraph2_FWD_DEFINED__
  251. typedef interface IFilterGraph2 IFilterGraph2;
  252. #endif     /* __IFilterGraph2_FWD_DEFINED__ */
  253.  
  254.  
  255. #ifndef __IStreamBuilder_FWD_DEFINED__
  256. #define __IStreamBuilder_FWD_DEFINED__
  257. typedef interface IStreamBuilder IStreamBuilder;
  258. #endif     /* __IStreamBuilder_FWD_DEFINED__ */
  259.  
  260.  
  261. #ifndef __IAsyncReader_FWD_DEFINED__
  262. #define __IAsyncReader_FWD_DEFINED__
  263. typedef interface IAsyncReader IAsyncReader;
  264. #endif     /* __IAsyncReader_FWD_DEFINED__ */
  265.  
  266.  
  267. #ifndef __IGraphVersion_FWD_DEFINED__
  268. #define __IGraphVersion_FWD_DEFINED__
  269. typedef interface IGraphVersion IGraphVersion;
  270. #endif     /* __IGraphVersion_FWD_DEFINED__ */
  271.  
  272.  
  273. #ifndef __IResourceConsumer_FWD_DEFINED__
  274. #define __IResourceConsumer_FWD_DEFINED__
  275. typedef interface IResourceConsumer IResourceConsumer;
  276. #endif     /* __IResourceConsumer_FWD_DEFINED__ */
  277.  
  278.  
  279. #ifndef __IResourceManager_FWD_DEFINED__
  280. #define __IResourceManager_FWD_DEFINED__
  281. typedef interface IResourceManager IResourceManager;
  282. #endif     /* __IResourceManager_FWD_DEFINED__ */
  283.  
  284.  
  285. #ifndef __IDistributorNotify_FWD_DEFINED__
  286. #define __IDistributorNotify_FWD_DEFINED__
  287. typedef interface IDistributorNotify IDistributorNotify;
  288. #endif     /* __IDistributorNotify_FWD_DEFINED__ */
  289.  
  290.  
  291. #ifndef __IAMStreamControl_FWD_DEFINED__
  292. #define __IAMStreamControl_FWD_DEFINED__
  293. typedef interface IAMStreamControl IAMStreamControl;
  294. #endif     /* __IAMStreamControl_FWD_DEFINED__ */
  295.  
  296.  
  297. #ifndef __ISeekingPassThru_FWD_DEFINED__
  298. #define __ISeekingPassThru_FWD_DEFINED__
  299. typedef interface ISeekingPassThru ISeekingPassThru;
  300. #endif     /* __ISeekingPassThru_FWD_DEFINED__ */
  301.  
  302.  
  303. #ifndef __IAMStreamConfig_FWD_DEFINED__
  304. #define __IAMStreamConfig_FWD_DEFINED__
  305. typedef interface IAMStreamConfig IAMStreamConfig;
  306. #endif     /* __IAMStreamConfig_FWD_DEFINED__ */
  307.  
  308.  
  309. #ifndef __IConfigInterleaving_FWD_DEFINED__
  310. #define __IConfigInterleaving_FWD_DEFINED__
  311. typedef interface IConfigInterleaving IConfigInterleaving;
  312. #endif     /* __IConfigInterleaving_FWD_DEFINED__ */
  313.  
  314.  
  315. #ifndef __IConfigAviMux_FWD_DEFINED__
  316. #define __IConfigAviMux_FWD_DEFINED__
  317. typedef interface IConfigAviMux IConfigAviMux;
  318. #endif     /* __IConfigAviMux_FWD_DEFINED__ */
  319.  
  320.  
  321. #ifndef __IAMVideoCompression_FWD_DEFINED__
  322. #define __IAMVideoCompression_FWD_DEFINED__
  323. typedef interface IAMVideoCompression IAMVideoCompression;
  324. #endif     /* __IAMVideoCompression_FWD_DEFINED__ */
  325.  
  326.  
  327. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  328. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  329. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  330. #endif     /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  331.  
  332.  
  333. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  334. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  335. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  336. #endif     /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  337.  
  338.  
  339. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  340. #define __IAMDroppedFrames_FWD_DEFINED__
  341. typedef interface IAMDroppedFrames IAMDroppedFrames;
  342. #endif     /* __IAMDroppedFrames_FWD_DEFINED__ */
  343.  
  344.  
  345. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  346. #define __IAMAudioInputMixer_FWD_DEFINED__
  347. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  348. #endif     /* __IAMAudioInputMixer_FWD_DEFINED__ */
  349.  
  350.  
  351. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  352. #define __IAMBufferNegotiation_FWD_DEFINED__
  353. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  354. #endif     /* __IAMBufferNegotiation_FWD_DEFINED__ */
  355.  
  356.  
  357. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  358. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  359. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  360. #endif     /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  361.  
  362.  
  363. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  364. #define __IAMVideoProcAmp_FWD_DEFINED__
  365. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  366. #endif     /* __IAMVideoProcAmp_FWD_DEFINED__ */
  367.  
  368.  
  369. #ifndef __IAMCameraControl_FWD_DEFINED__
  370. #define __IAMCameraControl_FWD_DEFINED__
  371. typedef interface IAMCameraControl IAMCameraControl;
  372. #endif     /* __IAMCameraControl_FWD_DEFINED__ */
  373.  
  374.  
  375. #ifndef __IAMVideoControl_FWD_DEFINED__
  376. #define __IAMVideoControl_FWD_DEFINED__
  377. typedef interface IAMVideoControl IAMVideoControl;
  378. #endif     /* __IAMVideoControl_FWD_DEFINED__ */
  379.  
  380.  
  381. #ifndef __IAMCrossbar_FWD_DEFINED__
  382. #define __IAMCrossbar_FWD_DEFINED__
  383. typedef interface IAMCrossbar IAMCrossbar;
  384. #endif     /* __IAMCrossbar_FWD_DEFINED__ */
  385.  
  386.  
  387. #ifndef __IAMTuner_FWD_DEFINED__
  388. #define __IAMTuner_FWD_DEFINED__
  389. typedef interface IAMTuner IAMTuner;
  390. #endif     /* __IAMTuner_FWD_DEFINED__ */
  391.  
  392.  
  393. #ifndef __IAMTunerNotification_FWD_DEFINED__
  394. #define __IAMTunerNotification_FWD_DEFINED__
  395. typedef interface IAMTunerNotification IAMTunerNotification;
  396. #endif     /* __IAMTunerNotification_FWD_DEFINED__ */
  397.  
  398.  
  399. #ifndef __IAMTVTuner_FWD_DEFINED__
  400. #define __IAMTVTuner_FWD_DEFINED__
  401. typedef interface IAMTVTuner IAMTVTuner;
  402. #endif     /* __IAMTVTuner_FWD_DEFINED__ */
  403.  
  404.  
  405. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  406. #define __IBPCSatelliteTuner_FWD_DEFINED__
  407. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  408. #endif     /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  409.  
  410.  
  411. #ifndef __IAMTVAudio_FWD_DEFINED__
  412. #define __IAMTVAudio_FWD_DEFINED__
  413. typedef interface IAMTVAudio IAMTVAudio;
  414. #endif     /* __IAMTVAudio_FWD_DEFINED__ */
  415.  
  416.  
  417. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  418. #define __IAMTVAudioNotification_FWD_DEFINED__
  419. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  420. #endif     /* __IAMTVAudioNotification_FWD_DEFINED__ */
  421.  
  422.  
  423. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  424. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  425. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  426. #endif     /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  427.  
  428.  
  429. #ifndef __IKsPropertySet_FWD_DEFINED__
  430. #define __IKsPropertySet_FWD_DEFINED__
  431. typedef interface IKsPropertySet IKsPropertySet;
  432. #endif     /* __IKsPropertySet_FWD_DEFINED__ */
  433.  
  434.  
  435. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  436. #define __IMediaPropertyBag_FWD_DEFINED__
  437. typedef interface IMediaPropertyBag IMediaPropertyBag;
  438. #endif     /* __IMediaPropertyBag_FWD_DEFINED__ */
  439.  
  440.  
  441. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  442. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  443. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  444. #endif     /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  445.  
  446.  
  447. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  448. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  449. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  450. #endif     /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  451.  
  452.  
  453. #ifndef __IAMExtDevice_FWD_DEFINED__
  454. #define __IAMExtDevice_FWD_DEFINED__
  455. typedef interface IAMExtDevice IAMExtDevice;
  456. #endif     /* __IAMExtDevice_FWD_DEFINED__ */
  457.  
  458.  
  459. #ifndef __IAMExtTransport_FWD_DEFINED__
  460. #define __IAMExtTransport_FWD_DEFINED__
  461. typedef interface IAMExtTransport IAMExtTransport;
  462. #endif     /* __IAMExtTransport_FWD_DEFINED__ */
  463.  
  464.  
  465. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  466. #define __IAMTimecodeReader_FWD_DEFINED__
  467. typedef interface IAMTimecodeReader IAMTimecodeReader;
  468. #endif     /* __IAMTimecodeReader_FWD_DEFINED__ */
  469.  
  470.  
  471. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  472. #define __IAMTimecodeGenerator_FWD_DEFINED__
  473. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  474. #endif     /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  475.  
  476.  
  477. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  478. #define __IAMTimecodeDisplay_FWD_DEFINED__
  479. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  480. #endif     /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  481.  
  482.  
  483. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  484. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  485. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  486. #endif     /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  487.  
  488.  
  489. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  490. #define __IAMDevMemoryControl_FWD_DEFINED__
  491. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  492. #endif     /* __IAMDevMemoryControl_FWD_DEFINED__ */
  493.  
  494.  
  495. #ifndef __IAMStreamSelect_FWD_DEFINED__
  496. #define __IAMStreamSelect_FWD_DEFINED__
  497. typedef interface IAMStreamSelect IAMStreamSelect;
  498. #endif     /* __IAMStreamSelect_FWD_DEFINED__ */
  499.  
  500.  
  501. #ifndef __IAMResourceControl_FWD_DEFINED__
  502. #define __IAMResourceControl_FWD_DEFINED__
  503. typedef interface IAMResourceControl IAMResourceControl;
  504. #endif     /* __IAMResourceControl_FWD_DEFINED__ */
  505.  
  506.  
  507. #ifndef __IAMClockAdjust_FWD_DEFINED__
  508. #define __IAMClockAdjust_FWD_DEFINED__
  509. typedef interface IAMClockAdjust IAMClockAdjust;
  510. #endif     /* __IAMClockAdjust_FWD_DEFINED__ */
  511.  
  512.  
  513. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  514. #define __IAMFilterMiscFlags_FWD_DEFINED__
  515. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  516. #endif     /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  517.  
  518.  
  519. #ifndef __IDrawVideoImage_FWD_DEFINED__
  520. #define __IDrawVideoImage_FWD_DEFINED__
  521. typedef interface IDrawVideoImage IDrawVideoImage;
  522. #endif     /* __IDrawVideoImage_FWD_DEFINED__ */
  523.  
  524.  
  525. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  526. #define __IDecimateVideoImage_FWD_DEFINED__
  527. typedef interface IDecimateVideoImage IDecimateVideoImage;
  528. #endif     /* __IDecimateVideoImage_FWD_DEFINED__ */
  529.  
  530.  
  531. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  532. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  533. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  534. #endif     /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  535.  
  536.  
  537. #ifndef __IVideoFrameStep_FWD_DEFINED__
  538. #define __IVideoFrameStep_FWD_DEFINED__
  539. typedef interface IVideoFrameStep IVideoFrameStep;
  540. #endif     /* __IVideoFrameStep_FWD_DEFINED__ */
  541.  
  542.  
  543. #ifndef __IAMLatency_FWD_DEFINED__
  544. #define __IAMLatency_FWD_DEFINED__
  545. typedef interface IAMLatency IAMLatency;
  546. #endif     /* __IAMLatency_FWD_DEFINED__ */
  547.  
  548.  
  549. #ifndef __IAMPushSource_FWD_DEFINED__
  550. #define __IAMPushSource_FWD_DEFINED__
  551. typedef interface IAMPushSource IAMPushSource;
  552. #endif     /* __IAMPushSource_FWD_DEFINED__ */
  553.  
  554.  
  555. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  556. #define __IAMDeviceRemoval_FWD_DEFINED__
  557. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  558. #endif     /* __IAMDeviceRemoval_FWD_DEFINED__ */
  559.  
  560.  
  561. #ifndef __IDVEnc_FWD_DEFINED__
  562. #define __IDVEnc_FWD_DEFINED__
  563. typedef interface IDVEnc IDVEnc;
  564. #endif     /* __IDVEnc_FWD_DEFINED__ */
  565.  
  566.  
  567. #ifndef __IIPDVDec_FWD_DEFINED__
  568. #define __IIPDVDec_FWD_DEFINED__
  569. typedef interface IIPDVDec IIPDVDec;
  570. #endif     /* __IIPDVDec_FWD_DEFINED__ */
  571.  
  572.  
  573. #ifndef __IDVRGB219_FWD_DEFINED__
  574. #define __IDVRGB219_FWD_DEFINED__
  575. typedef interface IDVRGB219 IDVRGB219;
  576. #endif     /* __IDVRGB219_FWD_DEFINED__ */
  577.  
  578.  
  579. #ifndef __IDVSplitter_FWD_DEFINED__
  580. #define __IDVSplitter_FWD_DEFINED__
  581. typedef interface IDVSplitter IDVSplitter;
  582. #endif     /* __IDVSplitter_FWD_DEFINED__ */
  583.  
  584.  
  585. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  586. #define __IAMAudioRendererStats_FWD_DEFINED__
  587. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  588. #endif     /* __IAMAudioRendererStats_FWD_DEFINED__ */
  589.  
  590.  
  591. #ifndef __IAMGraphStreams_FWD_DEFINED__
  592. #define __IAMGraphStreams_FWD_DEFINED__
  593. typedef interface IAMGraphStreams IAMGraphStreams;
  594. #endif     /* __IAMGraphStreams_FWD_DEFINED__ */
  595.  
  596.  
  597. #ifndef __IAMOverlayFX_FWD_DEFINED__
  598. #define __IAMOverlayFX_FWD_DEFINED__
  599. typedef interface IAMOverlayFX IAMOverlayFX;
  600. #endif     /* __IAMOverlayFX_FWD_DEFINED__ */
  601.  
  602.  
  603. #ifndef __IAMOpenProgress_FWD_DEFINED__
  604. #define __IAMOpenProgress_FWD_DEFINED__
  605. typedef interface IAMOpenProgress IAMOpenProgress;
  606. #endif     /* __IAMOpenProgress_FWD_DEFINED__ */
  607.  
  608.  
  609. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  610. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  611. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  612. #endif     /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  613.  
  614.  
  615. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  616. #define __IEnumStreamIdMap_FWD_DEFINED__
  617. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  618. #endif     /* __IEnumStreamIdMap_FWD_DEFINED__ */
  619.  
  620.  
  621. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  622. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  623. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  624. #endif     /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  625.  
  626.  
  627. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  628. #define __IRegisterServiceProvider_FWD_DEFINED__
  629. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  630. #endif     /* __IRegisterServiceProvider_FWD_DEFINED__ */
  631.  
  632.  
  633. #ifndef __IAMClockSlave_FWD_DEFINED__
  634. #define __IAMClockSlave_FWD_DEFINED__
  635. typedef interface IAMClockSlave IAMClockSlave;
  636. #endif     /* __IAMClockSlave_FWD_DEFINED__ */
  637.  
  638.  
  639. #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
  640. #define __IAMGraphBuilderCallback_FWD_DEFINED__
  641. typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
  642. #endif     /* __IAMGraphBuilderCallback_FWD_DEFINED__ */
  643.  
  644.  
  645. #ifndef __ICodecAPI_FWD_DEFINED__
  646. #define __ICodecAPI_FWD_DEFINED__
  647. typedef interface ICodecAPI ICodecAPI;
  648. #endif     /* __ICodecAPI_FWD_DEFINED__ */
  649.  
  650.  
  651. #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
  652. #define __IGetCapabilitiesKey_FWD_DEFINED__
  653. typedef interface IGetCapabilitiesKey IGetCapabilitiesKey;
  654. #endif     /* __IGetCapabilitiesKey_FWD_DEFINED__ */
  655.  
  656.  
  657. #ifndef __IEncoderAPI_FWD_DEFINED__
  658. #define __IEncoderAPI_FWD_DEFINED__
  659. typedef interface IEncoderAPI IEncoderAPI;
  660. #endif     /* __IEncoderAPI_FWD_DEFINED__ */
  661.  
  662.  
  663. #ifndef __IVideoEncoder_FWD_DEFINED__
  664. #define __IVideoEncoder_FWD_DEFINED__
  665. typedef interface IVideoEncoder IVideoEncoder;
  666. #endif     /* __IVideoEncoder_FWD_DEFINED__ */
  667.  
  668.  
  669. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  670. #define __IAMDecoderCaps_FWD_DEFINED__
  671. typedef interface IAMDecoderCaps IAMDecoderCaps;
  672. #endif     /* __IAMDecoderCaps_FWD_DEFINED__ */
  673.  
  674.  
  675. #ifndef __IDvdControl_FWD_DEFINED__
  676. #define __IDvdControl_FWD_DEFINED__
  677. typedef interface IDvdControl IDvdControl;
  678. #endif     /* __IDvdControl_FWD_DEFINED__ */
  679.  
  680.  
  681. #ifndef __IDvdInfo_FWD_DEFINED__
  682. #define __IDvdInfo_FWD_DEFINED__
  683. typedef interface IDvdInfo IDvdInfo;
  684. #endif     /* __IDvdInfo_FWD_DEFINED__ */
  685.  
  686.  
  687. #ifndef __IDvdCmd_FWD_DEFINED__
  688. #define __IDvdCmd_FWD_DEFINED__
  689. typedef interface IDvdCmd IDvdCmd;
  690. #endif     /* __IDvdCmd_FWD_DEFINED__ */
  691.  
  692.  
  693. #ifndef __IDvdState_FWD_DEFINED__
  694. #define __IDvdState_FWD_DEFINED__
  695. typedef interface IDvdState IDvdState;
  696. #endif     /* __IDvdState_FWD_DEFINED__ */
  697.  
  698.  
  699. #ifndef __IDvdControl2_FWD_DEFINED__
  700. #define __IDvdControl2_FWD_DEFINED__
  701. typedef interface IDvdControl2 IDvdControl2;
  702. #endif     /* __IDvdControl2_FWD_DEFINED__ */
  703.  
  704.  
  705. #ifndef __IDvdInfo2_FWD_DEFINED__
  706. #define __IDvdInfo2_FWD_DEFINED__
  707. typedef interface IDvdInfo2 IDvdInfo2;
  708. #endif     /* __IDvdInfo2_FWD_DEFINED__ */
  709.  
  710.  
  711. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  712. #define __IDvdGraphBuilder_FWD_DEFINED__
  713. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  714. #endif     /* __IDvdGraphBuilder_FWD_DEFINED__ */
  715.  
  716.  
  717. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  718. #define __IDDrawExclModeVideo_FWD_DEFINED__
  719. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  720. #endif     /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  721.  
  722.  
  723. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  724. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  725. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  726. #endif     /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  727.  
  728.  
  729. #ifndef __IPinConnection_FWD_DEFINED__
  730. #define __IPinConnection_FWD_DEFINED__
  731. typedef interface IPinConnection IPinConnection;
  732. #endif     /* __IPinConnection_FWD_DEFINED__ */
  733.  
  734.  
  735. #ifndef __IPinFlowControl_FWD_DEFINED__
  736. #define __IPinFlowControl_FWD_DEFINED__
  737. typedef interface IPinFlowControl IPinFlowControl;
  738. #endif     /* __IPinFlowControl_FWD_DEFINED__ */
  739.  
  740.  
  741. #ifndef __IGraphConfig_FWD_DEFINED__
  742. #define __IGraphConfig_FWD_DEFINED__
  743. typedef interface IGraphConfig IGraphConfig;
  744. #endif     /* __IGraphConfig_FWD_DEFINED__ */
  745.  
  746.  
  747. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  748. #define __IGraphConfigCallback_FWD_DEFINED__
  749. typedef interface IGraphConfigCallback IGraphConfigCallback;
  750. #endif     /* __IGraphConfigCallback_FWD_DEFINED__ */
  751.  
  752.  
  753. #ifndef __IFilterChain_FWD_DEFINED__
  754. #define __IFilterChain_FWD_DEFINED__
  755. typedef interface IFilterChain IFilterChain;
  756. #endif     /* __IFilterChain_FWD_DEFINED__ */
  757.  
  758.  
  759. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  760. #define __IVMRImagePresenter_FWD_DEFINED__
  761. typedef interface IVMRImagePresenter IVMRImagePresenter;
  762. #endif     /* __IVMRImagePresenter_FWD_DEFINED__ */
  763.  
  764.  
  765. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  766. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  767. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  768. #endif     /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  769.  
  770.  
  771. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  772. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  773. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  774. #endif     /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  775.  
  776.  
  777. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  778. #define __IVMRWindowlessControl_FWD_DEFINED__
  779. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  780. #endif     /* __IVMRWindowlessControl_FWD_DEFINED__ */
  781.  
  782.  
  783. #ifndef __IVMRMixerControl_FWD_DEFINED__
  784. #define __IVMRMixerControl_FWD_DEFINED__
  785. typedef interface IVMRMixerControl IVMRMixerControl;
  786. #endif     /* __IVMRMixerControl_FWD_DEFINED__ */
  787.  
  788.  
  789. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  790. #define __IVMRMonitorConfig_FWD_DEFINED__
  791. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  792. #endif     /* __IVMRMonitorConfig_FWD_DEFINED__ */
  793.  
  794.  
  795. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  796. #define __IVMRFilterConfig_FWD_DEFINED__
  797. typedef interface IVMRFilterConfig IVMRFilterConfig;
  798. #endif     /* __IVMRFilterConfig_FWD_DEFINED__ */
  799.  
  800.  
  801. #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
  802. #define __IVMRAspectRatioControl_FWD_DEFINED__
  803. typedef interface IVMRAspectRatioControl IVMRAspectRatioControl;
  804. #endif     /* __IVMRAspectRatioControl_FWD_DEFINED__ */
  805.  
  806.  
  807. #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
  808. #define __IVMRDeinterlaceControl_FWD_DEFINED__
  809. typedef interface IVMRDeinterlaceControl IVMRDeinterlaceControl;
  810. #endif     /* __IVMRDeinterlaceControl_FWD_DEFINED__ */
  811.  
  812.  
  813. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  814. #define __IVMRMixerBitmap_FWD_DEFINED__
  815. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  816. #endif     /* __IVMRMixerBitmap_FWD_DEFINED__ */
  817.  
  818.  
  819. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  820. #define __IVMRImageCompositor_FWD_DEFINED__
  821. typedef interface IVMRImageCompositor IVMRImageCompositor;
  822. #endif     /* __IVMRImageCompositor_FWD_DEFINED__ */
  823.  
  824.  
  825. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  826. #define __IVMRVideoStreamControl_FWD_DEFINED__
  827. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  828. #endif     /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  829.  
  830.  
  831. #ifndef __IVMRSurface_FWD_DEFINED__
  832. #define __IVMRSurface_FWD_DEFINED__
  833. typedef interface IVMRSurface IVMRSurface;
  834. #endif     /* __IVMRSurface_FWD_DEFINED__ */
  835.  
  836.  
  837. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  838. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  839. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  840. #endif     /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  841.  
  842.  
  843. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  844. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  845. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  846. #endif     /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  847.  
  848.  
  849. #ifndef __IVPManager_FWD_DEFINED__
  850. #define __IVPManager_FWD_DEFINED__
  851. typedef interface IVPManager IVPManager;
  852. #endif     /* __IVPManager_FWD_DEFINED__ */
  853.  
  854.  
  855. /* header files for imported files */
  856. #include "unknwn.h"
  857. #include "objidl.h"
  858. #include "oaidl.h"
  859. #include "ocidl.h"
  860.  
  861. #ifdef __cplusplus
  862. extern "C"{
  863. #endif 
  864.  
  865. void * __RPC_USER MIDL_user_allocate(size_t);
  866. void __RPC_USER MIDL_user_free( void * ); 
  867.  
  868. /* interface __MIDL_itf_strmif_0000 */
  869. /* [local] */ 
  870.  
  871. //+-------------------------------------------------------------------------
  872. //
  873. //  Copyright (C) Microsoft Corporation, 1999-2002.
  874. //
  875. //--------------------------------------------------------------------------
  876. // Disable /W4 compiler warning C4201: nameless struct/union
  877. #pragma warning(push)
  878. #pragma warning(disable:4201)  // Disable C4201: nameless struct/union
  879.   
  880. #define CDEF_CLASS_DEFAULT      0x0001
  881. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  882. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  883. #define CDEF_DEVMON_CMGR_DEVICE  0x0010
  884. #define CDEF_DEVMON_DMO  0x0020
  885. #define CDEF_DEVMON_PNP_DEVICE  0x0040
  886. #define CDEF_DEVMON_FILTER  0x0080
  887. #define CDEF_DEVMON_SELECTIVE_MASK  0x00f0
  888.  
  889.  
  890. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  891. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  892.  
  893. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  894. #define __ICreateDevEnum_INTERFACE_DEFINED__
  895.  
  896. /* interface ICreateDevEnum */
  897. /* [unique][uuid][object] */ 
  898.  
  899.  
  900. EXTERN_C const IID IID_ICreateDevEnum;
  901.  
  902. #if defined(__cplusplus) && !defined(CINTERFACE)
  903.     
  904.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  905.     ICreateDevEnum : public IUnknown
  906.     {
  907.     public:
  908.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  909.             /* [in] */ REFCLSID clsidDeviceClass,
  910.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  911.             /* [in] */ DWORD dwFlags) = 0;
  912.         
  913.     };
  914.     
  915. #else     /* C style interface */
  916.  
  917.     typedef struct ICreateDevEnumVtbl
  918.     {
  919.         BEGIN_INTERFACE
  920.         
  921.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  922.             ICreateDevEnum * This,
  923.             /* [in] */ REFIID riid,
  924.             /* [iid_is][out] */ void **ppvObject);
  925.         
  926.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  927.             ICreateDevEnum * This);
  928.         
  929.         ULONG ( STDMETHODCALLTYPE *Release )( 
  930.             ICreateDevEnum * This);
  931.         
  932.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )( 
  933.             ICreateDevEnum * This,
  934.             /* [in] */ REFCLSID clsidDeviceClass,
  935.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  936.             /* [in] */ DWORD dwFlags);
  937.         
  938.         END_INTERFACE
  939.     } ICreateDevEnumVtbl;
  940.  
  941.     interface ICreateDevEnum
  942.     {
  943.         CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  944.     };
  945.  
  946.     
  947.  
  948. #ifdef COBJMACROS
  949.  
  950.  
  951. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)    \
  952.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  953.  
  954. #define ICreateDevEnum_AddRef(This)    \
  955.     (This)->lpVtbl -> AddRef(This)
  956.  
  957. #define ICreateDevEnum_Release(This)    \
  958.     (This)->lpVtbl -> Release(This)
  959.  
  960.  
  961. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)    \
  962.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  963.  
  964. #endif /* COBJMACROS */
  965.  
  966.  
  967. #endif     /* C style interface */
  968.  
  969.  
  970.  
  971. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  972.     ICreateDevEnum * This,
  973.     /* [in] */ REFCLSID clsidDeviceClass,
  974.     /* [out] */ IEnumMoniker **ppEnumMoniker,
  975.     /* [in] */ DWORD dwFlags);
  976.  
  977.  
  978. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  979.     IRpcStubBuffer *This,
  980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  981.     PRPC_MESSAGE _pRpcMessage,
  982.     DWORD *_pdwStubPhase);
  983.  
  984.  
  985.  
  986. #endif     /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  987.  
  988.  
  989. /* interface __MIDL_itf_strmif_0113 */
  990. /* [local] */ 
  991.  
  992. #define CHARS_IN_GUID     39
  993. typedef struct _AMMediaType
  994.     {
  995.     GUID majortype;
  996.     GUID subtype;
  997.     BOOL bFixedSizeSamples;
  998.     BOOL bTemporalCompression;
  999.     ULONG lSampleSize;
  1000.     GUID formattype;
  1001.     IUnknown *pUnk;
  1002.     ULONG cbFormat;
  1003.     /* [size_is] */ BYTE *pbFormat;
  1004.     }     AM_MEDIA_TYPE;
  1005.  
  1006. typedef 
  1007. enum _PinDirection
  1008.     {    PINDIR_INPUT    = 0,
  1009.     PINDIR_OUTPUT    = PINDIR_INPUT + 1
  1010.     }     PIN_DIRECTION;
  1011.  
  1012. #define MAX_PIN_NAME     128
  1013. #define MAX_FILTER_NAME  128
  1014. typedef LONGLONG REFERENCE_TIME;
  1015.  
  1016. typedef double REFTIME;
  1017.  
  1018. typedef DWORD_PTR HSEMAPHORE;
  1019.  
  1020. typedef DWORD_PTR HEVENT;
  1021.  
  1022. typedef struct _AllocatorProperties
  1023.     {
  1024.     long cBuffers;
  1025.     long cbBuffer;
  1026.     long cbAlign;
  1027.     long cbPrefix;
  1028.     }     ALLOCATOR_PROPERTIES;
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  1047. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  1048.  
  1049. #ifndef __IPin_INTERFACE_DEFINED__
  1050. #define __IPin_INTERFACE_DEFINED__
  1051.  
  1052. /* interface IPin */
  1053. /* [unique][uuid][object] */ 
  1054.  
  1055. typedef struct _PinInfo
  1056.     {
  1057.     IBaseFilter *pFilter;
  1058.     PIN_DIRECTION dir;
  1059.     WCHAR achName[ 128 ];
  1060.     }     PIN_INFO;
  1061.  
  1062.  
  1063. EXTERN_C const IID IID_IPin;
  1064.  
  1065. #if defined(__cplusplus) && !defined(CINTERFACE)
  1066.     
  1067.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  1068.     IPin : public IUnknown
  1069.     {
  1070.     public:
  1071.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  1072.             /* [in] */ IPin *pReceivePin,
  1073.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1074.         
  1075.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  1076.             /* [in] */ IPin *pConnector,
  1077.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1078.         
  1079.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  1080.         
  1081.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  1082.             /* [out] */ IPin **pPin) = 0;
  1083.         
  1084.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  1085.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  1086.         
  1087.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  1088.             /* [out] */ PIN_INFO *pInfo) = 0;
  1089.         
  1090.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  1091.             /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  1092.         
  1093.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  1094.             /* [out] */ LPWSTR *Id) = 0;
  1095.         
  1096.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  1097.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1098.         
  1099.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  1100.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1101.         
  1102.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  1103.             /* [out] */ IPin **apPin,
  1104.             /* [out][in] */ ULONG *nPin) = 0;
  1105.         
  1106.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  1107.         
  1108.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  1109.         
  1110.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  1111.         
  1112.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  1113.             /* [in] */ REFERENCE_TIME tStart,
  1114.             /* [in] */ REFERENCE_TIME tStop,
  1115.             /* [in] */ double dRate) = 0;
  1116.         
  1117.     };
  1118.     
  1119. #else     /* C style interface */
  1120.  
  1121.     typedef struct IPinVtbl
  1122.     {
  1123.         BEGIN_INTERFACE
  1124.         
  1125.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1126.             IPin * This,
  1127.             /* [in] */ REFIID riid,
  1128.             /* [iid_is][out] */ void **ppvObject);
  1129.         
  1130.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1131.             IPin * This);
  1132.         
  1133.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1134.             IPin * This);
  1135.         
  1136.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  1137.             IPin * This,
  1138.             /* [in] */ IPin *pReceivePin,
  1139.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1140.         
  1141.         HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )( 
  1142.             IPin * This,
  1143.             /* [in] */ IPin *pConnector,
  1144.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1145.         
  1146.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1147.             IPin * This);
  1148.         
  1149.         HRESULT ( STDMETHODCALLTYPE *ConnectedTo )( 
  1150.             IPin * This,
  1151.             /* [out] */ IPin **pPin);
  1152.         
  1153.         HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )( 
  1154.             IPin * This,
  1155.             /* [out] */ AM_MEDIA_TYPE *pmt);
  1156.         
  1157.         HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )( 
  1158.             IPin * This,
  1159.             /* [out] */ PIN_INFO *pInfo);
  1160.         
  1161.         HRESULT ( STDMETHODCALLTYPE *QueryDirection )( 
  1162.             IPin * This,
  1163.             /* [out] */ PIN_DIRECTION *pPinDir);
  1164.         
  1165.         HRESULT ( STDMETHODCALLTYPE *QueryId )( 
  1166.             IPin * This,
  1167.             /* [out] */ LPWSTR *Id);
  1168.         
  1169.         HRESULT ( STDMETHODCALLTYPE *QueryAccept )( 
  1170.             IPin * This,
  1171.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1172.         
  1173.         HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )( 
  1174.             IPin * This,
  1175.             /* [out] */ IEnumMediaTypes **ppEnum);
  1176.         
  1177.         HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )( 
  1178.             IPin * This,
  1179.             /* [out] */ IPin **apPin,
  1180.             /* [out][in] */ ULONG *nPin);
  1181.         
  1182.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  1183.             IPin * This);
  1184.         
  1185.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  1186.             IPin * This);
  1187.         
  1188.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  1189.             IPin * This);
  1190.         
  1191.         HRESULT ( STDMETHODCALLTYPE *NewSegment )( 
  1192.             IPin * This,
  1193.             /* [in] */ REFERENCE_TIME tStart,
  1194.             /* [in] */ REFERENCE_TIME tStop,
  1195.             /* [in] */ double dRate);
  1196.         
  1197.         END_INTERFACE
  1198.     } IPinVtbl;
  1199.  
  1200.     interface IPin
  1201.     {
  1202.         CONST_VTBL struct IPinVtbl *lpVtbl;
  1203.     };
  1204.  
  1205.     
  1206.  
  1207. #ifdef COBJMACROS
  1208.  
  1209.  
  1210. #define IPin_QueryInterface(This,riid,ppvObject)    \
  1211.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1212.  
  1213. #define IPin_AddRef(This)    \
  1214.     (This)->lpVtbl -> AddRef(This)
  1215.  
  1216. #define IPin_Release(This)    \
  1217.     (This)->lpVtbl -> Release(This)
  1218.  
  1219.  
  1220. #define IPin_Connect(This,pReceivePin,pmt)    \
  1221.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  1222.  
  1223. #define IPin_ReceiveConnection(This,pConnector,pmt)    \
  1224.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  1225.  
  1226. #define IPin_Disconnect(This)    \
  1227.     (This)->lpVtbl -> Disconnect(This)
  1228.  
  1229. #define IPin_ConnectedTo(This,pPin)    \
  1230.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  1231.  
  1232. #define IPin_ConnectionMediaType(This,pmt)    \
  1233.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  1234.  
  1235. #define IPin_QueryPinInfo(This,pInfo)    \
  1236.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  1237.  
  1238. #define IPin_QueryDirection(This,pPinDir)    \
  1239.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  1240.  
  1241. #define IPin_QueryId(This,Id)    \
  1242.     (This)->lpVtbl -> QueryId(This,Id)
  1243.  
  1244. #define IPin_QueryAccept(This,pmt)    \
  1245.     (This)->lpVtbl -> QueryAccept(This,pmt)
  1246.  
  1247. #define IPin_EnumMediaTypes(This,ppEnum)    \
  1248.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  1249.  
  1250. #define IPin_QueryInternalConnections(This,apPin,nPin)    \
  1251.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  1252.  
  1253. #define IPin_EndOfStream(This)    \
  1254.     (This)->lpVtbl -> EndOfStream(This)
  1255.  
  1256. #define IPin_BeginFlush(This)    \
  1257.     (This)->lpVtbl -> BeginFlush(This)
  1258.  
  1259. #define IPin_EndFlush(This)    \
  1260.     (This)->lpVtbl -> EndFlush(This)
  1261.  
  1262. #define IPin_NewSegment(This,tStart,tStop,dRate)    \
  1263.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  1264.  
  1265. #endif /* COBJMACROS */
  1266.  
  1267.  
  1268. #endif     /* C style interface */
  1269.  
  1270.  
  1271.  
  1272. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  1273.     IPin * This,
  1274.     /* [in] */ IPin *pReceivePin,
  1275.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1276.  
  1277.  
  1278. void __RPC_STUB IPin_Connect_Stub(
  1279.     IRpcStubBuffer *This,
  1280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1281.     PRPC_MESSAGE _pRpcMessage,
  1282.     DWORD *_pdwStubPhase);
  1283.  
  1284.  
  1285. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  1286.     IPin * This,
  1287.     /* [in] */ IPin *pConnector,
  1288.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1289.  
  1290.  
  1291. void __RPC_STUB IPin_ReceiveConnection_Stub(
  1292.     IRpcStubBuffer *This,
  1293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1294.     PRPC_MESSAGE _pRpcMessage,
  1295.     DWORD *_pdwStubPhase);
  1296.  
  1297.  
  1298. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  1299.     IPin * This);
  1300.  
  1301.  
  1302. void __RPC_STUB IPin_Disconnect_Stub(
  1303.     IRpcStubBuffer *This,
  1304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1305.     PRPC_MESSAGE _pRpcMessage,
  1306.     DWORD *_pdwStubPhase);
  1307.  
  1308.  
  1309. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  1310.     IPin * This,
  1311.     /* [out] */ IPin **pPin);
  1312.  
  1313.  
  1314. void __RPC_STUB IPin_ConnectedTo_Stub(
  1315.     IRpcStubBuffer *This,
  1316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1317.     PRPC_MESSAGE _pRpcMessage,
  1318.     DWORD *_pdwStubPhase);
  1319.  
  1320.  
  1321. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  1322.     IPin * This,
  1323.     /* [out] */ AM_MEDIA_TYPE *pmt);
  1324.  
  1325.  
  1326. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  1327.     IRpcStubBuffer *This,
  1328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1329.     PRPC_MESSAGE _pRpcMessage,
  1330.     DWORD *_pdwStubPhase);
  1331.  
  1332.  
  1333. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  1334.     IPin * This,
  1335.     /* [out] */ PIN_INFO *pInfo);
  1336.  
  1337.  
  1338. void __RPC_STUB IPin_QueryPinInfo_Stub(
  1339.     IRpcStubBuffer *This,
  1340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1341.     PRPC_MESSAGE _pRpcMessage,
  1342.     DWORD *_pdwStubPhase);
  1343.  
  1344.  
  1345. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  1346.     IPin * This,
  1347.     /* [out] */ PIN_DIRECTION *pPinDir);
  1348.  
  1349.  
  1350. void __RPC_STUB IPin_QueryDirection_Stub(
  1351.     IRpcStubBuffer *This,
  1352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1353.     PRPC_MESSAGE _pRpcMessage,
  1354.     DWORD *_pdwStubPhase);
  1355.  
  1356.  
  1357. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  1358.     IPin * This,
  1359.     /* [out] */ LPWSTR *Id);
  1360.  
  1361.  
  1362. void __RPC_STUB IPin_QueryId_Stub(
  1363.     IRpcStubBuffer *This,
  1364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1365.     PRPC_MESSAGE _pRpcMessage,
  1366.     DWORD *_pdwStubPhase);
  1367.  
  1368.  
  1369. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  1370.     IPin * This,
  1371.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1372.  
  1373.  
  1374. void __RPC_STUB IPin_QueryAccept_Stub(
  1375.     IRpcStubBuffer *This,
  1376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1377.     PRPC_MESSAGE _pRpcMessage,
  1378.     DWORD *_pdwStubPhase);
  1379.  
  1380.  
  1381. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  1382.     IPin * This,
  1383.     /* [out] */ IEnumMediaTypes **ppEnum);
  1384.  
  1385.  
  1386. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  1387.     IRpcStubBuffer *This,
  1388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1389.     PRPC_MESSAGE _pRpcMessage,
  1390.     DWORD *_pdwStubPhase);
  1391.  
  1392.  
  1393. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  1394.     IPin * This,
  1395.     /* [out] */ IPin **apPin,
  1396.     /* [out][in] */ ULONG *nPin);
  1397.  
  1398.  
  1399. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  1400.     IRpcStubBuffer *This,
  1401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1402.     PRPC_MESSAGE _pRpcMessage,
  1403.     DWORD *_pdwStubPhase);
  1404.  
  1405.  
  1406. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  1407.     IPin * This);
  1408.  
  1409.  
  1410. void __RPC_STUB IPin_EndOfStream_Stub(
  1411.     IRpcStubBuffer *This,
  1412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1413.     PRPC_MESSAGE _pRpcMessage,
  1414.     DWORD *_pdwStubPhase);
  1415.  
  1416.  
  1417. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  1418.     IPin * This);
  1419.  
  1420.  
  1421. void __RPC_STUB IPin_BeginFlush_Stub(
  1422.     IRpcStubBuffer *This,
  1423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1424.     PRPC_MESSAGE _pRpcMessage,
  1425.     DWORD *_pdwStubPhase);
  1426.  
  1427.  
  1428. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  1429.     IPin * This);
  1430.  
  1431.  
  1432. void __RPC_STUB IPin_EndFlush_Stub(
  1433.     IRpcStubBuffer *This,
  1434.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1435.     PRPC_MESSAGE _pRpcMessage,
  1436.     DWORD *_pdwStubPhase);
  1437.  
  1438.  
  1439. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  1440.     IPin * This,
  1441.     /* [in] */ REFERENCE_TIME tStart,
  1442.     /* [in] */ REFERENCE_TIME tStop,
  1443.     /* [in] */ double dRate);
  1444.  
  1445.  
  1446. void __RPC_STUB IPin_NewSegment_Stub(
  1447.     IRpcStubBuffer *This,
  1448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1449.     PRPC_MESSAGE _pRpcMessage,
  1450.     DWORD *_pdwStubPhase);
  1451.  
  1452.  
  1453.  
  1454. #endif     /* __IPin_INTERFACE_DEFINED__ */
  1455.  
  1456.  
  1457. /* interface __MIDL_itf_strmif_0114 */
  1458. /* [local] */ 
  1459.  
  1460. typedef IPin *PPIN;
  1461.  
  1462.  
  1463.  
  1464. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  1465. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  1466.  
  1467. #ifndef __IEnumPins_INTERFACE_DEFINED__
  1468. #define __IEnumPins_INTERFACE_DEFINED__
  1469.  
  1470. /* interface IEnumPins */
  1471. /* [unique][uuid][object] */ 
  1472.  
  1473.  
  1474. EXTERN_C const IID IID_IEnumPins;
  1475.  
  1476. #if defined(__cplusplus) && !defined(CINTERFACE)
  1477.     
  1478.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  1479.     IEnumPins : public IUnknown
  1480.     {
  1481.     public:
  1482.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1483.             /* [in] */ ULONG cPins,
  1484.             /* [size_is][out] */ IPin **ppPins,
  1485.             /* [out] */ ULONG *pcFetched) = 0;
  1486.         
  1487.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1488.             /* [in] */ ULONG cPins) = 0;
  1489.         
  1490.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1491.         
  1492.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1493.             /* [out] */ IEnumPins **ppEnum) = 0;
  1494.         
  1495.     };
  1496.     
  1497. #else     /* C style interface */
  1498.  
  1499.     typedef struct IEnumPinsVtbl
  1500.     {
  1501.         BEGIN_INTERFACE
  1502.         
  1503.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1504.             IEnumPins * This,
  1505.             /* [in] */ REFIID riid,
  1506.             /* [iid_is][out] */ void **ppvObject);
  1507.         
  1508.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1509.             IEnumPins * This);
  1510.         
  1511.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1512.             IEnumPins * This);
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1515.             IEnumPins * This,
  1516.             /* [in] */ ULONG cPins,
  1517.             /* [size_is][out] */ IPin **ppPins,
  1518.             /* [out] */ ULONG *pcFetched);
  1519.         
  1520.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1521.             IEnumPins * This,
  1522.             /* [in] */ ULONG cPins);
  1523.         
  1524.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1525.             IEnumPins * This);
  1526.         
  1527.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1528.             IEnumPins * This,
  1529.             /* [out] */ IEnumPins **ppEnum);
  1530.         
  1531.         END_INTERFACE
  1532.     } IEnumPinsVtbl;
  1533.  
  1534.     interface IEnumPins
  1535.     {
  1536.         CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1537.     };
  1538.  
  1539.     
  1540.  
  1541. #ifdef COBJMACROS
  1542.  
  1543.  
  1544. #define IEnumPins_QueryInterface(This,riid,ppvObject)    \
  1545.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1546.  
  1547. #define IEnumPins_AddRef(This)    \
  1548.     (This)->lpVtbl -> AddRef(This)
  1549.  
  1550. #define IEnumPins_Release(This)    \
  1551.     (This)->lpVtbl -> Release(This)
  1552.  
  1553.  
  1554. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)    \
  1555.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1556.  
  1557. #define IEnumPins_Skip(This,cPins)    \
  1558.     (This)->lpVtbl -> Skip(This,cPins)
  1559.  
  1560. #define IEnumPins_Reset(This)    \
  1561.     (This)->lpVtbl -> Reset(This)
  1562.  
  1563. #define IEnumPins_Clone(This,ppEnum)    \
  1564.     (This)->lpVtbl -> Clone(This,ppEnum)
  1565.  
  1566. #endif /* COBJMACROS */
  1567.  
  1568.  
  1569. #endif     /* C style interface */
  1570.  
  1571.  
  1572.  
  1573. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1574.     IEnumPins * This,
  1575.     /* [in] */ ULONG cPins,
  1576.     /* [size_is][out] */ IPin **ppPins,
  1577.     /* [out] */ ULONG *pcFetched);
  1578.  
  1579.  
  1580. void __RPC_STUB IEnumPins_Next_Stub(
  1581.     IRpcStubBuffer *This,
  1582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1583.     PRPC_MESSAGE _pRpcMessage,
  1584.     DWORD *_pdwStubPhase);
  1585.  
  1586.  
  1587. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1588.     IEnumPins * This,
  1589.     /* [in] */ ULONG cPins);
  1590.  
  1591.  
  1592. void __RPC_STUB IEnumPins_Skip_Stub(
  1593.     IRpcStubBuffer *This,
  1594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1595.     PRPC_MESSAGE _pRpcMessage,
  1596.     DWORD *_pdwStubPhase);
  1597.  
  1598.  
  1599. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1600.     IEnumPins * This);
  1601.  
  1602.  
  1603. void __RPC_STUB IEnumPins_Reset_Stub(
  1604.     IRpcStubBuffer *This,
  1605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1606.     PRPC_MESSAGE _pRpcMessage,
  1607.     DWORD *_pdwStubPhase);
  1608.  
  1609.  
  1610. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1611.     IEnumPins * This,
  1612.     /* [out] */ IEnumPins **ppEnum);
  1613.  
  1614.  
  1615. void __RPC_STUB IEnumPins_Clone_Stub(
  1616.     IRpcStubBuffer *This,
  1617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1618.     PRPC_MESSAGE _pRpcMessage,
  1619.     DWORD *_pdwStubPhase);
  1620.  
  1621.  
  1622.  
  1623. #endif     /* __IEnumPins_INTERFACE_DEFINED__ */
  1624.  
  1625.  
  1626. /* interface __MIDL_itf_strmif_0115 */
  1627. /* [local] */ 
  1628.  
  1629. typedef IEnumPins *PENUMPINS;
  1630.  
  1631.  
  1632.  
  1633. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  1634. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  1635.  
  1636. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1637. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1638.  
  1639. /* interface IEnumMediaTypes */
  1640. /* [unique][uuid][object] */ 
  1641.  
  1642.  
  1643. EXTERN_C const IID IID_IEnumMediaTypes;
  1644.  
  1645. #if defined(__cplusplus) && !defined(CINTERFACE)
  1646.     
  1647.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1648.     IEnumMediaTypes : public IUnknown
  1649.     {
  1650.     public:
  1651.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1652.             /* [in] */ ULONG cMediaTypes,
  1653.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1654.             /* [out] */ ULONG *pcFetched) = 0;
  1655.         
  1656.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1657.             /* [in] */ ULONG cMediaTypes) = 0;
  1658.         
  1659.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1660.         
  1661.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1662.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1663.         
  1664.     };
  1665.     
  1666. #else     /* C style interface */
  1667.  
  1668.     typedef struct IEnumMediaTypesVtbl
  1669.     {
  1670.         BEGIN_INTERFACE
  1671.         
  1672.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1673.             IEnumMediaTypes * This,
  1674.             /* [in] */ REFIID riid,
  1675.             /* [iid_is][out] */ void **ppvObject);
  1676.         
  1677.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1678.             IEnumMediaTypes * This);
  1679.         
  1680.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1681.             IEnumMediaTypes * This);
  1682.         
  1683.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1684.             IEnumMediaTypes * This,
  1685.             /* [in] */ ULONG cMediaTypes,
  1686.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1687.             /* [out] */ ULONG *pcFetched);
  1688.         
  1689.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1690.             IEnumMediaTypes * This,
  1691.             /* [in] */ ULONG cMediaTypes);
  1692.         
  1693.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1694.             IEnumMediaTypes * This);
  1695.         
  1696.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1697.             IEnumMediaTypes * This,
  1698.             /* [out] */ IEnumMediaTypes **ppEnum);
  1699.         
  1700.         END_INTERFACE
  1701.     } IEnumMediaTypesVtbl;
  1702.  
  1703.     interface IEnumMediaTypes
  1704.     {
  1705.         CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1706.     };
  1707.  
  1708.     
  1709.  
  1710. #ifdef COBJMACROS
  1711.  
  1712.  
  1713. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)    \
  1714.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1715.  
  1716. #define IEnumMediaTypes_AddRef(This)    \
  1717.     (This)->lpVtbl -> AddRef(This)
  1718.  
  1719. #define IEnumMediaTypes_Release(This)    \
  1720.     (This)->lpVtbl -> Release(This)
  1721.  
  1722.  
  1723. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)    \
  1724.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1725.  
  1726. #define IEnumMediaTypes_Skip(This,cMediaTypes)    \
  1727.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1728.  
  1729. #define IEnumMediaTypes_Reset(This)    \
  1730.     (This)->lpVtbl -> Reset(This)
  1731.  
  1732. #define IEnumMediaTypes_Clone(This,ppEnum)    \
  1733.     (This)->lpVtbl -> Clone(This,ppEnum)
  1734.  
  1735. #endif /* COBJMACROS */
  1736.  
  1737.  
  1738. #endif     /* C style interface */
  1739.  
  1740.  
  1741.  
  1742. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1743.     IEnumMediaTypes * This,
  1744.     /* [in] */ ULONG cMediaTypes,
  1745.     /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1746.     /* [out] */ ULONG *pcFetched);
  1747.  
  1748.  
  1749. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1750.     IRpcStubBuffer *This,
  1751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1752.     PRPC_MESSAGE _pRpcMessage,
  1753.     DWORD *_pdwStubPhase);
  1754.  
  1755.  
  1756. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1757.     IEnumMediaTypes * This,
  1758.     /* [in] */ ULONG cMediaTypes);
  1759.  
  1760.  
  1761. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1762.     IRpcStubBuffer *This,
  1763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1764.     PRPC_MESSAGE _pRpcMessage,
  1765.     DWORD *_pdwStubPhase);
  1766.  
  1767.  
  1768. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1769.     IEnumMediaTypes * This);
  1770.  
  1771.  
  1772. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1773.     IRpcStubBuffer *This,
  1774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1775.     PRPC_MESSAGE _pRpcMessage,
  1776.     DWORD *_pdwStubPhase);
  1777.  
  1778.  
  1779. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1780.     IEnumMediaTypes * This,
  1781.     /* [out] */ IEnumMediaTypes **ppEnum);
  1782.  
  1783.  
  1784. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1785.     IRpcStubBuffer *This,
  1786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1787.     PRPC_MESSAGE _pRpcMessage,
  1788.     DWORD *_pdwStubPhase);
  1789.  
  1790.  
  1791.  
  1792. #endif     /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1793.  
  1794.  
  1795. /* interface __MIDL_itf_strmif_0116 */
  1796. /* [local] */ 
  1797.  
  1798. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1799.  
  1800.  
  1801.  
  1802. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  1803. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  1804.  
  1805. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1806. #define __IFilterGraph_INTERFACE_DEFINED__
  1807.  
  1808. /* interface IFilterGraph */
  1809. /* [unique][uuid][object] */ 
  1810.  
  1811.  
  1812. EXTERN_C const IID IID_IFilterGraph;
  1813.  
  1814. #if defined(__cplusplus) && !defined(CINTERFACE)
  1815.     
  1816.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1817.     IFilterGraph : public IUnknown
  1818.     {
  1819.     public:
  1820.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1821.             /* [in] */ IBaseFilter *pFilter,
  1822.             /* [string][in] */ LPCWSTR pName) = 0;
  1823.         
  1824.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1825.             /* [in] */ IBaseFilter *pFilter) = 0;
  1826.         
  1827.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1828.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1829.         
  1830.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1831.             /* [string][in] */ LPCWSTR pName,
  1832.             /* [out] */ IBaseFilter **ppFilter) = 0;
  1833.         
  1834.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1835.             /* [in] */ IPin *ppinOut,
  1836.             /* [in] */ IPin *ppinIn,
  1837.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1838.         
  1839.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1840.             /* [in] */ IPin *ppin) = 0;
  1841.         
  1842.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1843.             /* [in] */ IPin *ppin) = 0;
  1844.         
  1845.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1846.         
  1847.     };
  1848.     
  1849. #else     /* C style interface */
  1850.  
  1851.     typedef struct IFilterGraphVtbl
  1852.     {
  1853.         BEGIN_INTERFACE
  1854.         
  1855.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1856.             IFilterGraph * This,
  1857.             /* [in] */ REFIID riid,
  1858.             /* [iid_is][out] */ void **ppvObject);
  1859.         
  1860.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1861.             IFilterGraph * This);
  1862.         
  1863.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1864.             IFilterGraph * This);
  1865.         
  1866.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  1867.             IFilterGraph * This,
  1868.             /* [in] */ IBaseFilter *pFilter,
  1869.             /* [string][in] */ LPCWSTR pName);
  1870.         
  1871.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  1872.             IFilterGraph * This,
  1873.             /* [in] */ IBaseFilter *pFilter);
  1874.         
  1875.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1876.             IFilterGraph * This,
  1877.             /* [out] */ IEnumFilters **ppEnum);
  1878.         
  1879.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  1880.             IFilterGraph * This,
  1881.             /* [string][in] */ LPCWSTR pName,
  1882.             /* [out] */ IBaseFilter **ppFilter);
  1883.         
  1884.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  1885.             IFilterGraph * This,
  1886.             /* [in] */ IPin *ppinOut,
  1887.             /* [in] */ IPin *ppinIn,
  1888.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1889.         
  1890.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  1891.             IFilterGraph * This,
  1892.             /* [in] */ IPin *ppin);
  1893.         
  1894.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1895.             IFilterGraph * This,
  1896.             /* [in] */ IPin *ppin);
  1897.         
  1898.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  1899.             IFilterGraph * This);
  1900.         
  1901.         END_INTERFACE
  1902.     } IFilterGraphVtbl;
  1903.  
  1904.     interface IFilterGraph
  1905.     {
  1906.         CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1907.     };
  1908.  
  1909.     
  1910.  
  1911. #ifdef COBJMACROS
  1912.  
  1913.  
  1914. #define IFilterGraph_QueryInterface(This,riid,ppvObject)    \
  1915.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1916.  
  1917. #define IFilterGraph_AddRef(This)    \
  1918.     (This)->lpVtbl -> AddRef(This)
  1919.  
  1920. #define IFilterGraph_Release(This)    \
  1921.     (This)->lpVtbl -> Release(This)
  1922.  
  1923.  
  1924. #define IFilterGraph_AddFilter(This,pFilter,pName)    \
  1925.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1926.  
  1927. #define IFilterGraph_RemoveFilter(This,pFilter)    \
  1928.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1929.  
  1930. #define IFilterGraph_EnumFilters(This,ppEnum)    \
  1931.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1932.  
  1933. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)    \
  1934.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1935.  
  1936. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  1937.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1938.  
  1939. #define IFilterGraph_Reconnect(This,ppin)    \
  1940.     (This)->lpVtbl -> Reconnect(This,ppin)
  1941.  
  1942. #define IFilterGraph_Disconnect(This,ppin)    \
  1943.     (This)->lpVtbl -> Disconnect(This,ppin)
  1944.  
  1945. #define IFilterGraph_SetDefaultSyncSource(This)    \
  1946.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1947.  
  1948. #endif /* COBJMACROS */
  1949.  
  1950.  
  1951. #endif     /* C style interface */
  1952.  
  1953.  
  1954.  
  1955. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1956.     IFilterGraph * This,
  1957.     /* [in] */ IBaseFilter *pFilter,
  1958.     /* [string][in] */ LPCWSTR pName);
  1959.  
  1960.  
  1961. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1962.     IRpcStubBuffer *This,
  1963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1964.     PRPC_MESSAGE _pRpcMessage,
  1965.     DWORD *_pdwStubPhase);
  1966.  
  1967.  
  1968. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1969.     IFilterGraph * This,
  1970.     /* [in] */ IBaseFilter *pFilter);
  1971.  
  1972.  
  1973. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1974.     IRpcStubBuffer *This,
  1975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1976.     PRPC_MESSAGE _pRpcMessage,
  1977.     DWORD *_pdwStubPhase);
  1978.  
  1979.  
  1980. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1981.     IFilterGraph * This,
  1982.     /* [out] */ IEnumFilters **ppEnum);
  1983.  
  1984.  
  1985. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1986.     IRpcStubBuffer *This,
  1987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1988.     PRPC_MESSAGE _pRpcMessage,
  1989.     DWORD *_pdwStubPhase);
  1990.  
  1991.  
  1992. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1993.     IFilterGraph * This,
  1994.     /* [string][in] */ LPCWSTR pName,
  1995.     /* [out] */ IBaseFilter **ppFilter);
  1996.  
  1997.  
  1998. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1999.     IRpcStubBuffer *This,
  2000.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2001.     PRPC_MESSAGE _pRpcMessage,
  2002.     DWORD *_pdwStubPhase);
  2003.  
  2004.  
  2005. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  2006.     IFilterGraph * This,
  2007.     /* [in] */ IPin *ppinOut,
  2008.     /* [in] */ IPin *ppinIn,
  2009.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  2010.  
  2011.  
  2012. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  2013.     IRpcStubBuffer *This,
  2014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2015.     PRPC_MESSAGE _pRpcMessage,
  2016.     DWORD *_pdwStubPhase);
  2017.  
  2018.  
  2019. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  2020.     IFilterGraph * This,
  2021.     /* [in] */ IPin *ppin);
  2022.  
  2023.  
  2024. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  2025.     IRpcStubBuffer *This,
  2026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2027.     PRPC_MESSAGE _pRpcMessage,
  2028.     DWORD *_pdwStubPhase);
  2029.  
  2030.  
  2031. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  2032.     IFilterGraph * This,
  2033.     /* [in] */ IPin *ppin);
  2034.  
  2035.  
  2036. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  2037.     IRpcStubBuffer *This,
  2038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2039.     PRPC_MESSAGE _pRpcMessage,
  2040.     DWORD *_pdwStubPhase);
  2041.  
  2042.  
  2043. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  2044.     IFilterGraph * This);
  2045.  
  2046.  
  2047. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  2048.     IRpcStubBuffer *This,
  2049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2050.     PRPC_MESSAGE _pRpcMessage,
  2051.     DWORD *_pdwStubPhase);
  2052.  
  2053.  
  2054.  
  2055. #endif     /* __IFilterGraph_INTERFACE_DEFINED__ */
  2056.  
  2057.  
  2058. /* interface __MIDL_itf_strmif_0117 */
  2059. /* [local] */ 
  2060.  
  2061. typedef IFilterGraph *PFILTERGRAPH;
  2062.  
  2063.  
  2064.  
  2065. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  2066. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  2067.  
  2068. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  2069. #define __IEnumFilters_INTERFACE_DEFINED__
  2070.  
  2071. /* interface IEnumFilters */
  2072. /* [unique][uuid][object] */ 
  2073.  
  2074.  
  2075. EXTERN_C const IID IID_IEnumFilters;
  2076.  
  2077. #if defined(__cplusplus) && !defined(CINTERFACE)
  2078.     
  2079.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  2080.     IEnumFilters : public IUnknown
  2081.     {
  2082.     public:
  2083.         virtual HRESULT STDMETHODCALLTYPE Next( 
  2084.             /* [in] */ ULONG cFilters,
  2085.             /* [out] */ IBaseFilter **ppFilter,
  2086.             /* [out] */ ULONG *pcFetched) = 0;
  2087.         
  2088.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2089.             /* [in] */ ULONG cFilters) = 0;
  2090.         
  2091.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2092.         
  2093.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2094.             /* [out] */ IEnumFilters **ppEnum) = 0;
  2095.         
  2096.     };
  2097.     
  2098. #else     /* C style interface */
  2099.  
  2100.     typedef struct IEnumFiltersVtbl
  2101.     {
  2102.         BEGIN_INTERFACE
  2103.         
  2104.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2105.             IEnumFilters * This,
  2106.             /* [in] */ REFIID riid,
  2107.             /* [iid_is][out] */ void **ppvObject);
  2108.         
  2109.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2110.             IEnumFilters * This);
  2111.         
  2112.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2113.             IEnumFilters * This);
  2114.         
  2115.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2116.             IEnumFilters * This,
  2117.             /* [in] */ ULONG cFilters,
  2118.             /* [out] */ IBaseFilter **ppFilter,
  2119.             /* [out] */ ULONG *pcFetched);
  2120.         
  2121.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2122.             IEnumFilters * This,
  2123.             /* [in] */ ULONG cFilters);
  2124.         
  2125.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2126.             IEnumFilters * This);
  2127.         
  2128.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2129.             IEnumFilters * This,
  2130.             /* [out] */ IEnumFilters **ppEnum);
  2131.         
  2132.         END_INTERFACE
  2133.     } IEnumFiltersVtbl;
  2134.  
  2135.     interface IEnumFilters
  2136.     {
  2137.         CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  2138.     };
  2139.  
  2140.     
  2141.  
  2142. #ifdef COBJMACROS
  2143.  
  2144.  
  2145. #define IEnumFilters_QueryInterface(This,riid,ppvObject)    \
  2146.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2147.  
  2148. #define IEnumFilters_AddRef(This)    \
  2149.     (This)->lpVtbl -> AddRef(This)
  2150.  
  2151. #define IEnumFilters_Release(This)    \
  2152.     (This)->lpVtbl -> Release(This)
  2153.  
  2154.  
  2155. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)    \
  2156.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  2157.  
  2158. #define IEnumFilters_Skip(This,cFilters)    \
  2159.     (This)->lpVtbl -> Skip(This,cFilters)
  2160.  
  2161. #define IEnumFilters_Reset(This)    \
  2162.     (This)->lpVtbl -> Reset(This)
  2163.  
  2164. #define IEnumFilters_Clone(This,ppEnum)    \
  2165.     (This)->lpVtbl -> Clone(This,ppEnum)
  2166.  
  2167. #endif /* COBJMACROS */
  2168.  
  2169.  
  2170. #endif     /* C style interface */
  2171.  
  2172.  
  2173.  
  2174. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  2175.     IEnumFilters * This,
  2176.     /* [in] */ ULONG cFilters,
  2177.     /* [out] */ IBaseFilter **ppFilter,
  2178.     /* [out] */ ULONG *pcFetched);
  2179.  
  2180.  
  2181. void __RPC_STUB IEnumFilters_Next_Stub(
  2182.     IRpcStubBuffer *This,
  2183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2184.     PRPC_MESSAGE _pRpcMessage,
  2185.     DWORD *_pdwStubPhase);
  2186.  
  2187.  
  2188. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  2189.     IEnumFilters * This,
  2190.     /* [in] */ ULONG cFilters);
  2191.  
  2192.  
  2193. void __RPC_STUB IEnumFilters_Skip_Stub(
  2194.     IRpcStubBuffer *This,
  2195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2196.     PRPC_MESSAGE _pRpcMessage,
  2197.     DWORD *_pdwStubPhase);
  2198.  
  2199.  
  2200. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  2201.     IEnumFilters * This);
  2202.  
  2203.  
  2204. void __RPC_STUB IEnumFilters_Reset_Stub(
  2205.     IRpcStubBuffer *This,
  2206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2207.     PRPC_MESSAGE _pRpcMessage,
  2208.     DWORD *_pdwStubPhase);
  2209.  
  2210.  
  2211. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  2212.     IEnumFilters * This,
  2213.     /* [out] */ IEnumFilters **ppEnum);
  2214.  
  2215.  
  2216. void __RPC_STUB IEnumFilters_Clone_Stub(
  2217.     IRpcStubBuffer *This,
  2218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2219.     PRPC_MESSAGE _pRpcMessage,
  2220.     DWORD *_pdwStubPhase);
  2221.  
  2222.  
  2223.  
  2224. #endif     /* __IEnumFilters_INTERFACE_DEFINED__ */
  2225.  
  2226.  
  2227. /* interface __MIDL_itf_strmif_0118 */
  2228. /* [local] */ 
  2229.  
  2230. typedef IEnumFilters *PENUMFILTERS;
  2231.  
  2232.  
  2233.  
  2234. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  2235. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  2236.  
  2237. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  2238. #define __IMediaFilter_INTERFACE_DEFINED__
  2239.  
  2240. /* interface IMediaFilter */
  2241. /* [unique][uuid][object] */ 
  2242.  
  2243. typedef 
  2244. enum _FilterState
  2245.     {    State_Stopped    = 0,
  2246.     State_Paused    = State_Stopped + 1,
  2247.     State_Running    = State_Paused + 1
  2248.     }     FILTER_STATE;
  2249.  
  2250.  
  2251. EXTERN_C const IID IID_IMediaFilter;
  2252.  
  2253. #if defined(__cplusplus) && !defined(CINTERFACE)
  2254.     
  2255.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  2256.     IMediaFilter : public IPersist
  2257.     {
  2258.     public:
  2259.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2260.         
  2261.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2262.         
  2263.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2264.             REFERENCE_TIME tStart) = 0;
  2265.         
  2266.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  2267.             /* [in] */ DWORD dwMilliSecsTimeout,
  2268.             /* [out] */ FILTER_STATE *State) = 0;
  2269.         
  2270.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  2271.             /* [in] */ IReferenceClock *pClock) = 0;
  2272.         
  2273.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  2274.             /* [out] */ IReferenceClock **pClock) = 0;
  2275.         
  2276.     };
  2277.     
  2278. #else     /* C style interface */
  2279.  
  2280.     typedef struct IMediaFilterVtbl
  2281.     {
  2282.         BEGIN_INTERFACE
  2283.         
  2284.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2285.             IMediaFilter * This,
  2286.             /* [in] */ REFIID riid,
  2287.             /* [iid_is][out] */ void **ppvObject);
  2288.         
  2289.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2290.             IMediaFilter * This);
  2291.         
  2292.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2293.             IMediaFilter * This);
  2294.         
  2295.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2296.             IMediaFilter * This,
  2297.             /* [out] */ CLSID *pClassID);
  2298.         
  2299.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2300.             IMediaFilter * This);
  2301.         
  2302.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2303.             IMediaFilter * This);
  2304.         
  2305.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2306.             IMediaFilter * This,
  2307.             REFERENCE_TIME tStart);
  2308.         
  2309.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2310.             IMediaFilter * This,
  2311.             /* [in] */ DWORD dwMilliSecsTimeout,
  2312.             /* [out] */ FILTER_STATE *State);
  2313.         
  2314.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2315.             IMediaFilter * This,
  2316.             /* [in] */ IReferenceClock *pClock);
  2317.         
  2318.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2319.             IMediaFilter * This,
  2320.             /* [out] */ IReferenceClock **pClock);
  2321.         
  2322.         END_INTERFACE
  2323.     } IMediaFilterVtbl;
  2324.  
  2325.     interface IMediaFilter
  2326.     {
  2327.         CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  2328.     };
  2329.  
  2330.     
  2331.  
  2332. #ifdef COBJMACROS
  2333.  
  2334.  
  2335. #define IMediaFilter_QueryInterface(This,riid,ppvObject)    \
  2336.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2337.  
  2338. #define IMediaFilter_AddRef(This)    \
  2339.     (This)->lpVtbl -> AddRef(This)
  2340.  
  2341. #define IMediaFilter_Release(This)    \
  2342.     (This)->lpVtbl -> Release(This)
  2343.  
  2344.  
  2345. #define IMediaFilter_GetClassID(This,pClassID)    \
  2346.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2347.  
  2348.  
  2349. #define IMediaFilter_Stop(This)    \
  2350.     (This)->lpVtbl -> Stop(This)
  2351.  
  2352. #define IMediaFilter_Pause(This)    \
  2353.     (This)->lpVtbl -> Pause(This)
  2354.  
  2355. #define IMediaFilter_Run(This,tStart)    \
  2356.     (This)->lpVtbl -> Run(This,tStart)
  2357.  
  2358. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2359.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2360.  
  2361. #define IMediaFilter_SetSyncSource(This,pClock)    \
  2362.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2363.  
  2364. #define IMediaFilter_GetSyncSource(This,pClock)    \
  2365.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2366.  
  2367. #endif /* COBJMACROS */
  2368.  
  2369.  
  2370. #endif     /* C style interface */
  2371.  
  2372.  
  2373.  
  2374. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  2375.     IMediaFilter * This);
  2376.  
  2377.  
  2378. void __RPC_STUB IMediaFilter_Stop_Stub(
  2379.     IRpcStubBuffer *This,
  2380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2381.     PRPC_MESSAGE _pRpcMessage,
  2382.     DWORD *_pdwStubPhase);
  2383.  
  2384.  
  2385. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  2386.     IMediaFilter * This);
  2387.  
  2388.  
  2389. void __RPC_STUB IMediaFilter_Pause_Stub(
  2390.     IRpcStubBuffer *This,
  2391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2392.     PRPC_MESSAGE _pRpcMessage,
  2393.     DWORD *_pdwStubPhase);
  2394.  
  2395.  
  2396. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  2397.     IMediaFilter * This,
  2398.     REFERENCE_TIME tStart);
  2399.  
  2400.  
  2401. void __RPC_STUB IMediaFilter_Run_Stub(
  2402.     IRpcStubBuffer *This,
  2403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2404.     PRPC_MESSAGE _pRpcMessage,
  2405.     DWORD *_pdwStubPhase);
  2406.  
  2407.  
  2408. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  2409.     IMediaFilter * This,
  2410.     /* [in] */ DWORD dwMilliSecsTimeout,
  2411.     /* [out] */ FILTER_STATE *State);
  2412.  
  2413.  
  2414. void __RPC_STUB IMediaFilter_GetState_Stub(
  2415.     IRpcStubBuffer *This,
  2416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2417.     PRPC_MESSAGE _pRpcMessage,
  2418.     DWORD *_pdwStubPhase);
  2419.  
  2420.  
  2421. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  2422.     IMediaFilter * This,
  2423.     /* [in] */ IReferenceClock *pClock);
  2424.  
  2425.  
  2426. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  2427.     IRpcStubBuffer *This,
  2428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2429.     PRPC_MESSAGE _pRpcMessage,
  2430.     DWORD *_pdwStubPhase);
  2431.  
  2432.  
  2433. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  2434.     IMediaFilter * This,
  2435.     /* [out] */ IReferenceClock **pClock);
  2436.  
  2437.  
  2438. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  2439.     IRpcStubBuffer *This,
  2440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2441.     PRPC_MESSAGE _pRpcMessage,
  2442.     DWORD *_pdwStubPhase);
  2443.  
  2444.  
  2445.  
  2446. #endif     /* __IMediaFilter_INTERFACE_DEFINED__ */
  2447.  
  2448.  
  2449. /* interface __MIDL_itf_strmif_0119 */
  2450. /* [local] */ 
  2451.  
  2452. typedef IMediaFilter *PMEDIAFILTER;
  2453.  
  2454.  
  2455.  
  2456. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  2457. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  2458.  
  2459. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  2460. #define __IBaseFilter_INTERFACE_DEFINED__
  2461.  
  2462. /* interface IBaseFilter */
  2463. /* [unique][uuid][object] */ 
  2464.  
  2465. typedef struct _FilterInfo
  2466.     {
  2467.     WCHAR achName[ 128 ];
  2468.     IFilterGraph *pGraph;
  2469.     }     FILTER_INFO;
  2470.  
  2471.  
  2472. EXTERN_C const IID IID_IBaseFilter;
  2473.  
  2474. #if defined(__cplusplus) && !defined(CINTERFACE)
  2475.     
  2476.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  2477.     IBaseFilter : public IMediaFilter
  2478.     {
  2479.     public:
  2480.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  2481.             /* [out] */ IEnumPins **ppEnum) = 0;
  2482.         
  2483.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  2484.             /* [string][in] */ LPCWSTR Id,
  2485.             /* [out] */ IPin **ppPin) = 0;
  2486.         
  2487.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  2488.             /* [out] */ FILTER_INFO *pInfo) = 0;
  2489.         
  2490.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  2491.             /* [in] */ IFilterGraph *pGraph,
  2492.             /* [string][in] */ LPCWSTR pName) = 0;
  2493.         
  2494.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  2495.             /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  2496.         
  2497.     };
  2498.     
  2499. #else     /* C style interface */
  2500.  
  2501.     typedef struct IBaseFilterVtbl
  2502.     {
  2503.         BEGIN_INTERFACE
  2504.         
  2505.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2506.             IBaseFilter * This,
  2507.             /* [in] */ REFIID riid,
  2508.             /* [iid_is][out] */ void **ppvObject);
  2509.         
  2510.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2511.             IBaseFilter * This);
  2512.         
  2513.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2514.             IBaseFilter * This);
  2515.         
  2516.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2517.             IBaseFilter * This,
  2518.             /* [out] */ CLSID *pClassID);
  2519.         
  2520.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2521.             IBaseFilter * This);
  2522.         
  2523.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2524.             IBaseFilter * This);
  2525.         
  2526.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2527.             IBaseFilter * This,
  2528.             REFERENCE_TIME tStart);
  2529.         
  2530.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2531.             IBaseFilter * This,
  2532.             /* [in] */ DWORD dwMilliSecsTimeout,
  2533.             /* [out] */ FILTER_STATE *State);
  2534.         
  2535.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2536.             IBaseFilter * This,
  2537.             /* [in] */ IReferenceClock *pClock);
  2538.         
  2539.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2540.             IBaseFilter * This,
  2541.             /* [out] */ IReferenceClock **pClock);
  2542.         
  2543.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  2544.             IBaseFilter * This,
  2545.             /* [out] */ IEnumPins **ppEnum);
  2546.         
  2547.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  2548.             IBaseFilter * This,
  2549.             /* [string][in] */ LPCWSTR Id,
  2550.             /* [out] */ IPin **ppPin);
  2551.         
  2552.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  2553.             IBaseFilter * This,
  2554.             /* [out] */ FILTER_INFO *pInfo);
  2555.         
  2556.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  2557.             IBaseFilter * This,
  2558.             /* [in] */ IFilterGraph *pGraph,
  2559.             /* [string][in] */ LPCWSTR pName);
  2560.         
  2561.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  2562.             IBaseFilter * This,
  2563.             /* [string][out] */ LPWSTR *pVendorInfo);
  2564.         
  2565.         END_INTERFACE
  2566.     } IBaseFilterVtbl;
  2567.  
  2568.     interface IBaseFilter
  2569.     {
  2570.         CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  2571.     };
  2572.  
  2573.     
  2574.  
  2575. #ifdef COBJMACROS
  2576.  
  2577.  
  2578. #define IBaseFilter_QueryInterface(This,riid,ppvObject)    \
  2579.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2580.  
  2581. #define IBaseFilter_AddRef(This)    \
  2582.     (This)->lpVtbl -> AddRef(This)
  2583.  
  2584. #define IBaseFilter_Release(This)    \
  2585.     (This)->lpVtbl -> Release(This)
  2586.  
  2587.  
  2588. #define IBaseFilter_GetClassID(This,pClassID)    \
  2589.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2590.  
  2591.  
  2592. #define IBaseFilter_Stop(This)    \
  2593.     (This)->lpVtbl -> Stop(This)
  2594.  
  2595. #define IBaseFilter_Pause(This)    \
  2596.     (This)->lpVtbl -> Pause(This)
  2597.  
  2598. #define IBaseFilter_Run(This,tStart)    \
  2599.     (This)->lpVtbl -> Run(This,tStart)
  2600.  
  2601. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2602.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2603.  
  2604. #define IBaseFilter_SetSyncSource(This,pClock)    \
  2605.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2606.  
  2607. #define IBaseFilter_GetSyncSource(This,pClock)    \
  2608.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2609.  
  2610.  
  2611. #define IBaseFilter_EnumPins(This,ppEnum)    \
  2612.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  2613.  
  2614. #define IBaseFilter_FindPin(This,Id,ppPin)    \
  2615.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  2616.  
  2617. #define IBaseFilter_QueryFilterInfo(This,pInfo)    \
  2618.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  2619.  
  2620. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)    \
  2621.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  2622.  
  2623. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)    \
  2624.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  2625.  
  2626. #endif /* COBJMACROS */
  2627.  
  2628.  
  2629. #endif     /* C style interface */
  2630.  
  2631.  
  2632.  
  2633. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  2634.     IBaseFilter * This,
  2635.     /* [out] */ IEnumPins **ppEnum);
  2636.  
  2637.  
  2638. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  2639.     IRpcStubBuffer *This,
  2640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2641.     PRPC_MESSAGE _pRpcMessage,
  2642.     DWORD *_pdwStubPhase);
  2643.  
  2644.  
  2645. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  2646.     IBaseFilter * This,
  2647.     /* [string][in] */ LPCWSTR Id,
  2648.     /* [out] */ IPin **ppPin);
  2649.  
  2650.  
  2651. void __RPC_STUB IBaseFilter_FindPin_Stub(
  2652.     IRpcStubBuffer *This,
  2653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2654.     PRPC_MESSAGE _pRpcMessage,
  2655.     DWORD *_pdwStubPhase);
  2656.  
  2657.  
  2658. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  2659.     IBaseFilter * This,
  2660.     /* [out] */ FILTER_INFO *pInfo);
  2661.  
  2662.  
  2663. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  2664.     IRpcStubBuffer *This,
  2665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2666.     PRPC_MESSAGE _pRpcMessage,
  2667.     DWORD *_pdwStubPhase);
  2668.  
  2669.  
  2670. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  2671.     IBaseFilter * This,
  2672.     /* [in] */ IFilterGraph *pGraph,
  2673.     /* [string][in] */ LPCWSTR pName);
  2674.  
  2675.  
  2676. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  2677.     IRpcStubBuffer *This,
  2678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2679.     PRPC_MESSAGE _pRpcMessage,
  2680.     DWORD *_pdwStubPhase);
  2681.  
  2682.  
  2683. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  2684.     IBaseFilter * This,
  2685.     /* [string][out] */ LPWSTR *pVendorInfo);
  2686.  
  2687.  
  2688. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  2689.     IRpcStubBuffer *This,
  2690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2691.     PRPC_MESSAGE _pRpcMessage,
  2692.     DWORD *_pdwStubPhase);
  2693.  
  2694.  
  2695.  
  2696. #endif     /* __IBaseFilter_INTERFACE_DEFINED__ */
  2697.  
  2698.  
  2699. /* interface __MIDL_itf_strmif_0120 */
  2700. /* [local] */ 
  2701.  
  2702. typedef IBaseFilter *PFILTER;
  2703.  
  2704.  
  2705.  
  2706. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  2707. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  2708.  
  2709. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  2710. #define __IReferenceClock_INTERFACE_DEFINED__
  2711.  
  2712. /* interface IReferenceClock */
  2713. /* [unique][uuid][object] */ 
  2714.  
  2715.  
  2716. EXTERN_C const IID IID_IReferenceClock;
  2717.  
  2718. #if defined(__cplusplus) && !defined(CINTERFACE)
  2719.     
  2720.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  2721.     IReferenceClock : public IUnknown
  2722.     {
  2723.     public:
  2724.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2725.             /* [out] */ REFERENCE_TIME *pTime) = 0;
  2726.         
  2727.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  2728.             /* [in] */ REFERENCE_TIME baseTime,
  2729.             /* [in] */ REFERENCE_TIME streamTime,
  2730.             /* [in] */ HEVENT hEvent,
  2731.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2732.         
  2733.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  2734.             /* [in] */ REFERENCE_TIME startTime,
  2735.             /* [in] */ REFERENCE_TIME periodTime,
  2736.             /* [in] */ HSEMAPHORE hSemaphore,
  2737.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2738.         
  2739.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  2740.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  2741.         
  2742.     };
  2743.     
  2744. #else     /* C style interface */
  2745.  
  2746.     typedef struct IReferenceClockVtbl
  2747.     {
  2748.         BEGIN_INTERFACE
  2749.         
  2750.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2751.             IReferenceClock * This,
  2752.             /* [in] */ REFIID riid,
  2753.             /* [iid_is][out] */ void **ppvObject);
  2754.         
  2755.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2756.             IReferenceClock * This);
  2757.         
  2758.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2759.             IReferenceClock * This);
  2760.         
  2761.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2762.             IReferenceClock * This,
  2763.             /* [out] */ REFERENCE_TIME *pTime);
  2764.         
  2765.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2766.             IReferenceClock * This,
  2767.             /* [in] */ REFERENCE_TIME baseTime,
  2768.             /* [in] */ REFERENCE_TIME streamTime,
  2769.             /* [in] */ HEVENT hEvent,
  2770.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2771.         
  2772.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2773.             IReferenceClock * This,
  2774.             /* [in] */ REFERENCE_TIME startTime,
  2775.             /* [in] */ REFERENCE_TIME periodTime,
  2776.             /* [in] */ HSEMAPHORE hSemaphore,
  2777.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2778.         
  2779.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2780.             IReferenceClock * This,
  2781.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2782.         
  2783.         END_INTERFACE
  2784.     } IReferenceClockVtbl;
  2785.  
  2786.     interface IReferenceClock
  2787.     {
  2788.         CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  2789.     };
  2790.  
  2791.     
  2792.  
  2793. #ifdef COBJMACROS
  2794.  
  2795.  
  2796. #define IReferenceClock_QueryInterface(This,riid,ppvObject)    \
  2797.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2798.  
  2799. #define IReferenceClock_AddRef(This)    \
  2800.     (This)->lpVtbl -> AddRef(This)
  2801.  
  2802. #define IReferenceClock_Release(This)    \
  2803.     (This)->lpVtbl -> Release(This)
  2804.  
  2805.  
  2806. #define IReferenceClock_GetTime(This,pTime)    \
  2807.     (This)->lpVtbl -> GetTime(This,pTime)
  2808.  
  2809. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2810.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2811.  
  2812. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2813.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2814.  
  2815. #define IReferenceClock_Unadvise(This,dwAdviseCookie)    \
  2816.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2817.  
  2818. #endif /* COBJMACROS */
  2819.  
  2820.  
  2821. #endif     /* C style interface */
  2822.  
  2823.  
  2824.  
  2825. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  2826.     IReferenceClock * This,
  2827.     /* [out] */ REFERENCE_TIME *pTime);
  2828.  
  2829.  
  2830. void __RPC_STUB IReferenceClock_GetTime_Stub(
  2831.     IRpcStubBuffer *This,
  2832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2833.     PRPC_MESSAGE _pRpcMessage,
  2834.     DWORD *_pdwStubPhase);
  2835.  
  2836.  
  2837. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  2838.     IReferenceClock * This,
  2839.     /* [in] */ REFERENCE_TIME baseTime,
  2840.     /* [in] */ REFERENCE_TIME streamTime,
  2841.     /* [in] */ HEVENT hEvent,
  2842.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2843.  
  2844.  
  2845. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2846.     IRpcStubBuffer *This,
  2847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2848.     PRPC_MESSAGE _pRpcMessage,
  2849.     DWORD *_pdwStubPhase);
  2850.  
  2851.  
  2852. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2853.     IReferenceClock * This,
  2854.     /* [in] */ REFERENCE_TIME startTime,
  2855.     /* [in] */ REFERENCE_TIME periodTime,
  2856.     /* [in] */ HSEMAPHORE hSemaphore,
  2857.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2858.  
  2859.  
  2860. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2861.     IRpcStubBuffer *This,
  2862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2863.     PRPC_MESSAGE _pRpcMessage,
  2864.     DWORD *_pdwStubPhase);
  2865.  
  2866.  
  2867. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2868.     IReferenceClock * This,
  2869.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2870.  
  2871.  
  2872. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2873.     IRpcStubBuffer *This,
  2874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2875.     PRPC_MESSAGE _pRpcMessage,
  2876.     DWORD *_pdwStubPhase);
  2877.  
  2878.  
  2879.  
  2880. #endif     /* __IReferenceClock_INTERFACE_DEFINED__ */
  2881.  
  2882.  
  2883. /* interface __MIDL_itf_strmif_0121 */
  2884. /* [local] */ 
  2885.  
  2886. typedef IReferenceClock *PREFERENCECLOCK;
  2887.  
  2888.  
  2889.  
  2890. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  2891. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  2892.  
  2893. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2894. #define __IReferenceClock2_INTERFACE_DEFINED__
  2895.  
  2896. /* interface IReferenceClock2 */
  2897. /* [unique][uuid][object] */ 
  2898.  
  2899.  
  2900. EXTERN_C const IID IID_IReferenceClock2;
  2901.  
  2902. #if defined(__cplusplus) && !defined(CINTERFACE)
  2903.     
  2904.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2905.     IReferenceClock2 : public IReferenceClock
  2906.     {
  2907.     public:
  2908.     };
  2909.     
  2910. #else     /* C style interface */
  2911.  
  2912.     typedef struct IReferenceClock2Vtbl
  2913.     {
  2914.         BEGIN_INTERFACE
  2915.         
  2916.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2917.             IReferenceClock2 * This,
  2918.             /* [in] */ REFIID riid,
  2919.             /* [iid_is][out] */ void **ppvObject);
  2920.         
  2921.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2922.             IReferenceClock2 * This);
  2923.         
  2924.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2925.             IReferenceClock2 * This);
  2926.         
  2927.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2928.             IReferenceClock2 * This,
  2929.             /* [out] */ REFERENCE_TIME *pTime);
  2930.         
  2931.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2932.             IReferenceClock2 * This,
  2933.             /* [in] */ REFERENCE_TIME baseTime,
  2934.             /* [in] */ REFERENCE_TIME streamTime,
  2935.             /* [in] */ HEVENT hEvent,
  2936.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2937.         
  2938.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2939.             IReferenceClock2 * This,
  2940.             /* [in] */ REFERENCE_TIME startTime,
  2941.             /* [in] */ REFERENCE_TIME periodTime,
  2942.             /* [in] */ HSEMAPHORE hSemaphore,
  2943.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2944.         
  2945.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2946.             IReferenceClock2 * This,
  2947.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2948.         
  2949.         END_INTERFACE
  2950.     } IReferenceClock2Vtbl;
  2951.  
  2952.     interface IReferenceClock2
  2953.     {
  2954.         CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  2955.     };
  2956.  
  2957.     
  2958.  
  2959. #ifdef COBJMACROS
  2960.  
  2961.  
  2962. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)    \
  2963.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2964.  
  2965. #define IReferenceClock2_AddRef(This)    \
  2966.     (This)->lpVtbl -> AddRef(This)
  2967.  
  2968. #define IReferenceClock2_Release(This)    \
  2969.     (This)->lpVtbl -> Release(This)
  2970.  
  2971.  
  2972. #define IReferenceClock2_GetTime(This,pTime)    \
  2973.     (This)->lpVtbl -> GetTime(This,pTime)
  2974.  
  2975. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2976.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2977.  
  2978. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2979.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2980.  
  2981. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)    \
  2982.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2983.  
  2984.  
  2985. #endif /* COBJMACROS */
  2986.  
  2987.  
  2988. #endif     /* C style interface */
  2989.  
  2990.  
  2991.  
  2992.  
  2993. #endif     /* __IReferenceClock2_INTERFACE_DEFINED__ */
  2994.  
  2995.  
  2996. /* interface __MIDL_itf_strmif_0122 */
  2997. /* [local] */ 
  2998.  
  2999. typedef IReferenceClock2 *PREFERENCECLOCK2;
  3000.  
  3001.  
  3002.  
  3003. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  3004. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  3005.  
  3006. #ifndef __IMediaSample_INTERFACE_DEFINED__
  3007. #define __IMediaSample_INTERFACE_DEFINED__
  3008.  
  3009. /* interface IMediaSample */
  3010. /* [unique][uuid][object][local] */ 
  3011.  
  3012.  
  3013. EXTERN_C const IID IID_IMediaSample;
  3014.  
  3015. #if defined(__cplusplus) && !defined(CINTERFACE)
  3016.     
  3017.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  3018.     IMediaSample : public IUnknown
  3019.     {
  3020.     public:
  3021.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  3022.             /* [out] */ BYTE **ppBuffer) = 0;
  3023.         
  3024.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  3025.         
  3026.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  3027.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3028.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  3029.         
  3030.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  3031.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3032.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  3033.         
  3034.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  3035.         
  3036.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  3037.             BOOL bIsSyncPoint) = 0;
  3038.         
  3039.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  3040.         
  3041.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  3042.             BOOL bIsPreroll) = 0;
  3043.         
  3044.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  3045.         
  3046.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  3047.             long __MIDL_0010) = 0;
  3048.         
  3049.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  3050.             AM_MEDIA_TYPE **ppMediaType) = 0;
  3051.         
  3052.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  3053.             AM_MEDIA_TYPE *pMediaType) = 0;
  3054.         
  3055.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  3056.         
  3057.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  3058.             BOOL bDiscontinuity) = 0;
  3059.         
  3060.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  3061.             /* [out] */ LONGLONG *pTimeStart,
  3062.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  3063.         
  3064.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  3065.             /* [in] */ LONGLONG *pTimeStart,
  3066.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  3067.         
  3068.     };
  3069.     
  3070. #else     /* C style interface */
  3071.  
  3072.     typedef struct IMediaSampleVtbl
  3073.     {
  3074.         BEGIN_INTERFACE
  3075.         
  3076.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3077.             IMediaSample * This,
  3078.             /* [in] */ REFIID riid,
  3079.             /* [iid_is][out] */ void **ppvObject);
  3080.         
  3081.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3082.             IMediaSample * This);
  3083.         
  3084.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3085.             IMediaSample * This);
  3086.         
  3087.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3088.             IMediaSample * This,
  3089.             /* [out] */ BYTE **ppBuffer);
  3090.         
  3091.         long ( STDMETHODCALLTYPE *GetSize )( 
  3092.             IMediaSample * This);
  3093.         
  3094.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3095.             IMediaSample * This,
  3096.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3097.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3098.         
  3099.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3100.             IMediaSample * This,
  3101.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3102.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3103.         
  3104.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3105.             IMediaSample * This);
  3106.         
  3107.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3108.             IMediaSample * This,
  3109.             BOOL bIsSyncPoint);
  3110.         
  3111.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3112.             IMediaSample * This);
  3113.         
  3114.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3115.             IMediaSample * This,
  3116.             BOOL bIsPreroll);
  3117.         
  3118.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3119.             IMediaSample * This);
  3120.         
  3121.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3122.             IMediaSample * This,
  3123.             long __MIDL_0010);
  3124.         
  3125.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3126.             IMediaSample * This,
  3127.             AM_MEDIA_TYPE **ppMediaType);
  3128.         
  3129.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3130.             IMediaSample * This,
  3131.             AM_MEDIA_TYPE *pMediaType);
  3132.         
  3133.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3134.             IMediaSample * This);
  3135.         
  3136.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3137.             IMediaSample * This,
  3138.             BOOL bDiscontinuity);
  3139.         
  3140.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3141.             IMediaSample * This,
  3142.             /* [out] */ LONGLONG *pTimeStart,
  3143.             /* [out] */ LONGLONG *pTimeEnd);
  3144.         
  3145.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3146.             IMediaSample * This,
  3147.             /* [in] */ LONGLONG *pTimeStart,
  3148.             /* [in] */ LONGLONG *pTimeEnd);
  3149.         
  3150.         END_INTERFACE
  3151.     } IMediaSampleVtbl;
  3152.  
  3153.     interface IMediaSample
  3154.     {
  3155.         CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  3156.     };
  3157.  
  3158.     
  3159.  
  3160. #ifdef COBJMACROS
  3161.  
  3162.  
  3163. #define IMediaSample_QueryInterface(This,riid,ppvObject)    \
  3164.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3165.  
  3166. #define IMediaSample_AddRef(This)    \
  3167.     (This)->lpVtbl -> AddRef(This)
  3168.  
  3169. #define IMediaSample_Release(This)    \
  3170.     (This)->lpVtbl -> Release(This)
  3171.  
  3172.  
  3173. #define IMediaSample_GetPointer(This,ppBuffer)    \
  3174.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3175.  
  3176. #define IMediaSample_GetSize(This)    \
  3177.     (This)->lpVtbl -> GetSize(This)
  3178.  
  3179. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)    \
  3180.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3181.  
  3182. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)    \
  3183.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3184.  
  3185. #define IMediaSample_IsSyncPoint(This)    \
  3186.     (This)->lpVtbl -> IsSyncPoint(This)
  3187.  
  3188. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)    \
  3189.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3190.  
  3191. #define IMediaSample_IsPreroll(This)    \
  3192.     (This)->lpVtbl -> IsPreroll(This)
  3193.  
  3194. #define IMediaSample_SetPreroll(This,bIsPreroll)    \
  3195.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3196.  
  3197. #define IMediaSample_GetActualDataLength(This)    \
  3198.     (This)->lpVtbl -> GetActualDataLength(This)
  3199.  
  3200. #define IMediaSample_SetActualDataLength(This,__MIDL_0010)    \
  3201.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3202.  
  3203. #define IMediaSample_GetMediaType(This,ppMediaType)    \
  3204.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3205.  
  3206. #define IMediaSample_SetMediaType(This,pMediaType)    \
  3207.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3208.  
  3209. #define IMediaSample_IsDiscontinuity(This)    \
  3210.     (This)->lpVtbl -> IsDiscontinuity(This)
  3211.  
  3212. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)    \
  3213.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3214.  
  3215. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3216.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3217.  
  3218. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3219.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3220.  
  3221. #endif /* COBJMACROS */
  3222.  
  3223.  
  3224. #endif     /* C style interface */
  3225.  
  3226.  
  3227.  
  3228. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  3229.     IMediaSample * This,
  3230.     /* [out] */ BYTE **ppBuffer);
  3231.  
  3232.  
  3233. void __RPC_STUB IMediaSample_GetPointer_Stub(
  3234.     IRpcStubBuffer *This,
  3235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3236.     PRPC_MESSAGE _pRpcMessage,
  3237.     DWORD *_pdwStubPhase);
  3238.  
  3239.  
  3240. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  3241.     IMediaSample * This);
  3242.  
  3243.  
  3244. void __RPC_STUB IMediaSample_GetSize_Stub(
  3245.     IRpcStubBuffer *This,
  3246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3247.     PRPC_MESSAGE _pRpcMessage,
  3248.     DWORD *_pdwStubPhase);
  3249.  
  3250.  
  3251. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  3252.     IMediaSample * This,
  3253.     /* [out] */ REFERENCE_TIME *pTimeStart,
  3254.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  3255.  
  3256.  
  3257. void __RPC_STUB IMediaSample_GetTime_Stub(
  3258.     IRpcStubBuffer *This,
  3259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3260.     PRPC_MESSAGE _pRpcMessage,
  3261.     DWORD *_pdwStubPhase);
  3262.  
  3263.  
  3264. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  3265.     IMediaSample * This,
  3266.     /* [in] */ REFERENCE_TIME *pTimeStart,
  3267.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  3268.  
  3269.  
  3270. void __RPC_STUB IMediaSample_SetTime_Stub(
  3271.     IRpcStubBuffer *This,
  3272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3273.     PRPC_MESSAGE _pRpcMessage,
  3274.     DWORD *_pdwStubPhase);
  3275.  
  3276.  
  3277. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  3278.     IMediaSample * This);
  3279.  
  3280.  
  3281. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  3282.     IRpcStubBuffer *This,
  3283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3284.     PRPC_MESSAGE _pRpcMessage,
  3285.     DWORD *_pdwStubPhase);
  3286.  
  3287.  
  3288. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  3289.     IMediaSample * This,
  3290.     BOOL bIsSyncPoint);
  3291.  
  3292.  
  3293. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  3294.     IRpcStubBuffer *This,
  3295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3296.     PRPC_MESSAGE _pRpcMessage,
  3297.     DWORD *_pdwStubPhase);
  3298.  
  3299.  
  3300. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  3301.     IMediaSample * This);
  3302.  
  3303.  
  3304. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  3305.     IRpcStubBuffer *This,
  3306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3307.     PRPC_MESSAGE _pRpcMessage,
  3308.     DWORD *_pdwStubPhase);
  3309.  
  3310.  
  3311. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  3312.     IMediaSample * This,
  3313.     BOOL bIsPreroll);
  3314.  
  3315.  
  3316. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  3317.     IRpcStubBuffer *This,
  3318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3319.     PRPC_MESSAGE _pRpcMessage,
  3320.     DWORD *_pdwStubPhase);
  3321.  
  3322.  
  3323. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  3324.     IMediaSample * This);
  3325.  
  3326.  
  3327. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  3328.     IRpcStubBuffer *This,
  3329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3330.     PRPC_MESSAGE _pRpcMessage,
  3331.     DWORD *_pdwStubPhase);
  3332.  
  3333.  
  3334. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  3335.     IMediaSample * This,
  3336.     long __MIDL_0010);
  3337.  
  3338.  
  3339. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  3340.     IRpcStubBuffer *This,
  3341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3342.     PRPC_MESSAGE _pRpcMessage,
  3343.     DWORD *_pdwStubPhase);
  3344.  
  3345.  
  3346. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  3347.     IMediaSample * This,
  3348.     AM_MEDIA_TYPE **ppMediaType);
  3349.  
  3350.  
  3351. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  3352.     IRpcStubBuffer *This,
  3353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3354.     PRPC_MESSAGE _pRpcMessage,
  3355.     DWORD *_pdwStubPhase);
  3356.  
  3357.  
  3358. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  3359.     IMediaSample * This,
  3360.     AM_MEDIA_TYPE *pMediaType);
  3361.  
  3362.  
  3363. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  3364.     IRpcStubBuffer *This,
  3365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3366.     PRPC_MESSAGE _pRpcMessage,
  3367.     DWORD *_pdwStubPhase);
  3368.  
  3369.  
  3370. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  3371.     IMediaSample * This);
  3372.  
  3373.  
  3374. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  3375.     IRpcStubBuffer *This,
  3376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3377.     PRPC_MESSAGE _pRpcMessage,
  3378.     DWORD *_pdwStubPhase);
  3379.  
  3380.  
  3381. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  3382.     IMediaSample * This,
  3383.     BOOL bDiscontinuity);
  3384.  
  3385.  
  3386. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  3387.     IRpcStubBuffer *This,
  3388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3389.     PRPC_MESSAGE _pRpcMessage,
  3390.     DWORD *_pdwStubPhase);
  3391.  
  3392.  
  3393. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  3394.     IMediaSample * This,
  3395.     /* [out] */ LONGLONG *pTimeStart,
  3396.     /* [out] */ LONGLONG *pTimeEnd);
  3397.  
  3398.  
  3399. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  3400.     IRpcStubBuffer *This,
  3401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3402.     PRPC_MESSAGE _pRpcMessage,
  3403.     DWORD *_pdwStubPhase);
  3404.  
  3405.  
  3406. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  3407.     IMediaSample * This,
  3408.     /* [in] */ LONGLONG *pTimeStart,
  3409.     /* [in] */ LONGLONG *pTimeEnd);
  3410.  
  3411.  
  3412. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  3413.     IRpcStubBuffer *This,
  3414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3415.     PRPC_MESSAGE _pRpcMessage,
  3416.     DWORD *_pdwStubPhase);
  3417.  
  3418.  
  3419.  
  3420. #endif     /* __IMediaSample_INTERFACE_DEFINED__ */
  3421.  
  3422.  
  3423. /* interface __MIDL_itf_strmif_0123 */
  3424. /* [local] */ 
  3425.  
  3426. typedef IMediaSample *PMEDIASAMPLE;
  3427.  
  3428.  
  3429. enum tagAM_SAMPLE_PROPERTY_FLAGS
  3430.     {    AM_SAMPLE_SPLICEPOINT    = 0x1,
  3431.     AM_SAMPLE_PREROLL    = 0x2,
  3432.     AM_SAMPLE_DATADISCONTINUITY    = 0x4,
  3433.     AM_SAMPLE_TYPECHANGED    = 0x8,
  3434.     AM_SAMPLE_TIMEVALID    = 0x10,
  3435.     AM_SAMPLE_TIMEDISCONTINUITY    = 0x40,
  3436.     AM_SAMPLE_FLUSH_ON_PAUSE    = 0x80,
  3437.     AM_SAMPLE_STOPVALID    = 0x100,
  3438.     AM_SAMPLE_ENDOFSTREAM    = 0x200,
  3439.     AM_STREAM_MEDIA    = 0,
  3440.     AM_STREAM_CONTROL    = 1
  3441.     } ;
  3442. typedef struct tagAM_SAMPLE2_PROPERTIES
  3443.     {
  3444.     DWORD cbData;
  3445.     DWORD dwTypeSpecificFlags;
  3446.     DWORD dwSampleFlags;
  3447.     LONG lActual;
  3448.     REFERENCE_TIME tStart;
  3449.     REFERENCE_TIME tStop;
  3450.     DWORD dwStreamId;
  3451.     AM_MEDIA_TYPE *pMediaType;
  3452.     BYTE *pbBuffer;
  3453.     LONG cbBuffer;
  3454.     }     AM_SAMPLE2_PROPERTIES;
  3455.  
  3456.  
  3457.  
  3458. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  3459. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  3460.  
  3461. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  3462. #define __IMediaSample2_INTERFACE_DEFINED__
  3463.  
  3464. /* interface IMediaSample2 */
  3465. /* [unique][uuid][object][local] */ 
  3466.  
  3467.  
  3468. EXTERN_C const IID IID_IMediaSample2;
  3469.  
  3470. #if defined(__cplusplus) && !defined(CINTERFACE)
  3471.     
  3472.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  3473.     IMediaSample2 : public IMediaSample
  3474.     {
  3475.     public:
  3476.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3477.             /* [in] */ DWORD cbProperties,
  3478.             /* [size_is][out] */ BYTE *pbProperties) = 0;
  3479.         
  3480.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3481.             /* [in] */ DWORD cbProperties,
  3482.             /* [size_is][in] */ const BYTE *pbProperties) = 0;
  3483.         
  3484.     };
  3485.     
  3486. #else     /* C style interface */
  3487.  
  3488.     typedef struct IMediaSample2Vtbl
  3489.     {
  3490.         BEGIN_INTERFACE
  3491.         
  3492.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3493.             IMediaSample2 * This,
  3494.             /* [in] */ REFIID riid,
  3495.             /* [iid_is][out] */ void **ppvObject);
  3496.         
  3497.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3498.             IMediaSample2 * This);
  3499.         
  3500.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3501.             IMediaSample2 * This);
  3502.         
  3503.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3504.             IMediaSample2 * This,
  3505.             /* [out] */ BYTE **ppBuffer);
  3506.         
  3507.         long ( STDMETHODCALLTYPE *GetSize )( 
  3508.             IMediaSample2 * This);
  3509.         
  3510.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3511.             IMediaSample2 * This,
  3512.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3513.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3514.         
  3515.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3516.             IMediaSample2 * This,
  3517.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3518.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3519.         
  3520.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3521.             IMediaSample2 * This);
  3522.         
  3523.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3524.             IMediaSample2 * This,
  3525.             BOOL bIsSyncPoint);
  3526.         
  3527.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3528.             IMediaSample2 * This);
  3529.         
  3530.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3531.             IMediaSample2 * This,
  3532.             BOOL bIsPreroll);
  3533.         
  3534.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3535.             IMediaSample2 * This);
  3536.         
  3537.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3538.             IMediaSample2 * This,
  3539.             long __MIDL_0010);
  3540.         
  3541.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3542.             IMediaSample2 * This,
  3543.             AM_MEDIA_TYPE **ppMediaType);
  3544.         
  3545.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3546.             IMediaSample2 * This,
  3547.             AM_MEDIA_TYPE *pMediaType);
  3548.         
  3549.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3550.             IMediaSample2 * This);
  3551.         
  3552.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3553.             IMediaSample2 * This,
  3554.             BOOL bDiscontinuity);
  3555.         
  3556.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3557.             IMediaSample2 * This,
  3558.             /* [out] */ LONGLONG *pTimeStart,
  3559.             /* [out] */ LONGLONG *pTimeEnd);
  3560.         
  3561.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3562.             IMediaSample2 * This,
  3563.             /* [in] */ LONGLONG *pTimeStart,
  3564.             /* [in] */ LONGLONG *pTimeEnd);
  3565.         
  3566.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3567.             IMediaSample2 * This,
  3568.             /* [in] */ DWORD cbProperties,
  3569.             /* [size_is][out] */ BYTE *pbProperties);
  3570.         
  3571.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3572.             IMediaSample2 * This,
  3573.             /* [in] */ DWORD cbProperties,
  3574.             /* [size_is][in] */ const BYTE *pbProperties);
  3575.         
  3576.         END_INTERFACE
  3577.     } IMediaSample2Vtbl;
  3578.  
  3579.     interface IMediaSample2
  3580.     {
  3581.         CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  3582.     };
  3583.  
  3584.     
  3585.  
  3586. #ifdef COBJMACROS
  3587.  
  3588.  
  3589. #define IMediaSample2_QueryInterface(This,riid,ppvObject)    \
  3590.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3591.  
  3592. #define IMediaSample2_AddRef(This)    \
  3593.     (This)->lpVtbl -> AddRef(This)
  3594.  
  3595. #define IMediaSample2_Release(This)    \
  3596.     (This)->lpVtbl -> Release(This)
  3597.  
  3598.  
  3599. #define IMediaSample2_GetPointer(This,ppBuffer)    \
  3600.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3601.  
  3602. #define IMediaSample2_GetSize(This)    \
  3603.     (This)->lpVtbl -> GetSize(This)
  3604.  
  3605. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)    \
  3606.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3607.  
  3608. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)    \
  3609.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3610.  
  3611. #define IMediaSample2_IsSyncPoint(This)    \
  3612.     (This)->lpVtbl -> IsSyncPoint(This)
  3613.  
  3614. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)    \
  3615.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3616.  
  3617. #define IMediaSample2_IsPreroll(This)    \
  3618.     (This)->lpVtbl -> IsPreroll(This)
  3619.  
  3620. #define IMediaSample2_SetPreroll(This,bIsPreroll)    \
  3621.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3622.  
  3623. #define IMediaSample2_GetActualDataLength(This)    \
  3624.     (This)->lpVtbl -> GetActualDataLength(This)
  3625.  
  3626. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010)    \
  3627.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3628.  
  3629. #define IMediaSample2_GetMediaType(This,ppMediaType)    \
  3630.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3631.  
  3632. #define IMediaSample2_SetMediaType(This,pMediaType)    \
  3633.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3634.  
  3635. #define IMediaSample2_IsDiscontinuity(This)    \
  3636.     (This)->lpVtbl -> IsDiscontinuity(This)
  3637.  
  3638. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)    \
  3639.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3640.  
  3641. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3642.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3643.  
  3644. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3645.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3646.  
  3647.  
  3648. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)    \
  3649.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  3650.  
  3651. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)    \
  3652.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  3653.  
  3654. #endif /* COBJMACROS */
  3655.  
  3656.  
  3657. #endif     /* C style interface */
  3658.  
  3659.  
  3660.  
  3661. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  3662.     IMediaSample2 * This,
  3663.     /* [in] */ DWORD cbProperties,
  3664.     /* [size_is][out] */ BYTE *pbProperties);
  3665.  
  3666.  
  3667. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  3668.     IRpcStubBuffer *This,
  3669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3670.     PRPC_MESSAGE _pRpcMessage,
  3671.     DWORD *_pdwStubPhase);
  3672.  
  3673.  
  3674. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  3675.     IMediaSample2 * This,
  3676.     /* [in] */ DWORD cbProperties,
  3677.     /* [size_is][in] */ const BYTE *pbProperties);
  3678.  
  3679.  
  3680. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  3681.     IRpcStubBuffer *This,
  3682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3683.     PRPC_MESSAGE _pRpcMessage,
  3684.     DWORD *_pdwStubPhase);
  3685.  
  3686.  
  3687.  
  3688. #endif     /* __IMediaSample2_INTERFACE_DEFINED__ */
  3689.  
  3690.  
  3691. /* interface __MIDL_itf_strmif_0124 */
  3692. /* [local] */ 
  3693.  
  3694. typedef IMediaSample2 *PMEDIASAMPLE2;
  3695.  
  3696. #define AM_GBF_PREVFRAMESKIPPED 1
  3697. #define AM_GBF_NOTASYNCPOINT 2
  3698. #define AM_GBF_NOWAIT 4
  3699. #define AM_GBF_NODDSURFACELOCK 8
  3700.  
  3701.  
  3702. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  3703. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  3704.  
  3705. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  3706. #define __IMemAllocator_INTERFACE_DEFINED__
  3707.  
  3708. /* interface IMemAllocator */
  3709. /* [unique][uuid][object] */ 
  3710.  
  3711.  
  3712. EXTERN_C const IID IID_IMemAllocator;
  3713.  
  3714. #if defined(__cplusplus) && !defined(CINTERFACE)
  3715.     
  3716.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  3717.     IMemAllocator : public IUnknown
  3718.     {
  3719.     public:
  3720.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3721.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3722.             /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  3723.         
  3724.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3725.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  3726.         
  3727.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  3728.         
  3729.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  3730.         
  3731.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  3732.             /* [out] */ IMediaSample **ppBuffer,
  3733.             /* [in] */ REFERENCE_TIME *pStartTime,
  3734.             /* [in] */ REFERENCE_TIME *pEndTime,
  3735.             /* [in] */ DWORD dwFlags) = 0;
  3736.         
  3737.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  3738.             /* [in] */ IMediaSample *pBuffer) = 0;
  3739.         
  3740.     };
  3741.     
  3742. #else     /* C style interface */
  3743.  
  3744.     typedef struct IMemAllocatorVtbl
  3745.     {
  3746.         BEGIN_INTERFACE
  3747.         
  3748.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3749.             IMemAllocator * This,
  3750.             /* [in] */ REFIID riid,
  3751.             /* [iid_is][out] */ void **ppvObject);
  3752.         
  3753.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3754.             IMemAllocator * This);
  3755.         
  3756.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3757.             IMemAllocator * This);
  3758.         
  3759.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3760.             IMemAllocator * This,
  3761.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3762.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3763.         
  3764.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3765.             IMemAllocator * This,
  3766.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3767.         
  3768.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3769.             IMemAllocator * This);
  3770.         
  3771.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3772.             IMemAllocator * This);
  3773.         
  3774.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3775.             IMemAllocator * This,
  3776.             /* [out] */ IMediaSample **ppBuffer,
  3777.             /* [in] */ REFERENCE_TIME *pStartTime,
  3778.             /* [in] */ REFERENCE_TIME *pEndTime,
  3779.             /* [in] */ DWORD dwFlags);
  3780.         
  3781.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3782.             IMemAllocator * This,
  3783.             /* [in] */ IMediaSample *pBuffer);
  3784.         
  3785.         END_INTERFACE
  3786.     } IMemAllocatorVtbl;
  3787.  
  3788.     interface IMemAllocator
  3789.     {
  3790.         CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  3791.     };
  3792.  
  3793.     
  3794.  
  3795. #ifdef COBJMACROS
  3796.  
  3797.  
  3798. #define IMemAllocator_QueryInterface(This,riid,ppvObject)    \
  3799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3800.  
  3801. #define IMemAllocator_AddRef(This)    \
  3802.     (This)->lpVtbl -> AddRef(This)
  3803.  
  3804. #define IMemAllocator_Release(This)    \
  3805.     (This)->lpVtbl -> Release(This)
  3806.  
  3807.  
  3808. #define IMemAllocator_SetProperties(This,pRequest,pActual)    \
  3809.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3810.  
  3811. #define IMemAllocator_GetProperties(This,pProps)    \
  3812.     (This)->lpVtbl -> GetProperties(This,pProps)
  3813.  
  3814. #define IMemAllocator_Commit(This)    \
  3815.     (This)->lpVtbl -> Commit(This)
  3816.  
  3817. #define IMemAllocator_Decommit(This)    \
  3818.     (This)->lpVtbl -> Decommit(This)
  3819.  
  3820. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3821.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3822.  
  3823. #define IMemAllocator_ReleaseBuffer(This,pBuffer)    \
  3824.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3825.  
  3826. #endif /* COBJMACROS */
  3827.  
  3828.  
  3829. #endif     /* C style interface */
  3830.  
  3831.  
  3832.  
  3833. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  3834.     IMemAllocator * This,
  3835.     /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3836.     /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3837.  
  3838.  
  3839. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  3840.     IRpcStubBuffer *This,
  3841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3842.     PRPC_MESSAGE _pRpcMessage,
  3843.     DWORD *_pdwStubPhase);
  3844.  
  3845.  
  3846. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  3847.     IMemAllocator * This,
  3848.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3849.  
  3850.  
  3851. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  3852.     IRpcStubBuffer *This,
  3853.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3854.     PRPC_MESSAGE _pRpcMessage,
  3855.     DWORD *_pdwStubPhase);
  3856.  
  3857.  
  3858. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  3859.     IMemAllocator * This);
  3860.  
  3861.  
  3862. void __RPC_STUB IMemAllocator_Commit_Stub(
  3863.     IRpcStubBuffer *This,
  3864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3865.     PRPC_MESSAGE _pRpcMessage,
  3866.     DWORD *_pdwStubPhase);
  3867.  
  3868.  
  3869. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  3870.     IMemAllocator * This);
  3871.  
  3872.  
  3873. void __RPC_STUB IMemAllocator_Decommit_Stub(
  3874.     IRpcStubBuffer *This,
  3875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3876.     PRPC_MESSAGE _pRpcMessage,
  3877.     DWORD *_pdwStubPhase);
  3878.  
  3879.  
  3880. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  3881.     IMemAllocator * This,
  3882.     /* [out] */ IMediaSample **ppBuffer,
  3883.     /* [in] */ REFERENCE_TIME *pStartTime,
  3884.     /* [in] */ REFERENCE_TIME *pEndTime,
  3885.     /* [in] */ DWORD dwFlags);
  3886.  
  3887.  
  3888. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  3889.     IRpcStubBuffer *This,
  3890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3891.     PRPC_MESSAGE _pRpcMessage,
  3892.     DWORD *_pdwStubPhase);
  3893.  
  3894.  
  3895. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  3896.     IMemAllocator * This,
  3897.     /* [in] */ IMediaSample *pBuffer);
  3898.  
  3899.  
  3900. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  3901.     IRpcStubBuffer *This,
  3902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3903.     PRPC_MESSAGE _pRpcMessage,
  3904.     DWORD *_pdwStubPhase);
  3905.  
  3906.  
  3907.  
  3908. #endif     /* __IMemAllocator_INTERFACE_DEFINED__ */
  3909.  
  3910.  
  3911. /* interface __MIDL_itf_strmif_0125 */
  3912. /* [local] */ 
  3913.  
  3914. typedef IMemAllocator *PMEMALLOCATOR;
  3915.  
  3916.  
  3917.  
  3918. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
  3919. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
  3920.  
  3921. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3922. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3923.  
  3924. /* interface IMemAllocatorCallbackTemp */
  3925. /* [unique][uuid][object] */ 
  3926.  
  3927.  
  3928. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  3929.  
  3930. #if defined(__cplusplus) && !defined(CINTERFACE)
  3931.     
  3932.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  3933.     IMemAllocatorCallbackTemp : public IMemAllocator
  3934.     {
  3935.     public:
  3936.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  3937.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  3938.         
  3939.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  3940.             /* [out] */ LONG *plBuffersFree) = 0;
  3941.         
  3942.     };
  3943.     
  3944. #else     /* C style interface */
  3945.  
  3946.     typedef struct IMemAllocatorCallbackTempVtbl
  3947.     {
  3948.         BEGIN_INTERFACE
  3949.         
  3950.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3951.             IMemAllocatorCallbackTemp * This,
  3952.             /* [in] */ REFIID riid,
  3953.             /* [iid_is][out] */ void **ppvObject);
  3954.         
  3955.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3956.             IMemAllocatorCallbackTemp * This);
  3957.         
  3958.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3959.             IMemAllocatorCallbackTemp * This);
  3960.         
  3961.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3962.             IMemAllocatorCallbackTemp * This,
  3963.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3964.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3965.         
  3966.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3967.             IMemAllocatorCallbackTemp * This,
  3968.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3969.         
  3970.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3971.             IMemAllocatorCallbackTemp * This);
  3972.         
  3973.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3974.             IMemAllocatorCallbackTemp * This);
  3975.         
  3976.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3977.             IMemAllocatorCallbackTemp * This,
  3978.             /* [out] */ IMediaSample **ppBuffer,
  3979.             /* [in] */ REFERENCE_TIME *pStartTime,
  3980.             /* [in] */ REFERENCE_TIME *pEndTime,
  3981.             /* [in] */ DWORD dwFlags);
  3982.         
  3983.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3984.             IMemAllocatorCallbackTemp * This,
  3985.             /* [in] */ IMediaSample *pBuffer);
  3986.         
  3987.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  3988.             IMemAllocatorCallbackTemp * This,
  3989.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  3990.         
  3991.         HRESULT ( STDMETHODCALLTYPE *GetFreeCount )( 
  3992.             IMemAllocatorCallbackTemp * This,
  3993.             /* [out] */ LONG *plBuffersFree);
  3994.         
  3995.         END_INTERFACE
  3996.     } IMemAllocatorCallbackTempVtbl;
  3997.  
  3998.     interface IMemAllocatorCallbackTemp
  3999.     {
  4000.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  4001.     };
  4002.  
  4003.     
  4004.  
  4005. #ifdef COBJMACROS
  4006.  
  4007.  
  4008. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  4009.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4010.  
  4011. #define IMemAllocatorCallbackTemp_AddRef(This)    \
  4012.     (This)->lpVtbl -> AddRef(This)
  4013.  
  4014. #define IMemAllocatorCallbackTemp_Release(This)    \
  4015.     (This)->lpVtbl -> Release(This)
  4016.  
  4017.  
  4018. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)    \
  4019.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  4020.  
  4021. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)    \
  4022.     (This)->lpVtbl -> GetProperties(This,pProps)
  4023.  
  4024. #define IMemAllocatorCallbackTemp_Commit(This)    \
  4025.     (This)->lpVtbl -> Commit(This)
  4026.  
  4027. #define IMemAllocatorCallbackTemp_Decommit(This)    \
  4028.     (This)->lpVtbl -> Decommit(This)
  4029.  
  4030. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  4031.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  4032.  
  4033. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)    \
  4034.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  4035.  
  4036.  
  4037. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)    \
  4038.     (This)->lpVtbl -> SetNotify(This,pNotify)
  4039.  
  4040. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)    \
  4041.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  4042.  
  4043. #endif /* COBJMACROS */
  4044.  
  4045.  
  4046. #endif     /* C style interface */
  4047.  
  4048.  
  4049.  
  4050. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  4051.     IMemAllocatorCallbackTemp * This,
  4052.     /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  4053.  
  4054.  
  4055. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  4056.     IRpcStubBuffer *This,
  4057.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4058.     PRPC_MESSAGE _pRpcMessage,
  4059.     DWORD *_pdwStubPhase);
  4060.  
  4061.  
  4062. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  4063.     IMemAllocatorCallbackTemp * This,
  4064.     /* [out] */ LONG *plBuffersFree);
  4065.  
  4066.  
  4067. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  4068.     IRpcStubBuffer *This,
  4069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4070.     PRPC_MESSAGE _pRpcMessage,
  4071.     DWORD *_pdwStubPhase);
  4072.  
  4073.  
  4074.  
  4075. #endif     /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  4076.  
  4077.  
  4078. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4079. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4080.  
  4081. /* interface IMemAllocatorNotifyCallbackTemp */
  4082. /* [unique][uuid][object] */ 
  4083.  
  4084.  
  4085. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  4086.  
  4087. #if defined(__cplusplus) && !defined(CINTERFACE)
  4088.     
  4089.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  4090.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  4091.     {
  4092.     public:
  4093.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  4094.         
  4095.     };
  4096.     
  4097. #else     /* C style interface */
  4098.  
  4099.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  4100.     {
  4101.         BEGIN_INTERFACE
  4102.         
  4103.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4104.             IMemAllocatorNotifyCallbackTemp * This,
  4105.             /* [in] */ REFIID riid,
  4106.             /* [iid_is][out] */ void **ppvObject);
  4107.         
  4108.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4109.             IMemAllocatorNotifyCallbackTemp * This);
  4110.         
  4111.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4112.             IMemAllocatorNotifyCallbackTemp * This);
  4113.         
  4114.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  4115.             IMemAllocatorNotifyCallbackTemp * This);
  4116.         
  4117.         END_INTERFACE
  4118.     } IMemAllocatorNotifyCallbackTempVtbl;
  4119.  
  4120.     interface IMemAllocatorNotifyCallbackTemp
  4121.     {
  4122.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  4123.     };
  4124.  
  4125.     
  4126.  
  4127. #ifdef COBJMACROS
  4128.  
  4129.  
  4130. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  4131.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4132.  
  4133. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)    \
  4134.     (This)->lpVtbl -> AddRef(This)
  4135.  
  4136. #define IMemAllocatorNotifyCallbackTemp_Release(This)    \
  4137.     (This)->lpVtbl -> Release(This)
  4138.  
  4139.  
  4140. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)    \
  4141.     (This)->lpVtbl -> NotifyRelease(This)
  4142.  
  4143. #endif /* COBJMACROS */
  4144.  
  4145.  
  4146. #endif     /* C style interface */
  4147.  
  4148.  
  4149.  
  4150. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  4151.     IMemAllocatorNotifyCallbackTemp * This);
  4152.  
  4153.  
  4154. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  4155.     IRpcStubBuffer *This,
  4156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4157.     PRPC_MESSAGE _pRpcMessage,
  4158.     DWORD *_pdwStubPhase);
  4159.  
  4160.  
  4161.  
  4162. #endif     /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  4163.  
  4164.  
  4165. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  4166. #define __IMemInputPin_INTERFACE_DEFINED__
  4167.  
  4168. /* interface IMemInputPin */
  4169. /* [unique][uuid][object] */ 
  4170.  
  4171.  
  4172. EXTERN_C const IID IID_IMemInputPin;
  4173.  
  4174. #if defined(__cplusplus) && !defined(CINTERFACE)
  4175.     
  4176.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  4177.     IMemInputPin : public IUnknown
  4178.     {
  4179.     public:
  4180.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  4181.             /* [out] */ IMemAllocator **ppAllocator) = 0;
  4182.         
  4183.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  4184.             /* [in] */ IMemAllocator *pAllocator,
  4185.             /* [in] */ BOOL bReadOnly) = 0;
  4186.         
  4187.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  4188.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  4189.         
  4190.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  4191.             /* [in] */ IMediaSample *pSample) = 0;
  4192.         
  4193.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  4194.             /* [size_is][in] */ IMediaSample **pSamples,
  4195.             /* [in] */ long nSamples,
  4196.             /* [out] */ long *nSamplesProcessed) = 0;
  4197.         
  4198.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  4199.         
  4200.     };
  4201.     
  4202. #else     /* C style interface */
  4203.  
  4204.     typedef struct IMemInputPinVtbl
  4205.     {
  4206.         BEGIN_INTERFACE
  4207.         
  4208.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4209.             IMemInputPin * This,
  4210.             /* [in] */ REFIID riid,
  4211.             /* [iid_is][out] */ void **ppvObject);
  4212.         
  4213.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4214.             IMemInputPin * This);
  4215.         
  4216.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4217.             IMemInputPin * This);
  4218.         
  4219.         HRESULT ( STDMETHODCALLTYPE *GetAllocator )( 
  4220.             IMemInputPin * This,
  4221.             /* [out] */ IMemAllocator **ppAllocator);
  4222.         
  4223.         HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )( 
  4224.             IMemInputPin * This,
  4225.             /* [in] */ IMemAllocator *pAllocator,
  4226.             /* [in] */ BOOL bReadOnly);
  4227.         
  4228.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )( 
  4229.             IMemInputPin * This,
  4230.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4231.         
  4232.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  4233.             IMemInputPin * This,
  4234.             /* [in] */ IMediaSample *pSample);
  4235.         
  4236.         HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )( 
  4237.             IMemInputPin * This,
  4238.             /* [size_is][in] */ IMediaSample **pSamples,
  4239.             /* [in] */ long nSamples,
  4240.             /* [out] */ long *nSamplesProcessed);
  4241.         
  4242.         HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )( 
  4243.             IMemInputPin * This);
  4244.         
  4245.         END_INTERFACE
  4246.     } IMemInputPinVtbl;
  4247.  
  4248.     interface IMemInputPin
  4249.     {
  4250.         CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  4251.     };
  4252.  
  4253.     
  4254.  
  4255. #ifdef COBJMACROS
  4256.  
  4257.  
  4258. #define IMemInputPin_QueryInterface(This,riid,ppvObject)    \
  4259.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4260.  
  4261. #define IMemInputPin_AddRef(This)    \
  4262.     (This)->lpVtbl -> AddRef(This)
  4263.  
  4264. #define IMemInputPin_Release(This)    \
  4265.     (This)->lpVtbl -> Release(This)
  4266.  
  4267.  
  4268. #define IMemInputPin_GetAllocator(This,ppAllocator)    \
  4269.     (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  4270.  
  4271. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)    \
  4272.     (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  4273.  
  4274. #define IMemInputPin_GetAllocatorRequirements(This,pProps)    \
  4275.     (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  4276.  
  4277. #define IMemInputPin_Receive(This,pSample)    \
  4278.     (This)->lpVtbl -> Receive(This,pSample)
  4279.  
  4280. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)    \
  4281.     (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  4282.  
  4283. #define IMemInputPin_ReceiveCanBlock(This)    \
  4284.     (This)->lpVtbl -> ReceiveCanBlock(This)
  4285.  
  4286. #endif /* COBJMACROS */
  4287.  
  4288.  
  4289. #endif     /* C style interface */
  4290.  
  4291.  
  4292.  
  4293. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 
  4294.     IMemInputPin * This,
  4295.     /* [out] */ IMemAllocator **ppAllocator);
  4296.  
  4297.  
  4298. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  4299.     IRpcStubBuffer *This,
  4300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4301.     PRPC_MESSAGE _pRpcMessage,
  4302.     DWORD *_pdwStubPhase);
  4303.  
  4304.  
  4305. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 
  4306.     IMemInputPin * This,
  4307.     /* [in] */ IMemAllocator *pAllocator,
  4308.     /* [in] */ BOOL bReadOnly);
  4309.  
  4310.  
  4311. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  4312.     IRpcStubBuffer *This,
  4313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4314.     PRPC_MESSAGE _pRpcMessage,
  4315.     DWORD *_pdwStubPhase);
  4316.  
  4317.  
  4318. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 
  4319.     IMemInputPin * This,
  4320.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4321.  
  4322.  
  4323. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  4324.     IRpcStubBuffer *This,
  4325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4326.     PRPC_MESSAGE _pRpcMessage,
  4327.     DWORD *_pdwStubPhase);
  4328.  
  4329.  
  4330. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 
  4331.     IMemInputPin * This,
  4332.     /* [in] */ IMediaSample *pSample);
  4333.  
  4334.  
  4335. void __RPC_STUB IMemInputPin_Receive_Stub(
  4336.     IRpcStubBuffer *This,
  4337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4338.     PRPC_MESSAGE _pRpcMessage,
  4339.     DWORD *_pdwStubPhase);
  4340.  
  4341.  
  4342. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 
  4343.     IMemInputPin * This,
  4344.     /* [size_is][in] */ IMediaSample **pSamples,
  4345.     /* [in] */ long nSamples,
  4346.     /* [out] */ long *nSamplesProcessed);
  4347.  
  4348.  
  4349. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  4350.     IRpcStubBuffer *This,
  4351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4352.     PRPC_MESSAGE _pRpcMessage,
  4353.     DWORD *_pdwStubPhase);
  4354.  
  4355.  
  4356. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 
  4357.     IMemInputPin * This);
  4358.  
  4359.  
  4360. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  4361.     IRpcStubBuffer *This,
  4362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4363.     PRPC_MESSAGE _pRpcMessage,
  4364.     DWORD *_pdwStubPhase);
  4365.  
  4366.  
  4367.  
  4368. #endif     /* __IMemInputPin_INTERFACE_DEFINED__ */
  4369.  
  4370.  
  4371. /* interface __MIDL_itf_strmif_0128 */
  4372. /* [local] */ 
  4373.  
  4374. typedef IMemInputPin *PMEMINPUTPIN;
  4375.  
  4376.  
  4377.  
  4378. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
  4379. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
  4380.  
  4381. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  4382. #define __IAMovieSetup_INTERFACE_DEFINED__
  4383.  
  4384. /* interface IAMovieSetup */
  4385. /* [unique][uuid][object] */ 
  4386.  
  4387.  
  4388. EXTERN_C const IID IID_IAMovieSetup;
  4389.  
  4390. #if defined(__cplusplus) && !defined(CINTERFACE)
  4391.     
  4392.     MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  4393.     IAMovieSetup : public IUnknown
  4394.     {
  4395.     public:
  4396.         virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  4397.         
  4398.         virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  4399.         
  4400.     };
  4401.     
  4402. #else     /* C style interface */
  4403.  
  4404.     typedef struct IAMovieSetupVtbl
  4405.     {
  4406.         BEGIN_INTERFACE
  4407.         
  4408.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4409.             IAMovieSetup * This,
  4410.             /* [in] */ REFIID riid,
  4411.             /* [iid_is][out] */ void **ppvObject);
  4412.         
  4413.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4414.             IAMovieSetup * This);
  4415.         
  4416.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4417.             IAMovieSetup * This);
  4418.         
  4419.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  4420.             IAMovieSetup * This);
  4421.         
  4422.         HRESULT ( STDMETHODCALLTYPE *Unregister )( 
  4423.             IAMovieSetup * This);
  4424.         
  4425.         END_INTERFACE
  4426.     } IAMovieSetupVtbl;
  4427.  
  4428.     interface IAMovieSetup
  4429.     {
  4430.         CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  4431.     };
  4432.  
  4433.     
  4434.  
  4435. #ifdef COBJMACROS
  4436.  
  4437.  
  4438. #define IAMovieSetup_QueryInterface(This,riid,ppvObject)    \
  4439.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4440.  
  4441. #define IAMovieSetup_AddRef(This)    \
  4442.     (This)->lpVtbl -> AddRef(This)
  4443.  
  4444. #define IAMovieSetup_Release(This)    \
  4445.     (This)->lpVtbl -> Release(This)
  4446.  
  4447.  
  4448. #define IAMovieSetup_Register(This)    \
  4449.     (This)->lpVtbl -> Register(This)
  4450.  
  4451. #define IAMovieSetup_Unregister(This)    \
  4452.     (This)->lpVtbl -> Unregister(This)
  4453.  
  4454. #endif /* COBJMACROS */
  4455.  
  4456.  
  4457. #endif     /* C style interface */
  4458.  
  4459.  
  4460.  
  4461. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 
  4462.     IAMovieSetup * This);
  4463.  
  4464.  
  4465. void __RPC_STUB IAMovieSetup_Register_Stub(
  4466.     IRpcStubBuffer *This,
  4467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4468.     PRPC_MESSAGE _pRpcMessage,
  4469.     DWORD *_pdwStubPhase);
  4470.  
  4471.  
  4472. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 
  4473.     IAMovieSetup * This);
  4474.  
  4475.  
  4476. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  4477.     IRpcStubBuffer *This,
  4478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4479.     PRPC_MESSAGE _pRpcMessage,
  4480.     DWORD *_pdwStubPhase);
  4481.  
  4482.  
  4483.  
  4484. #endif     /* __IAMovieSetup_INTERFACE_DEFINED__ */
  4485.  
  4486.  
  4487. /* interface __MIDL_itf_strmif_0129 */
  4488. /* [local] */ 
  4489.  
  4490. typedef IAMovieSetup *PAMOVIESETUP;
  4491.  
  4492. typedef 
  4493. enum AM_SEEKING_SeekingFlags
  4494.     {    AM_SEEKING_NoPositioning    = 0,
  4495.     AM_SEEKING_AbsolutePositioning    = 0x1,
  4496.     AM_SEEKING_RelativePositioning    = 0x2,
  4497.     AM_SEEKING_IncrementalPositioning    = 0x3,
  4498.     AM_SEEKING_PositioningBitsMask    = 0x3,
  4499.     AM_SEEKING_SeekToKeyFrame    = 0x4,
  4500.     AM_SEEKING_ReturnTime    = 0x8,
  4501.     AM_SEEKING_Segment    = 0x10,
  4502.     AM_SEEKING_NoFlush    = 0x20
  4503.     }     AM_SEEKING_SEEKING_FLAGS;
  4504.  
  4505. typedef 
  4506. enum AM_SEEKING_SeekingCapabilities
  4507.     {    AM_SEEKING_CanSeekAbsolute    = 0x1,
  4508.     AM_SEEKING_CanSeekForwards    = 0x2,
  4509.     AM_SEEKING_CanSeekBackwards    = 0x4,
  4510.     AM_SEEKING_CanGetCurrentPos    = 0x8,
  4511.     AM_SEEKING_CanGetStopPos    = 0x10,
  4512.     AM_SEEKING_CanGetDuration    = 0x20,
  4513.     AM_SEEKING_CanPlayBackwards    = 0x40,
  4514.     AM_SEEKING_CanDoSegments    = 0x80,
  4515.     AM_SEEKING_Source    = 0x100
  4516.     }     AM_SEEKING_SEEKING_CAPABILITIES;
  4517.  
  4518.  
  4519.  
  4520. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  4521. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  4522.  
  4523. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  4524. #define __IMediaSeeking_INTERFACE_DEFINED__
  4525.  
  4526. /* interface IMediaSeeking */
  4527. /* [unique][uuid][object] */ 
  4528.  
  4529.  
  4530. EXTERN_C const IID IID_IMediaSeeking;
  4531.  
  4532. #if defined(__cplusplus) && !defined(CINTERFACE)
  4533.     
  4534.     MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  4535.     IMediaSeeking : public IUnknown
  4536.     {
  4537.     public:
  4538.         virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 
  4539.             /* [out] */ DWORD *pCapabilities) = 0;
  4540.         
  4541.         virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 
  4542.             /* [out][in] */ DWORD *pCapabilities) = 0;
  4543.         
  4544.         virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
  4545.             /* [in] */ const GUID *pFormat) = 0;
  4546.         
  4547.         virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 
  4548.             /* [out] */ GUID *pFormat) = 0;
  4549.         
  4550.         virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 
  4551.             /* [out] */ GUID *pFormat) = 0;
  4552.         
  4553.         virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 
  4554.             /* [in] */ const GUID *pFormat) = 0;
  4555.         
  4556.         virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 
  4557.             /* [in] */ const GUID *pFormat) = 0;
  4558.         
  4559.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  4560.             /* [out] */ LONGLONG *pDuration) = 0;
  4561.         
  4562.         virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 
  4563.             /* [out] */ LONGLONG *pStop) = 0;
  4564.         
  4565.         virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 
  4566.             /* [out] */ LONGLONG *pCurrent) = 0;
  4567.         
  4568.         virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 
  4569.             /* [out] */ LONGLONG *pTarget,
  4570.             /* [in] */ const GUID *pTargetFormat,
  4571.             /* [in] */ LONGLONG Source,
  4572.             /* [in] */ const GUID *pSourceFormat) = 0;
  4573.         
  4574.         virtual HRESULT STDMETHODCALLTYPE SetPositions( 
  4575.             /* [out][in] */ LONGLONG *pCurrent,
  4576.             /* [in] */ DWORD dwCurrentFlags,
  4577.             /* [out][in] */ LONGLONG *pStop,
  4578.             /* [in] */ DWORD dwStopFlags) = 0;
  4579.         
  4580.         virtual HRESULT STDMETHODCALLTYPE GetPositions( 
  4581.             /* [out] */ LONGLONG *pCurrent,
  4582.             /* [out] */ LONGLONG *pStop) = 0;
  4583.         
  4584.         virtual HRESULT STDMETHODCALLTYPE GetAvailable( 
  4585.             /* [out] */ LONGLONG *pEarliest,
  4586.             /* [out] */ LONGLONG *pLatest) = 0;
  4587.         
  4588.         virtual HRESULT STDMETHODCALLTYPE SetRate( 
  4589.             /* [in] */ double dRate) = 0;
  4590.         
  4591.         virtual HRESULT STDMETHODCALLTYPE GetRate( 
  4592.             /* [out] */ double *pdRate) = 0;
  4593.         
  4594.         virtual HRESULT STDMETHODCALLTYPE GetPreroll( 
  4595.             /* [out] */ LONGLONG *pllPreroll) = 0;
  4596.         
  4597.     };
  4598.     
  4599. #else     /* C style interface */
  4600.  
  4601.     typedef struct IMediaSeekingVtbl
  4602.     {
  4603.         BEGIN_INTERFACE
  4604.         
  4605.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4606.             IMediaSeeking * This,
  4607.             /* [in] */ REFIID riid,
  4608.             /* [iid_is][out] */ void **ppvObject);
  4609.         
  4610.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4611.             IMediaSeeking * This);
  4612.         
  4613.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4614.             IMediaSeeking * This);
  4615.         
  4616.         HRESULT ( STDMETHODCALLTYPE *GetCapabilities )( 
  4617.             IMediaSeeking * This,
  4618.             /* [out] */ DWORD *pCapabilities);
  4619.         
  4620.         HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )( 
  4621.             IMediaSeeking * This,
  4622.             /* [out][in] */ DWORD *pCapabilities);
  4623.         
  4624.         HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
  4625.             IMediaSeeking * This,
  4626.             /* [in] */ const GUID *pFormat);
  4627.         
  4628.         HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )( 
  4629.             IMediaSeeking * This,
  4630.             /* [out] */ GUID *pFormat);
  4631.         
  4632.         HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )( 
  4633.             IMediaSeeking * This,
  4634.             /* [out] */ GUID *pFormat);
  4635.         
  4636.         HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )( 
  4637.             IMediaSeeking * This,
  4638.             /* [in] */ const GUID *pFormat);
  4639.         
  4640.         HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )( 
  4641.             IMediaSeeking * This,
  4642.             /* [in] */ const GUID *pFormat);
  4643.         
  4644.         HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
  4645.             IMediaSeeking * This,
  4646.             /* [out] */ LONGLONG *pDuration);
  4647.         
  4648.         HRESULT ( STDMETHODCALLTYPE *GetStopPosition )( 
  4649.             IMediaSeeking * This,
  4650.             /* [out] */ LONGLONG *pStop);
  4651.         
  4652.         HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )( 
  4653.             IMediaSeeking * This,
  4654.             /* [out] */ LONGLONG *pCurrent);
  4655.         
  4656.         HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )( 
  4657.             IMediaSeeking * This,
  4658.             /* [out] */ LONGLONG *pTarget,
  4659.             /* [in] */ const GUID *pTargetFormat,
  4660.             /* [in] */ LONGLONG Source,
  4661.             /* [in] */ const GUID *pSourceFormat);
  4662.         
  4663.         HRESULT ( STDMETHODCALLTYPE *SetPositions )( 
  4664.             IMediaSeeking * This,
  4665.             /* [out][in] */ LONGLONG *pCurrent,
  4666.             /* [in] */ DWORD dwCurrentFlags,
  4667.             /* [out][in] */ LONGLONG *pStop,
  4668.             /* [in] */ DWORD dwStopFlags);
  4669.         
  4670.         HRESULT ( STDMETHODCALLTYPE *GetPositions )( 
  4671.             IMediaSeeking * This,
  4672.             /* [out] */ LONGLONG *pCurrent,
  4673.             /* [out] */ LONGLONG *pStop);
  4674.         
  4675.         HRESULT ( STDMETHODCALLTYPE *GetAvailable )( 
  4676.             IMediaSeeking * This,
  4677.             /* [out] */ LONGLONG *pEarliest,
  4678.             /* [out] */ LONGLONG *pLatest);
  4679.         
  4680.         HRESULT ( STDMETHODCALLTYPE *SetRate )( 
  4681.             IMediaSeeking * This,
  4682.             /* [in] */ double dRate);
  4683.         
  4684.         HRESULT ( STDMETHODCALLTYPE *GetRate )( 
  4685.             IMediaSeeking * This,
  4686.             /* [out] */ double *pdRate);
  4687.         
  4688.         HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 
  4689.             IMediaSeeking * This,
  4690.             /* [out] */ LONGLONG *pllPreroll);
  4691.         
  4692.         END_INTERFACE
  4693.     } IMediaSeekingVtbl;
  4694.  
  4695.     interface IMediaSeeking
  4696.     {
  4697.         CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  4698.     };
  4699.  
  4700.     
  4701.  
  4702. #ifdef COBJMACROS
  4703.  
  4704.  
  4705. #define IMediaSeeking_QueryInterface(This,riid,ppvObject)    \
  4706.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4707.  
  4708. #define IMediaSeeking_AddRef(This)    \
  4709.     (This)->lpVtbl -> AddRef(This)
  4710.  
  4711. #define IMediaSeeking_Release(This)    \
  4712.     (This)->lpVtbl -> Release(This)
  4713.  
  4714.  
  4715. #define IMediaSeeking_GetCapabilities(This,pCapabilities)    \
  4716.     (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  4717.  
  4718. #define IMediaSeeking_CheckCapabilities(This,pCapabilities)    \
  4719.     (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  4720.  
  4721. #define IMediaSeeking_IsFormatSupported(This,pFormat)    \
  4722.     (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  4723.  
  4724. #define IMediaSeeking_QueryPreferredFormat(This,pFormat)    \
  4725.     (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  4726.  
  4727. #define IMediaSeeking_GetTimeFormat(This,pFormat)    \
  4728.     (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  4729.  
  4730. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat)    \
  4731.     (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  4732.  
  4733. #define IMediaSeeking_SetTimeFormat(This,pFormat)    \
  4734.     (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  4735.  
  4736. #define IMediaSeeking_GetDuration(This,pDuration)    \
  4737.     (This)->lpVtbl -> GetDuration(This,pDuration)
  4738.  
  4739. #define IMediaSeeking_GetStopPosition(This,pStop)    \
  4740.     (This)->lpVtbl -> GetStopPosition(This,pStop)
  4741.  
  4742. #define IMediaSeeking_GetCurrentPosition(This,pCurrent)    \
  4743.     (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  4744.  
  4745. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)    \
  4746.     (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  4747.  
  4748. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)    \
  4749.     (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  4750.  
  4751. #define IMediaSeeking_GetPositions(This,pCurrent,pStop)    \
  4752.     (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  4753.  
  4754. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)    \
  4755.     (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  4756.  
  4757. #define IMediaSeeking_SetRate(This,dRate)    \
  4758.     (This)->lpVtbl -> SetRate(This,dRate)
  4759.  
  4760. #define IMediaSeeking_GetRate(This,pdRate)    \
  4761.     (This)->lpVtbl -> GetRate(This,pdRate)
  4762.  
  4763. #define IMediaSeeking_GetPreroll(This,pllPreroll)    \
  4764.     (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  4765.  
  4766. #endif /* COBJMACROS */
  4767.  
  4768.  
  4769. #endif     /* C style interface */
  4770.  
  4771.  
  4772.  
  4773. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 
  4774.     IMediaSeeking * This,
  4775.     /* [out] */ DWORD *pCapabilities);
  4776.  
  4777.  
  4778. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  4779.     IRpcStubBuffer *This,
  4780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4781.     PRPC_MESSAGE _pRpcMessage,
  4782.     DWORD *_pdwStubPhase);
  4783.  
  4784.  
  4785. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 
  4786.     IMediaSeeking * This,
  4787.     /* [out][in] */ DWORD *pCapabilities);
  4788.  
  4789.  
  4790. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  4791.     IRpcStubBuffer *This,
  4792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4793.     PRPC_MESSAGE _pRpcMessage,
  4794.     DWORD *_pdwStubPhase);
  4795.  
  4796.  
  4797. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 
  4798.     IMediaSeeking * This,
  4799.     /* [in] */ const GUID *pFormat);
  4800.  
  4801.  
  4802. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  4803.     IRpcStubBuffer *This,
  4804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4805.     PRPC_MESSAGE _pRpcMessage,
  4806.     DWORD *_pdwStubPhase);
  4807.  
  4808.  
  4809. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 
  4810.     IMediaSeeking * This,
  4811.     /* [out] */ GUID *pFormat);
  4812.  
  4813.  
  4814. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  4815.     IRpcStubBuffer *This,
  4816.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4817.     PRPC_MESSAGE _pRpcMessage,
  4818.     DWORD *_pdwStubPhase);
  4819.  
  4820.  
  4821. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 
  4822.     IMediaSeeking * This,
  4823.     /* [out] */ GUID *pFormat);
  4824.  
  4825.  
  4826. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  4827.     IRpcStubBuffer *This,
  4828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4829.     PRPC_MESSAGE _pRpcMessage,
  4830.     DWORD *_pdwStubPhase);
  4831.  
  4832.  
  4833. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 
  4834.     IMediaSeeking * This,
  4835.     /* [in] */ const GUID *pFormat);
  4836.  
  4837.  
  4838. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  4839.     IRpcStubBuffer *This,
  4840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4841.     PRPC_MESSAGE _pRpcMessage,
  4842.     DWORD *_pdwStubPhase);
  4843.  
  4844.  
  4845. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 
  4846.     IMediaSeeking * This,
  4847.     /* [in] */ const GUID *pFormat);
  4848.  
  4849.  
  4850. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  4851.     IRpcStubBuffer *This,
  4852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4853.     PRPC_MESSAGE _pRpcMessage,
  4854.     DWORD *_pdwStubPhase);
  4855.  
  4856.  
  4857. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 
  4858.     IMediaSeeking * This,
  4859.     /* [out] */ LONGLONG *pDuration);
  4860.  
  4861.  
  4862. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  4863.     IRpcStubBuffer *This,
  4864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4865.     PRPC_MESSAGE _pRpcMessage,
  4866.     DWORD *_pdwStubPhase);
  4867.  
  4868.  
  4869. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 
  4870.     IMediaSeeking * This,
  4871.     /* [out] */ LONGLONG *pStop);
  4872.  
  4873.  
  4874. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  4875.     IRpcStubBuffer *This,
  4876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4877.     PRPC_MESSAGE _pRpcMessage,
  4878.     DWORD *_pdwStubPhase);
  4879.  
  4880.  
  4881. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 
  4882.     IMediaSeeking * This,
  4883.     /* [out] */ LONGLONG *pCurrent);
  4884.  
  4885.  
  4886. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  4887.     IRpcStubBuffer *This,
  4888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4889.     PRPC_MESSAGE _pRpcMessage,
  4890.     DWORD *_pdwStubPhase);
  4891.  
  4892.  
  4893. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 
  4894.     IMediaSeeking * This,
  4895.     /* [out] */ LONGLONG *pTarget,
  4896.     /* [in] */ const GUID *pTargetFormat,
  4897.     /* [in] */ LONGLONG Source,
  4898.     /* [in] */ const GUID *pSourceFormat);
  4899.  
  4900.  
  4901. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  4902.     IRpcStubBuffer *This,
  4903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4904.     PRPC_MESSAGE _pRpcMessage,
  4905.     DWORD *_pdwStubPhase);
  4906.  
  4907.  
  4908. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 
  4909.     IMediaSeeking * This,
  4910.     /* [out][in] */ LONGLONG *pCurrent,
  4911.     /* [in] */ DWORD dwCurrentFlags,
  4912.     /* [out][in] */ LONGLONG *pStop,
  4913.     /* [in] */ DWORD dwStopFlags);
  4914.  
  4915.  
  4916. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  4917.     IRpcStubBuffer *This,
  4918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4919.     PRPC_MESSAGE _pRpcMessage,
  4920.     DWORD *_pdwStubPhase);
  4921.  
  4922.  
  4923. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 
  4924.     IMediaSeeking * This,
  4925.     /* [out] */ LONGLONG *pCurrent,
  4926.     /* [out] */ LONGLONG *pStop);
  4927.  
  4928.  
  4929. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  4930.     IRpcStubBuffer *This,
  4931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4932.     PRPC_MESSAGE _pRpcMessage,
  4933.     DWORD *_pdwStubPhase);
  4934.  
  4935.  
  4936. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 
  4937.     IMediaSeeking * This,
  4938.     /* [out] */ LONGLONG *pEarliest,
  4939.     /* [out] */ LONGLONG *pLatest);
  4940.  
  4941.  
  4942. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  4943.     IRpcStubBuffer *This,
  4944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4945.     PRPC_MESSAGE _pRpcMessage,
  4946.     DWORD *_pdwStubPhase);
  4947.  
  4948.  
  4949. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 
  4950.     IMediaSeeking * This,
  4951.     /* [in] */ double dRate);
  4952.  
  4953.  
  4954. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  4955.     IRpcStubBuffer *This,
  4956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4957.     PRPC_MESSAGE _pRpcMessage,
  4958.     DWORD *_pdwStubPhase);
  4959.  
  4960.  
  4961. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 
  4962.     IMediaSeeking * This,
  4963.     /* [out] */ double *pdRate);
  4964.  
  4965.  
  4966. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  4967.     IRpcStubBuffer *This,
  4968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4969.     PRPC_MESSAGE _pRpcMessage,
  4970.     DWORD *_pdwStubPhase);
  4971.  
  4972.  
  4973. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 
  4974.     IMediaSeeking * This,
  4975.     /* [out] */ LONGLONG *pllPreroll);
  4976.  
  4977.  
  4978. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  4979.     IRpcStubBuffer *This,
  4980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4981.     PRPC_MESSAGE _pRpcMessage,
  4982.     DWORD *_pdwStubPhase);
  4983.  
  4984.  
  4985.  
  4986. #endif     /* __IMediaSeeking_INTERFACE_DEFINED__ */
  4987.  
  4988.  
  4989. /* interface __MIDL_itf_strmif_0130 */
  4990. /* [local] */ 
  4991.  
  4992. typedef IMediaSeeking *PMEDIASEEKING;
  4993.  
  4994. enum tagAM_MEDIAEVENT_FLAGS
  4995. {
  4996.     AM_MEDIAEVENT_NONOTIFY = 0x01
  4997. };
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023.  
  5024.  
  5025.  
  5026.  
  5027.  
  5028.  
  5029.  
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0130_0001
  5055.     {
  5056.     CLSID Clsid;
  5057.     LPWSTR Name;
  5058.     }     REGFILTER;
  5059.  
  5060.  
  5061.  
  5062. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_c_ifspec;
  5063. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_s_ifspec;
  5064.  
  5065. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  5066. #define __IEnumRegFilters_INTERFACE_DEFINED__
  5067.  
  5068. /* interface IEnumRegFilters */
  5069. /* [unique][uuid][object] */ 
  5070.  
  5071.  
  5072. EXTERN_C const IID IID_IEnumRegFilters;
  5073.  
  5074. #if defined(__cplusplus) && !defined(CINTERFACE)
  5075.     
  5076.     MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  5077.     IEnumRegFilters : public IUnknown
  5078.     {
  5079.     public:
  5080.         virtual HRESULT STDMETHODCALLTYPE Next( 
  5081.             /* [in] */ ULONG cFilters,
  5082.             /* [out] */ REGFILTER **apRegFilter,
  5083.             /* [out] */ ULONG *pcFetched) = 0;
  5084.         
  5085.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  5086.             /* [in] */ ULONG cFilters) = 0;
  5087.         
  5088.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5089.         
  5090.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  5091.             /* [out] */ IEnumRegFilters **ppEnum) = 0;
  5092.         
  5093.     };
  5094.     
  5095. #else     /* C style interface */
  5096.  
  5097.     typedef struct IEnumRegFiltersVtbl
  5098.     {
  5099.         BEGIN_INTERFACE
  5100.         
  5101.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5102.             IEnumRegFilters * This,
  5103.             /* [in] */ REFIID riid,
  5104.             /* [iid_is][out] */ void **ppvObject);
  5105.         
  5106.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5107.             IEnumRegFilters * This);
  5108.         
  5109.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5110.             IEnumRegFilters * This);
  5111.         
  5112.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  5113.             IEnumRegFilters * This,
  5114.             /* [in] */ ULONG cFilters,
  5115.             /* [out] */ REGFILTER **apRegFilter,
  5116.             /* [out] */ ULONG *pcFetched);
  5117.         
  5118.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  5119.             IEnumRegFilters * This,
  5120.             /* [in] */ ULONG cFilters);
  5121.         
  5122.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  5123.             IEnumRegFilters * This);
  5124.         
  5125.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  5126.             IEnumRegFilters * This,
  5127.             /* [out] */ IEnumRegFilters **ppEnum);
  5128.         
  5129.         END_INTERFACE
  5130.     } IEnumRegFiltersVtbl;
  5131.  
  5132.     interface IEnumRegFilters
  5133.     {
  5134.         CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  5135.     };
  5136.  
  5137.     
  5138.  
  5139. #ifdef COBJMACROS
  5140.  
  5141.  
  5142. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject)    \
  5143.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5144.  
  5145. #define IEnumRegFilters_AddRef(This)    \
  5146.     (This)->lpVtbl -> AddRef(This)
  5147.  
  5148. #define IEnumRegFilters_Release(This)    \
  5149.     (This)->lpVtbl -> Release(This)
  5150.  
  5151.  
  5152. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)    \
  5153.     (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  5154.  
  5155. #define IEnumRegFilters_Skip(This,cFilters)    \
  5156.     (This)->lpVtbl -> Skip(This,cFilters)
  5157.  
  5158. #define IEnumRegFilters_Reset(This)    \
  5159.     (This)->lpVtbl -> Reset(This)
  5160.  
  5161. #define IEnumRegFilters_Clone(This,ppEnum)    \
  5162.     (This)->lpVtbl -> Clone(This,ppEnum)
  5163.  
  5164. #endif /* COBJMACROS */
  5165.  
  5166.  
  5167. #endif     /* C style interface */
  5168.  
  5169.  
  5170.  
  5171. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 
  5172.     IEnumRegFilters * This,
  5173.     /* [in] */ ULONG cFilters,
  5174.     /* [out] */ REGFILTER **apRegFilter,
  5175.     /* [out] */ ULONG *pcFetched);
  5176.  
  5177.  
  5178. void __RPC_STUB IEnumRegFilters_Next_Stub(
  5179.     IRpcStubBuffer *This,
  5180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5181.     PRPC_MESSAGE _pRpcMessage,
  5182.     DWORD *_pdwStubPhase);
  5183.  
  5184.  
  5185. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 
  5186.     IEnumRegFilters * This,
  5187.     /* [in] */ ULONG cFilters);
  5188.  
  5189.  
  5190. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  5191.     IRpcStubBuffer *This,
  5192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5193.     PRPC_MESSAGE _pRpcMessage,
  5194.     DWORD *_pdwStubPhase);
  5195.  
  5196.  
  5197. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 
  5198.     IEnumRegFilters * This);
  5199.  
  5200.  
  5201. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  5202.     IRpcStubBuffer *This,
  5203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5204.     PRPC_MESSAGE _pRpcMessage,
  5205.     DWORD *_pdwStubPhase);
  5206.  
  5207.  
  5208. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 
  5209.     IEnumRegFilters * This,
  5210.     /* [out] */ IEnumRegFilters **ppEnum);
  5211.  
  5212.  
  5213. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  5214.     IRpcStubBuffer *This,
  5215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5216.     PRPC_MESSAGE _pRpcMessage,
  5217.     DWORD *_pdwStubPhase);
  5218.  
  5219.  
  5220.  
  5221. #endif     /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  5222.  
  5223.  
  5224. /* interface __MIDL_itf_strmif_0132 */
  5225. /* [local] */ 
  5226.  
  5227. typedef IEnumRegFilters *PENUMREGFILTERS;
  5228.  
  5229.  
  5230.  
  5231. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
  5232. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
  5233.  
  5234. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  5235. #define __IFilterMapper_INTERFACE_DEFINED__
  5236.  
  5237. /* interface IFilterMapper */
  5238. /* [unique][uuid][object] */ 
  5239.  
  5240.  
  5241. enum __MIDL_IFilterMapper_0001
  5242.     {    MERIT_PREFERRED    = 0x800000,
  5243.     MERIT_NORMAL    = 0x600000,
  5244.     MERIT_UNLIKELY    = 0x400000,
  5245.     MERIT_DO_NOT_USE    = 0x200000,
  5246.     MERIT_SW_COMPRESSOR    = 0x100000,
  5247.     MERIT_HW_COMPRESSOR    = 0x100050
  5248.     } ;
  5249.  
  5250. EXTERN_C const IID IID_IFilterMapper;
  5251.  
  5252. #if defined(__cplusplus) && !defined(CINTERFACE)
  5253.     
  5254.     MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  5255.     IFilterMapper : public IUnknown
  5256.     {
  5257.     public:
  5258.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5259.             /* [in] */ CLSID clsid,
  5260.             /* [in] */ LPCWSTR Name,
  5261.             /* [in] */ DWORD dwMerit) = 0;
  5262.         
  5263.         virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 
  5264.             /* [in] */ CLSID clsid,
  5265.             /* [in] */ LPCWSTR Name,
  5266.             /* [out] */ CLSID *MRId) = 0;
  5267.         
  5268.         virtual HRESULT STDMETHODCALLTYPE RegisterPin( 
  5269.             /* [in] */ CLSID Filter,
  5270.             /* [in] */ LPCWSTR Name,
  5271.             /* [in] */ BOOL bRendered,
  5272.             /* [in] */ BOOL bOutput,
  5273.             /* [in] */ BOOL bZero,
  5274.             /* [in] */ BOOL bMany,
  5275.             /* [in] */ CLSID ConnectsToFilter,
  5276.             /* [in] */ LPCWSTR ConnectsToPin) = 0;
  5277.         
  5278.         virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 
  5279.             /* [in] */ CLSID clsFilter,
  5280.             /* [in] */ LPCWSTR strName,
  5281.             /* [in] */ CLSID clsMajorType,
  5282.             /* [in] */ CLSID clsSubType) = 0;
  5283.         
  5284.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5285.             /* [in] */ CLSID Filter) = 0;
  5286.         
  5287.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 
  5288.             /* [in] */ CLSID MRId) = 0;
  5289.         
  5290.         virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 
  5291.             /* [in] */ CLSID Filter,
  5292.             /* [in] */ LPCWSTR Name) = 0;
  5293.         
  5294.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5295.             /* [out] */ IEnumRegFilters **ppEnum,
  5296.             /* [in] */ DWORD dwMerit,
  5297.             /* [in] */ BOOL bInputNeeded,
  5298.             /* [in] */ CLSID clsInMaj,
  5299.             /* [in] */ CLSID clsInSub,
  5300.             /* [in] */ BOOL bRender,
  5301.             /* [in] */ BOOL bOututNeeded,
  5302.             /* [in] */ CLSID clsOutMaj,
  5303.             /* [in] */ CLSID clsOutSub) = 0;
  5304.         
  5305.     };
  5306.     
  5307. #else     /* C style interface */
  5308.  
  5309.     typedef struct IFilterMapperVtbl
  5310.     {
  5311.         BEGIN_INTERFACE
  5312.         
  5313.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5314.             IFilterMapper * This,
  5315.             /* [in] */ REFIID riid,
  5316.             /* [iid_is][out] */ void **ppvObject);
  5317.         
  5318.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5319.             IFilterMapper * This);
  5320.         
  5321.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5322.             IFilterMapper * This);
  5323.         
  5324.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5325.             IFilterMapper * This,
  5326.             /* [in] */ CLSID clsid,
  5327.             /* [in] */ LPCWSTR Name,
  5328.             /* [in] */ DWORD dwMerit);
  5329.         
  5330.         HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )( 
  5331.             IFilterMapper * This,
  5332.             /* [in] */ CLSID clsid,
  5333.             /* [in] */ LPCWSTR Name,
  5334.             /* [out] */ CLSID *MRId);
  5335.         
  5336.         HRESULT ( STDMETHODCALLTYPE *RegisterPin )( 
  5337.             IFilterMapper * This,
  5338.             /* [in] */ CLSID Filter,
  5339.             /* [in] */ LPCWSTR Name,
  5340.             /* [in] */ BOOL bRendered,
  5341.             /* [in] */ BOOL bOutput,
  5342.             /* [in] */ BOOL bZero,
  5343.             /* [in] */ BOOL bMany,
  5344.             /* [in] */ CLSID ConnectsToFilter,
  5345.             /* [in] */ LPCWSTR ConnectsToPin);
  5346.         
  5347.         HRESULT ( STDMETHODCALLTYPE *RegisterPinType )( 
  5348.             IFilterMapper * This,
  5349.             /* [in] */ CLSID clsFilter,
  5350.             /* [in] */ LPCWSTR strName,
  5351.             /* [in] */ CLSID clsMajorType,
  5352.             /* [in] */ CLSID clsSubType);
  5353.         
  5354.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5355.             IFilterMapper * This,
  5356.             /* [in] */ CLSID Filter);
  5357.         
  5358.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )( 
  5359.             IFilterMapper * This,
  5360.             /* [in] */ CLSID MRId);
  5361.         
  5362.         HRESULT ( STDMETHODCALLTYPE *UnregisterPin )( 
  5363.             IFilterMapper * This,
  5364.             /* [in] */ CLSID Filter,
  5365.             /* [in] */ LPCWSTR Name);
  5366.         
  5367.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5368.             IFilterMapper * This,
  5369.             /* [out] */ IEnumRegFilters **ppEnum,
  5370.             /* [in] */ DWORD dwMerit,
  5371.             /* [in] */ BOOL bInputNeeded,
  5372.             /* [in] */ CLSID clsInMaj,
  5373.             /* [in] */ CLSID clsInSub,
  5374.             /* [in] */ BOOL bRender,
  5375.             /* [in] */ BOOL bOututNeeded,
  5376.             /* [in] */ CLSID clsOutMaj,
  5377.             /* [in] */ CLSID clsOutSub);
  5378.         
  5379.         END_INTERFACE
  5380.     } IFilterMapperVtbl;
  5381.  
  5382.     interface IFilterMapper
  5383.     {
  5384.         CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  5385.     };
  5386.  
  5387.     
  5388.  
  5389. #ifdef COBJMACROS
  5390.  
  5391.  
  5392. #define IFilterMapper_QueryInterface(This,riid,ppvObject)    \
  5393.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5394.  
  5395. #define IFilterMapper_AddRef(This)    \
  5396.     (This)->lpVtbl -> AddRef(This)
  5397.  
  5398. #define IFilterMapper_Release(This)    \
  5399.     (This)->lpVtbl -> Release(This)
  5400.  
  5401.  
  5402. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)    \
  5403.     (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  5404.  
  5405. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)    \
  5406.     (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  5407.  
  5408. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)    \
  5409.     (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  5410.  
  5411. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)    \
  5412.     (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  5413.  
  5414. #define IFilterMapper_UnregisterFilter(This,Filter)    \
  5415.     (This)->lpVtbl -> UnregisterFilter(This,Filter)
  5416.  
  5417. #define IFilterMapper_UnregisterFilterInstance(This,MRId)    \
  5418.     (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  5419.  
  5420. #define IFilterMapper_UnregisterPin(This,Filter,Name)    \
  5421.     (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  5422.  
  5423. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)    \
  5424.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  5425.  
  5426. #endif /* COBJMACROS */
  5427.  
  5428.  
  5429. #endif     /* C style interface */
  5430.  
  5431.  
  5432.  
  5433. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 
  5434.     IFilterMapper * This,
  5435.     /* [in] */ CLSID clsid,
  5436.     /* [in] */ LPCWSTR Name,
  5437.     /* [in] */ DWORD dwMerit);
  5438.  
  5439.  
  5440. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  5441.     IRpcStubBuffer *This,
  5442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5443.     PRPC_MESSAGE _pRpcMessage,
  5444.     DWORD *_pdwStubPhase);
  5445.  
  5446.  
  5447. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 
  5448.     IFilterMapper * This,
  5449.     /* [in] */ CLSID clsid,
  5450.     /* [in] */ LPCWSTR Name,
  5451.     /* [out] */ CLSID *MRId);
  5452.  
  5453.  
  5454. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  5455.     IRpcStubBuffer *This,
  5456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5457.     PRPC_MESSAGE _pRpcMessage,
  5458.     DWORD *_pdwStubPhase);
  5459.  
  5460.  
  5461. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 
  5462.     IFilterMapper * This,
  5463.     /* [in] */ CLSID Filter,
  5464.     /* [in] */ LPCWSTR Name,
  5465.     /* [in] */ BOOL bRendered,
  5466.     /* [in] */ BOOL bOutput,
  5467.     /* [in] */ BOOL bZero,
  5468.     /* [in] */ BOOL bMany,
  5469.     /* [in] */ CLSID ConnectsToFilter,
  5470.     /* [in] */ LPCWSTR ConnectsToPin);
  5471.  
  5472.  
  5473. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  5474.     IRpcStubBuffer *This,
  5475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5476.     PRPC_MESSAGE _pRpcMessage,
  5477.     DWORD *_pdwStubPhase);
  5478.  
  5479.  
  5480. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 
  5481.     IFilterMapper * This,
  5482.     /* [in] */ CLSID clsFilter,
  5483.     /* [in] */ LPCWSTR strName,
  5484.     /* [in] */ CLSID clsMajorType,
  5485.     /* [in] */ CLSID clsSubType);
  5486.  
  5487.  
  5488. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  5489.     IRpcStubBuffer *This,
  5490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5491.     PRPC_MESSAGE _pRpcMessage,
  5492.     DWORD *_pdwStubPhase);
  5493.  
  5494.  
  5495. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 
  5496.     IFilterMapper * This,
  5497.     /* [in] */ CLSID Filter);
  5498.  
  5499.  
  5500. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  5501.     IRpcStubBuffer *This,
  5502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5503.     PRPC_MESSAGE _pRpcMessage,
  5504.     DWORD *_pdwStubPhase);
  5505.  
  5506.  
  5507. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 
  5508.     IFilterMapper * This,
  5509.     /* [in] */ CLSID MRId);
  5510.  
  5511.  
  5512. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  5513.     IRpcStubBuffer *This,
  5514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5515.     PRPC_MESSAGE _pRpcMessage,
  5516.     DWORD *_pdwStubPhase);
  5517.  
  5518.  
  5519. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 
  5520.     IFilterMapper * This,
  5521.     /* [in] */ CLSID Filter,
  5522.     /* [in] */ LPCWSTR Name);
  5523.  
  5524.  
  5525. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  5526.     IRpcStubBuffer *This,
  5527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5528.     PRPC_MESSAGE _pRpcMessage,
  5529.     DWORD *_pdwStubPhase);
  5530.  
  5531.  
  5532. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 
  5533.     IFilterMapper * This,
  5534.     /* [out] */ IEnumRegFilters **ppEnum,
  5535.     /* [in] */ DWORD dwMerit,
  5536.     /* [in] */ BOOL bInputNeeded,
  5537.     /* [in] */ CLSID clsInMaj,
  5538.     /* [in] */ CLSID clsInSub,
  5539.     /* [in] */ BOOL bRender,
  5540.     /* [in] */ BOOL bOututNeeded,
  5541.     /* [in] */ CLSID clsOutMaj,
  5542.     /* [in] */ CLSID clsOutSub);
  5543.  
  5544.  
  5545. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  5546.     IRpcStubBuffer *This,
  5547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5548.     PRPC_MESSAGE _pRpcMessage,
  5549.     DWORD *_pdwStubPhase);
  5550.  
  5551.  
  5552.  
  5553. #endif     /* __IFilterMapper_INTERFACE_DEFINED__ */
  5554.  
  5555.  
  5556. /* interface __MIDL_itf_strmif_0134 */
  5557. /* [local] */ 
  5558.  
  5559. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0001
  5560.     {
  5561.     const CLSID *clsMajorType;
  5562.     const CLSID *clsMinorType;
  5563.     }     REGPINTYPES;
  5564.  
  5565. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0002
  5566.     {
  5567.     LPWSTR strName;
  5568.     BOOL bRendered;
  5569.     BOOL bOutput;
  5570.     BOOL bZero;
  5571.     BOOL bMany;
  5572.     const CLSID *clsConnectsToFilter;
  5573.     const WCHAR *strConnectsToPin;
  5574.     UINT nMediaTypes;
  5575.     const REGPINTYPES *lpMediaType;
  5576.     }     REGFILTERPINS;
  5577.  
  5578. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0003
  5579.     {
  5580.     CLSID clsMedium;
  5581.     DWORD dw1;
  5582.     DWORD dw2;
  5583.     }     REGPINMEDIUM;
  5584.  
  5585.  
  5586. enum __MIDL___MIDL_itf_strmif_0134_0004
  5587.     {    REG_PINFLAG_B_ZERO    = 0x1,
  5588.     REG_PINFLAG_B_RENDERER    = 0x2,
  5589.     REG_PINFLAG_B_MANY    = 0x4,
  5590.     REG_PINFLAG_B_OUTPUT    = 0x8
  5591.     } ;
  5592. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0005
  5593.     {
  5594.     DWORD dwFlags;
  5595.     UINT cInstances;
  5596.     UINT nMediaTypes;
  5597.     /* [size_is] */ const REGPINTYPES *lpMediaType;
  5598.     UINT nMediums;
  5599.     /* [size_is] */ const REGPINMEDIUM *lpMedium;
  5600.     const CLSID *clsPinCategory;
  5601.     }     REGFILTERPINS2;
  5602.  
  5603. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0006
  5604.     {
  5605.     DWORD dwVersion;
  5606.     DWORD dwMerit;
  5607.     /* [switch_type][switch_is] */ union 
  5608.         {
  5609.         /* [case()] */ struct 
  5610.             {
  5611.             ULONG cPins;
  5612.             /* [size_is] */ const REGFILTERPINS *rgPins;
  5613.             }     ;
  5614.         /* [case()] */ struct 
  5615.             {
  5616.             ULONG cPins2;
  5617.             /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  5618.             }     ;
  5619.         /* [default] */  /* Empty union arm */ 
  5620.         }     ;
  5621.     }     REGFILTER2;
  5622.  
  5623.  
  5624.  
  5625. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  5626. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  5627.  
  5628. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  5629. #define __IFilterMapper2_INTERFACE_DEFINED__
  5630.  
  5631. /* interface IFilterMapper2 */
  5632. /* [unique][uuid][object] */ 
  5633.  
  5634.  
  5635. EXTERN_C const IID IID_IFilterMapper2;
  5636.  
  5637. #if defined(__cplusplus) && !defined(CINTERFACE)
  5638.     
  5639.     MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  5640.     IFilterMapper2 : public IUnknown
  5641.     {
  5642.     public:
  5643.         virtual HRESULT STDMETHODCALLTYPE CreateCategory( 
  5644.             /* [in] */ REFCLSID clsidCategory,
  5645.             /* [in] */ DWORD dwCategoryMerit,
  5646.             /* [in] */ LPCWSTR Description) = 0;
  5647.         
  5648.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5649.             /* [in] */ const CLSID *pclsidCategory,
  5650.             /* [in] */ const OLECHAR *szInstance,
  5651.             /* [in] */ REFCLSID Filter) = 0;
  5652.         
  5653.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5654.             /* [in] */ REFCLSID clsidFilter,
  5655.             /* [in] */ LPCWSTR Name,
  5656.             /* [out][in] */ IMoniker **ppMoniker,
  5657.             /* [in] */ const CLSID *pclsidCategory,
  5658.             /* [in] */ const OLECHAR *szInstance,
  5659.             /* [in] */ const REGFILTER2 *prf2) = 0;
  5660.         
  5661.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5662.             /* [out] */ IEnumMoniker **ppEnum,
  5663.             /* [in] */ DWORD dwFlags,
  5664.             /* [in] */ BOOL bExactMatch,
  5665.             /* [in] */ DWORD dwMerit,
  5666.             /* [in] */ BOOL bInputNeeded,
  5667.             /* [in] */ DWORD cInputTypes,
  5668.             /* [size_is] */ const GUID *pInputTypes,
  5669.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5670.             /* [in] */ const CLSID *pPinCategoryIn,
  5671.             /* [in] */ BOOL bRender,
  5672.             /* [in] */ BOOL bOutputNeeded,
  5673.             /* [in] */ DWORD cOutputTypes,
  5674.             /* [size_is] */ const GUID *pOutputTypes,
  5675.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5676.             /* [in] */ const CLSID *pPinCategoryOut) = 0;
  5677.         
  5678.     };
  5679.     
  5680. #else     /* C style interface */
  5681.  
  5682.     typedef struct IFilterMapper2Vtbl
  5683.     {
  5684.         BEGIN_INTERFACE
  5685.         
  5686.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5687.             IFilterMapper2 * This,
  5688.             /* [in] */ REFIID riid,
  5689.             /* [iid_is][out] */ void **ppvObject);
  5690.         
  5691.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5692.             IFilterMapper2 * This);
  5693.         
  5694.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5695.             IFilterMapper2 * This);
  5696.         
  5697.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5698.             IFilterMapper2 * This,
  5699.             /* [in] */ REFCLSID clsidCategory,
  5700.             /* [in] */ DWORD dwCategoryMerit,
  5701.             /* [in] */ LPCWSTR Description);
  5702.         
  5703.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5704.             IFilterMapper2 * This,
  5705.             /* [in] */ const CLSID *pclsidCategory,
  5706.             /* [in] */ const OLECHAR *szInstance,
  5707.             /* [in] */ REFCLSID Filter);
  5708.         
  5709.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5710.             IFilterMapper2 * This,
  5711.             /* [in] */ REFCLSID clsidFilter,
  5712.             /* [in] */ LPCWSTR Name,
  5713.             /* [out][in] */ IMoniker **ppMoniker,
  5714.             /* [in] */ const CLSID *pclsidCategory,
  5715.             /* [in] */ const OLECHAR *szInstance,
  5716.             /* [in] */ const REGFILTER2 *prf2);
  5717.         
  5718.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5719.             IFilterMapper2 * This,
  5720.             /* [out] */ IEnumMoniker **ppEnum,
  5721.             /* [in] */ DWORD dwFlags,
  5722.             /* [in] */ BOOL bExactMatch,
  5723.             /* [in] */ DWORD dwMerit,
  5724.             /* [in] */ BOOL bInputNeeded,
  5725.             /* [in] */ DWORD cInputTypes,
  5726.             /* [size_is] */ const GUID *pInputTypes,
  5727.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5728.             /* [in] */ const CLSID *pPinCategoryIn,
  5729.             /* [in] */ BOOL bRender,
  5730.             /* [in] */ BOOL bOutputNeeded,
  5731.             /* [in] */ DWORD cOutputTypes,
  5732.             /* [size_is] */ const GUID *pOutputTypes,
  5733.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5734.             /* [in] */ const CLSID *pPinCategoryOut);
  5735.         
  5736.         END_INTERFACE
  5737.     } IFilterMapper2Vtbl;
  5738.  
  5739.     interface IFilterMapper2
  5740.     {
  5741.         CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  5742.     };
  5743.  
  5744.     
  5745.  
  5746. #ifdef COBJMACROS
  5747.  
  5748.  
  5749. #define IFilterMapper2_QueryInterface(This,riid,ppvObject)    \
  5750.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5751.  
  5752. #define IFilterMapper2_AddRef(This)    \
  5753.     (This)->lpVtbl -> AddRef(This)
  5754.  
  5755. #define IFilterMapper2_Release(This)    \
  5756.     (This)->lpVtbl -> Release(This)
  5757.  
  5758.  
  5759. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5760.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5761.  
  5762. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5763.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5764.  
  5765. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5766.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5767.  
  5768. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5769.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5770.  
  5771. #endif /* COBJMACROS */
  5772.  
  5773.  
  5774. #endif     /* C style interface */
  5775.  
  5776.  
  5777.  
  5778. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 
  5779.     IFilterMapper2 * This,
  5780.     /* [in] */ REFCLSID clsidCategory,
  5781.     /* [in] */ DWORD dwCategoryMerit,
  5782.     /* [in] */ LPCWSTR Description);
  5783.  
  5784.  
  5785. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  5786.     IRpcStubBuffer *This,
  5787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5788.     PRPC_MESSAGE _pRpcMessage,
  5789.     DWORD *_pdwStubPhase);
  5790.  
  5791.  
  5792. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 
  5793.     IFilterMapper2 * This,
  5794.     /* [in] */ const CLSID *pclsidCategory,
  5795.     /* [in] */ const OLECHAR *szInstance,
  5796.     /* [in] */ REFCLSID Filter);
  5797.  
  5798.  
  5799. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  5800.     IRpcStubBuffer *This,
  5801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5802.     PRPC_MESSAGE _pRpcMessage,
  5803.     DWORD *_pdwStubPhase);
  5804.  
  5805.  
  5806. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 
  5807.     IFilterMapper2 * This,
  5808.     /* [in] */ REFCLSID clsidFilter,
  5809.     /* [in] */ LPCWSTR Name,
  5810.     /* [out][in] */ IMoniker **ppMoniker,
  5811.     /* [in] */ const CLSID *pclsidCategory,
  5812.     /* [in] */ const OLECHAR *szInstance,
  5813.     /* [in] */ const REGFILTER2 *prf2);
  5814.  
  5815.  
  5816. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  5817.     IRpcStubBuffer *This,
  5818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5819.     PRPC_MESSAGE _pRpcMessage,
  5820.     DWORD *_pdwStubPhase);
  5821.  
  5822.  
  5823. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 
  5824.     IFilterMapper2 * This,
  5825.     /* [out] */ IEnumMoniker **ppEnum,
  5826.     /* [in] */ DWORD dwFlags,
  5827.     /* [in] */ BOOL bExactMatch,
  5828.     /* [in] */ DWORD dwMerit,
  5829.     /* [in] */ BOOL bInputNeeded,
  5830.     /* [in] */ DWORD cInputTypes,
  5831.     /* [size_is] */ const GUID *pInputTypes,
  5832.     /* [in] */ const REGPINMEDIUM *pMedIn,
  5833.     /* [in] */ const CLSID *pPinCategoryIn,
  5834.     /* [in] */ BOOL bRender,
  5835.     /* [in] */ BOOL bOutputNeeded,
  5836.     /* [in] */ DWORD cOutputTypes,
  5837.     /* [size_is] */ const GUID *pOutputTypes,
  5838.     /* [in] */ const REGPINMEDIUM *pMedOut,
  5839.     /* [in] */ const CLSID *pPinCategoryOut);
  5840.  
  5841.  
  5842. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  5843.     IRpcStubBuffer *This,
  5844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5845.     PRPC_MESSAGE _pRpcMessage,
  5846.     DWORD *_pdwStubPhase);
  5847.  
  5848.  
  5849.  
  5850. #endif     /* __IFilterMapper2_INTERFACE_DEFINED__ */
  5851.  
  5852.  
  5853. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  5854. #define __IFilterMapper3_INTERFACE_DEFINED__
  5855.  
  5856. /* interface IFilterMapper3 */
  5857. /* [unique][uuid][object] */ 
  5858.  
  5859.  
  5860. EXTERN_C const IID IID_IFilterMapper3;
  5861.  
  5862. #if defined(__cplusplus) && !defined(CINTERFACE)
  5863.     
  5864.     MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  5865.     IFilterMapper3 : public IFilterMapper2
  5866.     {
  5867.     public:
  5868.         virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 
  5869.             /* [out] */ ICreateDevEnum **ppEnum) = 0;
  5870.         
  5871.     };
  5872.     
  5873. #else     /* C style interface */
  5874.  
  5875.     typedef struct IFilterMapper3Vtbl
  5876.     {
  5877.         BEGIN_INTERFACE
  5878.         
  5879.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5880.             IFilterMapper3 * This,
  5881.             /* [in] */ REFIID riid,
  5882.             /* [iid_is][out] */ void **ppvObject);
  5883.         
  5884.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5885.             IFilterMapper3 * This);
  5886.         
  5887.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5888.             IFilterMapper3 * This);
  5889.         
  5890.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5891.             IFilterMapper3 * This,
  5892.             /* [in] */ REFCLSID clsidCategory,
  5893.             /* [in] */ DWORD dwCategoryMerit,
  5894.             /* [in] */ LPCWSTR Description);
  5895.         
  5896.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5897.             IFilterMapper3 * This,
  5898.             /* [in] */ const CLSID *pclsidCategory,
  5899.             /* [in] */ const OLECHAR *szInstance,
  5900.             /* [in] */ REFCLSID Filter);
  5901.         
  5902.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5903.             IFilterMapper3 * This,
  5904.             /* [in] */ REFCLSID clsidFilter,
  5905.             /* [in] */ LPCWSTR Name,
  5906.             /* [out][in] */ IMoniker **ppMoniker,
  5907.             /* [in] */ const CLSID *pclsidCategory,
  5908.             /* [in] */ const OLECHAR *szInstance,
  5909.             /* [in] */ const REGFILTER2 *prf2);
  5910.         
  5911.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5912.             IFilterMapper3 * This,
  5913.             /* [out] */ IEnumMoniker **ppEnum,
  5914.             /* [in] */ DWORD dwFlags,
  5915.             /* [in] */ BOOL bExactMatch,
  5916.             /* [in] */ DWORD dwMerit,
  5917.             /* [in] */ BOOL bInputNeeded,
  5918.             /* [in] */ DWORD cInputTypes,
  5919.             /* [size_is] */ const GUID *pInputTypes,
  5920.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5921.             /* [in] */ const CLSID *pPinCategoryIn,
  5922.             /* [in] */ BOOL bRender,
  5923.             /* [in] */ BOOL bOutputNeeded,
  5924.             /* [in] */ DWORD cOutputTypes,
  5925.             /* [size_is] */ const GUID *pOutputTypes,
  5926.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5927.             /* [in] */ const CLSID *pPinCategoryOut);
  5928.         
  5929.         HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )( 
  5930.             IFilterMapper3 * This,
  5931.             /* [out] */ ICreateDevEnum **ppEnum);
  5932.         
  5933.         END_INTERFACE
  5934.     } IFilterMapper3Vtbl;
  5935.  
  5936.     interface IFilterMapper3
  5937.     {
  5938.         CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  5939.     };
  5940.  
  5941.     
  5942.  
  5943. #ifdef COBJMACROS
  5944.  
  5945.  
  5946. #define IFilterMapper3_QueryInterface(This,riid,ppvObject)    \
  5947.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5948.  
  5949. #define IFilterMapper3_AddRef(This)    \
  5950.     (This)->lpVtbl -> AddRef(This)
  5951.  
  5952. #define IFilterMapper3_Release(This)    \
  5953.     (This)->lpVtbl -> Release(This)
  5954.  
  5955.  
  5956. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5957.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5958.  
  5959. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5960.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5961.  
  5962. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5963.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5964.  
  5965. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5966.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5967.  
  5968.  
  5969. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum)    \
  5970.     (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  5971.  
  5972. #endif /* COBJMACROS */
  5973.  
  5974.  
  5975. #endif     /* C style interface */
  5976.  
  5977.  
  5978.  
  5979. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 
  5980.     IFilterMapper3 * This,
  5981.     /* [out] */ ICreateDevEnum **ppEnum);
  5982.  
  5983.  
  5984. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  5985.     IRpcStubBuffer *This,
  5986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5987.     PRPC_MESSAGE _pRpcMessage,
  5988.     DWORD *_pdwStubPhase);
  5989.  
  5990.  
  5991.  
  5992. #endif     /* __IFilterMapper3_INTERFACE_DEFINED__ */
  5993.  
  5994.  
  5995. /* interface __MIDL_itf_strmif_0137 */
  5996. /* [local] */ 
  5997.  
  5998. typedef 
  5999. enum tagQualityMessageType
  6000.     {    Famine    = 0,
  6001.     Flood    = Famine + 1
  6002.     }     QualityMessageType;
  6003.  
  6004. typedef struct tagQuality
  6005.     {
  6006.     QualityMessageType Type;
  6007.     long Proportion;
  6008.     REFERENCE_TIME Late;
  6009.     REFERENCE_TIME TimeStamp;
  6010.     }     Quality;
  6011.  
  6012. typedef IQualityControl *PQUALITYCONTROL;
  6013.  
  6014.  
  6015.  
  6016. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  6017. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  6018.  
  6019. #ifndef __IQualityControl_INTERFACE_DEFINED__
  6020. #define __IQualityControl_INTERFACE_DEFINED__
  6021.  
  6022. /* interface IQualityControl */
  6023. /* [unique][uuid][object] */ 
  6024.  
  6025.  
  6026. EXTERN_C const IID IID_IQualityControl;
  6027.  
  6028. #if defined(__cplusplus) && !defined(CINTERFACE)
  6029.     
  6030.     MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  6031.     IQualityControl : public IUnknown
  6032.     {
  6033.     public:
  6034.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6035.             /* [in] */ IBaseFilter *pSelf,
  6036.             /* [in] */ Quality q) = 0;
  6037.         
  6038.         virtual HRESULT STDMETHODCALLTYPE SetSink( 
  6039.             /* [in] */ IQualityControl *piqc) = 0;
  6040.         
  6041.     };
  6042.     
  6043. #else     /* C style interface */
  6044.  
  6045.     typedef struct IQualityControlVtbl
  6046.     {
  6047.         BEGIN_INTERFACE
  6048.         
  6049.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6050.             IQualityControl * This,
  6051.             /* [in] */ REFIID riid,
  6052.             /* [iid_is][out] */ void **ppvObject);
  6053.         
  6054.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6055.             IQualityControl * This);
  6056.         
  6057.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6058.             IQualityControl * This);
  6059.         
  6060.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6061.             IQualityControl * This,
  6062.             /* [in] */ IBaseFilter *pSelf,
  6063.             /* [in] */ Quality q);
  6064.         
  6065.         HRESULT ( STDMETHODCALLTYPE *SetSink )( 
  6066.             IQualityControl * This,
  6067.             /* [in] */ IQualityControl *piqc);
  6068.         
  6069.         END_INTERFACE
  6070.     } IQualityControlVtbl;
  6071.  
  6072.     interface IQualityControl
  6073.     {
  6074.         CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  6075.     };
  6076.  
  6077.     
  6078.  
  6079. #ifdef COBJMACROS
  6080.  
  6081.  
  6082. #define IQualityControl_QueryInterface(This,riid,ppvObject)    \
  6083.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6084.  
  6085. #define IQualityControl_AddRef(This)    \
  6086.     (This)->lpVtbl -> AddRef(This)
  6087.  
  6088. #define IQualityControl_Release(This)    \
  6089.     (This)->lpVtbl -> Release(This)
  6090.  
  6091.  
  6092. #define IQualityControl_Notify(This,pSelf,q)    \
  6093.     (This)->lpVtbl -> Notify(This,pSelf,q)
  6094.  
  6095. #define IQualityControl_SetSink(This,piqc)    \
  6096.     (This)->lpVtbl -> SetSink(This,piqc)
  6097.  
  6098. #endif /* COBJMACROS */
  6099.  
  6100.  
  6101. #endif     /* C style interface */
  6102.  
  6103.  
  6104.  
  6105. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 
  6106.     IQualityControl * This,
  6107.     /* [in] */ IBaseFilter *pSelf,
  6108.     /* [in] */ Quality q);
  6109.  
  6110.  
  6111. void __RPC_STUB IQualityControl_Notify_Stub(
  6112.     IRpcStubBuffer *This,
  6113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6114.     PRPC_MESSAGE _pRpcMessage,
  6115.     DWORD *_pdwStubPhase);
  6116.  
  6117.  
  6118. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 
  6119.     IQualityControl * This,
  6120.     /* [in] */ IQualityControl *piqc);
  6121.  
  6122.  
  6123. void __RPC_STUB IQualityControl_SetSink_Stub(
  6124.     IRpcStubBuffer *This,
  6125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6126.     PRPC_MESSAGE _pRpcMessage,
  6127.     DWORD *_pdwStubPhase);
  6128.  
  6129.  
  6130.  
  6131. #endif     /* __IQualityControl_INTERFACE_DEFINED__ */
  6132.  
  6133.  
  6134. /* interface __MIDL_itf_strmif_0138 */
  6135. /* [local] */ 
  6136.  
  6137.  
  6138. enum __MIDL___MIDL_itf_strmif_0138_0001
  6139.     {    CK_NOCOLORKEY    = 0,
  6140.     CK_INDEX    = 0x1,
  6141.     CK_RGB    = 0x2
  6142.     } ;
  6143. typedef struct tagCOLORKEY
  6144.     {
  6145.     DWORD KeyType;
  6146.     DWORD PaletteIndex;
  6147.     COLORREF LowColorValue;
  6148.     COLORREF HighColorValue;
  6149.     }     COLORKEY;
  6150.  
  6151.  
  6152. enum __MIDL___MIDL_itf_strmif_0138_0002
  6153.     {    ADVISE_NONE    = 0,
  6154.     ADVISE_CLIPPING    = 0x1,
  6155.     ADVISE_PALETTE    = 0x2,
  6156.     ADVISE_COLORKEY    = 0x4,
  6157.     ADVISE_POSITION    = 0x8,
  6158.     ADVISE_DISPLAY_CHANGE    = 0x10
  6159.     } ;
  6160. #define    ADVISE_ALL    ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  6161.  
  6162. #define    ADVISE_ALL2    ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  6163.  
  6164. #ifndef _WINGDI_
  6165. typedef struct _RGNDATAHEADER
  6166.     {
  6167.     DWORD dwSize;
  6168.     DWORD iType;
  6169.     DWORD nCount;
  6170.     DWORD nRgnSize;
  6171.     RECT rcBound;
  6172.     }     RGNDATAHEADER;
  6173.  
  6174. typedef struct _RGNDATA
  6175.     {
  6176.     RGNDATAHEADER rdh;
  6177.     char Buffer[ 1 ];
  6178.     }     RGNDATA;
  6179.  
  6180. #endif
  6181.  
  6182.  
  6183. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  6184. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  6185.  
  6186. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  6187. #define __IOverlayNotify_INTERFACE_DEFINED__
  6188.  
  6189. /* interface IOverlayNotify */
  6190. /* [unique][uuid][local][object] */ 
  6191.  
  6192.  
  6193. EXTERN_C const IID IID_IOverlayNotify;
  6194.  
  6195. #if defined(__cplusplus) && !defined(CINTERFACE)
  6196.     
  6197.     MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  6198.     IOverlayNotify : public IUnknown
  6199.     {
  6200.     public:
  6201.         virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 
  6202.             /* [in] */ DWORD dwColors,
  6203.             /* [in] */ const PALETTEENTRY *pPalette) = 0;
  6204.         
  6205.         virtual HRESULT STDMETHODCALLTYPE OnClipChange( 
  6206.             /* [in] */ const RECT *pSourceRect,
  6207.             /* [in] */ const RECT *pDestinationRect,
  6208.             /* [in] */ const RGNDATA *pRgnData) = 0;
  6209.         
  6210.         virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 
  6211.             /* [in] */ const COLORKEY *pColorKey) = 0;
  6212.         
  6213.         virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 
  6214.             /* [in] */ const RECT *pSourceRect,
  6215.             /* [in] */ const RECT *pDestinationRect) = 0;
  6216.         
  6217.     };
  6218.     
  6219. #else     /* C style interface */
  6220.  
  6221.     typedef struct IOverlayNotifyVtbl
  6222.     {
  6223.         BEGIN_INTERFACE
  6224.         
  6225.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6226.             IOverlayNotify * This,
  6227.             /* [in] */ REFIID riid,
  6228.             /* [iid_is][out] */ void **ppvObject);
  6229.         
  6230.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6231.             IOverlayNotify * This);
  6232.         
  6233.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6234.             IOverlayNotify * This);
  6235.         
  6236.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6237.             IOverlayNotify * This,
  6238.             /* [in] */ DWORD dwColors,
  6239.             /* [in] */ const PALETTEENTRY *pPalette);
  6240.         
  6241.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6242.             IOverlayNotify * This,
  6243.             /* [in] */ const RECT *pSourceRect,
  6244.             /* [in] */ const RECT *pDestinationRect,
  6245.             /* [in] */ const RGNDATA *pRgnData);
  6246.         
  6247.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6248.             IOverlayNotify * This,
  6249.             /* [in] */ const COLORKEY *pColorKey);
  6250.         
  6251.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6252.             IOverlayNotify * This,
  6253.             /* [in] */ const RECT *pSourceRect,
  6254.             /* [in] */ const RECT *pDestinationRect);
  6255.         
  6256.         END_INTERFACE
  6257.     } IOverlayNotifyVtbl;
  6258.  
  6259.     interface IOverlayNotify
  6260.     {
  6261.         CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  6262.     };
  6263.  
  6264.     
  6265.  
  6266. #ifdef COBJMACROS
  6267.  
  6268.  
  6269. #define IOverlayNotify_QueryInterface(This,riid,ppvObject)    \
  6270.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6271.  
  6272. #define IOverlayNotify_AddRef(This)    \
  6273.     (This)->lpVtbl -> AddRef(This)
  6274.  
  6275. #define IOverlayNotify_Release(This)    \
  6276.     (This)->lpVtbl -> Release(This)
  6277.  
  6278.  
  6279. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)    \
  6280.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6281.  
  6282. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6283.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6284.  
  6285. #define IOverlayNotify_OnColorKeyChange(This,pColorKey)    \
  6286.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6287.  
  6288. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6289.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6290.  
  6291. #endif /* COBJMACROS */
  6292.  
  6293.  
  6294. #endif     /* C style interface */
  6295.  
  6296.  
  6297.  
  6298. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 
  6299.     IOverlayNotify * This,
  6300.     /* [in] */ DWORD dwColors,
  6301.     /* [in] */ const PALETTEENTRY *pPalette);
  6302.  
  6303.  
  6304. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  6305.     IRpcStubBuffer *This,
  6306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6307.     PRPC_MESSAGE _pRpcMessage,
  6308.     DWORD *_pdwStubPhase);
  6309.  
  6310.  
  6311. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 
  6312.     IOverlayNotify * This,
  6313.     /* [in] */ const RECT *pSourceRect,
  6314.     /* [in] */ const RECT *pDestinationRect,
  6315.     /* [in] */ const RGNDATA *pRgnData);
  6316.  
  6317.  
  6318. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  6319.     IRpcStubBuffer *This,
  6320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6321.     PRPC_MESSAGE _pRpcMessage,
  6322.     DWORD *_pdwStubPhase);
  6323.  
  6324.  
  6325. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 
  6326.     IOverlayNotify * This,
  6327.     /* [in] */ const COLORKEY *pColorKey);
  6328.  
  6329.  
  6330. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  6331.     IRpcStubBuffer *This,
  6332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6333.     PRPC_MESSAGE _pRpcMessage,
  6334.     DWORD *_pdwStubPhase);
  6335.  
  6336.  
  6337. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 
  6338.     IOverlayNotify * This,
  6339.     /* [in] */ const RECT *pSourceRect,
  6340.     /* [in] */ const RECT *pDestinationRect);
  6341.  
  6342.  
  6343. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  6344.     IRpcStubBuffer *This,
  6345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6346.     PRPC_MESSAGE _pRpcMessage,
  6347.     DWORD *_pdwStubPhase);
  6348.  
  6349.  
  6350.  
  6351. #endif     /* __IOverlayNotify_INTERFACE_DEFINED__ */
  6352.  
  6353.  
  6354. /* interface __MIDL_itf_strmif_0139 */
  6355. /* [local] */ 
  6356.  
  6357. typedef IOverlayNotify *POVERLAYNOTIFY;
  6358.  
  6359. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  6360. #define HMONITOR_DECLARED
  6361. #if 0
  6362. typedef HANDLE HMONITOR;
  6363.  
  6364. #endif
  6365. DECLARE_HANDLE(HMONITOR);
  6366. #endif
  6367.  
  6368.  
  6369. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  6370. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  6371.  
  6372. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  6373. #define __IOverlayNotify2_INTERFACE_DEFINED__
  6374.  
  6375. /* interface IOverlayNotify2 */
  6376. /* [unique][uuid][local][object] */ 
  6377.  
  6378.  
  6379. EXTERN_C const IID IID_IOverlayNotify2;
  6380.  
  6381. #if defined(__cplusplus) && !defined(CINTERFACE)
  6382.     
  6383.     MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  6384.     IOverlayNotify2 : public IOverlayNotify
  6385.     {
  6386.     public:
  6387.         virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 
  6388.             HMONITOR hMonitor) = 0;
  6389.         
  6390.     };
  6391.     
  6392. #else     /* C style interface */
  6393.  
  6394.     typedef struct IOverlayNotify2Vtbl
  6395.     {
  6396.         BEGIN_INTERFACE
  6397.         
  6398.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6399.             IOverlayNotify2 * This,
  6400.             /* [in] */ REFIID riid,
  6401.             /* [iid_is][out] */ void **ppvObject);
  6402.         
  6403.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6404.             IOverlayNotify2 * This);
  6405.         
  6406.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6407.             IOverlayNotify2 * This);
  6408.         
  6409.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6410.             IOverlayNotify2 * This,
  6411.             /* [in] */ DWORD dwColors,
  6412.             /* [in] */ const PALETTEENTRY *pPalette);
  6413.         
  6414.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6415.             IOverlayNotify2 * This,
  6416.             /* [in] */ const RECT *pSourceRect,
  6417.             /* [in] */ const RECT *pDestinationRect,
  6418.             /* [in] */ const RGNDATA *pRgnData);
  6419.         
  6420.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6421.             IOverlayNotify2 * This,
  6422.             /* [in] */ const COLORKEY *pColorKey);
  6423.         
  6424.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6425.             IOverlayNotify2 * This,
  6426.             /* [in] */ const RECT *pSourceRect,
  6427.             /* [in] */ const RECT *pDestinationRect);
  6428.         
  6429.         HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )( 
  6430.             IOverlayNotify2 * This,
  6431.             HMONITOR hMonitor);
  6432.         
  6433.         END_INTERFACE
  6434.     } IOverlayNotify2Vtbl;
  6435.  
  6436.     interface IOverlayNotify2
  6437.     {
  6438.         CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  6439.     };
  6440.  
  6441.     
  6442.  
  6443. #ifdef COBJMACROS
  6444.  
  6445.  
  6446. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject)    \
  6447.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6448.  
  6449. #define IOverlayNotify2_AddRef(This)    \
  6450.     (This)->lpVtbl -> AddRef(This)
  6451.  
  6452. #define IOverlayNotify2_Release(This)    \
  6453.     (This)->lpVtbl -> Release(This)
  6454.  
  6455.  
  6456. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)    \
  6457.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6458.  
  6459. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6460.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6461.  
  6462. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey)    \
  6463.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6464.  
  6465. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6466.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6467.  
  6468.  
  6469. #define IOverlayNotify2_OnDisplayChange(This,hMonitor)    \
  6470.     (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  6471.  
  6472. #endif /* COBJMACROS */
  6473.  
  6474.  
  6475. #endif     /* C style interface */
  6476.  
  6477.  
  6478.  
  6479. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 
  6480.     IOverlayNotify2 * This,
  6481.     HMONITOR hMonitor);
  6482.  
  6483.  
  6484. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  6485.     IRpcStubBuffer *This,
  6486.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6487.     PRPC_MESSAGE _pRpcMessage,
  6488.     DWORD *_pdwStubPhase);
  6489.  
  6490.  
  6491.  
  6492. #endif     /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  6493.  
  6494.  
  6495. /* interface __MIDL_itf_strmif_0140 */
  6496. /* [local] */ 
  6497.  
  6498. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  6499.  
  6500.  
  6501.  
  6502. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  6503. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  6504.  
  6505. #ifndef __IOverlay_INTERFACE_DEFINED__
  6506. #define __IOverlay_INTERFACE_DEFINED__
  6507.  
  6508. /* interface IOverlay */
  6509. /* [unique][uuid][local][object] */ 
  6510.  
  6511.  
  6512. EXTERN_C const IID IID_IOverlay;
  6513.  
  6514. #if defined(__cplusplus) && !defined(CINTERFACE)
  6515.     
  6516.     MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  6517.     IOverlay : public IUnknown
  6518.     {
  6519.     public:
  6520.         virtual HRESULT STDMETHODCALLTYPE GetPalette( 
  6521.             /* [out] */ DWORD *pdwColors,
  6522.             /* [out] */ PALETTEENTRY **ppPalette) = 0;
  6523.         
  6524.         virtual HRESULT STDMETHODCALLTYPE SetPalette( 
  6525.             /* [in] */ DWORD dwColors,
  6526.             /* [in] */ PALETTEENTRY *pPalette) = 0;
  6527.         
  6528.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 
  6529.             /* [out] */ COLORKEY *pColorKey) = 0;
  6530.         
  6531.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  6532.             /* [out] */ COLORKEY *pColorKey) = 0;
  6533.         
  6534.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  6535.             /* [out][in] */ COLORKEY *pColorKey) = 0;
  6536.         
  6537.         virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 
  6538.             /* [out] */ HWND *pHwnd) = 0;
  6539.         
  6540.         virtual HRESULT STDMETHODCALLTYPE GetClipList( 
  6541.             /* [out] */ RECT *pSourceRect,
  6542.             /* [out] */ RECT *pDestinationRect,
  6543.             /* [out] */ RGNDATA **ppRgnData) = 0;
  6544.         
  6545.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  6546.             /* [out] */ RECT *pSourceRect,
  6547.             /* [out] */ RECT *pDestinationRect) = 0;
  6548.         
  6549.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  6550.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6551.             /* [in] */ DWORD dwInterests) = 0;
  6552.         
  6553.         virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  6554.         
  6555.     };
  6556.     
  6557. #else     /* C style interface */
  6558.  
  6559.     typedef struct IOverlayVtbl
  6560.     {
  6561.         BEGIN_INTERFACE
  6562.         
  6563.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6564.             IOverlay * This,
  6565.             /* [in] */ REFIID riid,
  6566.             /* [iid_is][out] */ void **ppvObject);
  6567.         
  6568.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6569.             IOverlay * This);
  6570.         
  6571.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6572.             IOverlay * This);
  6573.         
  6574.         HRESULT ( STDMETHODCALLTYPE *GetPalette )( 
  6575.             IOverlay * This,
  6576.             /* [out] */ DWORD *pdwColors,
  6577.             /* [out] */ PALETTEENTRY **ppPalette);
  6578.         
  6579.         HRESULT ( STDMETHODCALLTYPE *SetPalette )( 
  6580.             IOverlay * This,
  6581.             /* [in] */ DWORD dwColors,
  6582.             /* [in] */ PALETTEENTRY *pPalette);
  6583.         
  6584.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )( 
  6585.             IOverlay * This,
  6586.             /* [out] */ COLORKEY *pColorKey);
  6587.         
  6588.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  6589.             IOverlay * This,
  6590.             /* [out] */ COLORKEY *pColorKey);
  6591.         
  6592.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  6593.             IOverlay * This,
  6594.             /* [out][in] */ COLORKEY *pColorKey);
  6595.         
  6596.         HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )( 
  6597.             IOverlay * This,
  6598.             /* [out] */ HWND *pHwnd);
  6599.         
  6600.         HRESULT ( STDMETHODCALLTYPE *GetClipList )( 
  6601.             IOverlay * This,
  6602.             /* [out] */ RECT *pSourceRect,
  6603.             /* [out] */ RECT *pDestinationRect,
  6604.             /* [out] */ RGNDATA **ppRgnData);
  6605.         
  6606.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  6607.             IOverlay * This,
  6608.             /* [out] */ RECT *pSourceRect,
  6609.             /* [out] */ RECT *pDestinationRect);
  6610.         
  6611.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  6612.             IOverlay * This,
  6613.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6614.             /* [in] */ DWORD dwInterests);
  6615.         
  6616.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  6617.             IOverlay * This);
  6618.         
  6619.         END_INTERFACE
  6620.     } IOverlayVtbl;
  6621.  
  6622.     interface IOverlay
  6623.     {
  6624.         CONST_VTBL struct IOverlayVtbl *lpVtbl;
  6625.     };
  6626.  
  6627.     
  6628.  
  6629. #ifdef COBJMACROS
  6630.  
  6631.  
  6632. #define IOverlay_QueryInterface(This,riid,ppvObject)    \
  6633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6634.  
  6635. #define IOverlay_AddRef(This)    \
  6636.     (This)->lpVtbl -> AddRef(This)
  6637.  
  6638. #define IOverlay_Release(This)    \
  6639.     (This)->lpVtbl -> Release(This)
  6640.  
  6641.  
  6642. #define IOverlay_GetPalette(This,pdwColors,ppPalette)    \
  6643.     (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  6644.  
  6645. #define IOverlay_SetPalette(This,dwColors,pPalette)    \
  6646.     (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  6647.  
  6648. #define IOverlay_GetDefaultColorKey(This,pColorKey)    \
  6649.     (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  6650.  
  6651. #define IOverlay_GetColorKey(This,pColorKey)    \
  6652.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  6653.  
  6654. #define IOverlay_SetColorKey(This,pColorKey)    \
  6655.     (This)->lpVtbl -> SetColorKey(This,pColorKey)
  6656.  
  6657. #define IOverlay_GetWindowHandle(This,pHwnd)    \
  6658.     (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  6659.  
  6660. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)    \
  6661.     (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  6662.  
  6663. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)    \
  6664.     (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  6665.  
  6666. #define IOverlay_Advise(This,pOverlayNotify,dwInterests)    \
  6667.     (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  6668.  
  6669. #define IOverlay_Unadvise(This)    \
  6670.     (This)->lpVtbl -> Unadvise(This)
  6671.  
  6672. #endif /* COBJMACROS */
  6673.  
  6674.  
  6675. #endif     /* C style interface */
  6676.  
  6677.  
  6678.  
  6679. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 
  6680.     IOverlay * This,
  6681.     /* [out] */ DWORD *pdwColors,
  6682.     /* [out] */ PALETTEENTRY **ppPalette);
  6683.  
  6684.  
  6685. void __RPC_STUB IOverlay_GetPalette_Stub(
  6686.     IRpcStubBuffer *This,
  6687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6688.     PRPC_MESSAGE _pRpcMessage,
  6689.     DWORD *_pdwStubPhase);
  6690.  
  6691.  
  6692. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 
  6693.     IOverlay * This,
  6694.     /* [in] */ DWORD dwColors,
  6695.     /* [in] */ PALETTEENTRY *pPalette);
  6696.  
  6697.  
  6698. void __RPC_STUB IOverlay_SetPalette_Stub(
  6699.     IRpcStubBuffer *This,
  6700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6701.     PRPC_MESSAGE _pRpcMessage,
  6702.     DWORD *_pdwStubPhase);
  6703.  
  6704.  
  6705. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 
  6706.     IOverlay * This,
  6707.     /* [out] */ COLORKEY *pColorKey);
  6708.  
  6709.  
  6710. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  6711.     IRpcStubBuffer *This,
  6712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6713.     PRPC_MESSAGE _pRpcMessage,
  6714.     DWORD *_pdwStubPhase);
  6715.  
  6716.  
  6717. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 
  6718.     IOverlay * This,
  6719.     /* [out] */ COLORKEY *pColorKey);
  6720.  
  6721.  
  6722. void __RPC_STUB IOverlay_GetColorKey_Stub(
  6723.     IRpcStubBuffer *This,
  6724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6725.     PRPC_MESSAGE _pRpcMessage,
  6726.     DWORD *_pdwStubPhase);
  6727.  
  6728.  
  6729. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 
  6730.     IOverlay * This,
  6731.     /* [out][in] */ COLORKEY *pColorKey);
  6732.  
  6733.  
  6734. void __RPC_STUB IOverlay_SetColorKey_Stub(
  6735.     IRpcStubBuffer *This,
  6736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6737.     PRPC_MESSAGE _pRpcMessage,
  6738.     DWORD *_pdwStubPhase);
  6739.  
  6740.  
  6741. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 
  6742.     IOverlay * This,
  6743.     /* [out] */ HWND *pHwnd);
  6744.  
  6745.  
  6746. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  6747.     IRpcStubBuffer *This,
  6748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6749.     PRPC_MESSAGE _pRpcMessage,
  6750.     DWORD *_pdwStubPhase);
  6751.  
  6752.  
  6753. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 
  6754.     IOverlay * This,
  6755.     /* [out] */ RECT *pSourceRect,
  6756.     /* [out] */ RECT *pDestinationRect,
  6757.     /* [out] */ RGNDATA **ppRgnData);
  6758.  
  6759.  
  6760. void __RPC_STUB IOverlay_GetClipList_Stub(
  6761.     IRpcStubBuffer *This,
  6762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6763.     PRPC_MESSAGE _pRpcMessage,
  6764.     DWORD *_pdwStubPhase);
  6765.  
  6766.  
  6767. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 
  6768.     IOverlay * This,
  6769.     /* [out] */ RECT *pSourceRect,
  6770.     /* [out] */ RECT *pDestinationRect);
  6771.  
  6772.  
  6773. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  6774.     IRpcStubBuffer *This,
  6775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6776.     PRPC_MESSAGE _pRpcMessage,
  6777.     DWORD *_pdwStubPhase);
  6778.  
  6779.  
  6780. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 
  6781.     IOverlay * This,
  6782.     /* [in] */ IOverlayNotify *pOverlayNotify,
  6783.     /* [in] */ DWORD dwInterests);
  6784.  
  6785.  
  6786. void __RPC_STUB IOverlay_Advise_Stub(
  6787.     IRpcStubBuffer *This,
  6788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6789.     PRPC_MESSAGE _pRpcMessage,
  6790.     DWORD *_pdwStubPhase);
  6791.  
  6792.  
  6793. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 
  6794.     IOverlay * This);
  6795.  
  6796.  
  6797. void __RPC_STUB IOverlay_Unadvise_Stub(
  6798.     IRpcStubBuffer *This,
  6799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6800.     PRPC_MESSAGE _pRpcMessage,
  6801.     DWORD *_pdwStubPhase);
  6802.  
  6803.  
  6804.  
  6805. #endif     /* __IOverlay_INTERFACE_DEFINED__ */
  6806.  
  6807.  
  6808. /* interface __MIDL_itf_strmif_0141 */
  6809. /* [local] */ 
  6810.  
  6811. typedef IOverlay *POVERLAY;
  6812.  
  6813.  
  6814.  
  6815. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  6816. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  6817.  
  6818. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  6819. #define __IMediaEventSink_INTERFACE_DEFINED__
  6820.  
  6821. /* interface IMediaEventSink */
  6822. /* [unique][uuid][object] */ 
  6823.  
  6824.  
  6825. EXTERN_C const IID IID_IMediaEventSink;
  6826.  
  6827. #if defined(__cplusplus) && !defined(CINTERFACE)
  6828.     
  6829.     MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  6830.     IMediaEventSink : public IUnknown
  6831.     {
  6832.     public:
  6833.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6834.             /* [in] */ long EventCode,
  6835.             /* [in] */ LONG_PTR EventParam1,
  6836.             /* [in] */ LONG_PTR EventParam2) = 0;
  6837.         
  6838.     };
  6839.     
  6840. #else     /* C style interface */
  6841.  
  6842.     typedef struct IMediaEventSinkVtbl
  6843.     {
  6844.         BEGIN_INTERFACE
  6845.         
  6846.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6847.             IMediaEventSink * This,
  6848.             /* [in] */ REFIID riid,
  6849.             /* [iid_is][out] */ void **ppvObject);
  6850.         
  6851.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6852.             IMediaEventSink * This);
  6853.         
  6854.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6855.             IMediaEventSink * This);
  6856.         
  6857.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6858.             IMediaEventSink * This,
  6859.             /* [in] */ long EventCode,
  6860.             /* [in] */ LONG_PTR EventParam1,
  6861.             /* [in] */ LONG_PTR EventParam2);
  6862.         
  6863.         END_INTERFACE
  6864.     } IMediaEventSinkVtbl;
  6865.  
  6866.     interface IMediaEventSink
  6867.     {
  6868.         CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  6869.     };
  6870.  
  6871.     
  6872.  
  6873. #ifdef COBJMACROS
  6874.  
  6875.  
  6876. #define IMediaEventSink_QueryInterface(This,riid,ppvObject)    \
  6877.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6878.  
  6879. #define IMediaEventSink_AddRef(This)    \
  6880.     (This)->lpVtbl -> AddRef(This)
  6881.  
  6882. #define IMediaEventSink_Release(This)    \
  6883.     (This)->lpVtbl -> Release(This)
  6884.  
  6885.  
  6886. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)    \
  6887.     (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  6888.  
  6889. #endif /* COBJMACROS */
  6890.  
  6891.  
  6892. #endif     /* C style interface */
  6893.  
  6894.  
  6895.  
  6896. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 
  6897.     IMediaEventSink * This,
  6898.     /* [in] */ long EventCode,
  6899.     /* [in] */ LONG_PTR EventParam1,
  6900.     /* [in] */ LONG_PTR EventParam2);
  6901.  
  6902.  
  6903. void __RPC_STUB IMediaEventSink_Notify_Stub(
  6904.     IRpcStubBuffer *This,
  6905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6906.     PRPC_MESSAGE _pRpcMessage,
  6907.     DWORD *_pdwStubPhase);
  6908.  
  6909.  
  6910.  
  6911. #endif     /* __IMediaEventSink_INTERFACE_DEFINED__ */
  6912.  
  6913.  
  6914. /* interface __MIDL_itf_strmif_0142 */
  6915. /* [local] */ 
  6916.  
  6917. typedef IMediaEventSink *PMEDIAEVENTSINK;
  6918.  
  6919.  
  6920.  
  6921. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  6922. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  6923.  
  6924. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  6925. #define __IFileSourceFilter_INTERFACE_DEFINED__
  6926.  
  6927. /* interface IFileSourceFilter */
  6928. /* [unique][uuid][object] */ 
  6929.  
  6930.  
  6931. EXTERN_C const IID IID_IFileSourceFilter;
  6932.  
  6933. #if defined(__cplusplus) && !defined(CINTERFACE)
  6934.     
  6935.     MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  6936.     IFileSourceFilter : public IUnknown
  6937.     {
  6938.     public:
  6939.         virtual HRESULT STDMETHODCALLTYPE Load( 
  6940.             /* [in] */ LPCOLESTR pszFileName,
  6941.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  6942.         
  6943.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6944.             /* [out] */ LPOLESTR *ppszFileName,
  6945.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  6946.         
  6947.     };
  6948.     
  6949. #else     /* C style interface */
  6950.  
  6951.     typedef struct IFileSourceFilterVtbl
  6952.     {
  6953.         BEGIN_INTERFACE
  6954.         
  6955.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6956.             IFileSourceFilter * This,
  6957.             /* [in] */ REFIID riid,
  6958.             /* [iid_is][out] */ void **ppvObject);
  6959.         
  6960.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6961.             IFileSourceFilter * This);
  6962.         
  6963.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6964.             IFileSourceFilter * This);
  6965.         
  6966.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  6967.             IFileSourceFilter * This,
  6968.             /* [in] */ LPCOLESTR pszFileName,
  6969.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6970.         
  6971.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  6972.             IFileSourceFilter * This,
  6973.             /* [out] */ LPOLESTR *ppszFileName,
  6974.             /* [out] */ AM_MEDIA_TYPE *pmt);
  6975.         
  6976.         END_INTERFACE
  6977.     } IFileSourceFilterVtbl;
  6978.  
  6979.     interface IFileSourceFilter
  6980.     {
  6981.         CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  6982.     };
  6983.  
  6984.     
  6985.  
  6986. #ifdef COBJMACROS
  6987.  
  6988.  
  6989. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject)    \
  6990.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6991.  
  6992. #define IFileSourceFilter_AddRef(This)    \
  6993.     (This)->lpVtbl -> AddRef(This)
  6994.  
  6995. #define IFileSourceFilter_Release(This)    \
  6996.     (This)->lpVtbl -> Release(This)
  6997.  
  6998.  
  6999. #define IFileSourceFilter_Load(This,pszFileName,pmt)    \
  7000.     (This)->lpVtbl -> Load(This,pszFileName,pmt)
  7001.  
  7002. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)    \
  7003.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7004.  
  7005. #endif /* COBJMACROS */
  7006.  
  7007.  
  7008. #endif     /* C style interface */
  7009.  
  7010.  
  7011.  
  7012. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 
  7013.     IFileSourceFilter * This,
  7014.     /* [in] */ LPCOLESTR pszFileName,
  7015.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7016.  
  7017.  
  7018. void __RPC_STUB IFileSourceFilter_Load_Stub(
  7019.     IRpcStubBuffer *This,
  7020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7021.     PRPC_MESSAGE _pRpcMessage,
  7022.     DWORD *_pdwStubPhase);
  7023.  
  7024.  
  7025. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 
  7026.     IFileSourceFilter * This,
  7027.     /* [out] */ LPOLESTR *ppszFileName,
  7028.     /* [out] */ AM_MEDIA_TYPE *pmt);
  7029.  
  7030.  
  7031. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  7032.     IRpcStubBuffer *This,
  7033.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7034.     PRPC_MESSAGE _pRpcMessage,
  7035.     DWORD *_pdwStubPhase);
  7036.  
  7037.  
  7038.  
  7039. #endif     /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  7040.  
  7041.  
  7042. /* interface __MIDL_itf_strmif_0143 */
  7043. /* [local] */ 
  7044.  
  7045. typedef IFileSourceFilter *PFILTERFILESOURCE;
  7046.  
  7047.  
  7048.  
  7049. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
  7050. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
  7051.  
  7052. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  7053. #define __IFileSinkFilter_INTERFACE_DEFINED__
  7054.  
  7055. /* interface IFileSinkFilter */
  7056. /* [unique][uuid][object] */ 
  7057.  
  7058.  
  7059. EXTERN_C const IID IID_IFileSinkFilter;
  7060.  
  7061. #if defined(__cplusplus) && !defined(CINTERFACE)
  7062.     
  7063.     MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  7064.     IFileSinkFilter : public IUnknown
  7065.     {
  7066.     public:
  7067.         virtual HRESULT STDMETHODCALLTYPE SetFileName( 
  7068.             /* [in] */ LPCOLESTR pszFileName,
  7069.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  7070.         
  7071.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  7072.             /* [out] */ LPOLESTR *ppszFileName,
  7073.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  7074.         
  7075.     };
  7076.     
  7077. #else     /* C style interface */
  7078.  
  7079.     typedef struct IFileSinkFilterVtbl
  7080.     {
  7081.         BEGIN_INTERFACE
  7082.         
  7083.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7084.             IFileSinkFilter * This,
  7085.             /* [in] */ REFIID riid,
  7086.             /* [iid_is][out] */ void **ppvObject);
  7087.         
  7088.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7089.             IFileSinkFilter * This);
  7090.         
  7091.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7092.             IFileSinkFilter * This);
  7093.         
  7094.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7095.             IFileSinkFilter * This,
  7096.             /* [in] */ LPCOLESTR pszFileName,
  7097.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7098.         
  7099.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7100.             IFileSinkFilter * This,
  7101.             /* [out] */ LPOLESTR *ppszFileName,
  7102.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7103.         
  7104.         END_INTERFACE
  7105.     } IFileSinkFilterVtbl;
  7106.  
  7107.     interface IFileSinkFilter
  7108.     {
  7109.         CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  7110.     };
  7111.  
  7112.     
  7113.  
  7114. #ifdef COBJMACROS
  7115.  
  7116.  
  7117. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject)    \
  7118.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7119.  
  7120. #define IFileSinkFilter_AddRef(This)    \
  7121.     (This)->lpVtbl -> AddRef(This)
  7122.  
  7123. #define IFileSinkFilter_Release(This)    \
  7124.     (This)->lpVtbl -> Release(This)
  7125.  
  7126.  
  7127. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt)    \
  7128.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7129.  
  7130. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)    \
  7131.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7132.  
  7133. #endif /* COBJMACROS */
  7134.  
  7135.  
  7136. #endif     /* C style interface */
  7137.  
  7138.  
  7139.  
  7140. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 
  7141.     IFileSinkFilter * This,
  7142.     /* [in] */ LPCOLESTR pszFileName,
  7143.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7144.  
  7145.  
  7146. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  7147.     IRpcStubBuffer *This,
  7148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7149.     PRPC_MESSAGE _pRpcMessage,
  7150.     DWORD *_pdwStubPhase);
  7151.  
  7152.  
  7153. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 
  7154.     IFileSinkFilter * This,
  7155.     /* [out] */ LPOLESTR *ppszFileName,
  7156.     /* [out] */ AM_MEDIA_TYPE *pmt);
  7157.  
  7158.  
  7159. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  7160.     IRpcStubBuffer *This,
  7161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7162.     PRPC_MESSAGE _pRpcMessage,
  7163.     DWORD *_pdwStubPhase);
  7164.  
  7165.  
  7166.  
  7167. #endif     /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  7168.  
  7169.  
  7170. /* interface __MIDL_itf_strmif_0144 */
  7171. /* [local] */ 
  7172.  
  7173. typedef IFileSinkFilter *PFILTERFILESINK;
  7174.  
  7175.  
  7176.  
  7177. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  7178. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  7179.  
  7180. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  7181. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  7182.  
  7183. /* interface IFileSinkFilter2 */
  7184. /* [unique][uuid][object] */ 
  7185.  
  7186.  
  7187. EXTERN_C const IID IID_IFileSinkFilter2;
  7188.  
  7189. #if defined(__cplusplus) && !defined(CINTERFACE)
  7190.     
  7191.     MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  7192.     IFileSinkFilter2 : public IFileSinkFilter
  7193.     {
  7194.     public:
  7195.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  7196.             /* [in] */ DWORD dwFlags) = 0;
  7197.         
  7198.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  7199.             /* [out] */ DWORD *pdwFlags) = 0;
  7200.         
  7201.     };
  7202.     
  7203. #else     /* C style interface */
  7204.  
  7205.     typedef struct IFileSinkFilter2Vtbl
  7206.     {
  7207.         BEGIN_INTERFACE
  7208.         
  7209.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7210.             IFileSinkFilter2 * This,
  7211.             /* [in] */ REFIID riid,
  7212.             /* [iid_is][out] */ void **ppvObject);
  7213.         
  7214.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7215.             IFileSinkFilter2 * This);
  7216.         
  7217.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7218.             IFileSinkFilter2 * This);
  7219.         
  7220.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7221.             IFileSinkFilter2 * This,
  7222.             /* [in] */ LPCOLESTR pszFileName,
  7223.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7224.         
  7225.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7226.             IFileSinkFilter2 * This,
  7227.             /* [out] */ LPOLESTR *ppszFileName,
  7228.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7229.         
  7230.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  7231.             IFileSinkFilter2 * This,
  7232.             /* [in] */ DWORD dwFlags);
  7233.         
  7234.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  7235.             IFileSinkFilter2 * This,
  7236.             /* [out] */ DWORD *pdwFlags);
  7237.         
  7238.         END_INTERFACE
  7239.     } IFileSinkFilter2Vtbl;
  7240.  
  7241.     interface IFileSinkFilter2
  7242.     {
  7243.         CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  7244.     };
  7245.  
  7246.     
  7247.  
  7248. #ifdef COBJMACROS
  7249.  
  7250.  
  7251. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)    \
  7252.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7253.  
  7254. #define IFileSinkFilter2_AddRef(This)    \
  7255.     (This)->lpVtbl -> AddRef(This)
  7256.  
  7257. #define IFileSinkFilter2_Release(This)    \
  7258.     (This)->lpVtbl -> Release(This)
  7259.  
  7260.  
  7261. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)    \
  7262.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7263.  
  7264. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)    \
  7265.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7266.  
  7267.  
  7268. #define IFileSinkFilter2_SetMode(This,dwFlags)    \
  7269.     (This)->lpVtbl -> SetMode(This,dwFlags)
  7270.  
  7271. #define IFileSinkFilter2_GetMode(This,pdwFlags)    \
  7272.     (This)->lpVtbl -> GetMode(This,pdwFlags)
  7273.  
  7274. #endif /* COBJMACROS */
  7275.  
  7276.  
  7277. #endif     /* C style interface */
  7278.  
  7279.  
  7280.  
  7281. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 
  7282.     IFileSinkFilter2 * This,
  7283.     /* [in] */ DWORD dwFlags);
  7284.  
  7285.  
  7286. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  7287.     IRpcStubBuffer *This,
  7288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7289.     PRPC_MESSAGE _pRpcMessage,
  7290.     DWORD *_pdwStubPhase);
  7291.  
  7292.  
  7293. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 
  7294.     IFileSinkFilter2 * This,
  7295.     /* [out] */ DWORD *pdwFlags);
  7296.  
  7297.  
  7298. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  7299.     IRpcStubBuffer *This,
  7300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7301.     PRPC_MESSAGE _pRpcMessage,
  7302.     DWORD *_pdwStubPhase);
  7303.  
  7304.  
  7305.  
  7306. #endif     /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  7307.  
  7308.  
  7309. /* interface __MIDL_itf_strmif_0145 */
  7310. /* [local] */ 
  7311.  
  7312. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  7313.  
  7314. typedef /* [public] */ 
  7315. enum __MIDL___MIDL_itf_strmif_0145_0001
  7316.     {    AM_FILE_OVERWRITE    = 0x1
  7317.     }     AM_FILESINK_FLAGS;
  7318.  
  7319.  
  7320.  
  7321. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
  7322. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
  7323.  
  7324. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  7325. #define __IGraphBuilder_INTERFACE_DEFINED__
  7326.  
  7327. /* interface IGraphBuilder */
  7328. /* [unique][uuid][object] */ 
  7329.  
  7330.  
  7331. EXTERN_C const IID IID_IGraphBuilder;
  7332.  
  7333. #if defined(__cplusplus) && !defined(CINTERFACE)
  7334.     
  7335.     MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  7336.     IGraphBuilder : public IFilterGraph
  7337.     {
  7338.     public:
  7339.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  7340.             /* [in] */ IPin *ppinOut,
  7341.             /* [in] */ IPin *ppinIn) = 0;
  7342.         
  7343.         virtual HRESULT STDMETHODCALLTYPE Render( 
  7344.             /* [in] */ IPin *ppinOut) = 0;
  7345.         
  7346.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  7347.             /* [in] */ LPCWSTR lpcwstrFile,
  7348.             /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  7349.         
  7350.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  7351.             /* [in] */ LPCWSTR lpcwstrFileName,
  7352.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7353.             /* [out] */ IBaseFilter **ppFilter) = 0;
  7354.         
  7355.         virtual HRESULT STDMETHODCALLTYPE SetLogFile( 
  7356.             /* [in] */ DWORD_PTR hFile) = 0;
  7357.         
  7358.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  7359.         
  7360.         virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  7361.         
  7362.     };
  7363.     
  7364. #else     /* C style interface */
  7365.  
  7366.     typedef struct IGraphBuilderVtbl
  7367.     {
  7368.         BEGIN_INTERFACE
  7369.         
  7370.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7371.             IGraphBuilder * This,
  7372.             /* [in] */ REFIID riid,
  7373.             /* [iid_is][out] */ void **ppvObject);
  7374.         
  7375.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7376.             IGraphBuilder * This);
  7377.         
  7378.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7379.             IGraphBuilder * This);
  7380.         
  7381.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  7382.             IGraphBuilder * This,
  7383.             /* [in] */ IBaseFilter *pFilter,
  7384.             /* [string][in] */ LPCWSTR pName);
  7385.         
  7386.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  7387.             IGraphBuilder * This,
  7388.             /* [in] */ IBaseFilter *pFilter);
  7389.         
  7390.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  7391.             IGraphBuilder * This,
  7392.             /* [out] */ IEnumFilters **ppEnum);
  7393.         
  7394.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  7395.             IGraphBuilder * This,
  7396.             /* [string][in] */ LPCWSTR pName,
  7397.             /* [out] */ IBaseFilter **ppFilter);
  7398.         
  7399.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  7400.             IGraphBuilder * This,
  7401.             /* [in] */ IPin *ppinOut,
  7402.             /* [in] */ IPin *ppinIn,
  7403.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7404.         
  7405.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  7406.             IGraphBuilder * This,
  7407.             /* [in] */ IPin *ppin);
  7408.         
  7409.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  7410.             IGraphBuilder * This,
  7411.             /* [in] */ IPin *ppin);
  7412.         
  7413.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  7414.             IGraphBuilder * This);
  7415.         
  7416.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  7417.             IGraphBuilder * This,
  7418.             /* [in] */ IPin *ppinOut,
  7419.             /* [in] */ IPin *ppinIn);
  7420.         
  7421.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  7422.             IGraphBuilder * This,
  7423.             /* [in] */ IPin *ppinOut);
  7424.         
  7425.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  7426.             IGraphBuilder * This,
  7427.             /* [in] */ LPCWSTR lpcwstrFile,
  7428.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7429.         
  7430.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  7431.             IGraphBuilder * This,
  7432.             /* [in] */ LPCWSTR lpcwstrFileName,
  7433.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7434.             /* [out] */ IBaseFilter **ppFilter);
  7435.         
  7436.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  7437.             IGraphBuilder * This,
  7438.             /* [in] */ DWORD_PTR hFile);
  7439.         
  7440.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  7441.             IGraphBuilder * This);
  7442.         
  7443.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  7444.             IGraphBuilder * This);
  7445.         
  7446.         END_INTERFACE
  7447.     } IGraphBuilderVtbl;
  7448.  
  7449.     interface IGraphBuilder
  7450.     {
  7451.         CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  7452.     };
  7453.  
  7454.     
  7455.  
  7456. #ifdef COBJMACROS
  7457.  
  7458.  
  7459. #define IGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7460.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7461.  
  7462. #define IGraphBuilder_AddRef(This)    \
  7463.     (This)->lpVtbl -> AddRef(This)
  7464.  
  7465. #define IGraphBuilder_Release(This)    \
  7466.     (This)->lpVtbl -> Release(This)
  7467.  
  7468.  
  7469. #define IGraphBuilder_AddFilter(This,pFilter,pName)    \
  7470.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  7471.  
  7472. #define IGraphBuilder_RemoveFilter(This,pFilter)    \
  7473.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  7474.  
  7475. #define IGraphBuilder_EnumFilters(This,ppEnum)    \
  7476.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  7477.  
  7478. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter)    \
  7479.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  7480.  
  7481. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  7482.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  7483.  
  7484. #define IGraphBuilder_Reconnect(This,ppin)    \
  7485.     (This)->lpVtbl -> Reconnect(This,ppin)
  7486.  
  7487. #define IGraphBuilder_Disconnect(This,ppin)    \
  7488.     (This)->lpVtbl -> Disconnect(This,ppin)
  7489.  
  7490. #define IGraphBuilder_SetDefaultSyncSource(This)    \
  7491.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  7492.  
  7493.  
  7494. #define IGraphBuilder_Connect(This,ppinOut,ppinIn)    \
  7495.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  7496.  
  7497. #define IGraphBuilder_Render(This,ppinOut)    \
  7498.     (This)->lpVtbl -> Render(This,ppinOut)
  7499.  
  7500. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  7501.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  7502.  
  7503. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  7504.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  7505.  
  7506. #define IGraphBuilder_SetLogFile(This,hFile)    \
  7507.     (This)->lpVtbl -> SetLogFile(This,hFile)
  7508.  
  7509. #define IGraphBuilder_Abort(This)    \
  7510.     (This)->lpVtbl -> Abort(This)
  7511.  
  7512. #define IGraphBuilder_ShouldOperationContinue(This)    \
  7513.     (This)->lpVtbl -> ShouldOperationContinue(This)
  7514.  
  7515. #endif /* COBJMACROS */
  7516.  
  7517.  
  7518. #endif     /* C style interface */
  7519.  
  7520.  
  7521.  
  7522. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 
  7523.     IGraphBuilder * This,
  7524.     /* [in] */ IPin *ppinOut,
  7525.     /* [in] */ IPin *ppinIn);
  7526.  
  7527.  
  7528. void __RPC_STUB IGraphBuilder_Connect_Stub(
  7529.     IRpcStubBuffer *This,
  7530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7531.     PRPC_MESSAGE _pRpcMessage,
  7532.     DWORD *_pdwStubPhase);
  7533.  
  7534.  
  7535. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 
  7536.     IGraphBuilder * This,
  7537.     /* [in] */ IPin *ppinOut);
  7538.  
  7539.  
  7540. void __RPC_STUB IGraphBuilder_Render_Stub(
  7541.     IRpcStubBuffer *This,
  7542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7543.     PRPC_MESSAGE _pRpcMessage,
  7544.     DWORD *_pdwStubPhase);
  7545.  
  7546.  
  7547. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 
  7548.     IGraphBuilder * This,
  7549.     /* [in] */ LPCWSTR lpcwstrFile,
  7550.     /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7551.  
  7552.  
  7553. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  7554.     IRpcStubBuffer *This,
  7555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7556.     PRPC_MESSAGE _pRpcMessage,
  7557.     DWORD *_pdwStubPhase);
  7558.  
  7559.  
  7560. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 
  7561.     IGraphBuilder * This,
  7562.     /* [in] */ LPCWSTR lpcwstrFileName,
  7563.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7564.     /* [out] */ IBaseFilter **ppFilter);
  7565.  
  7566.  
  7567. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  7568.     IRpcStubBuffer *This,
  7569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7570.     PRPC_MESSAGE _pRpcMessage,
  7571.     DWORD *_pdwStubPhase);
  7572.  
  7573.  
  7574. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 
  7575.     IGraphBuilder * This,
  7576.     /* [in] */ DWORD_PTR hFile);
  7577.  
  7578.  
  7579. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  7580.     IRpcStubBuffer *This,
  7581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7582.     PRPC_MESSAGE _pRpcMessage,
  7583.     DWORD *_pdwStubPhase);
  7584.  
  7585.  
  7586. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 
  7587.     IGraphBuilder * This);
  7588.  
  7589.  
  7590. void __RPC_STUB IGraphBuilder_Abort_Stub(
  7591.     IRpcStubBuffer *This,
  7592.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7593.     PRPC_MESSAGE _pRpcMessage,
  7594.     DWORD *_pdwStubPhase);
  7595.  
  7596.  
  7597. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 
  7598.     IGraphBuilder * This);
  7599.  
  7600.  
  7601. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  7602.     IRpcStubBuffer *This,
  7603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7604.     PRPC_MESSAGE _pRpcMessage,
  7605.     DWORD *_pdwStubPhase);
  7606.  
  7607.  
  7608.  
  7609. #endif     /* __IGraphBuilder_INTERFACE_DEFINED__ */
  7610.  
  7611.  
  7612. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7613. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7614.  
  7615. /* interface ICaptureGraphBuilder */
  7616. /* [unique][uuid][object] */ 
  7617.  
  7618.  
  7619. EXTERN_C const IID IID_ICaptureGraphBuilder;
  7620.  
  7621. #if defined(__cplusplus) && !defined(CINTERFACE)
  7622.     
  7623.     MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  7624.     ICaptureGraphBuilder : public IUnknown
  7625.     {
  7626.     public:
  7627.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7628.             /* [in] */ IGraphBuilder *pfg) = 0;
  7629.         
  7630.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7631.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7632.         
  7633.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7634.             /* [in] */ const GUID *pType,
  7635.             /* [in] */ LPCOLESTR lpstrFile,
  7636.             /* [out] */ IBaseFilter **ppf,
  7637.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7638.         
  7639.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7640.             /* [unique][in] */ const GUID *pCategory,
  7641.             /* [in] */ IBaseFilter *pf,
  7642.             /* [in] */ REFIID riid,
  7643.             /* [out] */ void **ppint) = 0;
  7644.         
  7645.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7646.             /* [in] */ const GUID *pCategory,
  7647.             /* [in] */ IUnknown *pSource,
  7648.             /* [in] */ IBaseFilter *pfCompressor,
  7649.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7650.         
  7651.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7652.             /* [in] */ const GUID *pCategory,
  7653.             /* [in] */ IBaseFilter *pFilter,
  7654.             /* [in] */ REFERENCE_TIME *pstart,
  7655.             /* [in] */ REFERENCE_TIME *pstop,
  7656.             /* [in] */ WORD wStartCookie,
  7657.             /* [in] */ WORD wStopCookie) = 0;
  7658.         
  7659.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7660.             /* [in] */ LPCOLESTR lpstr,
  7661.             /* [in] */ DWORDLONG dwlSize) = 0;
  7662.         
  7663.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7664.             /* [in] */ LPOLESTR lpwstrOld,
  7665.             /* [in] */ LPOLESTR lpwstrNew,
  7666.             /* [in] */ int fAllowEscAbort,
  7667.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  7668.         
  7669.     };
  7670.     
  7671. #else     /* C style interface */
  7672.  
  7673.     typedef struct ICaptureGraphBuilderVtbl
  7674.     {
  7675.         BEGIN_INTERFACE
  7676.         
  7677.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7678.             ICaptureGraphBuilder * This,
  7679.             /* [in] */ REFIID riid,
  7680.             /* [iid_is][out] */ void **ppvObject);
  7681.         
  7682.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7683.             ICaptureGraphBuilder * This);
  7684.         
  7685.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7686.             ICaptureGraphBuilder * This);
  7687.         
  7688.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  7689.             ICaptureGraphBuilder * This,
  7690.             /* [in] */ IGraphBuilder *pfg);
  7691.         
  7692.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  7693.             ICaptureGraphBuilder * This,
  7694.             /* [out] */ IGraphBuilder **ppfg);
  7695.         
  7696.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  7697.             ICaptureGraphBuilder * This,
  7698.             /* [in] */ const GUID *pType,
  7699.             /* [in] */ LPCOLESTR lpstrFile,
  7700.             /* [out] */ IBaseFilter **ppf,
  7701.             /* [out] */ IFileSinkFilter **ppSink);
  7702.         
  7703.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  7704.             ICaptureGraphBuilder * This,
  7705.             /* [unique][in] */ const GUID *pCategory,
  7706.             /* [in] */ IBaseFilter *pf,
  7707.             /* [in] */ REFIID riid,
  7708.             /* [out] */ void **ppint);
  7709.         
  7710.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  7711.             ICaptureGraphBuilder * This,
  7712.             /* [in] */ const GUID *pCategory,
  7713.             /* [in] */ IUnknown *pSource,
  7714.             /* [in] */ IBaseFilter *pfCompressor,
  7715.             /* [in] */ IBaseFilter *pfRenderer);
  7716.         
  7717.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  7718.             ICaptureGraphBuilder * This,
  7719.             /* [in] */ const GUID *pCategory,
  7720.             /* [in] */ IBaseFilter *pFilter,
  7721.             /* [in] */ REFERENCE_TIME *pstart,
  7722.             /* [in] */ REFERENCE_TIME *pstop,
  7723.             /* [in] */ WORD wStartCookie,
  7724.             /* [in] */ WORD wStopCookie);
  7725.         
  7726.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  7727.             ICaptureGraphBuilder * This,
  7728.             /* [in] */ LPCOLESTR lpstr,
  7729.             /* [in] */ DWORDLONG dwlSize);
  7730.         
  7731.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  7732.             ICaptureGraphBuilder * This,
  7733.             /* [in] */ LPOLESTR lpwstrOld,
  7734.             /* [in] */ LPOLESTR lpwstrNew,
  7735.             /* [in] */ int fAllowEscAbort,
  7736.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7737.         
  7738.         END_INTERFACE
  7739.     } ICaptureGraphBuilderVtbl;
  7740.  
  7741.     interface ICaptureGraphBuilder
  7742.     {
  7743.         CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  7744.     };
  7745.  
  7746.     
  7747.  
  7748. #ifdef COBJMACROS
  7749.  
  7750.  
  7751. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7752.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7753.  
  7754. #define ICaptureGraphBuilder_AddRef(This)    \
  7755.     (This)->lpVtbl -> AddRef(This)
  7756.  
  7757. #define ICaptureGraphBuilder_Release(This)    \
  7758.     (This)->lpVtbl -> Release(This)
  7759.  
  7760.  
  7761. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg)    \
  7762.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7763.  
  7764. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)    \
  7765.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7766.  
  7767. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7768.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7769.  
  7770. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)    \
  7771.     (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  7772.  
  7773. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)    \
  7774.     (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  7775.  
  7776. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7777.     (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7778.  
  7779. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)    \
  7780.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7781.  
  7782. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7783.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7784.  
  7785. #endif /* COBJMACROS */
  7786.  
  7787.  
  7788. #endif     /* C style interface */
  7789.  
  7790.  
  7791.  
  7792. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 
  7793.     ICaptureGraphBuilder * This,
  7794.     /* [in] */ IGraphBuilder *pfg);
  7795.  
  7796.  
  7797. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  7798.     IRpcStubBuffer *This,
  7799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7800.     PRPC_MESSAGE _pRpcMessage,
  7801.     DWORD *_pdwStubPhase);
  7802.  
  7803.  
  7804. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 
  7805.     ICaptureGraphBuilder * This,
  7806.     /* [out] */ IGraphBuilder **ppfg);
  7807.  
  7808.  
  7809. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  7810.     IRpcStubBuffer *This,
  7811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7812.     PRPC_MESSAGE _pRpcMessage,
  7813.     DWORD *_pdwStubPhase);
  7814.  
  7815.  
  7816. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 
  7817.     ICaptureGraphBuilder * This,
  7818.     /* [in] */ const GUID *pType,
  7819.     /* [in] */ LPCOLESTR lpstrFile,
  7820.     /* [out] */ IBaseFilter **ppf,
  7821.     /* [out] */ IFileSinkFilter **ppSink);
  7822.  
  7823.  
  7824. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  7825.     IRpcStubBuffer *This,
  7826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7827.     PRPC_MESSAGE _pRpcMessage,
  7828.     DWORD *_pdwStubPhase);
  7829.  
  7830.  
  7831. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 
  7832.     ICaptureGraphBuilder * This,
  7833.     /* [unique][in] */ const GUID *pCategory,
  7834.     /* [in] */ IBaseFilter *pf,
  7835.     /* [in] */ REFIID riid,
  7836.     /* [out] */ IUnknown **ppint);
  7837.  
  7838.  
  7839. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  7840.     IRpcStubBuffer *This,
  7841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7842.     PRPC_MESSAGE _pRpcMessage,
  7843.     DWORD *_pdwStubPhase);
  7844.  
  7845.  
  7846. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 
  7847.     ICaptureGraphBuilder * This,
  7848.     /* [in] */ const GUID *pCategory,
  7849.     /* [in] */ IUnknown *pSource,
  7850.     /* [in] */ IBaseFilter *pfCompressor,
  7851.     /* [in] */ IBaseFilter *pfRenderer);
  7852.  
  7853.  
  7854. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  7855.     IRpcStubBuffer *This,
  7856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7857.     PRPC_MESSAGE _pRpcMessage,
  7858.     DWORD *_pdwStubPhase);
  7859.  
  7860.  
  7861. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 
  7862.     ICaptureGraphBuilder * This,
  7863.     /* [in] */ const GUID *pCategory,
  7864.     /* [in] */ IBaseFilter *pFilter,
  7865.     /* [in] */ REFERENCE_TIME *pstart,
  7866.     /* [in] */ REFERENCE_TIME *pstop,
  7867.     /* [in] */ WORD wStartCookie,
  7868.     /* [in] */ WORD wStopCookie);
  7869.  
  7870.  
  7871. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  7872.     IRpcStubBuffer *This,
  7873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7874.     PRPC_MESSAGE _pRpcMessage,
  7875.     DWORD *_pdwStubPhase);
  7876.  
  7877.  
  7878. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 
  7879.     ICaptureGraphBuilder * This,
  7880.     /* [in] */ LPCOLESTR lpstr,
  7881.     /* [in] */ DWORDLONG dwlSize);
  7882.  
  7883.  
  7884. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  7885.     IRpcStubBuffer *This,
  7886.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7887.     PRPC_MESSAGE _pRpcMessage,
  7888.     DWORD *_pdwStubPhase);
  7889.  
  7890.  
  7891. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 
  7892.     ICaptureGraphBuilder * This,
  7893.     /* [in] */ LPOLESTR lpwstrOld,
  7894.     /* [in] */ LPOLESTR lpwstrNew,
  7895.     /* [in] */ int fAllowEscAbort,
  7896.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7897.  
  7898.  
  7899. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  7900.     IRpcStubBuffer *This,
  7901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7902.     PRPC_MESSAGE _pRpcMessage,
  7903.     DWORD *_pdwStubPhase);
  7904.  
  7905.  
  7906.  
  7907. #endif     /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  7908.  
  7909.  
  7910. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7911. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7912.  
  7913. /* interface IAMCopyCaptureFileProgress */
  7914. /* [unique][uuid][object] */ 
  7915.  
  7916.  
  7917. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  7918.  
  7919. #if defined(__cplusplus) && !defined(CINTERFACE)
  7920.     
  7921.     MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  7922.     IAMCopyCaptureFileProgress : public IUnknown
  7923.     {
  7924.     public:
  7925.         virtual HRESULT STDMETHODCALLTYPE Progress( 
  7926.             /* [in] */ int iProgress) = 0;
  7927.         
  7928.     };
  7929.     
  7930. #else     /* C style interface */
  7931.  
  7932.     typedef struct IAMCopyCaptureFileProgressVtbl
  7933.     {
  7934.         BEGIN_INTERFACE
  7935.         
  7936.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7937.             IAMCopyCaptureFileProgress * This,
  7938.             /* [in] */ REFIID riid,
  7939.             /* [iid_is][out] */ void **ppvObject);
  7940.         
  7941.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7942.             IAMCopyCaptureFileProgress * This);
  7943.         
  7944.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7945.             IAMCopyCaptureFileProgress * This);
  7946.         
  7947.         HRESULT ( STDMETHODCALLTYPE *Progress )( 
  7948.             IAMCopyCaptureFileProgress * This,
  7949.             /* [in] */ int iProgress);
  7950.         
  7951.         END_INTERFACE
  7952.     } IAMCopyCaptureFileProgressVtbl;
  7953.  
  7954.     interface IAMCopyCaptureFileProgress
  7955.     {
  7956.         CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  7957.     };
  7958.  
  7959.     
  7960.  
  7961. #ifdef COBJMACROS
  7962.  
  7963.  
  7964. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)    \
  7965.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7966.  
  7967. #define IAMCopyCaptureFileProgress_AddRef(This)    \
  7968.     (This)->lpVtbl -> AddRef(This)
  7969.  
  7970. #define IAMCopyCaptureFileProgress_Release(This)    \
  7971.     (This)->lpVtbl -> Release(This)
  7972.  
  7973.  
  7974. #define IAMCopyCaptureFileProgress_Progress(This,iProgress)    \
  7975.     (This)->lpVtbl -> Progress(This,iProgress)
  7976.  
  7977. #endif /* COBJMACROS */
  7978.  
  7979.  
  7980. #endif     /* C style interface */
  7981.  
  7982.  
  7983.  
  7984. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 
  7985.     IAMCopyCaptureFileProgress * This,
  7986.     /* [in] */ int iProgress);
  7987.  
  7988.  
  7989. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  7990.     IRpcStubBuffer *This,
  7991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7992.     PRPC_MESSAGE _pRpcMessage,
  7993.     DWORD *_pdwStubPhase);
  7994.  
  7995.  
  7996.  
  7997. #endif     /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  7998.  
  7999.  
  8000. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  8001. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  8002.  
  8003. /* interface ICaptureGraphBuilder2 */
  8004. /* [unique][uuid][object] */ 
  8005.  
  8006.  
  8007. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  8008.  
  8009. #if defined(__cplusplus) && !defined(CINTERFACE)
  8010.     
  8011.     MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  8012.     ICaptureGraphBuilder2 : public IUnknown
  8013.     {
  8014.     public:
  8015.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  8016.             /* [in] */ IGraphBuilder *pfg) = 0;
  8017.         
  8018.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  8019.             /* [out] */ IGraphBuilder **ppfg) = 0;
  8020.         
  8021.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  8022.             /* [in] */ const GUID *pType,
  8023.             /* [in] */ LPCOLESTR lpstrFile,
  8024.             /* [out] */ IBaseFilter **ppf,
  8025.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  8026.         
  8027.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  8028.             /* [in] */ const GUID *pCategory,
  8029.             /* [in] */ const GUID *pType,
  8030.             /* [in] */ IBaseFilter *pf,
  8031.             /* [in] */ REFIID riid,
  8032.             /* [out] */ void **ppint) = 0;
  8033.         
  8034.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  8035.             /* [in] */ const GUID *pCategory,
  8036.             /* [in] */ const GUID *pType,
  8037.             /* [in] */ IUnknown *pSource,
  8038.             /* [in] */ IBaseFilter *pfCompressor,
  8039.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  8040.         
  8041.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  8042.             /* [in] */ const GUID *pCategory,
  8043.             /* [in] */ const GUID *pType,
  8044.             /* [in] */ IBaseFilter *pFilter,
  8045.             /* [in] */ REFERENCE_TIME *pstart,
  8046.             /* [in] */ REFERENCE_TIME *pstop,
  8047.             /* [in] */ WORD wStartCookie,
  8048.             /* [in] */ WORD wStopCookie) = 0;
  8049.         
  8050.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  8051.             /* [in] */ LPCOLESTR lpstr,
  8052.             /* [in] */ DWORDLONG dwlSize) = 0;
  8053.         
  8054.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  8055.             /* [in] */ LPOLESTR lpwstrOld,
  8056.             /* [in] */ LPOLESTR lpwstrNew,
  8057.             /* [in] */ int fAllowEscAbort,
  8058.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  8059.         
  8060.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  8061.             /* [in] */ IUnknown *pSource,
  8062.             /* [in] */ PIN_DIRECTION pindir,
  8063.             /* [in] */ const GUID *pCategory,
  8064.             /* [in] */ const GUID *pType,
  8065.             /* [in] */ BOOL fUnconnected,
  8066.             /* [in] */ int num,
  8067.             /* [out] */ IPin **ppPin) = 0;
  8068.         
  8069.     };
  8070.     
  8071. #else     /* C style interface */
  8072.  
  8073.     typedef struct ICaptureGraphBuilder2Vtbl
  8074.     {
  8075.         BEGIN_INTERFACE
  8076.         
  8077.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8078.             ICaptureGraphBuilder2 * This,
  8079.             /* [in] */ REFIID riid,
  8080.             /* [iid_is][out] */ void **ppvObject);
  8081.         
  8082.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8083.             ICaptureGraphBuilder2 * This);
  8084.         
  8085.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8086.             ICaptureGraphBuilder2 * This);
  8087.         
  8088.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  8089.             ICaptureGraphBuilder2 * This,
  8090.             /* [in] */ IGraphBuilder *pfg);
  8091.         
  8092.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  8093.             ICaptureGraphBuilder2 * This,
  8094.             /* [out] */ IGraphBuilder **ppfg);
  8095.         
  8096.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  8097.             ICaptureGraphBuilder2 * This,
  8098.             /* [in] */ const GUID *pType,
  8099.             /* [in] */ LPCOLESTR lpstrFile,
  8100.             /* [out] */ IBaseFilter **ppf,
  8101.             /* [out] */ IFileSinkFilter **ppSink);
  8102.         
  8103.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  8104.             ICaptureGraphBuilder2 * This,
  8105.             /* [in] */ const GUID *pCategory,
  8106.             /* [in] */ const GUID *pType,
  8107.             /* [in] */ IBaseFilter *pf,
  8108.             /* [in] */ REFIID riid,
  8109.             /* [out] */ void **ppint);
  8110.         
  8111.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  8112.             ICaptureGraphBuilder2 * This,
  8113.             /* [in] */ const GUID *pCategory,
  8114.             /* [in] */ const GUID *pType,
  8115.             /* [in] */ IUnknown *pSource,
  8116.             /* [in] */ IBaseFilter *pfCompressor,
  8117.             /* [in] */ IBaseFilter *pfRenderer);
  8118.         
  8119.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  8120.             ICaptureGraphBuilder2 * This,
  8121.             /* [in] */ const GUID *pCategory,
  8122.             /* [in] */ const GUID *pType,
  8123.             /* [in] */ IBaseFilter *pFilter,
  8124.             /* [in] */ REFERENCE_TIME *pstart,
  8125.             /* [in] */ REFERENCE_TIME *pstop,
  8126.             /* [in] */ WORD wStartCookie,
  8127.             /* [in] */ WORD wStopCookie);
  8128.         
  8129.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  8130.             ICaptureGraphBuilder2 * This,
  8131.             /* [in] */ LPCOLESTR lpstr,
  8132.             /* [in] */ DWORDLONG dwlSize);
  8133.         
  8134.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  8135.             ICaptureGraphBuilder2 * This,
  8136.             /* [in] */ LPOLESTR lpwstrOld,
  8137.             /* [in] */ LPOLESTR lpwstrNew,
  8138.             /* [in] */ int fAllowEscAbort,
  8139.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8140.         
  8141.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  8142.             ICaptureGraphBuilder2 * This,
  8143.             /* [in] */ IUnknown *pSource,
  8144.             /* [in] */ PIN_DIRECTION pindir,
  8145.             /* [in] */ const GUID *pCategory,
  8146.             /* [in] */ const GUID *pType,
  8147.             /* [in] */ BOOL fUnconnected,
  8148.             /* [in] */ int num,
  8149.             /* [out] */ IPin **ppPin);
  8150.         
  8151.         END_INTERFACE
  8152.     } ICaptureGraphBuilder2Vtbl;
  8153.  
  8154.     interface ICaptureGraphBuilder2
  8155.     {
  8156.         CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  8157.     };
  8158.  
  8159.     
  8160.  
  8161. #ifdef COBJMACROS
  8162.  
  8163.  
  8164. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)    \
  8165.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8166.  
  8167. #define ICaptureGraphBuilder2_AddRef(This)    \
  8168.     (This)->lpVtbl -> AddRef(This)
  8169.  
  8170. #define ICaptureGraphBuilder2_Release(This)    \
  8171.     (This)->lpVtbl -> Release(This)
  8172.  
  8173.  
  8174. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)    \
  8175.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  8176.  
  8177. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)    \
  8178.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  8179.  
  8180. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  8181.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  8182.  
  8183. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)    \
  8184.     (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  8185.  
  8186. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)    \
  8187.     (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  8188.  
  8189. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  8190.     (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  8191.  
  8192. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)    \
  8193.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  8194.  
  8195. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  8196.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  8197.  
  8198. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)    \
  8199.     (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  8200.  
  8201. #endif /* COBJMACROS */
  8202.  
  8203.  
  8204. #endif     /* C style interface */
  8205.  
  8206.  
  8207.  
  8208. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 
  8209.     ICaptureGraphBuilder2 * This,
  8210.     /* [in] */ IGraphBuilder *pfg);
  8211.  
  8212.  
  8213. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  8214.     IRpcStubBuffer *This,
  8215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8216.     PRPC_MESSAGE _pRpcMessage,
  8217.     DWORD *_pdwStubPhase);
  8218.  
  8219.  
  8220. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 
  8221.     ICaptureGraphBuilder2 * This,
  8222.     /* [out] */ IGraphBuilder **ppfg);
  8223.  
  8224.  
  8225. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  8226.     IRpcStubBuffer *This,
  8227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8228.     PRPC_MESSAGE _pRpcMessage,
  8229.     DWORD *_pdwStubPhase);
  8230.  
  8231.  
  8232. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 
  8233.     ICaptureGraphBuilder2 * This,
  8234.     /* [in] */ const GUID *pType,
  8235.     /* [in] */ LPCOLESTR lpstrFile,
  8236.     /* [out] */ IBaseFilter **ppf,
  8237.     /* [out] */ IFileSinkFilter **ppSink);
  8238.  
  8239.  
  8240. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  8241.     IRpcStubBuffer *This,
  8242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8243.     PRPC_MESSAGE _pRpcMessage,
  8244.     DWORD *_pdwStubPhase);
  8245.  
  8246.  
  8247. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 
  8248.     ICaptureGraphBuilder2 * This,
  8249.     /* [in] */ const GUID *pCategory,
  8250.     /* [in] */ const GUID *pType,
  8251.     /* [in] */ IBaseFilter *pf,
  8252.     /* [in] */ REFIID riid,
  8253.     /* [out] */ IUnknown **ppint);
  8254.  
  8255.  
  8256. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  8257.     IRpcStubBuffer *This,
  8258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8259.     PRPC_MESSAGE _pRpcMessage,
  8260.     DWORD *_pdwStubPhase);
  8261.  
  8262.  
  8263. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 
  8264.     ICaptureGraphBuilder2 * This,
  8265.     /* [in] */ const GUID *pCategory,
  8266.     /* [in] */ const GUID *pType,
  8267.     /* [in] */ IUnknown *pSource,
  8268.     /* [in] */ IBaseFilter *pfCompressor,
  8269.     /* [in] */ IBaseFilter *pfRenderer);
  8270.  
  8271.  
  8272. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  8273.     IRpcStubBuffer *This,
  8274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8275.     PRPC_MESSAGE _pRpcMessage,
  8276.     DWORD *_pdwStubPhase);
  8277.  
  8278.  
  8279. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 
  8280.     ICaptureGraphBuilder2 * This,
  8281.     /* [in] */ const GUID *pCategory,
  8282.     /* [in] */ const GUID *pType,
  8283.     /* [in] */ IBaseFilter *pFilter,
  8284.     /* [in] */ REFERENCE_TIME *pstart,
  8285.     /* [in] */ REFERENCE_TIME *pstop,
  8286.     /* [in] */ WORD wStartCookie,
  8287.     /* [in] */ WORD wStopCookie);
  8288.  
  8289.  
  8290. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  8291.     IRpcStubBuffer *This,
  8292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8293.     PRPC_MESSAGE _pRpcMessage,
  8294.     DWORD *_pdwStubPhase);
  8295.  
  8296.  
  8297. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 
  8298.     ICaptureGraphBuilder2 * This,
  8299.     /* [in] */ LPCOLESTR lpstr,
  8300.     /* [in] */ DWORDLONG dwlSize);
  8301.  
  8302.  
  8303. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  8304.     IRpcStubBuffer *This,
  8305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8306.     PRPC_MESSAGE _pRpcMessage,
  8307.     DWORD *_pdwStubPhase);
  8308.  
  8309.  
  8310. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 
  8311.     ICaptureGraphBuilder2 * This,
  8312.     /* [in] */ LPOLESTR lpwstrOld,
  8313.     /* [in] */ LPOLESTR lpwstrNew,
  8314.     /* [in] */ int fAllowEscAbort,
  8315.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8316.  
  8317.  
  8318. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  8319.     IRpcStubBuffer *This,
  8320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8321.     PRPC_MESSAGE _pRpcMessage,
  8322.     DWORD *_pdwStubPhase);
  8323.  
  8324.  
  8325. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 
  8326.     ICaptureGraphBuilder2 * This,
  8327.     /* [in] */ IUnknown *pSource,
  8328.     /* [in] */ PIN_DIRECTION pindir,
  8329.     /* [in] */ const GUID *pCategory,
  8330.     /* [in] */ const GUID *pType,
  8331.     /* [in] */ BOOL fUnconnected,
  8332.     /* [in] */ int num,
  8333.     /* [out] */ IPin **ppPin);
  8334.  
  8335.  
  8336. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  8337.     IRpcStubBuffer *This,
  8338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8339.     PRPC_MESSAGE _pRpcMessage,
  8340.     DWORD *_pdwStubPhase);
  8341.  
  8342.  
  8343.  
  8344. #endif     /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  8345.  
  8346.  
  8347. /* interface __MIDL_itf_strmif_0149 */
  8348. /* [local] */ 
  8349.  
  8350.  
  8351. enum _AM_RENSDEREXFLAGS
  8352.     {    AM_RENDEREX_RENDERTOEXISTINGRENDERERS    = 0x1
  8353.     } ;
  8354.  
  8355.  
  8356. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
  8357. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
  8358.  
  8359. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  8360. #define __IFilterGraph2_INTERFACE_DEFINED__
  8361.  
  8362. /* interface IFilterGraph2 */
  8363. /* [unique][uuid][object] */ 
  8364.  
  8365.  
  8366. EXTERN_C const IID IID_IFilterGraph2;
  8367.  
  8368. #if defined(__cplusplus) && !defined(CINTERFACE)
  8369.     
  8370.     MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  8371.     IFilterGraph2 : public IGraphBuilder
  8372.     {
  8373.     public:
  8374.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 
  8375.             /* [in] */ IMoniker *pMoniker,
  8376.             /* [in] */ IBindCtx *pCtx,
  8377.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8378.             /* [out] */ IBaseFilter **ppFilter) = 0;
  8379.         
  8380.         virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 
  8381.             /* [in] */ IPin *ppin,
  8382.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  8383.         
  8384.         virtual HRESULT STDMETHODCALLTYPE RenderEx( 
  8385.             /* [in] */ IPin *pPinOut,
  8386.             /* [in] */ DWORD dwFlags,
  8387.             /* [out][in] */ DWORD *pvContext) = 0;
  8388.         
  8389.     };
  8390.     
  8391. #else     /* C style interface */
  8392.  
  8393.     typedef struct IFilterGraph2Vtbl
  8394.     {
  8395.         BEGIN_INTERFACE
  8396.         
  8397.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8398.             IFilterGraph2 * This,
  8399.             /* [in] */ REFIID riid,
  8400.             /* [iid_is][out] */ void **ppvObject);
  8401.         
  8402.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8403.             IFilterGraph2 * This);
  8404.         
  8405.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8406.             IFilterGraph2 * This);
  8407.         
  8408.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  8409.             IFilterGraph2 * This,
  8410.             /* [in] */ IBaseFilter *pFilter,
  8411.             /* [string][in] */ LPCWSTR pName);
  8412.         
  8413.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  8414.             IFilterGraph2 * This,
  8415.             /* [in] */ IBaseFilter *pFilter);
  8416.         
  8417.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  8418.             IFilterGraph2 * This,
  8419.             /* [out] */ IEnumFilters **ppEnum);
  8420.         
  8421.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  8422.             IFilterGraph2 * This,
  8423.             /* [string][in] */ LPCWSTR pName,
  8424.             /* [out] */ IBaseFilter **ppFilter);
  8425.         
  8426.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  8427.             IFilterGraph2 * This,
  8428.             /* [in] */ IPin *ppinOut,
  8429.             /* [in] */ IPin *ppinIn,
  8430.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8431.         
  8432.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  8433.             IFilterGraph2 * This,
  8434.             /* [in] */ IPin *ppin);
  8435.         
  8436.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  8437.             IFilterGraph2 * This,
  8438.             /* [in] */ IPin *ppin);
  8439.         
  8440.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  8441.             IFilterGraph2 * This);
  8442.         
  8443.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  8444.             IFilterGraph2 * This,
  8445.             /* [in] */ IPin *ppinOut,
  8446.             /* [in] */ IPin *ppinIn);
  8447.         
  8448.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8449.             IFilterGraph2 * This,
  8450.             /* [in] */ IPin *ppinOut);
  8451.         
  8452.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  8453.             IFilterGraph2 * This,
  8454.             /* [in] */ LPCWSTR lpcwstrFile,
  8455.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  8456.         
  8457.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  8458.             IFilterGraph2 * This,
  8459.             /* [in] */ LPCWSTR lpcwstrFileName,
  8460.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8461.             /* [out] */ IBaseFilter **ppFilter);
  8462.         
  8463.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  8464.             IFilterGraph2 * This,
  8465.             /* [in] */ DWORD_PTR hFile);
  8466.         
  8467.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  8468.             IFilterGraph2 * This);
  8469.         
  8470.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  8471.             IFilterGraph2 * This);
  8472.         
  8473.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )( 
  8474.             IFilterGraph2 * This,
  8475.             /* [in] */ IMoniker *pMoniker,
  8476.             /* [in] */ IBindCtx *pCtx,
  8477.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8478.             /* [out] */ IBaseFilter **ppFilter);
  8479.         
  8480.         HRESULT ( STDMETHODCALLTYPE *ReconnectEx )( 
  8481.             IFilterGraph2 * This,
  8482.             /* [in] */ IPin *ppin,
  8483.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8484.         
  8485.         HRESULT ( STDMETHODCALLTYPE *RenderEx )( 
  8486.             IFilterGraph2 * This,
  8487.             /* [in] */ IPin *pPinOut,
  8488.             /* [in] */ DWORD dwFlags,
  8489.             /* [out][in] */ DWORD *pvContext);
  8490.         
  8491.         END_INTERFACE
  8492.     } IFilterGraph2Vtbl;
  8493.  
  8494.     interface IFilterGraph2
  8495.     {
  8496.         CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  8497.     };
  8498.  
  8499.     
  8500.  
  8501. #ifdef COBJMACROS
  8502.  
  8503.  
  8504. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)    \
  8505.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8506.  
  8507. #define IFilterGraph2_AddRef(This)    \
  8508.     (This)->lpVtbl -> AddRef(This)
  8509.  
  8510. #define IFilterGraph2_Release(This)    \
  8511.     (This)->lpVtbl -> Release(This)
  8512.  
  8513.  
  8514. #define IFilterGraph2_AddFilter(This,pFilter,pName)    \
  8515.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  8516.  
  8517. #define IFilterGraph2_RemoveFilter(This,pFilter)    \
  8518.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  8519.  
  8520. #define IFilterGraph2_EnumFilters(This,ppEnum)    \
  8521.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  8522.  
  8523. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)    \
  8524.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  8525.  
  8526. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  8527.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  8528.  
  8529. #define IFilterGraph2_Reconnect(This,ppin)    \
  8530.     (This)->lpVtbl -> Reconnect(This,ppin)
  8531.  
  8532. #define IFilterGraph2_Disconnect(This,ppin)    \
  8533.     (This)->lpVtbl -> Disconnect(This,ppin)
  8534.  
  8535. #define IFilterGraph2_SetDefaultSyncSource(This)    \
  8536.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  8537.  
  8538.  
  8539. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)    \
  8540.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  8541.  
  8542. #define IFilterGraph2_Render(This,ppinOut)    \
  8543.     (This)->lpVtbl -> Render(This,ppinOut)
  8544.  
  8545. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  8546.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  8547.  
  8548. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  8549.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  8550.  
  8551. #define IFilterGraph2_SetLogFile(This,hFile)    \
  8552.     (This)->lpVtbl -> SetLogFile(This,hFile)
  8553.  
  8554. #define IFilterGraph2_Abort(This)    \
  8555.     (This)->lpVtbl -> Abort(This)
  8556.  
  8557. #define IFilterGraph2_ShouldOperationContinue(This)    \
  8558.     (This)->lpVtbl -> ShouldOperationContinue(This)
  8559.  
  8560.  
  8561. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)    \
  8562.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  8563.  
  8564. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)    \
  8565.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  8566.  
  8567. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)    \
  8568.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  8569.  
  8570. #endif /* COBJMACROS */
  8571.  
  8572.  
  8573. #endif     /* C style interface */
  8574.  
  8575.  
  8576.  
  8577. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  8578.     IFilterGraph2 * This,
  8579.     /* [in] */ IMoniker *pMoniker,
  8580.     /* [in] */ IBindCtx *pCtx,
  8581.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8582.     /* [out] */ IBaseFilter **ppFilter);
  8583.  
  8584.  
  8585. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  8586.     IRpcStubBuffer *This,
  8587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8588.     PRPC_MESSAGE _pRpcMessage,
  8589.     DWORD *_pdwStubPhase);
  8590.  
  8591.  
  8592. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  8593.     IFilterGraph2 * This,
  8594.     /* [in] */ IPin *ppin,
  8595.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8596.  
  8597.  
  8598. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  8599.     IRpcStubBuffer *This,
  8600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8601.     PRPC_MESSAGE _pRpcMessage,
  8602.     DWORD *_pdwStubPhase);
  8603.  
  8604.  
  8605. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  8606.     IFilterGraph2 * This,
  8607.     /* [in] */ IPin *pPinOut,
  8608.     /* [in] */ DWORD dwFlags,
  8609.     /* [out][in] */ DWORD *pvContext);
  8610.  
  8611.  
  8612. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  8613.     IRpcStubBuffer *This,
  8614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8615.     PRPC_MESSAGE _pRpcMessage,
  8616.     DWORD *_pdwStubPhase);
  8617.  
  8618.  
  8619.  
  8620. #endif     /* __IFilterGraph2_INTERFACE_DEFINED__ */
  8621.  
  8622.  
  8623. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  8624. #define __IStreamBuilder_INTERFACE_DEFINED__
  8625.  
  8626. /* interface IStreamBuilder */
  8627. /* [unique][uuid][local][object] */ 
  8628.  
  8629.  
  8630. EXTERN_C const IID IID_IStreamBuilder;
  8631.  
  8632. #if defined(__cplusplus) && !defined(CINTERFACE)
  8633.     
  8634.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  8635.     IStreamBuilder : public IUnknown
  8636.     {
  8637.     public:
  8638.         virtual HRESULT STDMETHODCALLTYPE Render( 
  8639.             /* [in] */ IPin *ppinOut,
  8640.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8641.         
  8642.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  8643.             /* [in] */ IPin *ppinOut,
  8644.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8645.         
  8646.     };
  8647.     
  8648. #else     /* C style interface */
  8649.  
  8650.     typedef struct IStreamBuilderVtbl
  8651.     {
  8652.         BEGIN_INTERFACE
  8653.         
  8654.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8655.             IStreamBuilder * This,
  8656.             /* [in] */ REFIID riid,
  8657.             /* [iid_is][out] */ void **ppvObject);
  8658.         
  8659.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8660.             IStreamBuilder * This);
  8661.         
  8662.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8663.             IStreamBuilder * This);
  8664.         
  8665.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8666.             IStreamBuilder * This,
  8667.             /* [in] */ IPin *ppinOut,
  8668.             /* [in] */ IGraphBuilder *pGraph);
  8669.         
  8670.         HRESULT ( STDMETHODCALLTYPE *Backout )( 
  8671.             IStreamBuilder * This,
  8672.             /* [in] */ IPin *ppinOut,
  8673.             /* [in] */ IGraphBuilder *pGraph);
  8674.         
  8675.         END_INTERFACE
  8676.     } IStreamBuilderVtbl;
  8677.  
  8678.     interface IStreamBuilder
  8679.     {
  8680.         CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  8681.     };
  8682.  
  8683.     
  8684.  
  8685. #ifdef COBJMACROS
  8686.  
  8687.  
  8688. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)    \
  8689.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8690.  
  8691. #define IStreamBuilder_AddRef(This)    \
  8692.     (This)->lpVtbl -> AddRef(This)
  8693.  
  8694. #define IStreamBuilder_Release(This)    \
  8695.     (This)->lpVtbl -> Release(This)
  8696.  
  8697.  
  8698. #define IStreamBuilder_Render(This,ppinOut,pGraph)    \
  8699.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  8700.  
  8701. #define IStreamBuilder_Backout(This,ppinOut,pGraph)    \
  8702.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  8703.  
  8704. #endif /* COBJMACROS */
  8705.  
  8706.  
  8707. #endif     /* C style interface */
  8708.  
  8709.  
  8710.  
  8711. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  8712.     IStreamBuilder * This,
  8713.     /* [in] */ IPin *ppinOut,
  8714.     /* [in] */ IGraphBuilder *pGraph);
  8715.  
  8716.  
  8717. void __RPC_STUB IStreamBuilder_Render_Stub(
  8718.     IRpcStubBuffer *This,
  8719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8720.     PRPC_MESSAGE _pRpcMessage,
  8721.     DWORD *_pdwStubPhase);
  8722.  
  8723.  
  8724. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  8725.     IStreamBuilder * This,
  8726.     /* [in] */ IPin *ppinOut,
  8727.     /* [in] */ IGraphBuilder *pGraph);
  8728.  
  8729.  
  8730. void __RPC_STUB IStreamBuilder_Backout_Stub(
  8731.     IRpcStubBuffer *This,
  8732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8733.     PRPC_MESSAGE _pRpcMessage,
  8734.     DWORD *_pdwStubPhase);
  8735.  
  8736.  
  8737.  
  8738. #endif     /* __IStreamBuilder_INTERFACE_DEFINED__ */
  8739.  
  8740.  
  8741. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  8742. #define __IAsyncReader_INTERFACE_DEFINED__
  8743.  
  8744. /* interface IAsyncReader */
  8745. /* [unique][uuid][object] */ 
  8746.  
  8747.  
  8748. EXTERN_C const IID IID_IAsyncReader;
  8749.  
  8750. #if defined(__cplusplus) && !defined(CINTERFACE)
  8751.     
  8752.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  8753.     IAsyncReader : public IUnknown
  8754.     {
  8755.     public:
  8756.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  8757.             /* [in] */ IMemAllocator *pPreferred,
  8758.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8759.             /* [out] */ IMemAllocator **ppActual) = 0;
  8760.         
  8761.         virtual HRESULT STDMETHODCALLTYPE Request( 
  8762.             /* [in] */ IMediaSample *pSample,
  8763.             /* [in] */ DWORD_PTR dwUser) = 0;
  8764.         
  8765.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  8766.             /* [in] */ DWORD dwTimeout,
  8767.             /* [out] */ IMediaSample **ppSample,
  8768.             /* [out] */ DWORD_PTR *pdwUser) = 0;
  8769.         
  8770.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  8771.             /* [in] */ IMediaSample *pSample) = 0;
  8772.         
  8773.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  8774.             /* [in] */ LONGLONG llPosition,
  8775.             /* [in] */ LONG lLength,
  8776.             /* [size_is][out] */ BYTE *pBuffer) = 0;
  8777.         
  8778.         virtual HRESULT STDMETHODCALLTYPE Length( 
  8779.             /* [out] */ LONGLONG *pTotal,
  8780.             /* [out] */ LONGLONG *pAvailable) = 0;
  8781.         
  8782.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  8783.         
  8784.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  8785.         
  8786.     };
  8787.     
  8788. #else     /* C style interface */
  8789.  
  8790.     typedef struct IAsyncReaderVtbl
  8791.     {
  8792.         BEGIN_INTERFACE
  8793.         
  8794.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8795.             IAsyncReader * This,
  8796.             /* [in] */ REFIID riid,
  8797.             /* [iid_is][out] */ void **ppvObject);
  8798.         
  8799.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8800.             IAsyncReader * This);
  8801.         
  8802.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8803.             IAsyncReader * This);
  8804.         
  8805.         HRESULT ( STDMETHODCALLTYPE *RequestAllocator )( 
  8806.             IAsyncReader * This,
  8807.             /* [in] */ IMemAllocator *pPreferred,
  8808.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8809.             /* [out] */ IMemAllocator **ppActual);
  8810.         
  8811.         HRESULT ( STDMETHODCALLTYPE *Request )( 
  8812.             IAsyncReader * This,
  8813.             /* [in] */ IMediaSample *pSample,
  8814.             /* [in] */ DWORD_PTR dwUser);
  8815.         
  8816.         HRESULT ( STDMETHODCALLTYPE *WaitForNext )( 
  8817.             IAsyncReader * This,
  8818.             /* [in] */ DWORD dwTimeout,
  8819.             /* [out] */ IMediaSample **ppSample,
  8820.             /* [out] */ DWORD_PTR *pdwUser);
  8821.         
  8822.         HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )( 
  8823.             IAsyncReader * This,
  8824.             /* [in] */ IMediaSample *pSample);
  8825.         
  8826.         HRESULT ( STDMETHODCALLTYPE *SyncRead )( 
  8827.             IAsyncReader * This,
  8828.             /* [in] */ LONGLONG llPosition,
  8829.             /* [in] */ LONG lLength,
  8830.             /* [size_is][out] */ BYTE *pBuffer);
  8831.         
  8832.         HRESULT ( STDMETHODCALLTYPE *Length )( 
  8833.             IAsyncReader * This,
  8834.             /* [out] */ LONGLONG *pTotal,
  8835.             /* [out] */ LONGLONG *pAvailable);
  8836.         
  8837.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  8838.             IAsyncReader * This);
  8839.         
  8840.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  8841.             IAsyncReader * This);
  8842.         
  8843.         END_INTERFACE
  8844.     } IAsyncReaderVtbl;
  8845.  
  8846.     interface IAsyncReader
  8847.     {
  8848.         CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  8849.     };
  8850.  
  8851.     
  8852.  
  8853. #ifdef COBJMACROS
  8854.  
  8855.  
  8856. #define IAsyncReader_QueryInterface(This,riid,ppvObject)    \
  8857.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8858.  
  8859. #define IAsyncReader_AddRef(This)    \
  8860.     (This)->lpVtbl -> AddRef(This)
  8861.  
  8862. #define IAsyncReader_Release(This)    \
  8863.     (This)->lpVtbl -> Release(This)
  8864.  
  8865.  
  8866. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)    \
  8867.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  8868.  
  8869. #define IAsyncReader_Request(This,pSample,dwUser)    \
  8870.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  8871.  
  8872. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)    \
  8873.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  8874.  
  8875. #define IAsyncReader_SyncReadAligned(This,pSample)    \
  8876.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  8877.  
  8878. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)    \
  8879.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  8880.  
  8881. #define IAsyncReader_Length(This,pTotal,pAvailable)    \
  8882.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  8883.  
  8884. #define IAsyncReader_BeginFlush(This)    \
  8885.     (This)->lpVtbl -> BeginFlush(This)
  8886.  
  8887. #define IAsyncReader_EndFlush(This)    \
  8888.     (This)->lpVtbl -> EndFlush(This)
  8889.  
  8890. #endif /* COBJMACROS */
  8891.  
  8892.  
  8893. #endif     /* C style interface */
  8894.  
  8895.  
  8896.  
  8897. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  8898.     IAsyncReader * This,
  8899.     /* [in] */ IMemAllocator *pPreferred,
  8900.     /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8901.     /* [out] */ IMemAllocator **ppActual);
  8902.  
  8903.  
  8904. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  8905.     IRpcStubBuffer *This,
  8906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8907.     PRPC_MESSAGE _pRpcMessage,
  8908.     DWORD *_pdwStubPhase);
  8909.  
  8910.  
  8911. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  8912.     IAsyncReader * This,
  8913.     /* [in] */ IMediaSample *pSample,
  8914.     /* [in] */ DWORD_PTR dwUser);
  8915.  
  8916.  
  8917. void __RPC_STUB IAsyncReader_Request_Stub(
  8918.     IRpcStubBuffer *This,
  8919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8920.     PRPC_MESSAGE _pRpcMessage,
  8921.     DWORD *_pdwStubPhase);
  8922.  
  8923.  
  8924. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  8925.     IAsyncReader * This,
  8926.     /* [in] */ DWORD dwTimeout,
  8927.     /* [out] */ IMediaSample **ppSample,
  8928.     /* [out] */ DWORD_PTR *pdwUser);
  8929.  
  8930.  
  8931. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  8932.     IRpcStubBuffer *This,
  8933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8934.     PRPC_MESSAGE _pRpcMessage,
  8935.     DWORD *_pdwStubPhase);
  8936.  
  8937.  
  8938. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  8939.     IAsyncReader * This,
  8940.     /* [in] */ IMediaSample *pSample);
  8941.  
  8942.  
  8943. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  8944.     IRpcStubBuffer *This,
  8945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8946.     PRPC_MESSAGE _pRpcMessage,
  8947.     DWORD *_pdwStubPhase);
  8948.  
  8949.  
  8950. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  8951.     IAsyncReader * This,
  8952.     /* [in] */ LONGLONG llPosition,
  8953.     /* [in] */ LONG lLength,
  8954.     /* [size_is][out] */ BYTE *pBuffer);
  8955.  
  8956.  
  8957. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  8958.     IRpcStubBuffer *This,
  8959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8960.     PRPC_MESSAGE _pRpcMessage,
  8961.     DWORD *_pdwStubPhase);
  8962.  
  8963.  
  8964. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  8965.     IAsyncReader * This,
  8966.     /* [out] */ LONGLONG *pTotal,
  8967.     /* [out] */ LONGLONG *pAvailable);
  8968.  
  8969.  
  8970. void __RPC_STUB IAsyncReader_Length_Stub(
  8971.     IRpcStubBuffer *This,
  8972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8973.     PRPC_MESSAGE _pRpcMessage,
  8974.     DWORD *_pdwStubPhase);
  8975.  
  8976.  
  8977. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  8978.     IAsyncReader * This);
  8979.  
  8980.  
  8981. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  8982.     IRpcStubBuffer *This,
  8983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8984.     PRPC_MESSAGE _pRpcMessage,
  8985.     DWORD *_pdwStubPhase);
  8986.  
  8987.  
  8988. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  8989.     IAsyncReader * This);
  8990.  
  8991.  
  8992. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  8993.     IRpcStubBuffer *This,
  8994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8995.     PRPC_MESSAGE _pRpcMessage,
  8996.     DWORD *_pdwStubPhase);
  8997.  
  8998.  
  8999.  
  9000. #endif     /* __IAsyncReader_INTERFACE_DEFINED__ */
  9001.  
  9002.  
  9003. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  9004. #define __IGraphVersion_INTERFACE_DEFINED__
  9005.  
  9006. /* interface IGraphVersion */
  9007. /* [unique][uuid][object] */ 
  9008.  
  9009.  
  9010. EXTERN_C const IID IID_IGraphVersion;
  9011.  
  9012. #if defined(__cplusplus) && !defined(CINTERFACE)
  9013.     
  9014.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  9015.     IGraphVersion : public IUnknown
  9016.     {
  9017.     public:
  9018.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  9019.             LONG *pVersion) = 0;
  9020.         
  9021.     };
  9022.     
  9023. #else     /* C style interface */
  9024.  
  9025.     typedef struct IGraphVersionVtbl
  9026.     {
  9027.         BEGIN_INTERFACE
  9028.         
  9029.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9030.             IGraphVersion * This,
  9031.             /* [in] */ REFIID riid,
  9032.             /* [iid_is][out] */ void **ppvObject);
  9033.         
  9034.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9035.             IGraphVersion * This);
  9036.         
  9037.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9038.             IGraphVersion * This);
  9039.         
  9040.         HRESULT ( STDMETHODCALLTYPE *QueryVersion )( 
  9041.             IGraphVersion * This,
  9042.             LONG *pVersion);
  9043.         
  9044.         END_INTERFACE
  9045.     } IGraphVersionVtbl;
  9046.  
  9047.     interface IGraphVersion
  9048.     {
  9049.         CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  9050.     };
  9051.  
  9052.     
  9053.  
  9054. #ifdef COBJMACROS
  9055.  
  9056.  
  9057. #define IGraphVersion_QueryInterface(This,riid,ppvObject)    \
  9058.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9059.  
  9060. #define IGraphVersion_AddRef(This)    \
  9061.     (This)->lpVtbl -> AddRef(This)
  9062.  
  9063. #define IGraphVersion_Release(This)    \
  9064.     (This)->lpVtbl -> Release(This)
  9065.  
  9066.  
  9067. #define IGraphVersion_QueryVersion(This,pVersion)    \
  9068.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  9069.  
  9070. #endif /* COBJMACROS */
  9071.  
  9072.  
  9073. #endif     /* C style interface */
  9074.  
  9075.  
  9076.  
  9077. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  9078.     IGraphVersion * This,
  9079.     LONG *pVersion);
  9080.  
  9081.  
  9082. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  9083.     IRpcStubBuffer *This,
  9084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9085.     PRPC_MESSAGE _pRpcMessage,
  9086.     DWORD *_pdwStubPhase);
  9087.  
  9088.  
  9089.  
  9090. #endif     /* __IGraphVersion_INTERFACE_DEFINED__ */
  9091.  
  9092.  
  9093. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  9094. #define __IResourceConsumer_INTERFACE_DEFINED__
  9095.  
  9096. /* interface IResourceConsumer */
  9097. /* [unique][uuid][object] */ 
  9098.  
  9099.  
  9100. EXTERN_C const IID IID_IResourceConsumer;
  9101.  
  9102. #if defined(__cplusplus) && !defined(CINTERFACE)
  9103.     
  9104.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  9105.     IResourceConsumer : public IUnknown
  9106.     {
  9107.     public:
  9108.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  9109.             /* [in] */ LONG idResource) = 0;
  9110.         
  9111.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  9112.             /* [in] */ LONG idResource) = 0;
  9113.         
  9114.     };
  9115.     
  9116. #else     /* C style interface */
  9117.  
  9118.     typedef struct IResourceConsumerVtbl
  9119.     {
  9120.         BEGIN_INTERFACE
  9121.         
  9122.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9123.             IResourceConsumer * This,
  9124.             /* [in] */ REFIID riid,
  9125.             /* [iid_is][out] */ void **ppvObject);
  9126.         
  9127.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9128.             IResourceConsumer * This);
  9129.         
  9130.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9131.             IResourceConsumer * This);
  9132.         
  9133.         HRESULT ( STDMETHODCALLTYPE *AcquireResource )( 
  9134.             IResourceConsumer * This,
  9135.             /* [in] */ LONG idResource);
  9136.         
  9137.         HRESULT ( STDMETHODCALLTYPE *ReleaseResource )( 
  9138.             IResourceConsumer * This,
  9139.             /* [in] */ LONG idResource);
  9140.         
  9141.         END_INTERFACE
  9142.     } IResourceConsumerVtbl;
  9143.  
  9144.     interface IResourceConsumer
  9145.     {
  9146.         CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  9147.     };
  9148.  
  9149.     
  9150.  
  9151. #ifdef COBJMACROS
  9152.  
  9153.  
  9154. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)    \
  9155.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9156.  
  9157. #define IResourceConsumer_AddRef(This)    \
  9158.     (This)->lpVtbl -> AddRef(This)
  9159.  
  9160. #define IResourceConsumer_Release(This)    \
  9161.     (This)->lpVtbl -> Release(This)
  9162.  
  9163.  
  9164. #define IResourceConsumer_AcquireResource(This,idResource)    \
  9165.     (This)->lpVtbl -> AcquireResource(This,idResource)
  9166.  
  9167. #define IResourceConsumer_ReleaseResource(This,idResource)    \
  9168.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  9169.  
  9170. #endif /* COBJMACROS */
  9171.  
  9172.  
  9173. #endif     /* C style interface */
  9174.  
  9175.  
  9176.  
  9177. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  9178.     IResourceConsumer * This,
  9179.     /* [in] */ LONG idResource);
  9180.  
  9181.  
  9182. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  9183.     IRpcStubBuffer *This,
  9184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9185.     PRPC_MESSAGE _pRpcMessage,
  9186.     DWORD *_pdwStubPhase);
  9187.  
  9188.  
  9189. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  9190.     IResourceConsumer * This,
  9191.     /* [in] */ LONG idResource);
  9192.  
  9193.  
  9194. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  9195.     IRpcStubBuffer *This,
  9196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9197.     PRPC_MESSAGE _pRpcMessage,
  9198.     DWORD *_pdwStubPhase);
  9199.  
  9200.  
  9201.  
  9202. #endif     /* __IResourceConsumer_INTERFACE_DEFINED__ */
  9203.  
  9204.  
  9205. #ifndef __IResourceManager_INTERFACE_DEFINED__
  9206. #define __IResourceManager_INTERFACE_DEFINED__
  9207.  
  9208. /* interface IResourceManager */
  9209. /* [unique][uuid][object] */ 
  9210.  
  9211.  
  9212. EXTERN_C const IID IID_IResourceManager;
  9213.  
  9214. #if defined(__cplusplus) && !defined(CINTERFACE)
  9215.     
  9216.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  9217.     IResourceManager : public IUnknown
  9218.     {
  9219.     public:
  9220.         virtual HRESULT STDMETHODCALLTYPE Register( 
  9221.             /* [in] */ LPCWSTR pName,
  9222.             /* [in] */ LONG cResource,
  9223.             /* [out] */ LONG *plToken) = 0;
  9224.         
  9225.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  9226.             /* [in] */ LPCWSTR pName,
  9227.             /* [in] */ LONG cResource,
  9228.             /* [size_is][in] */ LONG *palTokens,
  9229.             /* [out] */ LONG *plToken) = 0;
  9230.         
  9231.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  9232.             /* [in] */ LONG idResource,
  9233.             /* [in] */ IUnknown *pFocusObject,
  9234.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9235.         
  9236.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  9237.             /* [in] */ LONG idResource,
  9238.             /* [in] */ IResourceConsumer *pConsumer,
  9239.             /* [in] */ HRESULT hr) = 0;
  9240.         
  9241.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  9242.             /* [in] */ LONG idResource,
  9243.             /* [in] */ IResourceConsumer *pConsumer,
  9244.             /* [in] */ BOOL bStillWant) = 0;
  9245.         
  9246.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  9247.             /* [in] */ LONG idResource,
  9248.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9249.         
  9250.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  9251.             /* [in] */ IUnknown *pFocusObject) = 0;
  9252.         
  9253.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  9254.             /* [in] */ IUnknown *pFocusObject) = 0;
  9255.         
  9256.     };
  9257.     
  9258. #else     /* C style interface */
  9259.  
  9260.     typedef struct IResourceManagerVtbl
  9261.     {
  9262.         BEGIN_INTERFACE
  9263.         
  9264.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9265.             IResourceManager * This,
  9266.             /* [in] */ REFIID riid,
  9267.             /* [iid_is][out] */ void **ppvObject);
  9268.         
  9269.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9270.             IResourceManager * This);
  9271.         
  9272.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9273.             IResourceManager * This);
  9274.         
  9275.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  9276.             IResourceManager * This,
  9277.             /* [in] */ LPCWSTR pName,
  9278.             /* [in] */ LONG cResource,
  9279.             /* [out] */ LONG *plToken);
  9280.         
  9281.         HRESULT ( STDMETHODCALLTYPE *RegisterGroup )( 
  9282.             IResourceManager * This,
  9283.             /* [in] */ LPCWSTR pName,
  9284.             /* [in] */ LONG cResource,
  9285.             /* [size_is][in] */ LONG *palTokens,
  9286.             /* [out] */ LONG *plToken);
  9287.         
  9288.         HRESULT ( STDMETHODCALLTYPE *RequestResource )( 
  9289.             IResourceManager * This,
  9290.             /* [in] */ LONG idResource,
  9291.             /* [in] */ IUnknown *pFocusObject,
  9292.             /* [in] */ IResourceConsumer *pConsumer);
  9293.         
  9294.         HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )( 
  9295.             IResourceManager * This,
  9296.             /* [in] */ LONG idResource,
  9297.             /* [in] */ IResourceConsumer *pConsumer,
  9298.             /* [in] */ HRESULT hr);
  9299.         
  9300.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  9301.             IResourceManager * This,
  9302.             /* [in] */ LONG idResource,
  9303.             /* [in] */ IResourceConsumer *pConsumer,
  9304.             /* [in] */ BOOL bStillWant);
  9305.         
  9306.         HRESULT ( STDMETHODCALLTYPE *CancelRequest )( 
  9307.             IResourceManager * This,
  9308.             /* [in] */ LONG idResource,
  9309.             /* [in] */ IResourceConsumer *pConsumer);
  9310.         
  9311.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  9312.             IResourceManager * This,
  9313.             /* [in] */ IUnknown *pFocusObject);
  9314.         
  9315.         HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
  9316.             IResourceManager * This,
  9317.             /* [in] */ IUnknown *pFocusObject);
  9318.         
  9319.         END_INTERFACE
  9320.     } IResourceManagerVtbl;
  9321.  
  9322.     interface IResourceManager
  9323.     {
  9324.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  9325.     };
  9326.  
  9327.     
  9328.  
  9329. #ifdef COBJMACROS
  9330.  
  9331.  
  9332. #define IResourceManager_QueryInterface(This,riid,ppvObject)    \
  9333.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9334.  
  9335. #define IResourceManager_AddRef(This)    \
  9336.     (This)->lpVtbl -> AddRef(This)
  9337.  
  9338. #define IResourceManager_Release(This)    \
  9339.     (This)->lpVtbl -> Release(This)
  9340.  
  9341.  
  9342. #define IResourceManager_Register(This,pName,cResource,plToken)    \
  9343.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  9344.  
  9345. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)    \
  9346.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  9347.  
  9348. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)    \
  9349.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  9350.  
  9351. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)    \
  9352.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  9353.  
  9354. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)    \
  9355.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  9356.  
  9357. #define IResourceManager_CancelRequest(This,idResource,pConsumer)    \
  9358.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  9359.  
  9360. #define IResourceManager_SetFocus(This,pFocusObject)    \
  9361.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  9362.  
  9363. #define IResourceManager_ReleaseFocus(This,pFocusObject)    \
  9364.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  9365.  
  9366. #endif /* COBJMACROS */
  9367.  
  9368.  
  9369. #endif     /* C style interface */
  9370.  
  9371.  
  9372.  
  9373. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  9374.     IResourceManager * This,
  9375.     /* [in] */ LPCWSTR pName,
  9376.     /* [in] */ LONG cResource,
  9377.     /* [out] */ LONG *plToken);
  9378.  
  9379.  
  9380. void __RPC_STUB IResourceManager_Register_Stub(
  9381.     IRpcStubBuffer *This,
  9382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9383.     PRPC_MESSAGE _pRpcMessage,
  9384.     DWORD *_pdwStubPhase);
  9385.  
  9386.  
  9387. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  9388.     IResourceManager * This,
  9389.     /* [in] */ LPCWSTR pName,
  9390.     /* [in] */ LONG cResource,
  9391.     /* [size_is][in] */ LONG *palTokens,
  9392.     /* [out] */ LONG *plToken);
  9393.  
  9394.  
  9395. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  9396.     IRpcStubBuffer *This,
  9397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9398.     PRPC_MESSAGE _pRpcMessage,
  9399.     DWORD *_pdwStubPhase);
  9400.  
  9401.  
  9402. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  9403.     IResourceManager * This,
  9404.     /* [in] */ LONG idResource,
  9405.     /* [in] */ IUnknown *pFocusObject,
  9406.     /* [in] */ IResourceConsumer *pConsumer);
  9407.  
  9408.  
  9409. void __RPC_STUB IResourceManager_RequestResource_Stub(
  9410.     IRpcStubBuffer *This,
  9411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9412.     PRPC_MESSAGE _pRpcMessage,
  9413.     DWORD *_pdwStubPhase);
  9414.  
  9415.  
  9416. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  9417.     IResourceManager * This,
  9418.     /* [in] */ LONG idResource,
  9419.     /* [in] */ IResourceConsumer *pConsumer,
  9420.     /* [in] */ HRESULT hr);
  9421.  
  9422.  
  9423. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  9424.     IRpcStubBuffer *This,
  9425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9426.     PRPC_MESSAGE _pRpcMessage,
  9427.     DWORD *_pdwStubPhase);
  9428.  
  9429.  
  9430. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  9431.     IResourceManager * This,
  9432.     /* [in] */ LONG idResource,
  9433.     /* [in] */ IResourceConsumer *pConsumer,
  9434.     /* [in] */ BOOL bStillWant);
  9435.  
  9436.  
  9437. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  9438.     IRpcStubBuffer *This,
  9439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9440.     PRPC_MESSAGE _pRpcMessage,
  9441.     DWORD *_pdwStubPhase);
  9442.  
  9443.  
  9444. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  9445.     IResourceManager * This,
  9446.     /* [in] */ LONG idResource,
  9447.     /* [in] */ IResourceConsumer *pConsumer);
  9448.  
  9449.  
  9450. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  9451.     IRpcStubBuffer *This,
  9452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9453.     PRPC_MESSAGE _pRpcMessage,
  9454.     DWORD *_pdwStubPhase);
  9455.  
  9456.  
  9457. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  9458.     IResourceManager * This,
  9459.     /* [in] */ IUnknown *pFocusObject);
  9460.  
  9461.  
  9462. void __RPC_STUB IResourceManager_SetFocus_Stub(
  9463.     IRpcStubBuffer *This,
  9464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9465.     PRPC_MESSAGE _pRpcMessage,
  9466.     DWORD *_pdwStubPhase);
  9467.  
  9468.  
  9469. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  9470.     IResourceManager * This,
  9471.     /* [in] */ IUnknown *pFocusObject);
  9472.  
  9473.  
  9474. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  9475.     IRpcStubBuffer *This,
  9476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9477.     PRPC_MESSAGE _pRpcMessage,
  9478.     DWORD *_pdwStubPhase);
  9479.  
  9480.  
  9481.  
  9482. #endif     /* __IResourceManager_INTERFACE_DEFINED__ */
  9483.  
  9484.  
  9485. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  9486. #define __IDistributorNotify_INTERFACE_DEFINED__
  9487.  
  9488. /* interface IDistributorNotify */
  9489. /* [unique][uuid][object] */ 
  9490.  
  9491.  
  9492. EXTERN_C const IID IID_IDistributorNotify;
  9493.  
  9494. #if defined(__cplusplus) && !defined(CINTERFACE)
  9495.     
  9496.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  9497.     IDistributorNotify : public IUnknown
  9498.     {
  9499.     public:
  9500.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  9501.         
  9502.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  9503.         
  9504.         virtual HRESULT STDMETHODCALLTYPE Run( 
  9505.             REFERENCE_TIME tStart) = 0;
  9506.         
  9507.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  9508.             /* [in] */ IReferenceClock *pClock) = 0;
  9509.         
  9510.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  9511.         
  9512.     };
  9513.     
  9514. #else     /* C style interface */
  9515.  
  9516.     typedef struct IDistributorNotifyVtbl
  9517.     {
  9518.         BEGIN_INTERFACE
  9519.         
  9520.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9521.             IDistributorNotify * This,
  9522.             /* [in] */ REFIID riid,
  9523.             /* [iid_is][out] */ void **ppvObject);
  9524.         
  9525.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9526.             IDistributorNotify * This);
  9527.         
  9528.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9529.             IDistributorNotify * This);
  9530.         
  9531.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  9532.             IDistributorNotify * This);
  9533.         
  9534.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  9535.             IDistributorNotify * This);
  9536.         
  9537.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  9538.             IDistributorNotify * This,
  9539.             REFERENCE_TIME tStart);
  9540.         
  9541.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  9542.             IDistributorNotify * This,
  9543.             /* [in] */ IReferenceClock *pClock);
  9544.         
  9545.         HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )( 
  9546.             IDistributorNotify * This);
  9547.         
  9548.         END_INTERFACE
  9549.     } IDistributorNotifyVtbl;
  9550.  
  9551.     interface IDistributorNotify
  9552.     {
  9553.         CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  9554.     };
  9555.  
  9556.     
  9557.  
  9558. #ifdef COBJMACROS
  9559.  
  9560.  
  9561. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)    \
  9562.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9563.  
  9564. #define IDistributorNotify_AddRef(This)    \
  9565.     (This)->lpVtbl -> AddRef(This)
  9566.  
  9567. #define IDistributorNotify_Release(This)    \
  9568.     (This)->lpVtbl -> Release(This)
  9569.  
  9570.  
  9571. #define IDistributorNotify_Stop(This)    \
  9572.     (This)->lpVtbl -> Stop(This)
  9573.  
  9574. #define IDistributorNotify_Pause(This)    \
  9575.     (This)->lpVtbl -> Pause(This)
  9576.  
  9577. #define IDistributorNotify_Run(This,tStart)    \
  9578.     (This)->lpVtbl -> Run(This,tStart)
  9579.  
  9580. #define IDistributorNotify_SetSyncSource(This,pClock)    \
  9581.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  9582.  
  9583. #define IDistributorNotify_NotifyGraphChange(This)    \
  9584.     (This)->lpVtbl -> NotifyGraphChange(This)
  9585.  
  9586. #endif /* COBJMACROS */
  9587.  
  9588.  
  9589. #endif     /* C style interface */
  9590.  
  9591.  
  9592.  
  9593. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  9594.     IDistributorNotify * This);
  9595.  
  9596.  
  9597. void __RPC_STUB IDistributorNotify_Stop_Stub(
  9598.     IRpcStubBuffer *This,
  9599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9600.     PRPC_MESSAGE _pRpcMessage,
  9601.     DWORD *_pdwStubPhase);
  9602.  
  9603.  
  9604. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  9605.     IDistributorNotify * This);
  9606.  
  9607.  
  9608. void __RPC_STUB IDistributorNotify_Pause_Stub(
  9609.     IRpcStubBuffer *This,
  9610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9611.     PRPC_MESSAGE _pRpcMessage,
  9612.     DWORD *_pdwStubPhase);
  9613.  
  9614.  
  9615. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  9616.     IDistributorNotify * This,
  9617.     REFERENCE_TIME tStart);
  9618.  
  9619.  
  9620. void __RPC_STUB IDistributorNotify_Run_Stub(
  9621.     IRpcStubBuffer *This,
  9622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9623.     PRPC_MESSAGE _pRpcMessage,
  9624.     DWORD *_pdwStubPhase);
  9625.  
  9626.  
  9627. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  9628.     IDistributorNotify * This,
  9629.     /* [in] */ IReferenceClock *pClock);
  9630.  
  9631.  
  9632. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  9633.     IRpcStubBuffer *This,
  9634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9635.     PRPC_MESSAGE _pRpcMessage,
  9636.     DWORD *_pdwStubPhase);
  9637.  
  9638.  
  9639. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  9640.     IDistributorNotify * This);
  9641.  
  9642.  
  9643. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  9644.     IRpcStubBuffer *This,
  9645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9646.     PRPC_MESSAGE _pRpcMessage,
  9647.     DWORD *_pdwStubPhase);
  9648.  
  9649.  
  9650.  
  9651. #endif     /* __IDistributorNotify_INTERFACE_DEFINED__ */
  9652.  
  9653.  
  9654. /* interface __MIDL_itf_strmif_0156 */
  9655. /* [local] */ 
  9656.  
  9657. typedef /* [public] */ 
  9658. enum __MIDL___MIDL_itf_strmif_0156_0001
  9659.     {    AM_STREAM_INFO_START_DEFINED    = 0x1,
  9660.     AM_STREAM_INFO_STOP_DEFINED    = 0x2,
  9661.     AM_STREAM_INFO_DISCARDING    = 0x4,
  9662.     AM_STREAM_INFO_STOP_SEND_EXTRA    = 0x10
  9663.     }     AM_STREAM_INFO_FLAGS;
  9664.  
  9665. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0156_0002
  9666.     {
  9667.     REFERENCE_TIME tStart;
  9668.     REFERENCE_TIME tStop;
  9669.     DWORD dwStartCookie;
  9670.     DWORD dwStopCookie;
  9671.     DWORD dwFlags;
  9672.     }     AM_STREAM_INFO;
  9673.  
  9674.  
  9675.  
  9676. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_c_ifspec;
  9677. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_s_ifspec;
  9678.  
  9679. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  9680. #define __IAMStreamControl_INTERFACE_DEFINED__
  9681.  
  9682. /* interface IAMStreamControl */
  9683. /* [unique][uuid][object] */ 
  9684.  
  9685.  
  9686. EXTERN_C const IID IID_IAMStreamControl;
  9687.  
  9688. #if defined(__cplusplus) && !defined(CINTERFACE)
  9689.     
  9690.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  9691.     IAMStreamControl : public IUnknown
  9692.     {
  9693.     public:
  9694.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  9695.             /* [in] */ const REFERENCE_TIME *ptStart,
  9696.             /* [in] */ DWORD dwCookie) = 0;
  9697.         
  9698.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  9699.             /* [in] */ const REFERENCE_TIME *ptStop,
  9700.             /* [in] */ BOOL bSendExtra,
  9701.             /* [in] */ DWORD dwCookie) = 0;
  9702.         
  9703.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  9704.             /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  9705.         
  9706.     };
  9707.     
  9708. #else     /* C style interface */
  9709.  
  9710.     typedef struct IAMStreamControlVtbl
  9711.     {
  9712.         BEGIN_INTERFACE
  9713.         
  9714.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9715.             IAMStreamControl * This,
  9716.             /* [in] */ REFIID riid,
  9717.             /* [iid_is][out] */ void **ppvObject);
  9718.         
  9719.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9720.             IAMStreamControl * This);
  9721.         
  9722.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9723.             IAMStreamControl * This);
  9724.         
  9725.         HRESULT ( STDMETHODCALLTYPE *StartAt )( 
  9726.             IAMStreamControl * This,
  9727.             /* [in] */ const REFERENCE_TIME *ptStart,
  9728.             /* [in] */ DWORD dwCookie);
  9729.         
  9730.         HRESULT ( STDMETHODCALLTYPE *StopAt )( 
  9731.             IAMStreamControl * This,
  9732.             /* [in] */ const REFERENCE_TIME *ptStop,
  9733.             /* [in] */ BOOL bSendExtra,
  9734.             /* [in] */ DWORD dwCookie);
  9735.         
  9736.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  9737.             IAMStreamControl * This,
  9738.             /* [out] */ AM_STREAM_INFO *pInfo);
  9739.         
  9740.         END_INTERFACE
  9741.     } IAMStreamControlVtbl;
  9742.  
  9743.     interface IAMStreamControl
  9744.     {
  9745.         CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  9746.     };
  9747.  
  9748.     
  9749.  
  9750. #ifdef COBJMACROS
  9751.  
  9752.  
  9753. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)    \
  9754.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9755.  
  9756. #define IAMStreamControl_AddRef(This)    \
  9757.     (This)->lpVtbl -> AddRef(This)
  9758.  
  9759. #define IAMStreamControl_Release(This)    \
  9760.     (This)->lpVtbl -> Release(This)
  9761.  
  9762.  
  9763. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)    \
  9764.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  9765.  
  9766. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)    \
  9767.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  9768.  
  9769. #define IAMStreamControl_GetInfo(This,pInfo)    \
  9770.     (This)->lpVtbl -> GetInfo(This,pInfo)
  9771.  
  9772. #endif /* COBJMACROS */
  9773.  
  9774.  
  9775. #endif     /* C style interface */
  9776.  
  9777.  
  9778.  
  9779. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  9780.     IAMStreamControl * This,
  9781.     /* [in] */ const REFERENCE_TIME *ptStart,
  9782.     /* [in] */ DWORD dwCookie);
  9783.  
  9784.  
  9785. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  9786.     IRpcStubBuffer *This,
  9787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9788.     PRPC_MESSAGE _pRpcMessage,
  9789.     DWORD *_pdwStubPhase);
  9790.  
  9791.  
  9792. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  9793.     IAMStreamControl * This,
  9794.     /* [in] */ const REFERENCE_TIME *ptStop,
  9795.     /* [in] */ BOOL bSendExtra,
  9796.     /* [in] */ DWORD dwCookie);
  9797.  
  9798.  
  9799. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  9800.     IRpcStubBuffer *This,
  9801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9802.     PRPC_MESSAGE _pRpcMessage,
  9803.     DWORD *_pdwStubPhase);
  9804.  
  9805.  
  9806. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  9807.     IAMStreamControl * This,
  9808.     /* [out] */ AM_STREAM_INFO *pInfo);
  9809.  
  9810.  
  9811. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  9812.     IRpcStubBuffer *This,
  9813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9814.     PRPC_MESSAGE _pRpcMessage,
  9815.     DWORD *_pdwStubPhase);
  9816.  
  9817.  
  9818.  
  9819. #endif     /* __IAMStreamControl_INTERFACE_DEFINED__ */
  9820.  
  9821.  
  9822. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  9823. #define __ISeekingPassThru_INTERFACE_DEFINED__
  9824.  
  9825. /* interface ISeekingPassThru */
  9826. /* [unique][uuid][object] */ 
  9827.  
  9828.  
  9829. EXTERN_C const IID IID_ISeekingPassThru;
  9830.  
  9831. #if defined(__cplusplus) && !defined(CINTERFACE)
  9832.     
  9833.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  9834.     ISeekingPassThru : public IUnknown
  9835.     {
  9836.     public:
  9837.         virtual HRESULT STDMETHODCALLTYPE Init( 
  9838.             /* [in] */ BOOL bSupportRendering,
  9839.             /* [in] */ IPin *pPin) = 0;
  9840.         
  9841.     };
  9842.     
  9843. #else     /* C style interface */
  9844.  
  9845.     typedef struct ISeekingPassThruVtbl
  9846.     {
  9847.         BEGIN_INTERFACE
  9848.         
  9849.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9850.             ISeekingPassThru * This,
  9851.             /* [in] */ REFIID riid,
  9852.             /* [iid_is][out] */ void **ppvObject);
  9853.         
  9854.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9855.             ISeekingPassThru * This);
  9856.         
  9857.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9858.             ISeekingPassThru * This);
  9859.         
  9860.         HRESULT ( STDMETHODCALLTYPE *Init )( 
  9861.             ISeekingPassThru * This,
  9862.             /* [in] */ BOOL bSupportRendering,
  9863.             /* [in] */ IPin *pPin);
  9864.         
  9865.         END_INTERFACE
  9866.     } ISeekingPassThruVtbl;
  9867.  
  9868.     interface ISeekingPassThru
  9869.     {
  9870.         CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  9871.     };
  9872.  
  9873.     
  9874.  
  9875. #ifdef COBJMACROS
  9876.  
  9877.  
  9878. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)    \
  9879.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9880.  
  9881. #define ISeekingPassThru_AddRef(This)    \
  9882.     (This)->lpVtbl -> AddRef(This)
  9883.  
  9884. #define ISeekingPassThru_Release(This)    \
  9885.     (This)->lpVtbl -> Release(This)
  9886.  
  9887.  
  9888. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)    \
  9889.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  9890.  
  9891. #endif /* COBJMACROS */
  9892.  
  9893.  
  9894. #endif     /* C style interface */
  9895.  
  9896.  
  9897.  
  9898. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  9899.     ISeekingPassThru * This,
  9900.     /* [in] */ BOOL bSupportRendering,
  9901.     /* [in] */ IPin *pPin);
  9902.  
  9903.  
  9904. void __RPC_STUB ISeekingPassThru_Init_Stub(
  9905.     IRpcStubBuffer *This,
  9906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9907.     PRPC_MESSAGE _pRpcMessage,
  9908.     DWORD *_pdwStubPhase);
  9909.  
  9910.  
  9911.  
  9912. #endif     /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  9913.  
  9914.  
  9915. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  9916. #define __IAMStreamConfig_INTERFACE_DEFINED__
  9917.  
  9918. /* interface IAMStreamConfig */
  9919. /* [unique][uuid][object] */ 
  9920.  
  9921. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  9922.     {
  9923.     GUID guid;
  9924.     ULONG VideoStandard;
  9925.     SIZE InputSize;
  9926.     SIZE MinCroppingSize;
  9927.     SIZE MaxCroppingSize;
  9928.     int CropGranularityX;
  9929.     int CropGranularityY;
  9930.     int CropAlignX;
  9931.     int CropAlignY;
  9932.     SIZE MinOutputSize;
  9933.     SIZE MaxOutputSize;
  9934.     int OutputGranularityX;
  9935.     int OutputGranularityY;
  9936.     int StretchTapsX;
  9937.     int StretchTapsY;
  9938.     int ShrinkTapsX;
  9939.     int ShrinkTapsY;
  9940.     LONGLONG MinFrameInterval;
  9941.     LONGLONG MaxFrameInterval;
  9942.     LONG MinBitsPerSecond;
  9943.     LONG MaxBitsPerSecond;
  9944.     }     VIDEO_STREAM_CONFIG_CAPS;
  9945.  
  9946. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  9947.     {
  9948.     GUID guid;
  9949.     ULONG MinimumChannels;
  9950.     ULONG MaximumChannels;
  9951.     ULONG ChannelsGranularity;
  9952.     ULONG MinimumBitsPerSample;
  9953.     ULONG MaximumBitsPerSample;
  9954.     ULONG BitsPerSampleGranularity;
  9955.     ULONG MinimumSampleFrequency;
  9956.     ULONG MaximumSampleFrequency;
  9957.     ULONG SampleFrequencyGranularity;
  9958.     }     AUDIO_STREAM_CONFIG_CAPS;
  9959.  
  9960.  
  9961. EXTERN_C const IID IID_IAMStreamConfig;
  9962.  
  9963. #if defined(__cplusplus) && !defined(CINTERFACE)
  9964.     
  9965.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  9966.     IAMStreamConfig : public IUnknown
  9967.     {
  9968.     public:
  9969.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  9970.             /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  9971.         
  9972.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  9973.             /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  9974.         
  9975.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  9976.             /* [out] */ int *piCount,
  9977.             /* [out] */ int *piSize) = 0;
  9978.         
  9979.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  9980.             /* [in] */ int iIndex,
  9981.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9982.             /* [out] */ BYTE *pSCC) = 0;
  9983.         
  9984.     };
  9985.     
  9986. #else     /* C style interface */
  9987.  
  9988.     typedef struct IAMStreamConfigVtbl
  9989.     {
  9990.         BEGIN_INTERFACE
  9991.         
  9992.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9993.             IAMStreamConfig * This,
  9994.             /* [in] */ REFIID riid,
  9995.             /* [iid_is][out] */ void **ppvObject);
  9996.         
  9997.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9998.             IAMStreamConfig * This);
  9999.         
  10000.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10001.             IAMStreamConfig * This);
  10002.         
  10003.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  10004.             IAMStreamConfig * This,
  10005.             /* [in] */ AM_MEDIA_TYPE *pmt);
  10006.         
  10007.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  10008.             IAMStreamConfig * This,
  10009.             /* [out] */ AM_MEDIA_TYPE **ppmt);
  10010.         
  10011.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )( 
  10012.             IAMStreamConfig * This,
  10013.             /* [out] */ int *piCount,
  10014.             /* [out] */ int *piSize);
  10015.         
  10016.         HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )( 
  10017.             IAMStreamConfig * This,
  10018.             /* [in] */ int iIndex,
  10019.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  10020.             /* [out] */ BYTE *pSCC);
  10021.         
  10022.         END_INTERFACE
  10023.     } IAMStreamConfigVtbl;
  10024.  
  10025.     interface IAMStreamConfig
  10026.     {
  10027.         CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  10028.     };
  10029.  
  10030.     
  10031.  
  10032. #ifdef COBJMACROS
  10033.  
  10034.  
  10035. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  10036.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10037.  
  10038. #define IAMStreamConfig_AddRef(This)    \
  10039.     (This)->lpVtbl -> AddRef(This)
  10040.  
  10041. #define IAMStreamConfig_Release(This)    \
  10042.     (This)->lpVtbl -> Release(This)
  10043.  
  10044.  
  10045. #define IAMStreamConfig_SetFormat(This,pmt)    \
  10046.     (This)->lpVtbl -> SetFormat(This,pmt)
  10047.  
  10048. #define IAMStreamConfig_GetFormat(This,ppmt)    \
  10049.     (This)->lpVtbl -> GetFormat(This,ppmt)
  10050.  
  10051. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)    \
  10052.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  10053.  
  10054. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)    \
  10055.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  10056.  
  10057. #endif /* COBJMACROS */
  10058.  
  10059.  
  10060. #endif     /* C style interface */
  10061.  
  10062.  
  10063.  
  10064. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  10065.     IAMStreamConfig * This,
  10066.     /* [in] */ AM_MEDIA_TYPE *pmt);
  10067.  
  10068.  
  10069. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  10070.     IRpcStubBuffer *This,
  10071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10072.     PRPC_MESSAGE _pRpcMessage,
  10073.     DWORD *_pdwStubPhase);
  10074.  
  10075.  
  10076. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  10077.     IAMStreamConfig * This,
  10078.     /* [out] */ AM_MEDIA_TYPE **ppmt);
  10079.  
  10080.  
  10081. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  10082.     IRpcStubBuffer *This,
  10083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10084.     PRPC_MESSAGE _pRpcMessage,
  10085.     DWORD *_pdwStubPhase);
  10086.  
  10087.  
  10088. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  10089.     IAMStreamConfig * This,
  10090.     /* [out] */ int *piCount,
  10091.     /* [out] */ int *piSize);
  10092.  
  10093.  
  10094. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  10095.     IRpcStubBuffer *This,
  10096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10097.     PRPC_MESSAGE _pRpcMessage,
  10098.     DWORD *_pdwStubPhase);
  10099.  
  10100.  
  10101. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  10102.     IAMStreamConfig * This,
  10103.     /* [in] */ int iIndex,
  10104.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  10105.     /* [out] */ BYTE *pSCC);
  10106.  
  10107.  
  10108. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  10109.     IRpcStubBuffer *This,
  10110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10111.     PRPC_MESSAGE _pRpcMessage,
  10112.     DWORD *_pdwStubPhase);
  10113.  
  10114.  
  10115.  
  10116. #endif     /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  10117.  
  10118.  
  10119. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  10120. #define __IConfigInterleaving_INTERFACE_DEFINED__
  10121.  
  10122. /* interface IConfigInterleaving */
  10123. /* [unique][uuid][object] */ 
  10124.  
  10125. typedef /* [public][public][public] */ 
  10126. enum __MIDL_IConfigInterleaving_0001
  10127.     {    INTERLEAVE_NONE    = 0,
  10128.     INTERLEAVE_CAPTURE    = INTERLEAVE_NONE + 1,
  10129.     INTERLEAVE_FULL    = INTERLEAVE_CAPTURE + 1,
  10130.     INTERLEAVE_NONE_BUFFERED    = INTERLEAVE_FULL + 1
  10131.     }     InterleavingMode;
  10132.  
  10133.  
  10134. EXTERN_C const IID IID_IConfigInterleaving;
  10135.  
  10136. #if defined(__cplusplus) && !defined(CINTERFACE)
  10137.     
  10138.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  10139.     IConfigInterleaving : public IUnknown
  10140.     {
  10141.     public:
  10142.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  10143.             /* [in] */ InterleavingMode mode) = 0;
  10144.         
  10145.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  10146.             /* [out] */ InterleavingMode *pMode) = 0;
  10147.         
  10148.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  10149.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10150.             /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  10151.         
  10152.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  10153.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10154.             /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  10155.         
  10156.     };
  10157.     
  10158. #else     /* C style interface */
  10159.  
  10160.     typedef struct IConfigInterleavingVtbl
  10161.     {
  10162.         BEGIN_INTERFACE
  10163.         
  10164.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10165.             IConfigInterleaving * This,
  10166.             /* [in] */ REFIID riid,
  10167.             /* [iid_is][out] */ void **ppvObject);
  10168.         
  10169.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10170.             IConfigInterleaving * This);
  10171.         
  10172.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10173.             IConfigInterleaving * This);
  10174.         
  10175.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  10176.             IConfigInterleaving * This,
  10177.             /* [in] */ InterleavingMode mode);
  10178.         
  10179.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  10180.             IConfigInterleaving * This,
  10181.             /* [out] */ InterleavingMode *pMode);
  10182.         
  10183.         HRESULT ( STDMETHODCALLTYPE *put_Interleaving )( 
  10184.             IConfigInterleaving * This,
  10185.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10186.             /* [in] */ const REFERENCE_TIME *prtPreroll);
  10187.         
  10188.         HRESULT ( STDMETHODCALLTYPE *get_Interleaving )( 
  10189.             IConfigInterleaving * This,
  10190.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10191.             /* [out] */ REFERENCE_TIME *prtPreroll);
  10192.         
  10193.         END_INTERFACE
  10194.     } IConfigInterleavingVtbl;
  10195.  
  10196.     interface IConfigInterleaving
  10197.     {
  10198.         CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  10199.     };
  10200.  
  10201.     
  10202.  
  10203. #ifdef COBJMACROS
  10204.  
  10205.  
  10206. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)    \
  10207.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10208.  
  10209. #define IConfigInterleaving_AddRef(This)    \
  10210.     (This)->lpVtbl -> AddRef(This)
  10211.  
  10212. #define IConfigInterleaving_Release(This)    \
  10213.     (This)->lpVtbl -> Release(This)
  10214.  
  10215.  
  10216. #define IConfigInterleaving_put_Mode(This,mode)    \
  10217.     (This)->lpVtbl -> put_Mode(This,mode)
  10218.  
  10219. #define IConfigInterleaving_get_Mode(This,pMode)    \
  10220.     (This)->lpVtbl -> get_Mode(This,pMode)
  10221.  
  10222. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)    \
  10223.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  10224.  
  10225. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)    \
  10226.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  10227.  
  10228. #endif /* COBJMACROS */
  10229.  
  10230.  
  10231. #endif     /* C style interface */
  10232.  
  10233.  
  10234.  
  10235. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  10236.     IConfigInterleaving * This,
  10237.     /* [in] */ InterleavingMode mode);
  10238.  
  10239.  
  10240. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  10241.     IRpcStubBuffer *This,
  10242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10243.     PRPC_MESSAGE _pRpcMessage,
  10244.     DWORD *_pdwStubPhase);
  10245.  
  10246.  
  10247. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  10248.     IConfigInterleaving * This,
  10249.     /* [out] */ InterleavingMode *pMode);
  10250.  
  10251.  
  10252. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  10253.     IRpcStubBuffer *This,
  10254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10255.     PRPC_MESSAGE _pRpcMessage,
  10256.     DWORD *_pdwStubPhase);
  10257.  
  10258.  
  10259. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  10260.     IConfigInterleaving * This,
  10261.     /* [in] */ const REFERENCE_TIME *prtInterleave,
  10262.     /* [in] */ const REFERENCE_TIME *prtPreroll);
  10263.  
  10264.  
  10265. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  10266.     IRpcStubBuffer *This,
  10267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10268.     PRPC_MESSAGE _pRpcMessage,
  10269.     DWORD *_pdwStubPhase);
  10270.  
  10271.  
  10272. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  10273.     IConfigInterleaving * This,
  10274.     /* [out] */ REFERENCE_TIME *prtInterleave,
  10275.     /* [out] */ REFERENCE_TIME *prtPreroll);
  10276.  
  10277.  
  10278. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  10279.     IRpcStubBuffer *This,
  10280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10281.     PRPC_MESSAGE _pRpcMessage,
  10282.     DWORD *_pdwStubPhase);
  10283.  
  10284.  
  10285.  
  10286. #endif     /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  10287.  
  10288.  
  10289. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  10290. #define __IConfigAviMux_INTERFACE_DEFINED__
  10291.  
  10292. /* interface IConfigAviMux */
  10293. /* [unique][uuid][object] */ 
  10294.  
  10295.  
  10296. EXTERN_C const IID IID_IConfigAviMux;
  10297.  
  10298. #if defined(__cplusplus) && !defined(CINTERFACE)
  10299.     
  10300.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  10301.     IConfigAviMux : public IUnknown
  10302.     {
  10303.     public:
  10304.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  10305.             /* [in] */ LONG iStream) = 0;
  10306.         
  10307.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  10308.             /* [out] */ LONG *pStream) = 0;
  10309.         
  10310.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  10311.             /* [in] */ BOOL fOldIndex) = 0;
  10312.         
  10313.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  10314.             /* [out] */ BOOL *pfOldIndex) = 0;
  10315.         
  10316.     };
  10317.     
  10318. #else     /* C style interface */
  10319.  
  10320.     typedef struct IConfigAviMuxVtbl
  10321.     {
  10322.         BEGIN_INTERFACE
  10323.         
  10324.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10325.             IConfigAviMux * This,
  10326.             /* [in] */ REFIID riid,
  10327.             /* [iid_is][out] */ void **ppvObject);
  10328.         
  10329.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10330.             IConfigAviMux * This);
  10331.         
  10332.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10333.             IConfigAviMux * This);
  10334.         
  10335.         HRESULT ( STDMETHODCALLTYPE *SetMasterStream )( 
  10336.             IConfigAviMux * This,
  10337.             /* [in] */ LONG iStream);
  10338.         
  10339.         HRESULT ( STDMETHODCALLTYPE *GetMasterStream )( 
  10340.             IConfigAviMux * This,
  10341.             /* [out] */ LONG *pStream);
  10342.         
  10343.         HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )( 
  10344.             IConfigAviMux * This,
  10345.             /* [in] */ BOOL fOldIndex);
  10346.         
  10347.         HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )( 
  10348.             IConfigAviMux * This,
  10349.             /* [out] */ BOOL *pfOldIndex);
  10350.         
  10351.         END_INTERFACE
  10352.     } IConfigAviMuxVtbl;
  10353.  
  10354.     interface IConfigAviMux
  10355.     {
  10356.         CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  10357.     };
  10358.  
  10359.     
  10360.  
  10361. #ifdef COBJMACROS
  10362.  
  10363.  
  10364. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)    \
  10365.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10366.  
  10367. #define IConfigAviMux_AddRef(This)    \
  10368.     (This)->lpVtbl -> AddRef(This)
  10369.  
  10370. #define IConfigAviMux_Release(This)    \
  10371.     (This)->lpVtbl -> Release(This)
  10372.  
  10373.  
  10374. #define IConfigAviMux_SetMasterStream(This,iStream)    \
  10375.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  10376.  
  10377. #define IConfigAviMux_GetMasterStream(This,pStream)    \
  10378.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  10379.  
  10380. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)    \
  10381.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  10382.  
  10383. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)    \
  10384.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  10385.  
  10386. #endif /* COBJMACROS */
  10387.  
  10388.  
  10389. #endif     /* C style interface */
  10390.  
  10391.  
  10392.  
  10393. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  10394.     IConfigAviMux * This,
  10395.     /* [in] */ LONG iStream);
  10396.  
  10397.  
  10398. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  10399.     IRpcStubBuffer *This,
  10400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10401.     PRPC_MESSAGE _pRpcMessage,
  10402.     DWORD *_pdwStubPhase);
  10403.  
  10404.  
  10405. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  10406.     IConfigAviMux * This,
  10407.     /* [out] */ LONG *pStream);
  10408.  
  10409.  
  10410. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  10411.     IRpcStubBuffer *This,
  10412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10413.     PRPC_MESSAGE _pRpcMessage,
  10414.     DWORD *_pdwStubPhase);
  10415.  
  10416.  
  10417. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  10418.     IConfigAviMux * This,
  10419.     /* [in] */ BOOL fOldIndex);
  10420.  
  10421.  
  10422. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  10423.     IRpcStubBuffer *This,
  10424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10425.     PRPC_MESSAGE _pRpcMessage,
  10426.     DWORD *_pdwStubPhase);
  10427.  
  10428.  
  10429. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  10430.     IConfigAviMux * This,
  10431.     /* [out] */ BOOL *pfOldIndex);
  10432.  
  10433.  
  10434. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  10435.     IRpcStubBuffer *This,
  10436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10437.     PRPC_MESSAGE _pRpcMessage,
  10438.     DWORD *_pdwStubPhase);
  10439.  
  10440.  
  10441.  
  10442. #endif     /* __IConfigAviMux_INTERFACE_DEFINED__ */
  10443.  
  10444.  
  10445. /* interface __MIDL_itf_strmif_0163 */
  10446. /* [local] */ 
  10447.  
  10448. typedef /* [public] */ 
  10449. enum __MIDL___MIDL_itf_strmif_0163_0001
  10450.     {    CompressionCaps_CanQuality    = 0x1,
  10451.     CompressionCaps_CanCrunch    = 0x2,
  10452.     CompressionCaps_CanKeyFrame    = 0x4,
  10453.     CompressionCaps_CanBFrame    = 0x8,
  10454.     CompressionCaps_CanWindow    = 0x10
  10455.     }     CompressionCaps;
  10456.  
  10457.  
  10458.  
  10459. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;
  10460. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;
  10461.  
  10462. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  10463. #define __IAMVideoCompression_INTERFACE_DEFINED__
  10464.  
  10465. /* interface IAMVideoCompression */
  10466. /* [unique][uuid][object] */ 
  10467.  
  10468.  
  10469. EXTERN_C const IID IID_IAMVideoCompression;
  10470.  
  10471. #if defined(__cplusplus) && !defined(CINTERFACE)
  10472.     
  10473.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  10474.     IAMVideoCompression : public IUnknown
  10475.     {
  10476.     public:
  10477.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  10478.             /* [in] */ long KeyFrameRate) = 0;
  10479.         
  10480.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  10481.             /* [out] */ long *pKeyFrameRate) = 0;
  10482.         
  10483.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  10484.             /* [in] */ long PFramesPerKeyFrame) = 0;
  10485.         
  10486.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  10487.             /* [out] */ long *pPFramesPerKeyFrame) = 0;
  10488.         
  10489.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  10490.             /* [in] */ double Quality) = 0;
  10491.         
  10492.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  10493.             /* [out] */ double *pQuality) = 0;
  10494.         
  10495.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  10496.             /* [in] */ DWORDLONG WindowSize) = 0;
  10497.         
  10498.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  10499.             /* [out] */ DWORDLONG *pWindowSize) = 0;
  10500.         
  10501.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  10502.             /* [size_is][out] */ WCHAR *pszVersion,
  10503.             /* [out][in] */ int *pcbVersion,
  10504.             /* [size_is][out] */ LPWSTR pszDescription,
  10505.             /* [out][in] */ int *pcbDescription,
  10506.             /* [out] */ long *pDefaultKeyFrameRate,
  10507.             /* [out] */ long *pDefaultPFramesPerKey,
  10508.             /* [out] */ double *pDefaultQuality,
  10509.             /* [out] */ long *pCapabilities) = 0;
  10510.         
  10511.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  10512.             /* [in] */ long FrameNumber) = 0;
  10513.         
  10514.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  10515.             /* [in] */ long FrameNumber,
  10516.             /* [in] */ long Size) = 0;
  10517.         
  10518.     };
  10519.     
  10520. #else     /* C style interface */
  10521.  
  10522.     typedef struct IAMVideoCompressionVtbl
  10523.     {
  10524.         BEGIN_INTERFACE
  10525.         
  10526.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10527.             IAMVideoCompression * This,
  10528.             /* [in] */ REFIID riid,
  10529.             /* [iid_is][out] */ void **ppvObject);
  10530.         
  10531.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10532.             IAMVideoCompression * This);
  10533.         
  10534.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10535.             IAMVideoCompression * This);
  10536.         
  10537.         HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )( 
  10538.             IAMVideoCompression * This,
  10539.             /* [in] */ long KeyFrameRate);
  10540.         
  10541.         HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )( 
  10542.             IAMVideoCompression * This,
  10543.             /* [out] */ long *pKeyFrameRate);
  10544.         
  10545.         HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )( 
  10546.             IAMVideoCompression * This,
  10547.             /* [in] */ long PFramesPerKeyFrame);
  10548.         
  10549.         HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )( 
  10550.             IAMVideoCompression * This,
  10551.             /* [out] */ long *pPFramesPerKeyFrame);
  10552.         
  10553.         HRESULT ( STDMETHODCALLTYPE *put_Quality )( 
  10554.             IAMVideoCompression * This,
  10555.             /* [in] */ double Quality);
  10556.         
  10557.         HRESULT ( STDMETHODCALLTYPE *get_Quality )( 
  10558.             IAMVideoCompression * This,
  10559.             /* [out] */ double *pQuality);
  10560.         
  10561.         HRESULT ( STDMETHODCALLTYPE *put_WindowSize )( 
  10562.             IAMVideoCompression * This,
  10563.             /* [in] */ DWORDLONG WindowSize);
  10564.         
  10565.         HRESULT ( STDMETHODCALLTYPE *get_WindowSize )( 
  10566.             IAMVideoCompression * This,
  10567.             /* [out] */ DWORDLONG *pWindowSize);
  10568.         
  10569.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  10570.             IAMVideoCompression * This,
  10571.             /* [size_is][out] */ WCHAR *pszVersion,
  10572.             /* [out][in] */ int *pcbVersion,
  10573.             /* [size_is][out] */ LPWSTR pszDescription,
  10574.             /* [out][in] */ int *pcbDescription,
  10575.             /* [out] */ long *pDefaultKeyFrameRate,
  10576.             /* [out] */ long *pDefaultPFramesPerKey,
  10577.             /* [out] */ double *pDefaultQuality,
  10578.             /* [out] */ long *pCapabilities);
  10579.         
  10580.         HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )( 
  10581.             IAMVideoCompression * This,
  10582.             /* [in] */ long FrameNumber);
  10583.         
  10584.         HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )( 
  10585.             IAMVideoCompression * This,
  10586.             /* [in] */ long FrameNumber,
  10587.             /* [in] */ long Size);
  10588.         
  10589.         END_INTERFACE
  10590.     } IAMVideoCompressionVtbl;
  10591.  
  10592.     interface IAMVideoCompression
  10593.     {
  10594.         CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  10595.     };
  10596.  
  10597.     
  10598.  
  10599. #ifdef COBJMACROS
  10600.  
  10601.  
  10602. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)    \
  10603.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10604.  
  10605. #define IAMVideoCompression_AddRef(This)    \
  10606.     (This)->lpVtbl -> AddRef(This)
  10607.  
  10608. #define IAMVideoCompression_Release(This)    \
  10609.     (This)->lpVtbl -> Release(This)
  10610.  
  10611.  
  10612. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)    \
  10613.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  10614.  
  10615. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)    \
  10616.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  10617.  
  10618. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)    \
  10619.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  10620.  
  10621. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)    \
  10622.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  10623.  
  10624. #define IAMVideoCompression_put_Quality(This,Quality)    \
  10625.     (This)->lpVtbl -> put_Quality(This,Quality)
  10626.  
  10627. #define IAMVideoCompression_get_Quality(This,pQuality)    \
  10628.     (This)->lpVtbl -> get_Quality(This,pQuality)
  10629.  
  10630. #define IAMVideoCompression_put_WindowSize(This,WindowSize)    \
  10631.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  10632.  
  10633. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)    \
  10634.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  10635.  
  10636. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)    \
  10637.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  10638.  
  10639. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)    \
  10640.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  10641.  
  10642. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)    \
  10643.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  10644.  
  10645. #endif /* COBJMACROS */
  10646.  
  10647.  
  10648. #endif     /* C style interface */
  10649.  
  10650.  
  10651.  
  10652. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  10653.     IAMVideoCompression * This,
  10654.     /* [in] */ long KeyFrameRate);
  10655.  
  10656.  
  10657. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  10658.     IRpcStubBuffer *This,
  10659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10660.     PRPC_MESSAGE _pRpcMessage,
  10661.     DWORD *_pdwStubPhase);
  10662.  
  10663.  
  10664. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  10665.     IAMVideoCompression * This,
  10666.     /* [out] */ long *pKeyFrameRate);
  10667.  
  10668.  
  10669. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  10670.     IRpcStubBuffer *This,
  10671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10672.     PRPC_MESSAGE _pRpcMessage,
  10673.     DWORD *_pdwStubPhase);
  10674.  
  10675.  
  10676. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  10677.     IAMVideoCompression * This,
  10678.     /* [in] */ long PFramesPerKeyFrame);
  10679.  
  10680.  
  10681. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  10682.     IRpcStubBuffer *This,
  10683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10684.     PRPC_MESSAGE _pRpcMessage,
  10685.     DWORD *_pdwStubPhase);
  10686.  
  10687.  
  10688. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  10689.     IAMVideoCompression * This,
  10690.     /* [out] */ long *pPFramesPerKeyFrame);
  10691.  
  10692.  
  10693. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  10694.     IRpcStubBuffer *This,
  10695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10696.     PRPC_MESSAGE _pRpcMessage,
  10697.     DWORD *_pdwStubPhase);
  10698.  
  10699.  
  10700. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  10701.     IAMVideoCompression * This,
  10702.     /* [in] */ double Quality);
  10703.  
  10704.  
  10705. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  10706.     IRpcStubBuffer *This,
  10707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10708.     PRPC_MESSAGE _pRpcMessage,
  10709.     DWORD *_pdwStubPhase);
  10710.  
  10711.  
  10712. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  10713.     IAMVideoCompression * This,
  10714.     /* [out] */ double *pQuality);
  10715.  
  10716.  
  10717. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  10718.     IRpcStubBuffer *This,
  10719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10720.     PRPC_MESSAGE _pRpcMessage,
  10721.     DWORD *_pdwStubPhase);
  10722.  
  10723.  
  10724. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  10725.     IAMVideoCompression * This,
  10726.     /* [in] */ DWORDLONG WindowSize);
  10727.  
  10728.  
  10729. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  10730.     IRpcStubBuffer *This,
  10731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10732.     PRPC_MESSAGE _pRpcMessage,
  10733.     DWORD *_pdwStubPhase);
  10734.  
  10735.  
  10736. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  10737.     IAMVideoCompression * This,
  10738.     /* [out] */ DWORDLONG *pWindowSize);
  10739.  
  10740.  
  10741. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  10742.     IRpcStubBuffer *This,
  10743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10744.     PRPC_MESSAGE _pRpcMessage,
  10745.     DWORD *_pdwStubPhase);
  10746.  
  10747.  
  10748. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  10749.     IAMVideoCompression * This,
  10750.     /* [size_is][out] */ WCHAR *pszVersion,
  10751.     /* [out][in] */ int *pcbVersion,
  10752.     /* [size_is][out] */ LPWSTR pszDescription,
  10753.     /* [out][in] */ int *pcbDescription,
  10754.     /* [out] */ long *pDefaultKeyFrameRate,
  10755.     /* [out] */ long *pDefaultPFramesPerKey,
  10756.     /* [out] */ double *pDefaultQuality,
  10757.     /* [out] */ long *pCapabilities);
  10758.  
  10759.  
  10760. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  10761.     IRpcStubBuffer *This,
  10762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10763.     PRPC_MESSAGE _pRpcMessage,
  10764.     DWORD *_pdwStubPhase);
  10765.  
  10766.  
  10767. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  10768.     IAMVideoCompression * This,
  10769.     /* [in] */ long FrameNumber);
  10770.  
  10771.  
  10772. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  10773.     IRpcStubBuffer *This,
  10774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10775.     PRPC_MESSAGE _pRpcMessage,
  10776.     DWORD *_pdwStubPhase);
  10777.  
  10778.  
  10779. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  10780.     IAMVideoCompression * This,
  10781.     /* [in] */ long FrameNumber,
  10782.     /* [in] */ long Size);
  10783.  
  10784.  
  10785. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  10786.     IRpcStubBuffer *This,
  10787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10788.     PRPC_MESSAGE _pRpcMessage,
  10789.     DWORD *_pdwStubPhase);
  10790.  
  10791.  
  10792.  
  10793. #endif     /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  10794.  
  10795.  
  10796. /* interface __MIDL_itf_strmif_0164 */
  10797. /* [local] */ 
  10798.  
  10799. typedef /* [public] */ 
  10800. enum __MIDL___MIDL_itf_strmif_0164_0001
  10801.     {    VfwCaptureDialog_Source    = 0x1,
  10802.     VfwCaptureDialog_Format    = 0x2,
  10803.     VfwCaptureDialog_Display    = 0x4
  10804.     }     VfwCaptureDialogs;
  10805.  
  10806. typedef /* [public] */ 
  10807. enum __MIDL___MIDL_itf_strmif_0164_0002
  10808.     {    VfwCompressDialog_Config    = 0x1,
  10809.     VfwCompressDialog_About    = 0x2,
  10810.     VfwCompressDialog_QueryConfig    = 0x4,
  10811.     VfwCompressDialog_QueryAbout    = 0x8
  10812.     }     VfwCompressDialogs;
  10813.  
  10814.  
  10815.  
  10816. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_c_ifspec;
  10817. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_s_ifspec;
  10818.  
  10819. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10820. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10821.  
  10822. /* interface IAMVfwCaptureDialogs */
  10823. /* [unique][uuid][local][object] */ 
  10824.  
  10825.  
  10826. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  10827.  
  10828. #if defined(__cplusplus) && !defined(CINTERFACE)
  10829.     
  10830.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  10831.     IAMVfwCaptureDialogs : public IUnknown
  10832.     {
  10833.     public:
  10834.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  10835.             /* [in] */ int iDialog) = 0;
  10836.         
  10837.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10838.             /* [in] */ int iDialog,
  10839.             /* [in] */ HWND hwnd) = 0;
  10840.         
  10841.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10842.             /* [in] */ int iDialog,
  10843.             /* [in] */ int uMsg,
  10844.             /* [in] */ long dw1,
  10845.             /* [in] */ long dw2) = 0;
  10846.         
  10847.     };
  10848.     
  10849. #else     /* C style interface */
  10850.  
  10851.     typedef struct IAMVfwCaptureDialogsVtbl
  10852.     {
  10853.         BEGIN_INTERFACE
  10854.         
  10855.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10856.             IAMVfwCaptureDialogs * This,
  10857.             /* [in] */ REFIID riid,
  10858.             /* [iid_is][out] */ void **ppvObject);
  10859.         
  10860.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10861.             IAMVfwCaptureDialogs * This);
  10862.         
  10863.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10864.             IAMVfwCaptureDialogs * This);
  10865.         
  10866.         HRESULT ( STDMETHODCALLTYPE *HasDialog )( 
  10867.             IAMVfwCaptureDialogs * This,
  10868.             /* [in] */ int iDialog);
  10869.         
  10870.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10871.             IAMVfwCaptureDialogs * This,
  10872.             /* [in] */ int iDialog,
  10873.             /* [in] */ HWND hwnd);
  10874.         
  10875.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10876.             IAMVfwCaptureDialogs * This,
  10877.             /* [in] */ int iDialog,
  10878.             /* [in] */ int uMsg,
  10879.             /* [in] */ long dw1,
  10880.             /* [in] */ long dw2);
  10881.         
  10882.         END_INTERFACE
  10883.     } IAMVfwCaptureDialogsVtbl;
  10884.  
  10885.     interface IAMVfwCaptureDialogs
  10886.     {
  10887.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  10888.     };
  10889.  
  10890.     
  10891.  
  10892. #ifdef COBJMACROS
  10893.  
  10894.  
  10895. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)    \
  10896.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10897.  
  10898. #define IAMVfwCaptureDialogs_AddRef(This)    \
  10899.     (This)->lpVtbl -> AddRef(This)
  10900.  
  10901. #define IAMVfwCaptureDialogs_Release(This)    \
  10902.     (This)->lpVtbl -> Release(This)
  10903.  
  10904.  
  10905. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)    \
  10906.     (This)->lpVtbl -> HasDialog(This,iDialog)
  10907.  
  10908. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)    \
  10909.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10910.  
  10911. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)    \
  10912.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  10913.  
  10914. #endif /* COBJMACROS */
  10915.  
  10916.  
  10917. #endif     /* C style interface */
  10918.  
  10919.  
  10920.  
  10921. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  10922.     IAMVfwCaptureDialogs * This,
  10923.     /* [in] */ int iDialog);
  10924.  
  10925.  
  10926. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  10927.     IRpcStubBuffer *This,
  10928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10929.     PRPC_MESSAGE _pRpcMessage,
  10930.     DWORD *_pdwStubPhase);
  10931.  
  10932.  
  10933. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  10934.     IAMVfwCaptureDialogs * This,
  10935.     /* [in] */ int iDialog,
  10936.     /* [in] */ HWND hwnd);
  10937.  
  10938.  
  10939. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  10940.     IRpcStubBuffer *This,
  10941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10942.     PRPC_MESSAGE _pRpcMessage,
  10943.     DWORD *_pdwStubPhase);
  10944.  
  10945.  
  10946. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  10947.     IAMVfwCaptureDialogs * This,
  10948.     /* [in] */ int iDialog,
  10949.     /* [in] */ int uMsg,
  10950.     /* [in] */ long dw1,
  10951.     /* [in] */ long dw2);
  10952.  
  10953.  
  10954. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  10955.     IRpcStubBuffer *This,
  10956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10957.     PRPC_MESSAGE _pRpcMessage,
  10958.     DWORD *_pdwStubPhase);
  10959.  
  10960.  
  10961.  
  10962. #endif     /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  10963.  
  10964.  
  10965. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10966. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10967.  
  10968. /* interface IAMVfwCompressDialogs */
  10969. /* [unique][uuid][local][object] */ 
  10970.  
  10971.  
  10972. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  10973.  
  10974. #if defined(__cplusplus) && !defined(CINTERFACE)
  10975.     
  10976.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  10977.     IAMVfwCompressDialogs : public IUnknown
  10978.     {
  10979.     public:
  10980.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10981.             /* [in] */ int iDialog,
  10982.             /* [in] */ HWND hwnd) = 0;
  10983.         
  10984.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  10985.             /* [size_is][out] */ LPVOID pState,
  10986.             /* [out][in] */ int *pcbState) = 0;
  10987.         
  10988.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  10989.             /* [size_is][in] */ LPVOID pState,
  10990.             /* [in] */ int cbState) = 0;
  10991.         
  10992.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10993.             /* [in] */ int uMsg,
  10994.             /* [in] */ long dw1,
  10995.             /* [in] */ long dw2) = 0;
  10996.         
  10997.     };
  10998.     
  10999. #else     /* C style interface */
  11000.  
  11001.     typedef struct IAMVfwCompressDialogsVtbl
  11002.     {
  11003.         BEGIN_INTERFACE
  11004.         
  11005.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11006.             IAMVfwCompressDialogs * This,
  11007.             /* [in] */ REFIID riid,
  11008.             /* [iid_is][out] */ void **ppvObject);
  11009.         
  11010.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11011.             IAMVfwCompressDialogs * This);
  11012.         
  11013.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11014.             IAMVfwCompressDialogs * This);
  11015.         
  11016.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  11017.             IAMVfwCompressDialogs * This,
  11018.             /* [in] */ int iDialog,
  11019.             /* [in] */ HWND hwnd);
  11020.         
  11021.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  11022.             IAMVfwCompressDialogs * This,
  11023.             /* [size_is][out] */ LPVOID pState,
  11024.             /* [out][in] */ int *pcbState);
  11025.         
  11026.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  11027.             IAMVfwCompressDialogs * This,
  11028.             /* [size_is][in] */ LPVOID pState,
  11029.             /* [in] */ int cbState);
  11030.         
  11031.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  11032.             IAMVfwCompressDialogs * This,
  11033.             /* [in] */ int uMsg,
  11034.             /* [in] */ long dw1,
  11035.             /* [in] */ long dw2);
  11036.         
  11037.         END_INTERFACE
  11038.     } IAMVfwCompressDialogsVtbl;
  11039.  
  11040.     interface IAMVfwCompressDialogs
  11041.     {
  11042.         CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  11043.     };
  11044.  
  11045.     
  11046.  
  11047. #ifdef COBJMACROS
  11048.  
  11049.  
  11050. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)    \
  11051.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11052.  
  11053. #define IAMVfwCompressDialogs_AddRef(This)    \
  11054.     (This)->lpVtbl -> AddRef(This)
  11055.  
  11056. #define IAMVfwCompressDialogs_Release(This)    \
  11057.     (This)->lpVtbl -> Release(This)
  11058.  
  11059.  
  11060. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)    \
  11061.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  11062.  
  11063. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)    \
  11064.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  11065.  
  11066. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)    \
  11067.     (This)->lpVtbl -> SetState(This,pState,cbState)
  11068.  
  11069. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)    \
  11070.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  11071.  
  11072. #endif /* COBJMACROS */
  11073.  
  11074.  
  11075. #endif     /* C style interface */
  11076.  
  11077.  
  11078.  
  11079. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  11080.     IAMVfwCompressDialogs * This,
  11081.     /* [in] */ int iDialog,
  11082.     /* [in] */ HWND hwnd);
  11083.  
  11084.  
  11085. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  11086.     IRpcStubBuffer *This,
  11087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11088.     PRPC_MESSAGE _pRpcMessage,
  11089.     DWORD *_pdwStubPhase);
  11090.  
  11091.  
  11092. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  11093.     IAMVfwCompressDialogs * This,
  11094.     /* [size_is][out] */ LPVOID pState,
  11095.     /* [out][in] */ int *pcbState);
  11096.  
  11097.  
  11098. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  11099.     IRpcStubBuffer *This,
  11100.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11101.     PRPC_MESSAGE _pRpcMessage,
  11102.     DWORD *_pdwStubPhase);
  11103.  
  11104.  
  11105. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  11106.     IAMVfwCompressDialogs * This,
  11107.     /* [size_is][in] */ LPVOID pState,
  11108.     /* [in] */ int cbState);
  11109.  
  11110.  
  11111. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  11112.     IRpcStubBuffer *This,
  11113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11114.     PRPC_MESSAGE _pRpcMessage,
  11115.     DWORD *_pdwStubPhase);
  11116.  
  11117.  
  11118. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  11119.     IAMVfwCompressDialogs * This,
  11120.     /* [in] */ int uMsg,
  11121.     /* [in] */ long dw1,
  11122.     /* [in] */ long dw2);
  11123.  
  11124.  
  11125. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  11126.     IRpcStubBuffer *This,
  11127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11128.     PRPC_MESSAGE _pRpcMessage,
  11129.     DWORD *_pdwStubPhase);
  11130.  
  11131.  
  11132.  
  11133. #endif     /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  11134.  
  11135.  
  11136. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  11137. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  11138.  
  11139. /* interface IAMDroppedFrames */
  11140. /* [unique][uuid][object] */ 
  11141.  
  11142.  
  11143. EXTERN_C const IID IID_IAMDroppedFrames;
  11144.  
  11145. #if defined(__cplusplus) && !defined(CINTERFACE)
  11146.     
  11147.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  11148.     IAMDroppedFrames : public IUnknown
  11149.     {
  11150.     public:
  11151.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  11152.             /* [out] */ long *plDropped) = 0;
  11153.         
  11154.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  11155.             /* [out] */ long *plNotDropped) = 0;
  11156.         
  11157.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  11158.             /* [in] */ long lSize,
  11159.             /* [out] */ long *plArray,
  11160.             /* [out] */ long *plNumCopied) = 0;
  11161.         
  11162.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  11163.             /* [out] */ long *plAverageSize) = 0;
  11164.         
  11165.     };
  11166.     
  11167. #else     /* C style interface */
  11168.  
  11169.     typedef struct IAMDroppedFramesVtbl
  11170.     {
  11171.         BEGIN_INTERFACE
  11172.         
  11173.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11174.             IAMDroppedFrames * This,
  11175.             /* [in] */ REFIID riid,
  11176.             /* [iid_is][out] */ void **ppvObject);
  11177.         
  11178.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11179.             IAMDroppedFrames * This);
  11180.         
  11181.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11182.             IAMDroppedFrames * This);
  11183.         
  11184.         HRESULT ( STDMETHODCALLTYPE *GetNumDropped )( 
  11185.             IAMDroppedFrames * This,
  11186.             /* [out] */ long *plDropped);
  11187.         
  11188.         HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )( 
  11189.             IAMDroppedFrames * This,
  11190.             /* [out] */ long *plNotDropped);
  11191.         
  11192.         HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )( 
  11193.             IAMDroppedFrames * This,
  11194.             /* [in] */ long lSize,
  11195.             /* [out] */ long *plArray,
  11196.             /* [out] */ long *plNumCopied);
  11197.         
  11198.         HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )( 
  11199.             IAMDroppedFrames * This,
  11200.             /* [out] */ long *plAverageSize);
  11201.         
  11202.         END_INTERFACE
  11203.     } IAMDroppedFramesVtbl;
  11204.  
  11205.     interface IAMDroppedFrames
  11206.     {
  11207.         CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  11208.     };
  11209.  
  11210.     
  11211.  
  11212. #ifdef COBJMACROS
  11213.  
  11214.  
  11215. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)    \
  11216.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11217.  
  11218. #define IAMDroppedFrames_AddRef(This)    \
  11219.     (This)->lpVtbl -> AddRef(This)
  11220.  
  11221. #define IAMDroppedFrames_Release(This)    \
  11222.     (This)->lpVtbl -> Release(This)
  11223.  
  11224.  
  11225. #define IAMDroppedFrames_GetNumDropped(This,plDropped)    \
  11226.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  11227.  
  11228. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)    \
  11229.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  11230.  
  11231. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)    \
  11232.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  11233.  
  11234. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)    \
  11235.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  11236.  
  11237. #endif /* COBJMACROS */
  11238.  
  11239.  
  11240. #endif     /* C style interface */
  11241.  
  11242.  
  11243.  
  11244. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  11245.     IAMDroppedFrames * This,
  11246.     /* [out] */ long *plDropped);
  11247.  
  11248.  
  11249. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  11250.     IRpcStubBuffer *This,
  11251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11252.     PRPC_MESSAGE _pRpcMessage,
  11253.     DWORD *_pdwStubPhase);
  11254.  
  11255.  
  11256. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  11257.     IAMDroppedFrames * This,
  11258.     /* [out] */ long *plNotDropped);
  11259.  
  11260.  
  11261. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  11262.     IRpcStubBuffer *This,
  11263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11264.     PRPC_MESSAGE _pRpcMessage,
  11265.     DWORD *_pdwStubPhase);
  11266.  
  11267.  
  11268. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  11269.     IAMDroppedFrames * This,
  11270.     /* [in] */ long lSize,
  11271.     /* [out] */ long *plArray,
  11272.     /* [out] */ long *plNumCopied);
  11273.  
  11274.  
  11275. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  11276.     IRpcStubBuffer *This,
  11277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11278.     PRPC_MESSAGE _pRpcMessage,
  11279.     DWORD *_pdwStubPhase);
  11280.  
  11281.  
  11282. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  11283.     IAMDroppedFrames * This,
  11284.     /* [out] */ long *plAverageSize);
  11285.  
  11286.  
  11287. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  11288.     IRpcStubBuffer *This,
  11289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11290.     PRPC_MESSAGE _pRpcMessage,
  11291.     DWORD *_pdwStubPhase);
  11292.  
  11293.  
  11294.  
  11295. #endif     /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  11296.  
  11297.  
  11298. /* interface __MIDL_itf_strmif_0167 */
  11299. /* [local] */ 
  11300.  
  11301. #define AMF_AUTOMATICGAIN -1.0
  11302.  
  11303.  
  11304. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  11305. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  11306.  
  11307. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  11308. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  11309.  
  11310. /* interface IAMAudioInputMixer */
  11311. /* [unique][uuid][object] */ 
  11312.  
  11313.  
  11314. EXTERN_C const IID IID_IAMAudioInputMixer;
  11315.  
  11316. #if defined(__cplusplus) && !defined(CINTERFACE)
  11317.     
  11318.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  11319.     IAMAudioInputMixer : public IUnknown
  11320.     {
  11321.     public:
  11322.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  11323.             /* [in] */ BOOL fEnable) = 0;
  11324.         
  11325.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  11326.             /* [out] */ BOOL *pfEnable) = 0;
  11327.         
  11328.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  11329.             /* [in] */ BOOL fMono) = 0;
  11330.         
  11331.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  11332.             /* [out] */ BOOL *pfMono) = 0;
  11333.         
  11334.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  11335.             /* [in] */ double Level) = 0;
  11336.         
  11337.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  11338.             /* [out] */ double *pLevel) = 0;
  11339.         
  11340.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  11341.             /* [in] */ double Pan) = 0;
  11342.         
  11343.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  11344.             /* [out] */ double *pPan) = 0;
  11345.         
  11346.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  11347.             /* [in] */ BOOL fLoudness) = 0;
  11348.         
  11349.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  11350.             /* [out] */ BOOL *pfLoudness) = 0;
  11351.         
  11352.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  11353.             /* [in] */ double Treble) = 0;
  11354.         
  11355.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  11356.             /* [out] */ double *pTreble) = 0;
  11357.         
  11358.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  11359.             /* [out] */ double *pRange) = 0;
  11360.         
  11361.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  11362.             /* [in] */ double Bass) = 0;
  11363.         
  11364.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  11365.             /* [out] */ double *pBass) = 0;
  11366.         
  11367.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  11368.             /* [out] */ double *pRange) = 0;
  11369.         
  11370.     };
  11371.     
  11372. #else     /* C style interface */
  11373.  
  11374.     typedef struct IAMAudioInputMixerVtbl
  11375.     {
  11376.         BEGIN_INTERFACE
  11377.         
  11378.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11379.             IAMAudioInputMixer * This,
  11380.             /* [in] */ REFIID riid,
  11381.             /* [iid_is][out] */ void **ppvObject);
  11382.         
  11383.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11384.             IAMAudioInputMixer * This);
  11385.         
  11386.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11387.             IAMAudioInputMixer * This);
  11388.         
  11389.         HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  11390.             IAMAudioInputMixer * This,
  11391.             /* [in] */ BOOL fEnable);
  11392.         
  11393.         HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  11394.             IAMAudioInputMixer * This,
  11395.             /* [out] */ BOOL *pfEnable);
  11396.         
  11397.         HRESULT ( STDMETHODCALLTYPE *put_Mono )( 
  11398.             IAMAudioInputMixer * This,
  11399.             /* [in] */ BOOL fMono);
  11400.         
  11401.         HRESULT ( STDMETHODCALLTYPE *get_Mono )( 
  11402.             IAMAudioInputMixer * This,
  11403.             /* [out] */ BOOL *pfMono);
  11404.         
  11405.         HRESULT ( STDMETHODCALLTYPE *put_MixLevel )( 
  11406.             IAMAudioInputMixer * This,
  11407.             /* [in] */ double Level);
  11408.         
  11409.         HRESULT ( STDMETHODCALLTYPE *get_MixLevel )( 
  11410.             IAMAudioInputMixer * This,
  11411.             /* [out] */ double *pLevel);
  11412.         
  11413.         HRESULT ( STDMETHODCALLTYPE *put_Pan )( 
  11414.             IAMAudioInputMixer * This,
  11415.             /* [in] */ double Pan);
  11416.         
  11417.         HRESULT ( STDMETHODCALLTYPE *get_Pan )( 
  11418.             IAMAudioInputMixer * This,
  11419.             /* [out] */ double *pPan);
  11420.         
  11421.         HRESULT ( STDMETHODCALLTYPE *put_Loudness )( 
  11422.             IAMAudioInputMixer * This,
  11423.             /* [in] */ BOOL fLoudness);
  11424.         
  11425.         HRESULT ( STDMETHODCALLTYPE *get_Loudness )( 
  11426.             IAMAudioInputMixer * This,
  11427.             /* [out] */ BOOL *pfLoudness);
  11428.         
  11429.         HRESULT ( STDMETHODCALLTYPE *put_Treble )( 
  11430.             IAMAudioInputMixer * This,
  11431.             /* [in] */ double Treble);
  11432.         
  11433.         HRESULT ( STDMETHODCALLTYPE *get_Treble )( 
  11434.             IAMAudioInputMixer * This,
  11435.             /* [out] */ double *pTreble);
  11436.         
  11437.         HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )( 
  11438.             IAMAudioInputMixer * This,
  11439.             /* [out] */ double *pRange);
  11440.         
  11441.         HRESULT ( STDMETHODCALLTYPE *put_Bass )( 
  11442.             IAMAudioInputMixer * This,
  11443.             /* [in] */ double Bass);
  11444.         
  11445.         HRESULT ( STDMETHODCALLTYPE *get_Bass )( 
  11446.             IAMAudioInputMixer * This,
  11447.             /* [out] */ double *pBass);
  11448.         
  11449.         HRESULT ( STDMETHODCALLTYPE *get_BassRange )( 
  11450.             IAMAudioInputMixer * This,
  11451.             /* [out] */ double *pRange);
  11452.         
  11453.         END_INTERFACE
  11454.     } IAMAudioInputMixerVtbl;
  11455.  
  11456.     interface IAMAudioInputMixer
  11457.     {
  11458.         CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  11459.     };
  11460.  
  11461.     
  11462.  
  11463. #ifdef COBJMACROS
  11464.  
  11465.  
  11466. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)    \
  11467.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11468.  
  11469. #define IAMAudioInputMixer_AddRef(This)    \
  11470.     (This)->lpVtbl -> AddRef(This)
  11471.  
  11472. #define IAMAudioInputMixer_Release(This)    \
  11473.     (This)->lpVtbl -> Release(This)
  11474.  
  11475.  
  11476. #define IAMAudioInputMixer_put_Enable(This,fEnable)    \
  11477.     (This)->lpVtbl -> put_Enable(This,fEnable)
  11478.  
  11479. #define IAMAudioInputMixer_get_Enable(This,pfEnable)    \
  11480.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  11481.  
  11482. #define IAMAudioInputMixer_put_Mono(This,fMono)    \
  11483.     (This)->lpVtbl -> put_Mono(This,fMono)
  11484.  
  11485. #define IAMAudioInputMixer_get_Mono(This,pfMono)    \
  11486.     (This)->lpVtbl -> get_Mono(This,pfMono)
  11487.  
  11488. #define IAMAudioInputMixer_put_MixLevel(This,Level)    \
  11489.     (This)->lpVtbl -> put_MixLevel(This,Level)
  11490.  
  11491. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)    \
  11492.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  11493.  
  11494. #define IAMAudioInputMixer_put_Pan(This,Pan)    \
  11495.     (This)->lpVtbl -> put_Pan(This,Pan)
  11496.  
  11497. #define IAMAudioInputMixer_get_Pan(This,pPan)    \
  11498.     (This)->lpVtbl -> get_Pan(This,pPan)
  11499.  
  11500. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)    \
  11501.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  11502.  
  11503. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)    \
  11504.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  11505.  
  11506. #define IAMAudioInputMixer_put_Treble(This,Treble)    \
  11507.     (This)->lpVtbl -> put_Treble(This,Treble)
  11508.  
  11509. #define IAMAudioInputMixer_get_Treble(This,pTreble)    \
  11510.     (This)->lpVtbl -> get_Treble(This,pTreble)
  11511.  
  11512. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)    \
  11513.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  11514.  
  11515. #define IAMAudioInputMixer_put_Bass(This,Bass)    \
  11516.     (This)->lpVtbl -> put_Bass(This,Bass)
  11517.  
  11518. #define IAMAudioInputMixer_get_Bass(This,pBass)    \
  11519.     (This)->lpVtbl -> get_Bass(This,pBass)
  11520.  
  11521. #define IAMAudioInputMixer_get_BassRange(This,pRange)    \
  11522.     (This)->lpVtbl -> get_BassRange(This,pRange)
  11523.  
  11524. #endif /* COBJMACROS */
  11525.  
  11526.  
  11527. #endif     /* C style interface */
  11528.  
  11529.  
  11530.  
  11531. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  11532.     IAMAudioInputMixer * This,
  11533.     /* [in] */ BOOL fEnable);
  11534.  
  11535.  
  11536. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  11537.     IRpcStubBuffer *This,
  11538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11539.     PRPC_MESSAGE _pRpcMessage,
  11540.     DWORD *_pdwStubPhase);
  11541.  
  11542.  
  11543. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  11544.     IAMAudioInputMixer * This,
  11545.     /* [out] */ BOOL *pfEnable);
  11546.  
  11547.  
  11548. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  11549.     IRpcStubBuffer *This,
  11550.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11551.     PRPC_MESSAGE _pRpcMessage,
  11552.     DWORD *_pdwStubPhase);
  11553.  
  11554.  
  11555. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  11556.     IAMAudioInputMixer * This,
  11557.     /* [in] */ BOOL fMono);
  11558.  
  11559.  
  11560. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  11561.     IRpcStubBuffer *This,
  11562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11563.     PRPC_MESSAGE _pRpcMessage,
  11564.     DWORD *_pdwStubPhase);
  11565.  
  11566.  
  11567. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  11568.     IAMAudioInputMixer * This,
  11569.     /* [out] */ BOOL *pfMono);
  11570.  
  11571.  
  11572. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  11573.     IRpcStubBuffer *This,
  11574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11575.     PRPC_MESSAGE _pRpcMessage,
  11576.     DWORD *_pdwStubPhase);
  11577.  
  11578.  
  11579. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  11580.     IAMAudioInputMixer * This,
  11581.     /* [in] */ double Level);
  11582.  
  11583.  
  11584. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  11585.     IRpcStubBuffer *This,
  11586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11587.     PRPC_MESSAGE _pRpcMessage,
  11588.     DWORD *_pdwStubPhase);
  11589.  
  11590.  
  11591. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  11592.     IAMAudioInputMixer * This,
  11593.     /* [out] */ double *pLevel);
  11594.  
  11595.  
  11596. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  11597.     IRpcStubBuffer *This,
  11598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11599.     PRPC_MESSAGE _pRpcMessage,
  11600.     DWORD *_pdwStubPhase);
  11601.  
  11602.  
  11603. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  11604.     IAMAudioInputMixer * This,
  11605.     /* [in] */ double Pan);
  11606.  
  11607.  
  11608. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  11609.     IRpcStubBuffer *This,
  11610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11611.     PRPC_MESSAGE _pRpcMessage,
  11612.     DWORD *_pdwStubPhase);
  11613.  
  11614.  
  11615. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  11616.     IAMAudioInputMixer * This,
  11617.     /* [out] */ double *pPan);
  11618.  
  11619.  
  11620. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  11621.     IRpcStubBuffer *This,
  11622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11623.     PRPC_MESSAGE _pRpcMessage,
  11624.     DWORD *_pdwStubPhase);
  11625.  
  11626.  
  11627. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  11628.     IAMAudioInputMixer * This,
  11629.     /* [in] */ BOOL fLoudness);
  11630.  
  11631.  
  11632. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  11633.     IRpcStubBuffer *This,
  11634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11635.     PRPC_MESSAGE _pRpcMessage,
  11636.     DWORD *_pdwStubPhase);
  11637.  
  11638.  
  11639. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  11640.     IAMAudioInputMixer * This,
  11641.     /* [out] */ BOOL *pfLoudness);
  11642.  
  11643.  
  11644. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  11645.     IRpcStubBuffer *This,
  11646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11647.     PRPC_MESSAGE _pRpcMessage,
  11648.     DWORD *_pdwStubPhase);
  11649.  
  11650.  
  11651. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  11652.     IAMAudioInputMixer * This,
  11653.     /* [in] */ double Treble);
  11654.  
  11655.  
  11656. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  11657.     IRpcStubBuffer *This,
  11658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11659.     PRPC_MESSAGE _pRpcMessage,
  11660.     DWORD *_pdwStubPhase);
  11661.  
  11662.  
  11663. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  11664.     IAMAudioInputMixer * This,
  11665.     /* [out] */ double *pTreble);
  11666.  
  11667.  
  11668. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  11669.     IRpcStubBuffer *This,
  11670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11671.     PRPC_MESSAGE _pRpcMessage,
  11672.     DWORD *_pdwStubPhase);
  11673.  
  11674.  
  11675. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  11676.     IAMAudioInputMixer * This,
  11677.     /* [out] */ double *pRange);
  11678.  
  11679.  
  11680. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  11681.     IRpcStubBuffer *This,
  11682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11683.     PRPC_MESSAGE _pRpcMessage,
  11684.     DWORD *_pdwStubPhase);
  11685.  
  11686.  
  11687. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  11688.     IAMAudioInputMixer * This,
  11689.     /* [in] */ double Bass);
  11690.  
  11691.  
  11692. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  11693.     IRpcStubBuffer *This,
  11694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11695.     PRPC_MESSAGE _pRpcMessage,
  11696.     DWORD *_pdwStubPhase);
  11697.  
  11698.  
  11699. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  11700.     IAMAudioInputMixer * This,
  11701.     /* [out] */ double *pBass);
  11702.  
  11703.  
  11704. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  11705.     IRpcStubBuffer *This,
  11706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11707.     PRPC_MESSAGE _pRpcMessage,
  11708.     DWORD *_pdwStubPhase);
  11709.  
  11710.  
  11711. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  11712.     IAMAudioInputMixer * This,
  11713.     /* [out] */ double *pRange);
  11714.  
  11715.  
  11716. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  11717.     IRpcStubBuffer *This,
  11718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11719.     PRPC_MESSAGE _pRpcMessage,
  11720.     DWORD *_pdwStubPhase);
  11721.  
  11722.  
  11723.  
  11724. #endif     /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  11725.  
  11726.  
  11727. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  11728. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  11729.  
  11730. /* interface IAMBufferNegotiation */
  11731. /* [unique][uuid][object] */ 
  11732.  
  11733.  
  11734. EXTERN_C const IID IID_IAMBufferNegotiation;
  11735.  
  11736. #if defined(__cplusplus) && !defined(CINTERFACE)
  11737.     
  11738.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  11739.     IAMBufferNegotiation : public IUnknown
  11740.     {
  11741.     public:
  11742.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  11743.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  11744.         
  11745.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  11746.             /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  11747.         
  11748.     };
  11749.     
  11750. #else     /* C style interface */
  11751.  
  11752.     typedef struct IAMBufferNegotiationVtbl
  11753.     {
  11754.         BEGIN_INTERFACE
  11755.         
  11756.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11757.             IAMBufferNegotiation * This,
  11758.             /* [in] */ REFIID riid,
  11759.             /* [iid_is][out] */ void **ppvObject);
  11760.         
  11761.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11762.             IAMBufferNegotiation * This);
  11763.         
  11764.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11765.             IAMBufferNegotiation * This);
  11766.         
  11767.         HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )( 
  11768.             IAMBufferNegotiation * This,
  11769.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11770.         
  11771.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )( 
  11772.             IAMBufferNegotiation * This,
  11773.             /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11774.         
  11775.         END_INTERFACE
  11776.     } IAMBufferNegotiationVtbl;
  11777.  
  11778.     interface IAMBufferNegotiation
  11779.     {
  11780.         CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  11781.     };
  11782.  
  11783.     
  11784.  
  11785. #ifdef COBJMACROS
  11786.  
  11787.  
  11788. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)    \
  11789.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11790.  
  11791. #define IAMBufferNegotiation_AddRef(This)    \
  11792.     (This)->lpVtbl -> AddRef(This)
  11793.  
  11794. #define IAMBufferNegotiation_Release(This)    \
  11795.     (This)->lpVtbl -> Release(This)
  11796.  
  11797.  
  11798. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)    \
  11799.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  11800.  
  11801. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)    \
  11802.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  11803.  
  11804. #endif /* COBJMACROS */
  11805.  
  11806.  
  11807. #endif     /* C style interface */
  11808.  
  11809.  
  11810.  
  11811. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  11812.     IAMBufferNegotiation * This,
  11813.     /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11814.  
  11815.  
  11816. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  11817.     IRpcStubBuffer *This,
  11818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11819.     PRPC_MESSAGE _pRpcMessage,
  11820.     DWORD *_pdwStubPhase);
  11821.  
  11822.  
  11823. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  11824.     IAMBufferNegotiation * This,
  11825.     /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11826.  
  11827.  
  11828. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  11829.     IRpcStubBuffer *This,
  11830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11831.     PRPC_MESSAGE _pRpcMessage,
  11832.     DWORD *_pdwStubPhase);
  11833.  
  11834.  
  11835.  
  11836. #endif     /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  11837.  
  11838.  
  11839. /* interface __MIDL_itf_strmif_0169 */
  11840. /* [local] */ 
  11841.  
  11842. typedef 
  11843. enum tagAnalogVideoStandard
  11844.     {    AnalogVideo_None    = 0,
  11845.     AnalogVideo_NTSC_M    = 0x1,
  11846.     AnalogVideo_NTSC_M_J    = 0x2,
  11847.     AnalogVideo_NTSC_433    = 0x4,
  11848.     AnalogVideo_PAL_B    = 0x10,
  11849.     AnalogVideo_PAL_D    = 0x20,
  11850.     AnalogVideo_PAL_G    = 0x40,
  11851.     AnalogVideo_PAL_H    = 0x80,
  11852.     AnalogVideo_PAL_I    = 0x100,
  11853.     AnalogVideo_PAL_M    = 0x200,
  11854.     AnalogVideo_PAL_N    = 0x400,
  11855.     AnalogVideo_PAL_60    = 0x800,
  11856.     AnalogVideo_SECAM_B    = 0x1000,
  11857.     AnalogVideo_SECAM_D    = 0x2000,
  11858.     AnalogVideo_SECAM_G    = 0x4000,
  11859.     AnalogVideo_SECAM_H    = 0x8000,
  11860.     AnalogVideo_SECAM_K    = 0x10000,
  11861.     AnalogVideo_SECAM_K1    = 0x20000,
  11862.     AnalogVideo_SECAM_L    = 0x40000,
  11863.     AnalogVideo_SECAM_L1    = 0x80000,
  11864.     AnalogVideo_PAL_N_COMBO    = 0x100000
  11865.     }     AnalogVideoStandard;
  11866.  
  11867. #define AnalogVideo_NTSC_Mask  0x00000007
  11868. #define AnalogVideo_PAL_Mask   0x00100FF0
  11869. #define AnalogVideo_SECAM_Mask 0x000FF000
  11870. typedef 
  11871. enum tagTunerInputType
  11872.     {    TunerInputCable    = 0,
  11873.     TunerInputAntenna    = TunerInputCable + 1
  11874.     }     TunerInputType;
  11875.  
  11876. typedef /* [public] */ 
  11877. enum __MIDL___MIDL_itf_strmif_0169_0001
  11878.     {    VideoCopyProtectionMacrovisionBasic    = 0,
  11879.     VideoCopyProtectionMacrovisionCBI    = VideoCopyProtectionMacrovisionBasic + 1
  11880.     }     VideoCopyProtectionType;
  11881.  
  11882. typedef 
  11883. enum tagPhysicalConnectorType
  11884.     {    PhysConn_Video_Tuner    = 1,
  11885.     PhysConn_Video_Composite    = PhysConn_Video_Tuner + 1,
  11886.     PhysConn_Video_SVideo    = PhysConn_Video_Composite + 1,
  11887.     PhysConn_Video_RGB    = PhysConn_Video_SVideo + 1,
  11888.     PhysConn_Video_YRYBY    = PhysConn_Video_RGB + 1,
  11889.     PhysConn_Video_SerialDigital    = PhysConn_Video_YRYBY + 1,
  11890.     PhysConn_Video_ParallelDigital    = PhysConn_Video_SerialDigital + 1,
  11891.     PhysConn_Video_SCSI    = PhysConn_Video_ParallelDigital + 1,
  11892.     PhysConn_Video_AUX    = PhysConn_Video_SCSI + 1,
  11893.     PhysConn_Video_1394    = PhysConn_Video_AUX + 1,
  11894.     PhysConn_Video_USB    = PhysConn_Video_1394 + 1,
  11895.     PhysConn_Video_VideoDecoder    = PhysConn_Video_USB + 1,
  11896.     PhysConn_Video_VideoEncoder    = PhysConn_Video_VideoDecoder + 1,
  11897.     PhysConn_Video_SCART    = PhysConn_Video_VideoEncoder + 1,
  11898.     PhysConn_Video_Black    = PhysConn_Video_SCART + 1,
  11899.     PhysConn_Audio_Tuner    = 0x1000,
  11900.     PhysConn_Audio_Line    = PhysConn_Audio_Tuner + 1,
  11901.     PhysConn_Audio_Mic    = PhysConn_Audio_Line + 1,
  11902.     PhysConn_Audio_AESDigital    = PhysConn_Audio_Mic + 1,
  11903.     PhysConn_Audio_SPDIFDigital    = PhysConn_Audio_AESDigital + 1,
  11904.     PhysConn_Audio_SCSI    = PhysConn_Audio_SPDIFDigital + 1,
  11905.     PhysConn_Audio_AUX    = PhysConn_Audio_SCSI + 1,
  11906.     PhysConn_Audio_1394    = PhysConn_Audio_AUX + 1,
  11907.     PhysConn_Audio_USB    = PhysConn_Audio_1394 + 1,
  11908.     PhysConn_Audio_AudioDecoder    = PhysConn_Audio_USB + 1
  11909.     }     PhysicalConnectorType;
  11910.  
  11911.  
  11912.  
  11913. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  11914. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  11915.  
  11916. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11917. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11918.  
  11919. /* interface IAMAnalogVideoDecoder */
  11920. /* [unique][uuid][object] */ 
  11921.  
  11922.  
  11923. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  11924.  
  11925. #if defined(__cplusplus) && !defined(CINTERFACE)
  11926.     
  11927.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  11928.     IAMAnalogVideoDecoder : public IUnknown
  11929.     {
  11930.     public:
  11931.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  11932.             /* [out] */ long *lAnalogVideoStandard) = 0;
  11933.         
  11934.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  11935.             /* [in] */ long lAnalogVideoStandard) = 0;
  11936.         
  11937.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  11938.             /* [out] */ long *plAnalogVideoStandard) = 0;
  11939.         
  11940.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  11941.             /* [out] */ long *plLocked) = 0;
  11942.         
  11943.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  11944.             /* [in] */ long lVCRHorizontalLocking) = 0;
  11945.         
  11946.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  11947.             /* [out] */ long *plVCRHorizontalLocking) = 0;
  11948.         
  11949.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  11950.             /* [out] */ long *plNumberOfLines) = 0;
  11951.         
  11952.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  11953.             /* [in] */ long lOutputEnable) = 0;
  11954.         
  11955.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  11956.             /* [out] */ long *plOutputEnable) = 0;
  11957.         
  11958.     };
  11959.     
  11960. #else     /* C style interface */
  11961.  
  11962.     typedef struct IAMAnalogVideoDecoderVtbl
  11963.     {
  11964.         BEGIN_INTERFACE
  11965.         
  11966.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11967.             IAMAnalogVideoDecoder * This,
  11968.             /* [in] */ REFIID riid,
  11969.             /* [iid_is][out] */ void **ppvObject);
  11970.         
  11971.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11972.             IAMAnalogVideoDecoder * This);
  11973.         
  11974.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11975.             IAMAnalogVideoDecoder * This);
  11976.         
  11977.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  11978.             IAMAnalogVideoDecoder * This,
  11979.             /* [out] */ long *lAnalogVideoStandard);
  11980.         
  11981.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  11982.             IAMAnalogVideoDecoder * This,
  11983.             /* [in] */ long lAnalogVideoStandard);
  11984.         
  11985.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  11986.             IAMAnalogVideoDecoder * This,
  11987.             /* [out] */ long *plAnalogVideoStandard);
  11988.         
  11989.         HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )( 
  11990.             IAMAnalogVideoDecoder * This,
  11991.             /* [out] */ long *plLocked);
  11992.         
  11993.         HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )( 
  11994.             IAMAnalogVideoDecoder * This,
  11995.             /* [in] */ long lVCRHorizontalLocking);
  11996.         
  11997.         HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )( 
  11998.             IAMAnalogVideoDecoder * This,
  11999.             /* [out] */ long *plVCRHorizontalLocking);
  12000.         
  12001.         HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )( 
  12002.             IAMAnalogVideoDecoder * This,
  12003.             /* [out] */ long *plNumberOfLines);
  12004.         
  12005.         HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )( 
  12006.             IAMAnalogVideoDecoder * This,
  12007.             /* [in] */ long lOutputEnable);
  12008.         
  12009.         HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )( 
  12010.             IAMAnalogVideoDecoder * This,
  12011.             /* [out] */ long *plOutputEnable);
  12012.         
  12013.         END_INTERFACE
  12014.     } IAMAnalogVideoDecoderVtbl;
  12015.  
  12016.     interface IAMAnalogVideoDecoder
  12017.     {
  12018.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  12019.     };
  12020.  
  12021.     
  12022.  
  12023. #ifdef COBJMACROS
  12024.  
  12025.  
  12026. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)    \
  12027.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12028.  
  12029. #define IAMAnalogVideoDecoder_AddRef(This)    \
  12030.     (This)->lpVtbl -> AddRef(This)
  12031.  
  12032. #define IAMAnalogVideoDecoder_Release(This)    \
  12033.     (This)->lpVtbl -> Release(This)
  12034.  
  12035.  
  12036. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  12037.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  12038.  
  12039. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)    \
  12040.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  12041.  
  12042. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)    \
  12043.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  12044.  
  12045. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)    \
  12046.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  12047.  
  12048. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)    \
  12049.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  12050.  
  12051. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)    \
  12052.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  12053.  
  12054. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)    \
  12055.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  12056.  
  12057. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)    \
  12058.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  12059.  
  12060. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)    \
  12061.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  12062.  
  12063. #endif /* COBJMACROS */
  12064.  
  12065.  
  12066. #endif     /* C style interface */
  12067.  
  12068.  
  12069.  
  12070. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  12071.     IAMAnalogVideoDecoder * This,
  12072.     /* [out] */ long *lAnalogVideoStandard);
  12073.  
  12074.  
  12075. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  12076.     IRpcStubBuffer *This,
  12077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12078.     PRPC_MESSAGE _pRpcMessage,
  12079.     DWORD *_pdwStubPhase);
  12080.  
  12081.  
  12082. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  12083.     IAMAnalogVideoDecoder * This,
  12084.     /* [in] */ long lAnalogVideoStandard);
  12085.  
  12086.  
  12087. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  12088.     IRpcStubBuffer *This,
  12089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12090.     PRPC_MESSAGE _pRpcMessage,
  12091.     DWORD *_pdwStubPhase);
  12092.  
  12093.  
  12094. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  12095.     IAMAnalogVideoDecoder * This,
  12096.     /* [out] */ long *plAnalogVideoStandard);
  12097.  
  12098.  
  12099. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  12100.     IRpcStubBuffer *This,
  12101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12102.     PRPC_MESSAGE _pRpcMessage,
  12103.     DWORD *_pdwStubPhase);
  12104.  
  12105.  
  12106. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  12107.     IAMAnalogVideoDecoder * This,
  12108.     /* [out] */ long *plLocked);
  12109.  
  12110.  
  12111. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  12112.     IRpcStubBuffer *This,
  12113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12114.     PRPC_MESSAGE _pRpcMessage,
  12115.     DWORD *_pdwStubPhase);
  12116.  
  12117.  
  12118. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  12119.     IAMAnalogVideoDecoder * This,
  12120.     /* [in] */ long lVCRHorizontalLocking);
  12121.  
  12122.  
  12123. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  12124.     IRpcStubBuffer *This,
  12125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12126.     PRPC_MESSAGE _pRpcMessage,
  12127.     DWORD *_pdwStubPhase);
  12128.  
  12129.  
  12130. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  12131.     IAMAnalogVideoDecoder * This,
  12132.     /* [out] */ long *plVCRHorizontalLocking);
  12133.  
  12134.  
  12135. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  12136.     IRpcStubBuffer *This,
  12137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12138.     PRPC_MESSAGE _pRpcMessage,
  12139.     DWORD *_pdwStubPhase);
  12140.  
  12141.  
  12142. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  12143.     IAMAnalogVideoDecoder * This,
  12144.     /* [out] */ long *plNumberOfLines);
  12145.  
  12146.  
  12147. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  12148.     IRpcStubBuffer *This,
  12149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12150.     PRPC_MESSAGE _pRpcMessage,
  12151.     DWORD *_pdwStubPhase);
  12152.  
  12153.  
  12154. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  12155.     IAMAnalogVideoDecoder * This,
  12156.     /* [in] */ long lOutputEnable);
  12157.  
  12158.  
  12159. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  12160.     IRpcStubBuffer *This,
  12161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12162.     PRPC_MESSAGE _pRpcMessage,
  12163.     DWORD *_pdwStubPhase);
  12164.  
  12165.  
  12166. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  12167.     IAMAnalogVideoDecoder * This,
  12168.     /* [out] */ long *plOutputEnable);
  12169.  
  12170.  
  12171. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  12172.     IRpcStubBuffer *This,
  12173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12174.     PRPC_MESSAGE _pRpcMessage,
  12175.     DWORD *_pdwStubPhase);
  12176.  
  12177.  
  12178.  
  12179. #endif     /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  12180.  
  12181.  
  12182. /* interface __MIDL_itf_strmif_0170 */
  12183. /* [local] */ 
  12184.  
  12185. typedef 
  12186. enum tagVideoProcAmpProperty
  12187.     {    VideoProcAmp_Brightness    = 0,
  12188.     VideoProcAmp_Contrast    = VideoProcAmp_Brightness + 1,
  12189.     VideoProcAmp_Hue    = VideoProcAmp_Contrast + 1,
  12190.     VideoProcAmp_Saturation    = VideoProcAmp_Hue + 1,
  12191.     VideoProcAmp_Sharpness    = VideoProcAmp_Saturation + 1,
  12192.     VideoProcAmp_Gamma    = VideoProcAmp_Sharpness + 1,
  12193.     VideoProcAmp_ColorEnable    = VideoProcAmp_Gamma + 1,
  12194.     VideoProcAmp_WhiteBalance    = VideoProcAmp_ColorEnable + 1,
  12195.     VideoProcAmp_BacklightCompensation    = VideoProcAmp_WhiteBalance + 1,
  12196.     VideoProcAmp_Gain    = VideoProcAmp_BacklightCompensation + 1
  12197.     }     VideoProcAmpProperty;
  12198.  
  12199. typedef 
  12200. enum tagVideoProcAmpFlags
  12201.     {    VideoProcAmp_Flags_Auto    = 0x1,
  12202.     VideoProcAmp_Flags_Manual    = 0x2
  12203.     }     VideoProcAmpFlags;
  12204.  
  12205.  
  12206.  
  12207. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;
  12208. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
  12209.  
  12210. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  12211. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  12212.  
  12213. /* interface IAMVideoProcAmp */
  12214. /* [unique][uuid][object] */ 
  12215.  
  12216.  
  12217. EXTERN_C const IID IID_IAMVideoProcAmp;
  12218.  
  12219. #if defined(__cplusplus) && !defined(CINTERFACE)
  12220.     
  12221.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  12222.     IAMVideoProcAmp : public IUnknown
  12223.     {
  12224.     public:
  12225.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12226.             /* [in] */ long Property,
  12227.             /* [out] */ long *pMin,
  12228.             /* [out] */ long *pMax,
  12229.             /* [out] */ long *pSteppingDelta,
  12230.             /* [out] */ long *pDefault,
  12231.             /* [out] */ long *pCapsFlags) = 0;
  12232.         
  12233.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12234.             /* [in] */ long Property,
  12235.             /* [in] */ long lValue,
  12236.             /* [in] */ long Flags) = 0;
  12237.         
  12238.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12239.             /* [in] */ long Property,
  12240.             /* [out] */ long *lValue,
  12241.             /* [out] */ long *Flags) = 0;
  12242.         
  12243.     };
  12244.     
  12245. #else     /* C style interface */
  12246.  
  12247.     typedef struct IAMVideoProcAmpVtbl
  12248.     {
  12249.         BEGIN_INTERFACE
  12250.         
  12251.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12252.             IAMVideoProcAmp * This,
  12253.             /* [in] */ REFIID riid,
  12254.             /* [iid_is][out] */ void **ppvObject);
  12255.         
  12256.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12257.             IAMVideoProcAmp * This);
  12258.         
  12259.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12260.             IAMVideoProcAmp * This);
  12261.         
  12262.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12263.             IAMVideoProcAmp * This,
  12264.             /* [in] */ long Property,
  12265.             /* [out] */ long *pMin,
  12266.             /* [out] */ long *pMax,
  12267.             /* [out] */ long *pSteppingDelta,
  12268.             /* [out] */ long *pDefault,
  12269.             /* [out] */ long *pCapsFlags);
  12270.         
  12271.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12272.             IAMVideoProcAmp * This,
  12273.             /* [in] */ long Property,
  12274.             /* [in] */ long lValue,
  12275.             /* [in] */ long Flags);
  12276.         
  12277.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12278.             IAMVideoProcAmp * This,
  12279.             /* [in] */ long Property,
  12280.             /* [out] */ long *lValue,
  12281.             /* [out] */ long *Flags);
  12282.         
  12283.         END_INTERFACE
  12284.     } IAMVideoProcAmpVtbl;
  12285.  
  12286.     interface IAMVideoProcAmp
  12287.     {
  12288.         CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  12289.     };
  12290.  
  12291.     
  12292.  
  12293. #ifdef COBJMACROS
  12294.  
  12295.  
  12296. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)    \
  12297.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12298.  
  12299. #define IAMVideoProcAmp_AddRef(This)    \
  12300.     (This)->lpVtbl -> AddRef(This)
  12301.  
  12302. #define IAMVideoProcAmp_Release(This)    \
  12303.     (This)->lpVtbl -> Release(This)
  12304.  
  12305.  
  12306. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12307.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12308.  
  12309. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)    \
  12310.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12311.  
  12312. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)    \
  12313.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12314.  
  12315. #endif /* COBJMACROS */
  12316.  
  12317.  
  12318. #endif     /* C style interface */
  12319.  
  12320.  
  12321.  
  12322. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  12323.     IAMVideoProcAmp * This,
  12324.     /* [in] */ long Property,
  12325.     /* [out] */ long *pMin,
  12326.     /* [out] */ long *pMax,
  12327.     /* [out] */ long *pSteppingDelta,
  12328.     /* [out] */ long *pDefault,
  12329.     /* [out] */ long *pCapsFlags);
  12330.  
  12331.  
  12332. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  12333.     IRpcStubBuffer *This,
  12334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12335.     PRPC_MESSAGE _pRpcMessage,
  12336.     DWORD *_pdwStubPhase);
  12337.  
  12338.  
  12339. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  12340.     IAMVideoProcAmp * This,
  12341.     /* [in] */ long Property,
  12342.     /* [in] */ long lValue,
  12343.     /* [in] */ long Flags);
  12344.  
  12345.  
  12346. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  12347.     IRpcStubBuffer *This,
  12348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12349.     PRPC_MESSAGE _pRpcMessage,
  12350.     DWORD *_pdwStubPhase);
  12351.  
  12352.  
  12353. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  12354.     IAMVideoProcAmp * This,
  12355.     /* [in] */ long Property,
  12356.     /* [out] */ long *lValue,
  12357.     /* [out] */ long *Flags);
  12358.  
  12359.  
  12360. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  12361.     IRpcStubBuffer *This,
  12362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12363.     PRPC_MESSAGE _pRpcMessage,
  12364.     DWORD *_pdwStubPhase);
  12365.  
  12366.  
  12367.  
  12368. #endif     /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  12369.  
  12370.  
  12371. /* interface __MIDL_itf_strmif_0171 */
  12372. /* [local] */ 
  12373.  
  12374. typedef 
  12375. enum tagCameraControlProperty
  12376.     {    CameraControl_Pan    = 0,
  12377.     CameraControl_Tilt    = CameraControl_Pan + 1,
  12378.     CameraControl_Roll    = CameraControl_Tilt + 1,
  12379.     CameraControl_Zoom    = CameraControl_Roll + 1,
  12380.     CameraControl_Exposure    = CameraControl_Zoom + 1,
  12381.     CameraControl_Iris    = CameraControl_Exposure + 1,
  12382.     CameraControl_Focus    = CameraControl_Iris + 1
  12383.     }     CameraControlProperty;
  12384.  
  12385. typedef 
  12386. enum tagCameraControlFlags
  12387.     {    CameraControl_Flags_Auto    = 0x1,
  12388.     CameraControl_Flags_Manual    = 0x2
  12389.     }     CameraControlFlags;
  12390.  
  12391.  
  12392.  
  12393. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
  12394. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
  12395.  
  12396. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  12397. #define __IAMCameraControl_INTERFACE_DEFINED__
  12398.  
  12399. /* interface IAMCameraControl */
  12400. /* [unique][uuid][object] */ 
  12401.  
  12402.  
  12403. EXTERN_C const IID IID_IAMCameraControl;
  12404.  
  12405. #if defined(__cplusplus) && !defined(CINTERFACE)
  12406.     
  12407.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  12408.     IAMCameraControl : public IUnknown
  12409.     {
  12410.     public:
  12411.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12412.             /* [in] */ long Property,
  12413.             /* [out] */ long *pMin,
  12414.             /* [out] */ long *pMax,
  12415.             /* [out] */ long *pSteppingDelta,
  12416.             /* [out] */ long *pDefault,
  12417.             /* [out] */ long *pCapsFlags) = 0;
  12418.         
  12419.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12420.             /* [in] */ long Property,
  12421.             /* [in] */ long lValue,
  12422.             /* [in] */ long Flags) = 0;
  12423.         
  12424.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12425.             /* [in] */ long Property,
  12426.             /* [out] */ long *lValue,
  12427.             /* [out] */ long *Flags) = 0;
  12428.         
  12429.     };
  12430.     
  12431. #else     /* C style interface */
  12432.  
  12433.     typedef struct IAMCameraControlVtbl
  12434.     {
  12435.         BEGIN_INTERFACE
  12436.         
  12437.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12438.             IAMCameraControl * This,
  12439.             /* [in] */ REFIID riid,
  12440.             /* [iid_is][out] */ void **ppvObject);
  12441.         
  12442.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12443.             IAMCameraControl * This);
  12444.         
  12445.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12446.             IAMCameraControl * This);
  12447.         
  12448.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12449.             IAMCameraControl * This,
  12450.             /* [in] */ long Property,
  12451.             /* [out] */ long *pMin,
  12452.             /* [out] */ long *pMax,
  12453.             /* [out] */ long *pSteppingDelta,
  12454.             /* [out] */ long *pDefault,
  12455.             /* [out] */ long *pCapsFlags);
  12456.         
  12457.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12458.             IAMCameraControl * This,
  12459.             /* [in] */ long Property,
  12460.             /* [in] */ long lValue,
  12461.             /* [in] */ long Flags);
  12462.         
  12463.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12464.             IAMCameraControl * This,
  12465.             /* [in] */ long Property,
  12466.             /* [out] */ long *lValue,
  12467.             /* [out] */ long *Flags);
  12468.         
  12469.         END_INTERFACE
  12470.     } IAMCameraControlVtbl;
  12471.  
  12472.     interface IAMCameraControl
  12473.     {
  12474.         CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  12475.     };
  12476.  
  12477.     
  12478.  
  12479. #ifdef COBJMACROS
  12480.  
  12481.  
  12482. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)    \
  12483.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12484.  
  12485. #define IAMCameraControl_AddRef(This)    \
  12486.     (This)->lpVtbl -> AddRef(This)
  12487.  
  12488. #define IAMCameraControl_Release(This)    \
  12489.     (This)->lpVtbl -> Release(This)
  12490.  
  12491.  
  12492. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12493.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12494.  
  12495. #define IAMCameraControl_Set(This,Property,lValue,Flags)    \
  12496.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12497.  
  12498. #define IAMCameraControl_Get(This,Property,lValue,Flags)    \
  12499.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12500.  
  12501. #endif /* COBJMACROS */
  12502.  
  12503.  
  12504. #endif     /* C style interface */
  12505.  
  12506.  
  12507.  
  12508. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  12509.     IAMCameraControl * This,
  12510.     /* [in] */ long Property,
  12511.     /* [out] */ long *pMin,
  12512.     /* [out] */ long *pMax,
  12513.     /* [out] */ long *pSteppingDelta,
  12514.     /* [out] */ long *pDefault,
  12515.     /* [out] */ long *pCapsFlags);
  12516.  
  12517.  
  12518. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  12519.     IRpcStubBuffer *This,
  12520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12521.     PRPC_MESSAGE _pRpcMessage,
  12522.     DWORD *_pdwStubPhase);
  12523.  
  12524.  
  12525. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  12526.     IAMCameraControl * This,
  12527.     /* [in] */ long Property,
  12528.     /* [in] */ long lValue,
  12529.     /* [in] */ long Flags);
  12530.  
  12531.  
  12532. void __RPC_STUB IAMCameraControl_Set_Stub(
  12533.     IRpcStubBuffer *This,
  12534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12535.     PRPC_MESSAGE _pRpcMessage,
  12536.     DWORD *_pdwStubPhase);
  12537.  
  12538.  
  12539. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  12540.     IAMCameraControl * This,
  12541.     /* [in] */ long Property,
  12542.     /* [out] */ long *lValue,
  12543.     /* [out] */ long *Flags);
  12544.  
  12545.  
  12546. void __RPC_STUB IAMCameraControl_Get_Stub(
  12547.     IRpcStubBuffer *This,
  12548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12549.     PRPC_MESSAGE _pRpcMessage,
  12550.     DWORD *_pdwStubPhase);
  12551.  
  12552.  
  12553.  
  12554. #endif     /* __IAMCameraControl_INTERFACE_DEFINED__ */
  12555.  
  12556.  
  12557. /* interface __MIDL_itf_strmif_0172 */
  12558. /* [local] */ 
  12559.  
  12560. typedef 
  12561. enum tagVideoControlFlags
  12562.     {    VideoControlFlag_FlipHorizontal    = 0x1,
  12563.     VideoControlFlag_FlipVertical    = 0x2,
  12564.     VideoControlFlag_ExternalTriggerEnable    = 0x4,
  12565.     VideoControlFlag_Trigger    = 0x8
  12566.     }     VideoControlFlags;
  12567.  
  12568.  
  12569.  
  12570. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_c_ifspec;
  12571. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_s_ifspec;
  12572.  
  12573. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  12574. #define __IAMVideoControl_INTERFACE_DEFINED__
  12575.  
  12576. /* interface IAMVideoControl */
  12577. /* [unique][uuid][object] */ 
  12578.  
  12579.  
  12580. EXTERN_C const IID IID_IAMVideoControl;
  12581.  
  12582. #if defined(__cplusplus) && !defined(CINTERFACE)
  12583.     
  12584.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  12585.     IAMVideoControl : public IUnknown
  12586.     {
  12587.     public:
  12588.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  12589.             /* [in] */ IPin *pPin,
  12590.             /* [out] */ long *pCapsFlags) = 0;
  12591.         
  12592.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  12593.             /* [in] */ IPin *pPin,
  12594.             /* [in] */ long Mode) = 0;
  12595.         
  12596.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  12597.             /* [in] */ IPin *pPin,
  12598.             /* [out] */ long *Mode) = 0;
  12599.         
  12600.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  12601.             /* [in] */ IPin *pPin,
  12602.             /* [out] */ LONGLONG *ActualFrameRate) = 0;
  12603.         
  12604.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  12605.             /* [in] */ IPin *pPin,
  12606.             /* [in] */ long iIndex,
  12607.             /* [in] */ SIZE Dimensions,
  12608.             /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  12609.         
  12610.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  12611.             /* [in] */ IPin *pPin,
  12612.             /* [in] */ long iIndex,
  12613.             /* [in] */ SIZE Dimensions,
  12614.             /* [out] */ long *ListSize,
  12615.             /* [out] */ LONGLONG **FrameRates) = 0;
  12616.         
  12617.     };
  12618.     
  12619. #else     /* C style interface */
  12620.  
  12621.     typedef struct IAMVideoControlVtbl
  12622.     {
  12623.         BEGIN_INTERFACE
  12624.         
  12625.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12626.             IAMVideoControl * This,
  12627.             /* [in] */ REFIID riid,
  12628.             /* [iid_is][out] */ void **ppvObject);
  12629.         
  12630.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12631.             IAMVideoControl * This);
  12632.         
  12633.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12634.             IAMVideoControl * This);
  12635.         
  12636.         HRESULT ( STDMETHODCALLTYPE *GetCaps )( 
  12637.             IAMVideoControl * This,
  12638.             /* [in] */ IPin *pPin,
  12639.             /* [out] */ long *pCapsFlags);
  12640.         
  12641.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  12642.             IAMVideoControl * This,
  12643.             /* [in] */ IPin *pPin,
  12644.             /* [in] */ long Mode);
  12645.         
  12646.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  12647.             IAMVideoControl * This,
  12648.             /* [in] */ IPin *pPin,
  12649.             /* [out] */ long *Mode);
  12650.         
  12651.         HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )( 
  12652.             IAMVideoControl * This,
  12653.             /* [in] */ IPin *pPin,
  12654.             /* [out] */ LONGLONG *ActualFrameRate);
  12655.         
  12656.         HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )( 
  12657.             IAMVideoControl * This,
  12658.             /* [in] */ IPin *pPin,
  12659.             /* [in] */ long iIndex,
  12660.             /* [in] */ SIZE Dimensions,
  12661.             /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12662.         
  12663.         HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )( 
  12664.             IAMVideoControl * This,
  12665.             /* [in] */ IPin *pPin,
  12666.             /* [in] */ long iIndex,
  12667.             /* [in] */ SIZE Dimensions,
  12668.             /* [out] */ long *ListSize,
  12669.             /* [out] */ LONGLONG **FrameRates);
  12670.         
  12671.         END_INTERFACE
  12672.     } IAMVideoControlVtbl;
  12673.  
  12674.     interface IAMVideoControl
  12675.     {
  12676.         CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  12677.     };
  12678.  
  12679.     
  12680.  
  12681. #ifdef COBJMACROS
  12682.  
  12683.  
  12684. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)    \
  12685.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12686.  
  12687. #define IAMVideoControl_AddRef(This)    \
  12688.     (This)->lpVtbl -> AddRef(This)
  12689.  
  12690. #define IAMVideoControl_Release(This)    \
  12691.     (This)->lpVtbl -> Release(This)
  12692.  
  12693.  
  12694. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)    \
  12695.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  12696.  
  12697. #define IAMVideoControl_SetMode(This,pPin,Mode)    \
  12698.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  12699.  
  12700. #define IAMVideoControl_GetMode(This,pPin,Mode)    \
  12701.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  12702.  
  12703. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)    \
  12704.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  12705.  
  12706. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)    \
  12707.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  12708.  
  12709. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)    \
  12710.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  12711.  
  12712. #endif /* COBJMACROS */
  12713.  
  12714.  
  12715. #endif     /* C style interface */
  12716.  
  12717.  
  12718.  
  12719. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  12720.     IAMVideoControl * This,
  12721.     /* [in] */ IPin *pPin,
  12722.     /* [out] */ long *pCapsFlags);
  12723.  
  12724.  
  12725. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  12726.     IRpcStubBuffer *This,
  12727.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12728.     PRPC_MESSAGE _pRpcMessage,
  12729.     DWORD *_pdwStubPhase);
  12730.  
  12731.  
  12732. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  12733.     IAMVideoControl * This,
  12734.     /* [in] */ IPin *pPin,
  12735.     /* [in] */ long Mode);
  12736.  
  12737.  
  12738. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  12739.     IRpcStubBuffer *This,
  12740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12741.     PRPC_MESSAGE _pRpcMessage,
  12742.     DWORD *_pdwStubPhase);
  12743.  
  12744.  
  12745. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  12746.     IAMVideoControl * This,
  12747.     /* [in] */ IPin *pPin,
  12748.     /* [out] */ long *Mode);
  12749.  
  12750.  
  12751. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  12752.     IRpcStubBuffer *This,
  12753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12754.     PRPC_MESSAGE _pRpcMessage,
  12755.     DWORD *_pdwStubPhase);
  12756.  
  12757.  
  12758. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  12759.     IAMVideoControl * This,
  12760.     /* [in] */ IPin *pPin,
  12761.     /* [out] */ LONGLONG *ActualFrameRate);
  12762.  
  12763.  
  12764. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  12765.     IRpcStubBuffer *This,
  12766.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12767.     PRPC_MESSAGE _pRpcMessage,
  12768.     DWORD *_pdwStubPhase);
  12769.  
  12770.  
  12771. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  12772.     IAMVideoControl * This,
  12773.     /* [in] */ IPin *pPin,
  12774.     /* [in] */ long iIndex,
  12775.     /* [in] */ SIZE Dimensions,
  12776.     /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12777.  
  12778.  
  12779. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  12780.     IRpcStubBuffer *This,
  12781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12782.     PRPC_MESSAGE _pRpcMessage,
  12783.     DWORD *_pdwStubPhase);
  12784.  
  12785.  
  12786. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  12787.     IAMVideoControl * This,
  12788.     /* [in] */ IPin *pPin,
  12789.     /* [in] */ long iIndex,
  12790.     /* [in] */ SIZE Dimensions,
  12791.     /* [out] */ long *ListSize,
  12792.     /* [out] */ LONGLONG **FrameRates);
  12793.  
  12794.  
  12795. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  12796.     IRpcStubBuffer *This,
  12797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12798.     PRPC_MESSAGE _pRpcMessage,
  12799.     DWORD *_pdwStubPhase);
  12800.  
  12801.  
  12802.  
  12803. #endif     /* __IAMVideoControl_INTERFACE_DEFINED__ */
  12804.  
  12805.  
  12806. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  12807. #define __IAMCrossbar_INTERFACE_DEFINED__
  12808.  
  12809. /* interface IAMCrossbar */
  12810. /* [unique][uuid][object] */ 
  12811.  
  12812.  
  12813. EXTERN_C const IID IID_IAMCrossbar;
  12814.  
  12815. #if defined(__cplusplus) && !defined(CINTERFACE)
  12816.     
  12817.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  12818.     IAMCrossbar : public IUnknown
  12819.     {
  12820.     public:
  12821.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  12822.             /* [out] */ long *OutputPinCount,
  12823.             /* [out] */ long *InputPinCount) = 0;
  12824.         
  12825.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  12826.             /* [in] */ long OutputPinIndex,
  12827.             /* [in] */ long InputPinIndex) = 0;
  12828.         
  12829.         virtual HRESULT STDMETHODCALLTYPE Route( 
  12830.             /* [in] */ long OutputPinIndex,
  12831.             /* [in] */ long InputPinIndex) = 0;
  12832.         
  12833.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  12834.             /* [in] */ long OutputPinIndex,
  12835.             /* [out] */ long *InputPinIndex) = 0;
  12836.         
  12837.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  12838.             /* [in] */ BOOL IsInputPin,
  12839.             /* [in] */ long PinIndex,
  12840.             /* [out] */ long *PinIndexRelated,
  12841.             /* [out] */ long *PhysicalType) = 0;
  12842.         
  12843.     };
  12844.     
  12845. #else     /* C style interface */
  12846.  
  12847.     typedef struct IAMCrossbarVtbl
  12848.     {
  12849.         BEGIN_INTERFACE
  12850.         
  12851.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12852.             IAMCrossbar * This,
  12853.             /* [in] */ REFIID riid,
  12854.             /* [iid_is][out] */ void **ppvObject);
  12855.         
  12856.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12857.             IAMCrossbar * This);
  12858.         
  12859.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12860.             IAMCrossbar * This);
  12861.         
  12862.         HRESULT ( STDMETHODCALLTYPE *get_PinCounts )( 
  12863.             IAMCrossbar * This,
  12864.             /* [out] */ long *OutputPinCount,
  12865.             /* [out] */ long *InputPinCount);
  12866.         
  12867.         HRESULT ( STDMETHODCALLTYPE *CanRoute )( 
  12868.             IAMCrossbar * This,
  12869.             /* [in] */ long OutputPinIndex,
  12870.             /* [in] */ long InputPinIndex);
  12871.         
  12872.         HRESULT ( STDMETHODCALLTYPE *Route )( 
  12873.             IAMCrossbar * This,
  12874.             /* [in] */ long OutputPinIndex,
  12875.             /* [in] */ long InputPinIndex);
  12876.         
  12877.         HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )( 
  12878.             IAMCrossbar * This,
  12879.             /* [in] */ long OutputPinIndex,
  12880.             /* [out] */ long *InputPinIndex);
  12881.         
  12882.         HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )( 
  12883.             IAMCrossbar * This,
  12884.             /* [in] */ BOOL IsInputPin,
  12885.             /* [in] */ long PinIndex,
  12886.             /* [out] */ long *PinIndexRelated,
  12887.             /* [out] */ long *PhysicalType);
  12888.         
  12889.         END_INTERFACE
  12890.     } IAMCrossbarVtbl;
  12891.  
  12892.     interface IAMCrossbar
  12893.     {
  12894.         CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  12895.     };
  12896.  
  12897.     
  12898.  
  12899. #ifdef COBJMACROS
  12900.  
  12901.  
  12902. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)    \
  12903.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12904.  
  12905. #define IAMCrossbar_AddRef(This)    \
  12906.     (This)->lpVtbl -> AddRef(This)
  12907.  
  12908. #define IAMCrossbar_Release(This)    \
  12909.     (This)->lpVtbl -> Release(This)
  12910.  
  12911.  
  12912. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)    \
  12913.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  12914.  
  12915. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)    \
  12916.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  12917.  
  12918. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)    \
  12919.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  12920.  
  12921. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)    \
  12922.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  12923.  
  12924. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)    \
  12925.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  12926.  
  12927. #endif /* COBJMACROS */
  12928.  
  12929.  
  12930. #endif     /* C style interface */
  12931.  
  12932.  
  12933.  
  12934. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  12935.     IAMCrossbar * This,
  12936.     /* [out] */ long *OutputPinCount,
  12937.     /* [out] */ long *InputPinCount);
  12938.  
  12939.  
  12940. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  12941.     IRpcStubBuffer *This,
  12942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12943.     PRPC_MESSAGE _pRpcMessage,
  12944.     DWORD *_pdwStubPhase);
  12945.  
  12946.  
  12947. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  12948.     IAMCrossbar * This,
  12949.     /* [in] */ long OutputPinIndex,
  12950.     /* [in] */ long InputPinIndex);
  12951.  
  12952.  
  12953. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  12954.     IRpcStubBuffer *This,
  12955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12956.     PRPC_MESSAGE _pRpcMessage,
  12957.     DWORD *_pdwStubPhase);
  12958.  
  12959.  
  12960. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  12961.     IAMCrossbar * This,
  12962.     /* [in] */ long OutputPinIndex,
  12963.     /* [in] */ long InputPinIndex);
  12964.  
  12965.  
  12966. void __RPC_STUB IAMCrossbar_Route_Stub(
  12967.     IRpcStubBuffer *This,
  12968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12969.     PRPC_MESSAGE _pRpcMessage,
  12970.     DWORD *_pdwStubPhase);
  12971.  
  12972.  
  12973. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  12974.     IAMCrossbar * This,
  12975.     /* [in] */ long OutputPinIndex,
  12976.     /* [out] */ long *InputPinIndex);
  12977.  
  12978.  
  12979. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  12980.     IRpcStubBuffer *This,
  12981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12982.     PRPC_MESSAGE _pRpcMessage,
  12983.     DWORD *_pdwStubPhase);
  12984.  
  12985.  
  12986. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  12987.     IAMCrossbar * This,
  12988.     /* [in] */ BOOL IsInputPin,
  12989.     /* [in] */ long PinIndex,
  12990.     /* [out] */ long *PinIndexRelated,
  12991.     /* [out] */ long *PhysicalType);
  12992.  
  12993.  
  12994. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  12995.     IRpcStubBuffer *This,
  12996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12997.     PRPC_MESSAGE _pRpcMessage,
  12998.     DWORD *_pdwStubPhase);
  12999.  
  13000.  
  13001.  
  13002. #endif     /* __IAMCrossbar_INTERFACE_DEFINED__ */
  13003.  
  13004.  
  13005. /* interface __MIDL_itf_strmif_0174 */
  13006. /* [local] */ 
  13007.  
  13008. typedef 
  13009. enum tagAMTunerSubChannel
  13010.     {    AMTUNER_SUBCHAN_NO_TUNE    = -2,
  13011.     AMTUNER_SUBCHAN_DEFAULT    = -1
  13012.     }     AMTunerSubChannel;
  13013.  
  13014. typedef 
  13015. enum tagAMTunerSignalStrength
  13016.     {    AMTUNER_HASNOSIGNALSTRENGTH    = -1,
  13017.     AMTUNER_NOSIGNAL    = 0,
  13018.     AMTUNER_SIGNALPRESENT    = 1
  13019.     }     AMTunerSignalStrength;
  13020.  
  13021. typedef 
  13022. enum tagAMTunerModeType
  13023.     {    AMTUNER_MODE_DEFAULT    = 0,
  13024.     AMTUNER_MODE_TV    = 0x1,
  13025.     AMTUNER_MODE_FM_RADIO    = 0x2,
  13026.     AMTUNER_MODE_AM_RADIO    = 0x4,
  13027.     AMTUNER_MODE_DSS    = 0x8
  13028.     }     AMTunerModeType;
  13029.  
  13030. typedef 
  13031. enum tagAMTunerEventType
  13032.     {    AMTUNER_EVENT_CHANGED    = 0x1
  13033.     }     AMTunerEventType;
  13034.  
  13035.  
  13036.  
  13037.  
  13038. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
  13039. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
  13040.  
  13041. #ifndef __IAMTuner_INTERFACE_DEFINED__
  13042. #define __IAMTuner_INTERFACE_DEFINED__
  13043.  
  13044. /* interface IAMTuner */
  13045. /* [unique][uuid][object] */ 
  13046.  
  13047.  
  13048. EXTERN_C const IID IID_IAMTuner;
  13049.  
  13050. #if defined(__cplusplus) && !defined(CINTERFACE)
  13051.     
  13052.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  13053.     IAMTuner : public IUnknown
  13054.     {
  13055.     public:
  13056.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  13057.             /* [in] */ long lChannel,
  13058.             /* [in] */ long lVideoSubChannel,
  13059.             /* [in] */ long lAudioSubChannel) = 0;
  13060.         
  13061.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  13062.             /* [out] */ long *plChannel,
  13063.             /* [out] */ long *plVideoSubChannel,
  13064.             /* [out] */ long *plAudioSubChannel) = 0;
  13065.         
  13066.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  13067.             /* [out] */ long *lChannelMin,
  13068.             /* [out] */ long *lChannelMax) = 0;
  13069.         
  13070.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  13071.             /* [in] */ long lCountryCode) = 0;
  13072.         
  13073.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  13074.             /* [out] */ long *plCountryCode) = 0;
  13075.         
  13076.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  13077.             /* [in] */ long lTuningSpace) = 0;
  13078.         
  13079.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  13080.             /* [out] */ long *plTuningSpace) = 0;
  13081.         
  13082.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon( 
  13083.             /* [in] */ HANDLE hCurrentUser) = 0;
  13084.         
  13085.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  13086.         
  13087.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  13088.             /* [out] */ long *plSignalStrength) = 0;
  13089.         
  13090.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  13091.             /* [in] */ AMTunerModeType lMode) = 0;
  13092.         
  13093.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  13094.             /* [out] */ AMTunerModeType *plMode) = 0;
  13095.         
  13096.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  13097.             /* [out] */ long *plModes) = 0;
  13098.         
  13099.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  13100.             /* [in] */ IAMTunerNotification *pNotify,
  13101.             /* [in] */ long lEvents) = 0;
  13102.         
  13103.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  13104.             /* [in] */ IAMTunerNotification *pNotify) = 0;
  13105.         
  13106.     };
  13107.     
  13108. #else     /* C style interface */
  13109.  
  13110.     typedef struct IAMTunerVtbl
  13111.     {
  13112.         BEGIN_INTERFACE
  13113.         
  13114.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13115.             IAMTuner * This,
  13116.             /* [in] */ REFIID riid,
  13117.             /* [iid_is][out] */ void **ppvObject);
  13118.         
  13119.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13120.             IAMTuner * This);
  13121.         
  13122.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13123.             IAMTuner * This);
  13124.         
  13125.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13126.             IAMTuner * This,
  13127.             /* [in] */ long lChannel,
  13128.             /* [in] */ long lVideoSubChannel,
  13129.             /* [in] */ long lAudioSubChannel);
  13130.         
  13131.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13132.             IAMTuner * This,
  13133.             /* [out] */ long *plChannel,
  13134.             /* [out] */ long *plVideoSubChannel,
  13135.             /* [out] */ long *plAudioSubChannel);
  13136.         
  13137.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13138.             IAMTuner * This,
  13139.             /* [out] */ long *lChannelMin,
  13140.             /* [out] */ long *lChannelMax);
  13141.         
  13142.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13143.             IAMTuner * This,
  13144.             /* [in] */ long lCountryCode);
  13145.         
  13146.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13147.             IAMTuner * This,
  13148.             /* [out] */ long *plCountryCode);
  13149.         
  13150.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13151.             IAMTuner * This,
  13152.             /* [in] */ long lTuningSpace);
  13153.         
  13154.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13155.             IAMTuner * This,
  13156.             /* [out] */ long *plTuningSpace);
  13157.         
  13158.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13159.             IAMTuner * This,
  13160.             /* [in] */ HANDLE hCurrentUser);
  13161.         
  13162.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13163.             IAMTuner * This);
  13164.         
  13165.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13166.             IAMTuner * This,
  13167.             /* [out] */ long *plSignalStrength);
  13168.         
  13169.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13170.             IAMTuner * This,
  13171.             /* [in] */ AMTunerModeType lMode);
  13172.         
  13173.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13174.             IAMTuner * This,
  13175.             /* [out] */ AMTunerModeType *plMode);
  13176.         
  13177.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13178.             IAMTuner * This,
  13179.             /* [out] */ long *plModes);
  13180.         
  13181.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13182.             IAMTuner * This,
  13183.             /* [in] */ IAMTunerNotification *pNotify,
  13184.             /* [in] */ long lEvents);
  13185.         
  13186.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13187.             IAMTuner * This,
  13188.             /* [in] */ IAMTunerNotification *pNotify);
  13189.         
  13190.         END_INTERFACE
  13191.     } IAMTunerVtbl;
  13192.  
  13193.     interface IAMTuner
  13194.     {
  13195.         CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  13196.     };
  13197.  
  13198.     
  13199.  
  13200. #ifdef COBJMACROS
  13201.  
  13202.  
  13203. #define IAMTuner_QueryInterface(This,riid,ppvObject)    \
  13204.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13205.  
  13206. #define IAMTuner_AddRef(This)    \
  13207.     (This)->lpVtbl -> AddRef(This)
  13208.  
  13209. #define IAMTuner_Release(This)    \
  13210.     (This)->lpVtbl -> Release(This)
  13211.  
  13212.  
  13213. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13214.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13215.  
  13216. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13217.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13218.  
  13219. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13220.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13221.  
  13222. #define IAMTuner_put_CountryCode(This,lCountryCode)    \
  13223.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13224.  
  13225. #define IAMTuner_get_CountryCode(This,plCountryCode)    \
  13226.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13227.  
  13228. #define IAMTuner_put_TuningSpace(This,lTuningSpace)    \
  13229.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13230.  
  13231. #define IAMTuner_get_TuningSpace(This,plTuningSpace)    \
  13232.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13233.  
  13234. #define IAMTuner_Logon(This,hCurrentUser)    \
  13235.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13236.  
  13237. #define IAMTuner_Logout(This)    \
  13238.     (This)->lpVtbl -> Logout(This)
  13239.  
  13240. #define IAMTuner_SignalPresent(This,plSignalStrength)    \
  13241.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13242.  
  13243. #define IAMTuner_put_Mode(This,lMode)    \
  13244.     (This)->lpVtbl -> put_Mode(This,lMode)
  13245.  
  13246. #define IAMTuner_get_Mode(This,plMode)    \
  13247.     (This)->lpVtbl -> get_Mode(This,plMode)
  13248.  
  13249. #define IAMTuner_GetAvailableModes(This,plModes)    \
  13250.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13251.  
  13252. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13253.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13254.  
  13255. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13256.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13257.  
  13258. #endif /* COBJMACROS */
  13259.  
  13260.  
  13261. #endif     /* C style interface */
  13262.  
  13263.  
  13264.  
  13265. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  13266.     IAMTuner * This,
  13267.     /* [in] */ long lChannel,
  13268.     /* [in] */ long lVideoSubChannel,
  13269.     /* [in] */ long lAudioSubChannel);
  13270.  
  13271.  
  13272. void __RPC_STUB IAMTuner_put_Channel_Stub(
  13273.     IRpcStubBuffer *This,
  13274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13275.     PRPC_MESSAGE _pRpcMessage,
  13276.     DWORD *_pdwStubPhase);
  13277.  
  13278.  
  13279. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  13280.     IAMTuner * This,
  13281.     /* [out] */ long *plChannel,
  13282.     /* [out] */ long *plVideoSubChannel,
  13283.     /* [out] */ long *plAudioSubChannel);
  13284.  
  13285.  
  13286. void __RPC_STUB IAMTuner_get_Channel_Stub(
  13287.     IRpcStubBuffer *This,
  13288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13289.     PRPC_MESSAGE _pRpcMessage,
  13290.     DWORD *_pdwStubPhase);
  13291.  
  13292.  
  13293. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  13294.     IAMTuner * This,
  13295.     /* [out] */ long *lChannelMin,
  13296.     /* [out] */ long *lChannelMax);
  13297.  
  13298.  
  13299. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  13300.     IRpcStubBuffer *This,
  13301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13302.     PRPC_MESSAGE _pRpcMessage,
  13303.     DWORD *_pdwStubPhase);
  13304.  
  13305.  
  13306. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  13307.     IAMTuner * This,
  13308.     /* [in] */ long lCountryCode);
  13309.  
  13310.  
  13311. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  13312.     IRpcStubBuffer *This,
  13313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13314.     PRPC_MESSAGE _pRpcMessage,
  13315.     DWORD *_pdwStubPhase);
  13316.  
  13317.  
  13318. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  13319.     IAMTuner * This,
  13320.     /* [out] */ long *plCountryCode);
  13321.  
  13322.  
  13323. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  13324.     IRpcStubBuffer *This,
  13325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13326.     PRPC_MESSAGE _pRpcMessage,
  13327.     DWORD *_pdwStubPhase);
  13328.  
  13329.  
  13330. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  13331.     IAMTuner * This,
  13332.     /* [in] */ long lTuningSpace);
  13333.  
  13334.  
  13335. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  13336.     IRpcStubBuffer *This,
  13337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13338.     PRPC_MESSAGE _pRpcMessage,
  13339.     DWORD *_pdwStubPhase);
  13340.  
  13341.  
  13342. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  13343.     IAMTuner * This,
  13344.     /* [out] */ long *plTuningSpace);
  13345.  
  13346.  
  13347. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  13348.     IRpcStubBuffer *This,
  13349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13350.     PRPC_MESSAGE _pRpcMessage,
  13351.     DWORD *_pdwStubPhase);
  13352.  
  13353.  
  13354. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  13355.     IAMTuner * This,
  13356.     /* [in] */ HANDLE hCurrentUser);
  13357.  
  13358.  
  13359. void __RPC_STUB IAMTuner_Logon_Stub(
  13360.     IRpcStubBuffer *This,
  13361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13362.     PRPC_MESSAGE _pRpcMessage,
  13363.     DWORD *_pdwStubPhase);
  13364.  
  13365.  
  13366. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  13367.     IAMTuner * This);
  13368.  
  13369.  
  13370. void __RPC_STUB IAMTuner_Logout_Stub(
  13371.     IRpcStubBuffer *This,
  13372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13373.     PRPC_MESSAGE _pRpcMessage,
  13374.     DWORD *_pdwStubPhase);
  13375.  
  13376.  
  13377. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  13378.     IAMTuner * This,
  13379.     /* [out] */ long *plSignalStrength);
  13380.  
  13381.  
  13382. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  13383.     IRpcStubBuffer *This,
  13384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13385.     PRPC_MESSAGE _pRpcMessage,
  13386.     DWORD *_pdwStubPhase);
  13387.  
  13388.  
  13389. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  13390.     IAMTuner * This,
  13391.     /* [in] */ AMTunerModeType lMode);
  13392.  
  13393.  
  13394. void __RPC_STUB IAMTuner_put_Mode_Stub(
  13395.     IRpcStubBuffer *This,
  13396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13397.     PRPC_MESSAGE _pRpcMessage,
  13398.     DWORD *_pdwStubPhase);
  13399.  
  13400.  
  13401. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  13402.     IAMTuner * This,
  13403.     /* [out] */ AMTunerModeType *plMode);
  13404.  
  13405.  
  13406. void __RPC_STUB IAMTuner_get_Mode_Stub(
  13407.     IRpcStubBuffer *This,
  13408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13409.     PRPC_MESSAGE _pRpcMessage,
  13410.     DWORD *_pdwStubPhase);
  13411.  
  13412.  
  13413. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  13414.     IAMTuner * This,
  13415.     /* [out] */ long *plModes);
  13416.  
  13417.  
  13418. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  13419.     IRpcStubBuffer *This,
  13420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13421.     PRPC_MESSAGE _pRpcMessage,
  13422.     DWORD *_pdwStubPhase);
  13423.  
  13424.  
  13425. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  13426.     IAMTuner * This,
  13427.     /* [in] */ IAMTunerNotification *pNotify,
  13428.     /* [in] */ long lEvents);
  13429.  
  13430.  
  13431. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  13432.     IRpcStubBuffer *This,
  13433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13434.     PRPC_MESSAGE _pRpcMessage,
  13435.     DWORD *_pdwStubPhase);
  13436.  
  13437.  
  13438. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  13439.     IAMTuner * This,
  13440.     /* [in] */ IAMTunerNotification *pNotify);
  13441.  
  13442.  
  13443. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  13444.     IRpcStubBuffer *This,
  13445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13446.     PRPC_MESSAGE _pRpcMessage,
  13447.     DWORD *_pdwStubPhase);
  13448.  
  13449.  
  13450.  
  13451. #endif     /* __IAMTuner_INTERFACE_DEFINED__ */
  13452.  
  13453.  
  13454. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  13455. #define __IAMTunerNotification_INTERFACE_DEFINED__
  13456.  
  13457. /* interface IAMTunerNotification */
  13458. /* [unique][uuid][object] */ 
  13459.  
  13460.  
  13461. EXTERN_C const IID IID_IAMTunerNotification;
  13462.  
  13463. #if defined(__cplusplus) && !defined(CINTERFACE)
  13464.     
  13465.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  13466.     IAMTunerNotification : public IUnknown
  13467.     {
  13468.     public:
  13469.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  13470.             /* [in] */ AMTunerEventType Event) = 0;
  13471.         
  13472.     };
  13473.     
  13474. #else     /* C style interface */
  13475.  
  13476.     typedef struct IAMTunerNotificationVtbl
  13477.     {
  13478.         BEGIN_INTERFACE
  13479.         
  13480.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13481.             IAMTunerNotification * This,
  13482.             /* [in] */ REFIID riid,
  13483.             /* [iid_is][out] */ void **ppvObject);
  13484.         
  13485.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13486.             IAMTunerNotification * This);
  13487.         
  13488.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13489.             IAMTunerNotification * This);
  13490.         
  13491.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  13492.             IAMTunerNotification * This,
  13493.             /* [in] */ AMTunerEventType Event);
  13494.         
  13495.         END_INTERFACE
  13496.     } IAMTunerNotificationVtbl;
  13497.  
  13498.     interface IAMTunerNotification
  13499.     {
  13500.         CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  13501.     };
  13502.  
  13503.     
  13504.  
  13505. #ifdef COBJMACROS
  13506.  
  13507.  
  13508. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)    \
  13509.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13510.  
  13511. #define IAMTunerNotification_AddRef(This)    \
  13512.     (This)->lpVtbl -> AddRef(This)
  13513.  
  13514. #define IAMTunerNotification_Release(This)    \
  13515.     (This)->lpVtbl -> Release(This)
  13516.  
  13517.  
  13518. #define IAMTunerNotification_OnEvent(This,Event)    \
  13519.     (This)->lpVtbl -> OnEvent(This,Event)
  13520.  
  13521. #endif /* COBJMACROS */
  13522.  
  13523.  
  13524. #endif     /* C style interface */
  13525.  
  13526.  
  13527.  
  13528. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  13529.     IAMTunerNotification * This,
  13530.     /* [in] */ AMTunerEventType Event);
  13531.  
  13532.  
  13533. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  13534.     IRpcStubBuffer *This,
  13535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13536.     PRPC_MESSAGE _pRpcMessage,
  13537.     DWORD *_pdwStubPhase);
  13538.  
  13539.  
  13540.  
  13541. #endif     /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  13542.  
  13543.  
  13544. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  13545. #define __IAMTVTuner_INTERFACE_DEFINED__
  13546.  
  13547. /* interface IAMTVTuner */
  13548. /* [unique][uuid][object] */ 
  13549.  
  13550.  
  13551. EXTERN_C const IID IID_IAMTVTuner;
  13552.  
  13553. #if defined(__cplusplus) && !defined(CINTERFACE)
  13554.     
  13555.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  13556.     IAMTVTuner : public IAMTuner
  13557.     {
  13558.     public:
  13559.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  13560.             /* [out] */ long *lAnalogVideoStandard) = 0;
  13561.         
  13562.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  13563.             /* [out] */ long *plAnalogVideoStandard) = 0;
  13564.         
  13565.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  13566.             /* [in] */ long lChannel,
  13567.             /* [out] */ long *plFoundSignal) = 0;
  13568.         
  13569.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  13570.         
  13571.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  13572.             /* [out] */ long *plNumInputConnections) = 0;
  13573.         
  13574.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  13575.             /* [in] */ long lIndex,
  13576.             /* [in] */ TunerInputType InputType) = 0;
  13577.         
  13578.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  13579.             /* [in] */ long lIndex,
  13580.             /* [out] */ TunerInputType *pInputType) = 0;
  13581.         
  13582.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  13583.             /* [in] */ long lIndex) = 0;
  13584.         
  13585.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  13586.             /* [out] */ long *plIndex) = 0;
  13587.         
  13588.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  13589.             /* [out] */ long *lFreq) = 0;
  13590.         
  13591.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  13592.             /* [out] */ long *lFreq) = 0;
  13593.         
  13594.     };
  13595.     
  13596. #else     /* C style interface */
  13597.  
  13598.     typedef struct IAMTVTunerVtbl
  13599.     {
  13600.         BEGIN_INTERFACE
  13601.         
  13602.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13603.             IAMTVTuner * This,
  13604.             /* [in] */ REFIID riid,
  13605.             /* [iid_is][out] */ void **ppvObject);
  13606.         
  13607.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13608.             IAMTVTuner * This);
  13609.         
  13610.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13611.             IAMTVTuner * This);
  13612.         
  13613.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13614.             IAMTVTuner * This,
  13615.             /* [in] */ long lChannel,
  13616.             /* [in] */ long lVideoSubChannel,
  13617.             /* [in] */ long lAudioSubChannel);
  13618.         
  13619.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13620.             IAMTVTuner * This,
  13621.             /* [out] */ long *plChannel,
  13622.             /* [out] */ long *plVideoSubChannel,
  13623.             /* [out] */ long *plAudioSubChannel);
  13624.         
  13625.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13626.             IAMTVTuner * This,
  13627.             /* [out] */ long *lChannelMin,
  13628.             /* [out] */ long *lChannelMax);
  13629.         
  13630.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13631.             IAMTVTuner * This,
  13632.             /* [in] */ long lCountryCode);
  13633.         
  13634.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13635.             IAMTVTuner * This,
  13636.             /* [out] */ long *plCountryCode);
  13637.         
  13638.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13639.             IAMTVTuner * This,
  13640.             /* [in] */ long lTuningSpace);
  13641.         
  13642.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13643.             IAMTVTuner * This,
  13644.             /* [out] */ long *plTuningSpace);
  13645.         
  13646.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13647.             IAMTVTuner * This,
  13648.             /* [in] */ HANDLE hCurrentUser);
  13649.         
  13650.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13651.             IAMTVTuner * This);
  13652.         
  13653.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13654.             IAMTVTuner * This,
  13655.             /* [out] */ long *plSignalStrength);
  13656.         
  13657.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13658.             IAMTVTuner * This,
  13659.             /* [in] */ AMTunerModeType lMode);
  13660.         
  13661.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13662.             IAMTVTuner * This,
  13663.             /* [out] */ AMTunerModeType *plMode);
  13664.         
  13665.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13666.             IAMTVTuner * This,
  13667.             /* [out] */ long *plModes);
  13668.         
  13669.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13670.             IAMTVTuner * This,
  13671.             /* [in] */ IAMTunerNotification *pNotify,
  13672.             /* [in] */ long lEvents);
  13673.         
  13674.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13675.             IAMTVTuner * This,
  13676.             /* [in] */ IAMTunerNotification *pNotify);
  13677.         
  13678.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  13679.             IAMTVTuner * This,
  13680.             /* [out] */ long *lAnalogVideoStandard);
  13681.         
  13682.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  13683.             IAMTVTuner * This,
  13684.             /* [out] */ long *plAnalogVideoStandard);
  13685.         
  13686.         HRESULT ( STDMETHODCALLTYPE *AutoTune )( 
  13687.             IAMTVTuner * This,
  13688.             /* [in] */ long lChannel,
  13689.             /* [out] */ long *plFoundSignal);
  13690.         
  13691.         HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )( 
  13692.             IAMTVTuner * This);
  13693.         
  13694.         HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )( 
  13695.             IAMTVTuner * This,
  13696.             /* [out] */ long *plNumInputConnections);
  13697.         
  13698.         HRESULT ( STDMETHODCALLTYPE *put_InputType )( 
  13699.             IAMTVTuner * This,
  13700.             /* [in] */ long lIndex,
  13701.             /* [in] */ TunerInputType InputType);
  13702.         
  13703.         HRESULT ( STDMETHODCALLTYPE *get_InputType )( 
  13704.             IAMTVTuner * This,
  13705.             /* [in] */ long lIndex,
  13706.             /* [out] */ TunerInputType *pInputType);
  13707.         
  13708.         HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )( 
  13709.             IAMTVTuner * This,
  13710.             /* [in] */ long lIndex);
  13711.         
  13712.         HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )( 
  13713.             IAMTVTuner * This,
  13714.             /* [out] */ long *plIndex);
  13715.         
  13716.         HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  13717.             IAMTVTuner * This,
  13718.             /* [out] */ long *lFreq);
  13719.         
  13720.         HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  13721.             IAMTVTuner * This,
  13722.             /* [out] */ long *lFreq);
  13723.         
  13724.         END_INTERFACE
  13725.     } IAMTVTunerVtbl;
  13726.  
  13727.     interface IAMTVTuner
  13728.     {
  13729.         CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  13730.     };
  13731.  
  13732.     
  13733.  
  13734. #ifdef COBJMACROS
  13735.  
  13736.  
  13737. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)    \
  13738.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13739.  
  13740. #define IAMTVTuner_AddRef(This)    \
  13741.     (This)->lpVtbl -> AddRef(This)
  13742.  
  13743. #define IAMTVTuner_Release(This)    \
  13744.     (This)->lpVtbl -> Release(This)
  13745.  
  13746.  
  13747. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13748.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13749.  
  13750. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13751.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13752.  
  13753. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13754.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13755.  
  13756. #define IAMTVTuner_put_CountryCode(This,lCountryCode)    \
  13757.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13758.  
  13759. #define IAMTVTuner_get_CountryCode(This,plCountryCode)    \
  13760.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13761.  
  13762. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)    \
  13763.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13764.  
  13765. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)    \
  13766.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13767.  
  13768. #define IAMTVTuner_Logon(This,hCurrentUser)    \
  13769.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13770.  
  13771. #define IAMTVTuner_Logout(This)    \
  13772.     (This)->lpVtbl -> Logout(This)
  13773.  
  13774. #define IAMTVTuner_SignalPresent(This,plSignalStrength)    \
  13775.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13776.  
  13777. #define IAMTVTuner_put_Mode(This,lMode)    \
  13778.     (This)->lpVtbl -> put_Mode(This,lMode)
  13779.  
  13780. #define IAMTVTuner_get_Mode(This,plMode)    \
  13781.     (This)->lpVtbl -> get_Mode(This,plMode)
  13782.  
  13783. #define IAMTVTuner_GetAvailableModes(This,plModes)    \
  13784.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13785.  
  13786. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13787.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13788.  
  13789. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13790.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13791.  
  13792.  
  13793. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  13794.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  13795.  
  13796. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)    \
  13797.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  13798.  
  13799. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)    \
  13800.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  13801.  
  13802. #define IAMTVTuner_StoreAutoTune(This)    \
  13803.     (This)->lpVtbl -> StoreAutoTune(This)
  13804.  
  13805. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)    \
  13806.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  13807.  
  13808. #define IAMTVTuner_put_InputType(This,lIndex,InputType)    \
  13809.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  13810.  
  13811. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)    \
  13812.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  13813.  
  13814. #define IAMTVTuner_put_ConnectInput(This,lIndex)    \
  13815.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  13816.  
  13817. #define IAMTVTuner_get_ConnectInput(This,plIndex)    \
  13818.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  13819.  
  13820. #define IAMTVTuner_get_VideoFrequency(This,lFreq)    \
  13821.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  13822.  
  13823. #define IAMTVTuner_get_AudioFrequency(This,lFreq)    \
  13824.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  13825.  
  13826. #endif /* COBJMACROS */
  13827.  
  13828.  
  13829. #endif     /* C style interface */
  13830.  
  13831.  
  13832.  
  13833. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  13834.     IAMTVTuner * This,
  13835.     /* [out] */ long *lAnalogVideoStandard);
  13836.  
  13837.  
  13838. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  13839.     IRpcStubBuffer *This,
  13840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13841.     PRPC_MESSAGE _pRpcMessage,
  13842.     DWORD *_pdwStubPhase);
  13843.  
  13844.  
  13845. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  13846.     IAMTVTuner * This,
  13847.     /* [out] */ long *plAnalogVideoStandard);
  13848.  
  13849.  
  13850. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  13851.     IRpcStubBuffer *This,
  13852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13853.     PRPC_MESSAGE _pRpcMessage,
  13854.     DWORD *_pdwStubPhase);
  13855.  
  13856.  
  13857. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  13858.     IAMTVTuner * This,
  13859.     /* [in] */ long lChannel,
  13860.     /* [out] */ long *plFoundSignal);
  13861.  
  13862.  
  13863. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  13864.     IRpcStubBuffer *This,
  13865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13866.     PRPC_MESSAGE _pRpcMessage,
  13867.     DWORD *_pdwStubPhase);
  13868.  
  13869.  
  13870. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  13871.     IAMTVTuner * This);
  13872.  
  13873.  
  13874. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  13875.     IRpcStubBuffer *This,
  13876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13877.     PRPC_MESSAGE _pRpcMessage,
  13878.     DWORD *_pdwStubPhase);
  13879.  
  13880.  
  13881. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  13882.     IAMTVTuner * This,
  13883.     /* [out] */ long *plNumInputConnections);
  13884.  
  13885.  
  13886. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  13887.     IRpcStubBuffer *This,
  13888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13889.     PRPC_MESSAGE _pRpcMessage,
  13890.     DWORD *_pdwStubPhase);
  13891.  
  13892.  
  13893. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  13894.     IAMTVTuner * This,
  13895.     /* [in] */ long lIndex,
  13896.     /* [in] */ TunerInputType InputType);
  13897.  
  13898.  
  13899. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  13900.     IRpcStubBuffer *This,
  13901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13902.     PRPC_MESSAGE _pRpcMessage,
  13903.     DWORD *_pdwStubPhase);
  13904.  
  13905.  
  13906. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  13907.     IAMTVTuner * This,
  13908.     /* [in] */ long lIndex,
  13909.     /* [out] */ TunerInputType *pInputType);
  13910.  
  13911.  
  13912. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  13913.     IRpcStubBuffer *This,
  13914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13915.     PRPC_MESSAGE _pRpcMessage,
  13916.     DWORD *_pdwStubPhase);
  13917.  
  13918.  
  13919. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  13920.     IAMTVTuner * This,
  13921.     /* [in] */ long lIndex);
  13922.  
  13923.  
  13924. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  13925.     IRpcStubBuffer *This,
  13926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13927.     PRPC_MESSAGE _pRpcMessage,
  13928.     DWORD *_pdwStubPhase);
  13929.  
  13930.  
  13931. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  13932.     IAMTVTuner * This,
  13933.     /* [out] */ long *plIndex);
  13934.  
  13935.  
  13936. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  13937.     IRpcStubBuffer *This,
  13938.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13939.     PRPC_MESSAGE _pRpcMessage,
  13940.     DWORD *_pdwStubPhase);
  13941.  
  13942.  
  13943. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  13944.     IAMTVTuner * This,
  13945.     /* [out] */ long *lFreq);
  13946.  
  13947.  
  13948. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  13949.     IRpcStubBuffer *This,
  13950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13951.     PRPC_MESSAGE _pRpcMessage,
  13952.     DWORD *_pdwStubPhase);
  13953.  
  13954.  
  13955. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  13956.     IAMTVTuner * This,
  13957.     /* [out] */ long *lFreq);
  13958.  
  13959.  
  13960. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  13961.     IRpcStubBuffer *This,
  13962.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13963.     PRPC_MESSAGE _pRpcMessage,
  13964.     DWORD *_pdwStubPhase);
  13965.  
  13966.  
  13967.  
  13968. #endif     /* __IAMTVTuner_INTERFACE_DEFINED__ */
  13969.  
  13970.  
  13971. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13972. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13973.  
  13974. /* interface IBPCSatelliteTuner */
  13975. /* [unique][uuid][local][object] */ 
  13976.  
  13977.  
  13978. EXTERN_C const IID IID_IBPCSatelliteTuner;
  13979.  
  13980. #if defined(__cplusplus) && !defined(CINTERFACE)
  13981.     
  13982.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  13983.     IBPCSatelliteTuner : public IAMTuner
  13984.     {
  13985.     public:
  13986.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  13987.             /* [out] */ long *plDefaultVideoType,
  13988.             /* [out] */ long *plDefaultAudioType) = 0;
  13989.         
  13990.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  13991.             /* [in] */ long lDefaultVideoType,
  13992.             /* [in] */ long lDefaultAudioType) = 0;
  13993.         
  13994.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  13995.         
  13996.     };
  13997.     
  13998. #else     /* C style interface */
  13999.  
  14000.     typedef struct IBPCSatelliteTunerVtbl
  14001.     {
  14002.         BEGIN_INTERFACE
  14003.         
  14004.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14005.             IBPCSatelliteTuner * This,
  14006.             /* [in] */ REFIID riid,
  14007.             /* [iid_is][out] */ void **ppvObject);
  14008.         
  14009.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14010.             IBPCSatelliteTuner * This);
  14011.         
  14012.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14013.             IBPCSatelliteTuner * This);
  14014.         
  14015.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  14016.             IBPCSatelliteTuner * This,
  14017.             /* [in] */ long lChannel,
  14018.             /* [in] */ long lVideoSubChannel,
  14019.             /* [in] */ long lAudioSubChannel);
  14020.         
  14021.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  14022.             IBPCSatelliteTuner * This,
  14023.             /* [out] */ long *plChannel,
  14024.             /* [out] */ long *plVideoSubChannel,
  14025.             /* [out] */ long *plAudioSubChannel);
  14026.         
  14027.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  14028.             IBPCSatelliteTuner * This,
  14029.             /* [out] */ long *lChannelMin,
  14030.             /* [out] */ long *lChannelMax);
  14031.         
  14032.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  14033.             IBPCSatelliteTuner * This,
  14034.             /* [in] */ long lCountryCode);
  14035.         
  14036.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  14037.             IBPCSatelliteTuner * This,
  14038.             /* [out] */ long *plCountryCode);
  14039.         
  14040.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  14041.             IBPCSatelliteTuner * This,
  14042.             /* [in] */ long lTuningSpace);
  14043.         
  14044.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  14045.             IBPCSatelliteTuner * This,
  14046.             /* [out] */ long *plTuningSpace);
  14047.         
  14048.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  14049.             IBPCSatelliteTuner * This,
  14050.             /* [in] */ HANDLE hCurrentUser);
  14051.         
  14052.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  14053.             IBPCSatelliteTuner * This);
  14054.         
  14055.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  14056.             IBPCSatelliteTuner * This,
  14057.             /* [out] */ long *plSignalStrength);
  14058.         
  14059.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  14060.             IBPCSatelliteTuner * This,
  14061.             /* [in] */ AMTunerModeType lMode);
  14062.         
  14063.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  14064.             IBPCSatelliteTuner * This,
  14065.             /* [out] */ AMTunerModeType *plMode);
  14066.         
  14067.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  14068.             IBPCSatelliteTuner * This,
  14069.             /* [out] */ long *plModes);
  14070.         
  14071.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14072.             IBPCSatelliteTuner * This,
  14073.             /* [in] */ IAMTunerNotification *pNotify,
  14074.             /* [in] */ long lEvents);
  14075.         
  14076.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14077.             IBPCSatelliteTuner * This,
  14078.             /* [in] */ IAMTunerNotification *pNotify);
  14079.         
  14080.         HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )( 
  14081.             IBPCSatelliteTuner * This,
  14082.             /* [out] */ long *plDefaultVideoType,
  14083.             /* [out] */ long *plDefaultAudioType);
  14084.         
  14085.         HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )( 
  14086.             IBPCSatelliteTuner * This,
  14087.             /* [in] */ long lDefaultVideoType,
  14088.             /* [in] */ long lDefaultAudioType);
  14089.         
  14090.         HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )( 
  14091.             IBPCSatelliteTuner * This);
  14092.         
  14093.         END_INTERFACE
  14094.     } IBPCSatelliteTunerVtbl;
  14095.  
  14096.     interface IBPCSatelliteTuner
  14097.     {
  14098.         CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  14099.     };
  14100.  
  14101.     
  14102.  
  14103. #ifdef COBJMACROS
  14104.  
  14105.  
  14106. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)    \
  14107.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14108.  
  14109. #define IBPCSatelliteTuner_AddRef(This)    \
  14110.     (This)->lpVtbl -> AddRef(This)
  14111.  
  14112. #define IBPCSatelliteTuner_Release(This)    \
  14113.     (This)->lpVtbl -> Release(This)
  14114.  
  14115.  
  14116. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  14117.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  14118.  
  14119. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  14120.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  14121.  
  14122. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  14123.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  14124.  
  14125. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)    \
  14126.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  14127.  
  14128. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)    \
  14129.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  14130.  
  14131. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)    \
  14132.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  14133.  
  14134. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)    \
  14135.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  14136.  
  14137. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)    \
  14138.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  14139.  
  14140. #define IBPCSatelliteTuner_Logout(This)    \
  14141.     (This)->lpVtbl -> Logout(This)
  14142.  
  14143. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)    \
  14144.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  14145.  
  14146. #define IBPCSatelliteTuner_put_Mode(This,lMode)    \
  14147.     (This)->lpVtbl -> put_Mode(This,lMode)
  14148.  
  14149. #define IBPCSatelliteTuner_get_Mode(This,plMode)    \
  14150.     (This)->lpVtbl -> get_Mode(This,plMode)
  14151.  
  14152. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)    \
  14153.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  14154.  
  14155. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14156.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14157.  
  14158. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  14159.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14160.  
  14161.  
  14162. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)    \
  14163.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  14164.  
  14165. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)    \
  14166.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  14167.  
  14168. #define IBPCSatelliteTuner_IsTapingPermitted(This)    \
  14169.     (This)->lpVtbl -> IsTapingPermitted(This)
  14170.  
  14171. #endif /* COBJMACROS */
  14172.  
  14173.  
  14174. #endif     /* C style interface */
  14175.  
  14176.  
  14177.  
  14178. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  14179.     IBPCSatelliteTuner * This,
  14180.     /* [out] */ long *plDefaultVideoType,
  14181.     /* [out] */ long *plDefaultAudioType);
  14182.  
  14183.  
  14184. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  14185.     IRpcStubBuffer *This,
  14186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14187.     PRPC_MESSAGE _pRpcMessage,
  14188.     DWORD *_pdwStubPhase);
  14189.  
  14190.  
  14191. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  14192.     IBPCSatelliteTuner * This,
  14193.     /* [in] */ long lDefaultVideoType,
  14194.     /* [in] */ long lDefaultAudioType);
  14195.  
  14196.  
  14197. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  14198.     IRpcStubBuffer *This,
  14199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14200.     PRPC_MESSAGE _pRpcMessage,
  14201.     DWORD *_pdwStubPhase);
  14202.  
  14203.  
  14204. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  14205.     IBPCSatelliteTuner * This);
  14206.  
  14207.  
  14208. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  14209.     IRpcStubBuffer *This,
  14210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14211.     PRPC_MESSAGE _pRpcMessage,
  14212.     DWORD *_pdwStubPhase);
  14213.  
  14214.  
  14215.  
  14216. #endif     /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  14217.  
  14218.  
  14219. /* interface __MIDL_itf_strmif_0178 */
  14220. /* [local] */ 
  14221.  
  14222. typedef 
  14223. enum tagTVAudioMode
  14224.     {    AMTVAUDIO_MODE_MONO    = 0x1,
  14225.     AMTVAUDIO_MODE_STEREO    = 0x2,
  14226.     AMTVAUDIO_MODE_LANG_A    = 0x10,
  14227.     AMTVAUDIO_MODE_LANG_B    = 0x20,
  14228.     AMTVAUDIO_MODE_LANG_C    = 0x40
  14229.     }     TVAudioMode;
  14230.  
  14231. typedef 
  14232. enum tagAMTVAudioEventType
  14233.     {    AMTVAUDIO_EVENT_CHANGED    = 0x1
  14234.     }     AMTVAudioEventType;
  14235.  
  14236.  
  14237.  
  14238.  
  14239. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
  14240. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
  14241.  
  14242. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  14243. #define __IAMTVAudio_INTERFACE_DEFINED__
  14244.  
  14245. /* interface IAMTVAudio */
  14246. /* [unique][uuid][local][object] */ 
  14247.  
  14248.  
  14249. EXTERN_C const IID IID_IAMTVAudio;
  14250.  
  14251. #if defined(__cplusplus) && !defined(CINTERFACE)
  14252.     
  14253.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  14254.     IAMTVAudio : public IUnknown
  14255.     {
  14256.     public:
  14257.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  14258.             /* [out] */ long *plModes) = 0;
  14259.         
  14260.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  14261.             /* [out] */ long *plModes) = 0;
  14262.         
  14263.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  14264.             /* [out] */ long *plMode) = 0;
  14265.         
  14266.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  14267.             /* [in] */ long lMode) = 0;
  14268.         
  14269.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  14270.             /* [in] */ IAMTunerNotification *pNotify,
  14271.             /* [in] */ long lEvents) = 0;
  14272.         
  14273.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  14274.             IAMTunerNotification *pNotify) = 0;
  14275.         
  14276.     };
  14277.     
  14278. #else     /* C style interface */
  14279.  
  14280.     typedef struct IAMTVAudioVtbl
  14281.     {
  14282.         BEGIN_INTERFACE
  14283.         
  14284.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14285.             IAMTVAudio * This,
  14286.             /* [in] */ REFIID riid,
  14287.             /* [iid_is][out] */ void **ppvObject);
  14288.         
  14289.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14290.             IAMTVAudio * This);
  14291.         
  14292.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14293.             IAMTVAudio * This);
  14294.         
  14295.         HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )( 
  14296.             IAMTVAudio * This,
  14297.             /* [out] */ long *plModes);
  14298.         
  14299.         HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )( 
  14300.             IAMTVAudio * This,
  14301.             /* [out] */ long *plModes);
  14302.         
  14303.         HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )( 
  14304.             IAMTVAudio * This,
  14305.             /* [out] */ long *plMode);
  14306.         
  14307.         HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )( 
  14308.             IAMTVAudio * This,
  14309.             /* [in] */ long lMode);
  14310.         
  14311.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14312.             IAMTVAudio * This,
  14313.             /* [in] */ IAMTunerNotification *pNotify,
  14314.             /* [in] */ long lEvents);
  14315.         
  14316.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14317.             IAMTVAudio * This,
  14318.             IAMTunerNotification *pNotify);
  14319.         
  14320.         END_INTERFACE
  14321.     } IAMTVAudioVtbl;
  14322.  
  14323.     interface IAMTVAudio
  14324.     {
  14325.         CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  14326.     };
  14327.  
  14328.     
  14329.  
  14330. #ifdef COBJMACROS
  14331.  
  14332.  
  14333. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)    \
  14334.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14335.  
  14336. #define IAMTVAudio_AddRef(This)    \
  14337.     (This)->lpVtbl -> AddRef(This)
  14338.  
  14339. #define IAMTVAudio_Release(This)    \
  14340.     (This)->lpVtbl -> Release(This)
  14341.  
  14342.  
  14343. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)    \
  14344.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  14345.  
  14346. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)    \
  14347.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  14348.  
  14349. #define IAMTVAudio_get_TVAudioMode(This,plMode)    \
  14350.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  14351.  
  14352. #define IAMTVAudio_put_TVAudioMode(This,lMode)    \
  14353.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  14354.  
  14355. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14356.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14357.  
  14358. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)    \
  14359.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14360.  
  14361. #endif /* COBJMACROS */
  14362.  
  14363.  
  14364. #endif     /* C style interface */
  14365.  
  14366.  
  14367.  
  14368. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  14369.     IAMTVAudio * This,
  14370.     /* [out] */ long *plModes);
  14371.  
  14372.  
  14373. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  14374.     IRpcStubBuffer *This,
  14375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14376.     PRPC_MESSAGE _pRpcMessage,
  14377.     DWORD *_pdwStubPhase);
  14378.  
  14379.  
  14380. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  14381.     IAMTVAudio * This,
  14382.     /* [out] */ long *plModes);
  14383.  
  14384.  
  14385. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  14386.     IRpcStubBuffer *This,
  14387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14388.     PRPC_MESSAGE _pRpcMessage,
  14389.     DWORD *_pdwStubPhase);
  14390.  
  14391.  
  14392. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  14393.     IAMTVAudio * This,
  14394.     /* [out] */ long *plMode);
  14395.  
  14396.  
  14397. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  14398.     IRpcStubBuffer *This,
  14399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14400.     PRPC_MESSAGE _pRpcMessage,
  14401.     DWORD *_pdwStubPhase);
  14402.  
  14403.  
  14404. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  14405.     IAMTVAudio * This,
  14406.     /* [in] */ long lMode);
  14407.  
  14408.  
  14409. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  14410.     IRpcStubBuffer *This,
  14411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14412.     PRPC_MESSAGE _pRpcMessage,
  14413.     DWORD *_pdwStubPhase);
  14414.  
  14415.  
  14416. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  14417.     IAMTVAudio * This,
  14418.     /* [in] */ IAMTunerNotification *pNotify,
  14419.     /* [in] */ long lEvents);
  14420.  
  14421.  
  14422. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  14423.     IRpcStubBuffer *This,
  14424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14425.     PRPC_MESSAGE _pRpcMessage,
  14426.     DWORD *_pdwStubPhase);
  14427.  
  14428.  
  14429. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  14430.     IAMTVAudio * This,
  14431.     IAMTunerNotification *pNotify);
  14432.  
  14433.  
  14434. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  14435.     IRpcStubBuffer *This,
  14436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14437.     PRPC_MESSAGE _pRpcMessage,
  14438.     DWORD *_pdwStubPhase);
  14439.  
  14440.  
  14441.  
  14442. #endif     /* __IAMTVAudio_INTERFACE_DEFINED__ */
  14443.  
  14444.  
  14445. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  14446. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  14447.  
  14448. /* interface IAMTVAudioNotification */
  14449. /* [unique][uuid][local][object] */ 
  14450.  
  14451.  
  14452. EXTERN_C const IID IID_IAMTVAudioNotification;
  14453.  
  14454. #if defined(__cplusplus) && !defined(CINTERFACE)
  14455.     
  14456.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  14457.     IAMTVAudioNotification : public IUnknown
  14458.     {
  14459.     public:
  14460.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  14461.             /* [in] */ AMTVAudioEventType Event) = 0;
  14462.         
  14463.     };
  14464.     
  14465. #else     /* C style interface */
  14466.  
  14467.     typedef struct IAMTVAudioNotificationVtbl
  14468.     {
  14469.         BEGIN_INTERFACE
  14470.         
  14471.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14472.             IAMTVAudioNotification * This,
  14473.             /* [in] */ REFIID riid,
  14474.             /* [iid_is][out] */ void **ppvObject);
  14475.         
  14476.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14477.             IAMTVAudioNotification * This);
  14478.         
  14479.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14480.             IAMTVAudioNotification * This);
  14481.         
  14482.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  14483.             IAMTVAudioNotification * This,
  14484.             /* [in] */ AMTVAudioEventType Event);
  14485.         
  14486.         END_INTERFACE
  14487.     } IAMTVAudioNotificationVtbl;
  14488.  
  14489.     interface IAMTVAudioNotification
  14490.     {
  14491.         CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  14492.     };
  14493.  
  14494.     
  14495.  
  14496. #ifdef COBJMACROS
  14497.  
  14498.  
  14499. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)    \
  14500.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14501.  
  14502. #define IAMTVAudioNotification_AddRef(This)    \
  14503.     (This)->lpVtbl -> AddRef(This)
  14504.  
  14505. #define IAMTVAudioNotification_Release(This)    \
  14506.     (This)->lpVtbl -> Release(This)
  14507.  
  14508.  
  14509. #define IAMTVAudioNotification_OnEvent(This,Event)    \
  14510.     (This)->lpVtbl -> OnEvent(This,Event)
  14511.  
  14512. #endif /* COBJMACROS */
  14513.  
  14514.  
  14515. #endif     /* C style interface */
  14516.  
  14517.  
  14518.  
  14519. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  14520.     IAMTVAudioNotification * This,
  14521.     /* [in] */ AMTVAudioEventType Event);
  14522.  
  14523.  
  14524. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  14525.     IRpcStubBuffer *This,
  14526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14527.     PRPC_MESSAGE _pRpcMessage,
  14528.     DWORD *_pdwStubPhase);
  14529.  
  14530.  
  14531.  
  14532. #endif     /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  14533.  
  14534.  
  14535. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14536. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14537.  
  14538. /* interface IAMAnalogVideoEncoder */
  14539. /* [unique][uuid][object] */ 
  14540.  
  14541.  
  14542. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  14543.  
  14544. #if defined(__cplusplus) && !defined(CINTERFACE)
  14545.     
  14546.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  14547.     IAMAnalogVideoEncoder : public IUnknown
  14548.     {
  14549.     public:
  14550.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  14551.             /* [out] */ long *lAnalogVideoStandard) = 0;
  14552.         
  14553.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  14554.             /* [in] */ long lAnalogVideoStandard) = 0;
  14555.         
  14556.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  14557.             /* [out] */ long *plAnalogVideoStandard) = 0;
  14558.         
  14559.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  14560.             /* [in] */ long lVideoCopyProtection) = 0;
  14561.         
  14562.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  14563.             /* [out] */ long *lVideoCopyProtection) = 0;
  14564.         
  14565.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  14566.             /* [in] */ long lCCEnable) = 0;
  14567.         
  14568.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  14569.             /* [out] */ long *lCCEnable) = 0;
  14570.         
  14571.     };
  14572.     
  14573. #else     /* C style interface */
  14574.  
  14575.     typedef struct IAMAnalogVideoEncoderVtbl
  14576.     {
  14577.         BEGIN_INTERFACE
  14578.         
  14579.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14580.             IAMAnalogVideoEncoder * This,
  14581.             /* [in] */ REFIID riid,
  14582.             /* [iid_is][out] */ void **ppvObject);
  14583.         
  14584.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14585.             IAMAnalogVideoEncoder * This);
  14586.         
  14587.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14588.             IAMAnalogVideoEncoder * This);
  14589.         
  14590.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  14591.             IAMAnalogVideoEncoder * This,
  14592.             /* [out] */ long *lAnalogVideoStandard);
  14593.         
  14594.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  14595.             IAMAnalogVideoEncoder * This,
  14596.             /* [in] */ long lAnalogVideoStandard);
  14597.         
  14598.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  14599.             IAMAnalogVideoEncoder * This,
  14600.             /* [out] */ long *plAnalogVideoStandard);
  14601.         
  14602.         HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )( 
  14603.             IAMAnalogVideoEncoder * This,
  14604.             /* [in] */ long lVideoCopyProtection);
  14605.         
  14606.         HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )( 
  14607.             IAMAnalogVideoEncoder * This,
  14608.             /* [out] */ long *lVideoCopyProtection);
  14609.         
  14610.         HRESULT ( STDMETHODCALLTYPE *put_CCEnable )( 
  14611.             IAMAnalogVideoEncoder * This,
  14612.             /* [in] */ long lCCEnable);
  14613.         
  14614.         HRESULT ( STDMETHODCALLTYPE *get_CCEnable )( 
  14615.             IAMAnalogVideoEncoder * This,
  14616.             /* [out] */ long *lCCEnable);
  14617.         
  14618.         END_INTERFACE
  14619.     } IAMAnalogVideoEncoderVtbl;
  14620.  
  14621.     interface IAMAnalogVideoEncoder
  14622.     {
  14623.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  14624.     };
  14625.  
  14626.     
  14627.  
  14628. #ifdef COBJMACROS
  14629.  
  14630.  
  14631. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  14632.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14633.  
  14634. #define IAMAnalogVideoEncoder_AddRef(This)    \
  14635.     (This)->lpVtbl -> AddRef(This)
  14636.  
  14637. #define IAMAnalogVideoEncoder_Release(This)    \
  14638.     (This)->lpVtbl -> Release(This)
  14639.  
  14640.  
  14641. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  14642.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  14643.  
  14644. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)    \
  14645.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  14646.  
  14647. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)    \
  14648.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  14649.  
  14650. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)    \
  14651.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  14652.  
  14653. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)    \
  14654.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  14655.  
  14656. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)    \
  14657.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  14658.  
  14659. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)    \
  14660.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  14661.  
  14662. #endif /* COBJMACROS */
  14663.  
  14664.  
  14665. #endif     /* C style interface */
  14666.  
  14667.  
  14668.  
  14669. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  14670.     IAMAnalogVideoEncoder * This,
  14671.     /* [out] */ long *lAnalogVideoStandard);
  14672.  
  14673.  
  14674. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  14675.     IRpcStubBuffer *This,
  14676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14677.     PRPC_MESSAGE _pRpcMessage,
  14678.     DWORD *_pdwStubPhase);
  14679.  
  14680.  
  14681. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  14682.     IAMAnalogVideoEncoder * This,
  14683.     /* [in] */ long lAnalogVideoStandard);
  14684.  
  14685.  
  14686. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  14687.     IRpcStubBuffer *This,
  14688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14689.     PRPC_MESSAGE _pRpcMessage,
  14690.     DWORD *_pdwStubPhase);
  14691.  
  14692.  
  14693. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  14694.     IAMAnalogVideoEncoder * This,
  14695.     /* [out] */ long *plAnalogVideoStandard);
  14696.  
  14697.  
  14698. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  14699.     IRpcStubBuffer *This,
  14700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14701.     PRPC_MESSAGE _pRpcMessage,
  14702.     DWORD *_pdwStubPhase);
  14703.  
  14704.  
  14705. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  14706.     IAMAnalogVideoEncoder * This,
  14707.     /* [in] */ long lVideoCopyProtection);
  14708.  
  14709.  
  14710. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  14711.     IRpcStubBuffer *This,
  14712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14713.     PRPC_MESSAGE _pRpcMessage,
  14714.     DWORD *_pdwStubPhase);
  14715.  
  14716.  
  14717. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  14718.     IAMAnalogVideoEncoder * This,
  14719.     /* [out] */ long *lVideoCopyProtection);
  14720.  
  14721.  
  14722. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  14723.     IRpcStubBuffer *This,
  14724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14725.     PRPC_MESSAGE _pRpcMessage,
  14726.     DWORD *_pdwStubPhase);
  14727.  
  14728.  
  14729. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  14730.     IAMAnalogVideoEncoder * This,
  14731.     /* [in] */ long lCCEnable);
  14732.  
  14733.  
  14734. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  14735.     IRpcStubBuffer *This,
  14736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14737.     PRPC_MESSAGE _pRpcMessage,
  14738.     DWORD *_pdwStubPhase);
  14739.  
  14740.  
  14741. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  14742.     IAMAnalogVideoEncoder * This,
  14743.     /* [out] */ long *lCCEnable);
  14744.  
  14745.  
  14746. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  14747.     IRpcStubBuffer *This,
  14748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14749.     PRPC_MESSAGE _pRpcMessage,
  14750.     DWORD *_pdwStubPhase);
  14751.  
  14752.  
  14753.  
  14754. #endif     /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  14755.  
  14756.  
  14757. /* interface __MIDL_itf_strmif_0181 */
  14758. /* [local] */ 
  14759.  
  14760. typedef /* [public] */ 
  14761. enum __MIDL___MIDL_itf_strmif_0181_0001
  14762.     {    AMPROPERTY_PIN_CATEGORY    = 0,
  14763.     AMPROPERTY_PIN_MEDIUM    = AMPROPERTY_PIN_CATEGORY + 1
  14764.     }     AMPROPERTY_PIN;
  14765.  
  14766. #ifndef _IKsPropertySet_
  14767. #define _IKsPropertySet_
  14768. #define KSPROPERTY_SUPPORT_GET  1
  14769. #define KSPROPERTY_SUPPORT_SET  2
  14770.  
  14771.  
  14772. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;
  14773. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;
  14774.  
  14775. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  14776. #define __IKsPropertySet_INTERFACE_DEFINED__
  14777.  
  14778. /* interface IKsPropertySet */
  14779. /* [unique][uuid][object] */ 
  14780.  
  14781.  
  14782. EXTERN_C const IID IID_IKsPropertySet;
  14783.  
  14784. #if defined(__cplusplus) && !defined(CINTERFACE)
  14785.     
  14786.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  14787.     IKsPropertySet : public IUnknown
  14788.     {
  14789.     public:
  14790.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set( 
  14791.             /* [in] */ REFGUID guidPropSet,
  14792.             /* [in] */ DWORD dwPropID,
  14793.             /* [size_is][in] */ LPVOID pInstanceData,
  14794.             /* [in] */ DWORD cbInstanceData,
  14795.             /* [size_is][in] */ LPVOID pPropData,
  14796.             /* [in] */ DWORD cbPropData) = 0;
  14797.         
  14798.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get( 
  14799.             /* [in] */ REFGUID guidPropSet,
  14800.             /* [in] */ DWORD dwPropID,
  14801.             /* [size_is][in] */ LPVOID pInstanceData,
  14802.             /* [in] */ DWORD cbInstanceData,
  14803.             /* [size_is][out] */ LPVOID pPropData,
  14804.             /* [in] */ DWORD cbPropData,
  14805.             /* [out] */ DWORD *pcbReturned) = 0;
  14806.         
  14807.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  14808.             /* [in] */ REFGUID guidPropSet,
  14809.             /* [in] */ DWORD dwPropID,
  14810.             /* [out] */ DWORD *pTypeSupport) = 0;
  14811.         
  14812.     };
  14813.     
  14814. #else     /* C style interface */
  14815.  
  14816.     typedef struct IKsPropertySetVtbl
  14817.     {
  14818.         BEGIN_INTERFACE
  14819.         
  14820.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14821.             IKsPropertySet * This,
  14822.             /* [in] */ REFIID riid,
  14823.             /* [iid_is][out] */ void **ppvObject);
  14824.         
  14825.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14826.             IKsPropertySet * This);
  14827.         
  14828.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14829.             IKsPropertySet * This);
  14830.         
  14831.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
  14832.             IKsPropertySet * This,
  14833.             /* [in] */ REFGUID guidPropSet,
  14834.             /* [in] */ DWORD dwPropID,
  14835.             /* [size_is][in] */ LPVOID pInstanceData,
  14836.             /* [in] */ DWORD cbInstanceData,
  14837.             /* [size_is][in] */ LPVOID pPropData,
  14838.             /* [in] */ DWORD cbPropData);
  14839.         
  14840.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  14841.             IKsPropertySet * This,
  14842.             /* [in] */ REFGUID guidPropSet,
  14843.             /* [in] */ DWORD dwPropID,
  14844.             /* [size_is][in] */ LPVOID pInstanceData,
  14845.             /* [in] */ DWORD cbInstanceData,
  14846.             /* [size_is][out] */ LPVOID pPropData,
  14847.             /* [in] */ DWORD cbPropData,
  14848.             /* [out] */ DWORD *pcbReturned);
  14849.         
  14850.         HRESULT ( STDMETHODCALLTYPE *QuerySupported )( 
  14851.             IKsPropertySet * This,
  14852.             /* [in] */ REFGUID guidPropSet,
  14853.             /* [in] */ DWORD dwPropID,
  14854.             /* [out] */ DWORD *pTypeSupport);
  14855.         
  14856.         END_INTERFACE
  14857.     } IKsPropertySetVtbl;
  14858.  
  14859.     interface IKsPropertySet
  14860.     {
  14861.         CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  14862.     };
  14863.  
  14864.     
  14865.  
  14866. #ifdef COBJMACROS
  14867.  
  14868.  
  14869. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)    \
  14870.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14871.  
  14872. #define IKsPropertySet_AddRef(This)    \
  14873.     (This)->lpVtbl -> AddRef(This)
  14874.  
  14875. #define IKsPropertySet_Release(This)    \
  14876.     (This)->lpVtbl -> Release(This)
  14877.  
  14878.  
  14879. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)    \
  14880.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  14881.  
  14882. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)    \
  14883.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  14884.  
  14885. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)    \
  14886.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  14887.  
  14888. #endif /* COBJMACROS */
  14889.  
  14890.  
  14891. #endif     /* C style interface */
  14892.  
  14893.  
  14894.  
  14895. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy( 
  14896.     IKsPropertySet * This,
  14897.     /* [in] */ REFGUID guidPropSet,
  14898.     /* [in] */ DWORD dwPropID,
  14899.     /* [size_is][in] */ byte *pInstanceData,
  14900.     /* [in] */ DWORD cbInstanceData,
  14901.     /* [size_is][in] */ byte *pPropData,
  14902.     /* [in] */ DWORD cbPropData);
  14903.  
  14904.  
  14905. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  14906.     IRpcStubBuffer *This,
  14907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14908.     PRPC_MESSAGE _pRpcMessage,
  14909.     DWORD *_pdwStubPhase);
  14910.  
  14911.  
  14912. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy( 
  14913.     IKsPropertySet * This,
  14914.     /* [in] */ REFGUID guidPropSet,
  14915.     /* [in] */ DWORD dwPropID,
  14916.     /* [size_is][in] */ byte *pInstanceData,
  14917.     /* [in] */ DWORD cbInstanceData,
  14918.     /* [size_is][out] */ byte *pPropData,
  14919.     /* [in] */ DWORD cbPropData,
  14920.     /* [out] */ DWORD *pcbReturned);
  14921.  
  14922.  
  14923. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  14924.     IRpcStubBuffer *This,
  14925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14926.     PRPC_MESSAGE _pRpcMessage,
  14927.     DWORD *_pdwStubPhase);
  14928.  
  14929.  
  14930. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  14931.     IKsPropertySet * This,
  14932.     /* [in] */ REFGUID guidPropSet,
  14933.     /* [in] */ DWORD dwPropID,
  14934.     /* [out] */ DWORD *pTypeSupport);
  14935.  
  14936.  
  14937. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  14938.     IRpcStubBuffer *This,
  14939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14940.     PRPC_MESSAGE _pRpcMessage,
  14941.     DWORD *_pdwStubPhase);
  14942.  
  14943.  
  14944.  
  14945. #endif     /* __IKsPropertySet_INTERFACE_DEFINED__ */
  14946.  
  14947.  
  14948. /* interface __MIDL_itf_strmif_0182 */
  14949. /* [local] */ 
  14950.  
  14951. #endif // _IKsPropertySet_
  14952.  
  14953.  
  14954. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
  14955. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
  14956.  
  14957. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  14958. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  14959.  
  14960. /* interface IMediaPropertyBag */
  14961. /* [unique][uuid][object] */ 
  14962.  
  14963. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  14964.  
  14965.  
  14966. EXTERN_C const IID IID_IMediaPropertyBag;
  14967.  
  14968. #if defined(__cplusplus) && !defined(CINTERFACE)
  14969.     
  14970.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  14971.     IMediaPropertyBag : public IPropertyBag
  14972.     {
  14973.     public:
  14974.         virtual HRESULT STDMETHODCALLTYPE EnumProperty( 
  14975.             /* [in] */ ULONG iProperty,
  14976.             /* [out][in] */ VARIANT *pvarPropertyName,
  14977.             /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  14978.         
  14979.     };
  14980.     
  14981. #else     /* C style interface */
  14982.  
  14983.     typedef struct IMediaPropertyBagVtbl
  14984.     {
  14985.         BEGIN_INTERFACE
  14986.         
  14987.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14988.             IMediaPropertyBag * This,
  14989.             /* [in] */ REFIID riid,
  14990.             /* [iid_is][out] */ void **ppvObject);
  14991.         
  14992.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14993.             IMediaPropertyBag * This);
  14994.         
  14995.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14996.             IMediaPropertyBag * This);
  14997.         
  14998.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  14999.             IMediaPropertyBag * This,
  15000.             /* [in] */ LPCOLESTR pszPropName,
  15001.             /* [out][in] */ VARIANT *pVar,
  15002.             /* [in] */ IErrorLog *pErrorLog);
  15003.         
  15004.         HRESULT ( STDMETHODCALLTYPE *Write )( 
  15005.             IMediaPropertyBag * This,
  15006.             /* [in] */ LPCOLESTR pszPropName,
  15007.             /* [in] */ VARIANT *pVar);
  15008.         
  15009.         HRESULT ( STDMETHODCALLTYPE *EnumProperty )( 
  15010.             IMediaPropertyBag * This,
  15011.             /* [in] */ ULONG iProperty,
  15012.             /* [out][in] */ VARIANT *pvarPropertyName,
  15013.             /* [out][in] */ VARIANT *pvarPropertyValue);
  15014.         
  15015.         END_INTERFACE
  15016.     } IMediaPropertyBagVtbl;
  15017.  
  15018.     interface IMediaPropertyBag
  15019.     {
  15020.         CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  15021.     };
  15022.  
  15023.     
  15024.  
  15025. #ifdef COBJMACROS
  15026.  
  15027.  
  15028. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  15029.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15030.  
  15031. #define IMediaPropertyBag_AddRef(This)    \
  15032.     (This)->lpVtbl -> AddRef(This)
  15033.  
  15034. #define IMediaPropertyBag_Release(This)    \
  15035.     (This)->lpVtbl -> Release(This)
  15036.  
  15037.  
  15038. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  15039.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  15040.  
  15041. #define IMediaPropertyBag_Write(This,pszPropName,pVar)    \
  15042.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  15043.  
  15044.  
  15045. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)    \
  15046.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  15047.  
  15048. #endif /* COBJMACROS */
  15049.  
  15050.  
  15051. #endif     /* C style interface */
  15052.  
  15053.  
  15054.  
  15055. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  15056.     IMediaPropertyBag * This,
  15057.     /* [in] */ ULONG iProperty,
  15058.     /* [out][in] */ VARIANT *pvarPropertyName,
  15059.     /* [out][in] */ VARIANT *pvarPropertyValue);
  15060.  
  15061.  
  15062. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  15063.     IRpcStubBuffer *This,
  15064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15065.     PRPC_MESSAGE _pRpcMessage,
  15066.     DWORD *_pdwStubPhase);
  15067.  
  15068.  
  15069.  
  15070. #endif     /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  15071.  
  15072.  
  15073. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15074. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15075.  
  15076. /* interface IPersistMediaPropertyBag */
  15077. /* [unique][uuid][object] */ 
  15078.  
  15079. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  15080.  
  15081.  
  15082. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  15083.  
  15084. #if defined(__cplusplus) && !defined(CINTERFACE)
  15085.     
  15086.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  15087.     IPersistMediaPropertyBag : public IPersist
  15088.     {
  15089.     public:
  15090.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  15091.         
  15092.         virtual HRESULT STDMETHODCALLTYPE Load( 
  15093.             /* [in] */ IMediaPropertyBag *pPropBag,
  15094.             /* [in] */ IErrorLog *pErrorLog) = 0;
  15095.         
  15096.         virtual HRESULT STDMETHODCALLTYPE Save( 
  15097.             /* [in] */ IMediaPropertyBag *pPropBag,
  15098.             /* [in] */ BOOL fClearDirty,
  15099.             /* [in] */ BOOL fSaveAllProperties) = 0;
  15100.         
  15101.     };
  15102.     
  15103. #else     /* C style interface */
  15104.  
  15105.     typedef struct IPersistMediaPropertyBagVtbl
  15106.     {
  15107.         BEGIN_INTERFACE
  15108.         
  15109.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15110.             IPersistMediaPropertyBag * This,
  15111.             /* [in] */ REFIID riid,
  15112.             /* [iid_is][out] */ void **ppvObject);
  15113.         
  15114.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15115.             IPersistMediaPropertyBag * This);
  15116.         
  15117.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15118.             IPersistMediaPropertyBag * This);
  15119.         
  15120.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  15121.             IPersistMediaPropertyBag * This,
  15122.             /* [out] */ CLSID *pClassID);
  15123.         
  15124.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  15125.             IPersistMediaPropertyBag * This);
  15126.         
  15127.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  15128.             IPersistMediaPropertyBag * This,
  15129.             /* [in] */ IMediaPropertyBag *pPropBag,
  15130.             /* [in] */ IErrorLog *pErrorLog);
  15131.         
  15132.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  15133.             IPersistMediaPropertyBag * This,
  15134.             /* [in] */ IMediaPropertyBag *pPropBag,
  15135.             /* [in] */ BOOL fClearDirty,
  15136.             /* [in] */ BOOL fSaveAllProperties);
  15137.         
  15138.         END_INTERFACE
  15139.     } IPersistMediaPropertyBagVtbl;
  15140.  
  15141.     interface IPersistMediaPropertyBag
  15142.     {
  15143.         CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  15144.     };
  15145.  
  15146.     
  15147.  
  15148. #ifdef COBJMACROS
  15149.  
  15150.  
  15151. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  15152.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15153.  
  15154. #define IPersistMediaPropertyBag_AddRef(This)    \
  15155.     (This)->lpVtbl -> AddRef(This)
  15156.  
  15157. #define IPersistMediaPropertyBag_Release(This)    \
  15158.     (This)->lpVtbl -> Release(This)
  15159.  
  15160.  
  15161. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)    \
  15162.     (This)->lpVtbl -> GetClassID(This,pClassID)
  15163.  
  15164.  
  15165. #define IPersistMediaPropertyBag_InitNew(This)    \
  15166.     (This)->lpVtbl -> InitNew(This)
  15167.  
  15168. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)    \
  15169.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  15170.  
  15171. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)    \
  15172.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  15173.  
  15174. #endif /* COBJMACROS */
  15175.  
  15176.  
  15177. #endif     /* C style interface */
  15178.  
  15179.  
  15180.  
  15181. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  15182.     IPersistMediaPropertyBag * This);
  15183.  
  15184.  
  15185. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  15186.     IRpcStubBuffer *This,
  15187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15188.     PRPC_MESSAGE _pRpcMessage,
  15189.     DWORD *_pdwStubPhase);
  15190.  
  15191.  
  15192. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  15193.     IPersistMediaPropertyBag * This,
  15194.     /* [in] */ IMediaPropertyBag *pPropBag,
  15195.     /* [in] */ IErrorLog *pErrorLog);
  15196.  
  15197.  
  15198. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  15199.     IRpcStubBuffer *This,
  15200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15201.     PRPC_MESSAGE _pRpcMessage,
  15202.     DWORD *_pdwStubPhase);
  15203.  
  15204.  
  15205. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  15206.     IPersistMediaPropertyBag * This,
  15207.     /* [in] */ IMediaPropertyBag *pPropBag,
  15208.     /* [in] */ BOOL fClearDirty,
  15209.     /* [in] */ BOOL fSaveAllProperties);
  15210.  
  15211.  
  15212. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  15213.     IRpcStubBuffer *This,
  15214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15215.     PRPC_MESSAGE _pRpcMessage,
  15216.     DWORD *_pdwStubPhase);
  15217.  
  15218.  
  15219.  
  15220. #endif     /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  15221.  
  15222.  
  15223. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15224. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15225.  
  15226. /* interface IAMPhysicalPinInfo */
  15227. /* [unique][uuid][object] */ 
  15228.  
  15229.  
  15230. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  15231.  
  15232. #if defined(__cplusplus) && !defined(CINTERFACE)
  15233.     
  15234.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  15235.     IAMPhysicalPinInfo : public IUnknown
  15236.     {
  15237.     public:
  15238.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  15239.             /* [out] */ long *pType,
  15240.             /* [out] */ LPOLESTR *ppszType) = 0;
  15241.         
  15242.     };
  15243.     
  15244. #else     /* C style interface */
  15245.  
  15246.     typedef struct IAMPhysicalPinInfoVtbl
  15247.     {
  15248.         BEGIN_INTERFACE
  15249.         
  15250.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15251.             IAMPhysicalPinInfo * This,
  15252.             /* [in] */ REFIID riid,
  15253.             /* [iid_is][out] */ void **ppvObject);
  15254.         
  15255.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15256.             IAMPhysicalPinInfo * This);
  15257.         
  15258.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15259.             IAMPhysicalPinInfo * This);
  15260.         
  15261.         HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )( 
  15262.             IAMPhysicalPinInfo * This,
  15263.             /* [out] */ long *pType,
  15264.             /* [out] */ LPOLESTR *ppszType);
  15265.         
  15266.         END_INTERFACE
  15267.     } IAMPhysicalPinInfoVtbl;
  15268.  
  15269.     interface IAMPhysicalPinInfo
  15270.     {
  15271.         CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  15272.     };
  15273.  
  15274.     
  15275.  
  15276. #ifdef COBJMACROS
  15277.  
  15278.  
  15279. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)    \
  15280.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15281.  
  15282. #define IAMPhysicalPinInfo_AddRef(This)    \
  15283.     (This)->lpVtbl -> AddRef(This)
  15284.  
  15285. #define IAMPhysicalPinInfo_Release(This)    \
  15286.     (This)->lpVtbl -> Release(This)
  15287.  
  15288.  
  15289. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)    \
  15290.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  15291.  
  15292. #endif /* COBJMACROS */
  15293.  
  15294.  
  15295. #endif     /* C style interface */
  15296.  
  15297.  
  15298.  
  15299. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  15300.     IAMPhysicalPinInfo * This,
  15301.     /* [out] */ long *pType,
  15302.     /* [out] */ LPOLESTR *ppszType);
  15303.  
  15304.  
  15305. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  15306.     IRpcStubBuffer *This,
  15307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15308.     PRPC_MESSAGE _pRpcMessage,
  15309.     DWORD *_pdwStubPhase);
  15310.  
  15311.  
  15312.  
  15313. #endif     /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  15314.  
  15315.  
  15316. /* interface __MIDL_itf_strmif_0329 */
  15317. /* [local] */ 
  15318.  
  15319. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  15320.  
  15321.  
  15322.  
  15323. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;
  15324. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;
  15325.  
  15326. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  15327. #define __IAMExtDevice_INTERFACE_DEFINED__
  15328.  
  15329. /* interface IAMExtDevice */
  15330. /* [unique][uuid][object] */ 
  15331.  
  15332.  
  15333. EXTERN_C const IID IID_IAMExtDevice;
  15334.  
  15335. #if defined(__cplusplus) && !defined(CINTERFACE)
  15336.     
  15337.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  15338.     IAMExtDevice : public IUnknown
  15339.     {
  15340.     public:
  15341.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15342.             /* [in] */ long Capability,
  15343.             /* [out] */ long *pValue,
  15344.             /* [out] */ double *pdblValue) = 0;
  15345.         
  15346.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  15347.             /* [out] */ LPOLESTR *ppszData) = 0;
  15348.         
  15349.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  15350.             /* [out] */ LPOLESTR *ppszData) = 0;
  15351.         
  15352.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  15353.             /* [in] */ long PowerMode) = 0;
  15354.         
  15355.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  15356.             /* [out] */ long *pPowerMode) = 0;
  15357.         
  15358.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  15359.             /* [in] */ HEVENT hEvent,
  15360.             /* [in] */ long Mode,
  15361.             /* [out] */ long *pStatus) = 0;
  15362.         
  15363.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  15364.             /* [in] */ long DevicePort) = 0;
  15365.         
  15366.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  15367.             /* [out] */ long *pDevicePort) = 0;
  15368.         
  15369.     };
  15370.     
  15371. #else     /* C style interface */
  15372.  
  15373.     typedef struct IAMExtDeviceVtbl
  15374.     {
  15375.         BEGIN_INTERFACE
  15376.         
  15377.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15378.             IAMExtDevice * This,
  15379.             /* [in] */ REFIID riid,
  15380.             /* [iid_is][out] */ void **ppvObject);
  15381.         
  15382.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15383.             IAMExtDevice * This);
  15384.         
  15385.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15386.             IAMExtDevice * This);
  15387.         
  15388.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15389.             IAMExtDevice * This,
  15390.             /* [in] */ long Capability,
  15391.             /* [out] */ long *pValue,
  15392.             /* [out] */ double *pdblValue);
  15393.         
  15394.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )( 
  15395.             IAMExtDevice * This,
  15396.             /* [out] */ LPOLESTR *ppszData);
  15397.         
  15398.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )( 
  15399.             IAMExtDevice * This,
  15400.             /* [out] */ LPOLESTR *ppszData);
  15401.         
  15402.         HRESULT ( STDMETHODCALLTYPE *put_DevicePower )( 
  15403.             IAMExtDevice * This,
  15404.             /* [in] */ long PowerMode);
  15405.         
  15406.         HRESULT ( STDMETHODCALLTYPE *get_DevicePower )( 
  15407.             IAMExtDevice * This,
  15408.             /* [out] */ long *pPowerMode);
  15409.         
  15410.         HRESULT ( STDMETHODCALLTYPE *Calibrate )( 
  15411.             IAMExtDevice * This,
  15412.             /* [in] */ HEVENT hEvent,
  15413.             /* [in] */ long Mode,
  15414.             /* [out] */ long *pStatus);
  15415.         
  15416.         HRESULT ( STDMETHODCALLTYPE *put_DevicePort )( 
  15417.             IAMExtDevice * This,
  15418.             /* [in] */ long DevicePort);
  15419.         
  15420.         HRESULT ( STDMETHODCALLTYPE *get_DevicePort )( 
  15421.             IAMExtDevice * This,
  15422.             /* [out] */ long *pDevicePort);
  15423.         
  15424.         END_INTERFACE
  15425.     } IAMExtDeviceVtbl;
  15426.  
  15427.     interface IAMExtDevice
  15428.     {
  15429.         CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  15430.     };
  15431.  
  15432.     
  15433.  
  15434. #ifdef COBJMACROS
  15435.  
  15436.  
  15437. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)    \
  15438.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15439.  
  15440. #define IAMExtDevice_AddRef(This)    \
  15441.     (This)->lpVtbl -> AddRef(This)
  15442.  
  15443. #define IAMExtDevice_Release(This)    \
  15444.     (This)->lpVtbl -> Release(This)
  15445.  
  15446.  
  15447. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)    \
  15448.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15449.  
  15450. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)    \
  15451.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  15452.  
  15453. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)    \
  15454.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  15455.  
  15456. #define IAMExtDevice_put_DevicePower(This,PowerMode)    \
  15457.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  15458.  
  15459. #define IAMExtDevice_get_DevicePower(This,pPowerMode)    \
  15460.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  15461.  
  15462. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)    \
  15463.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  15464.  
  15465. #define IAMExtDevice_put_DevicePort(This,DevicePort)    \
  15466.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  15467.  
  15468. #define IAMExtDevice_get_DevicePort(This,pDevicePort)    \
  15469.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  15470.  
  15471. #endif /* COBJMACROS */
  15472.  
  15473.  
  15474. #endif     /* C style interface */
  15475.  
  15476.  
  15477.  
  15478. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  15479.     IAMExtDevice * This,
  15480.     /* [in] */ long Capability,
  15481.     /* [out] */ long *pValue,
  15482.     /* [out] */ double *pdblValue);
  15483.  
  15484.  
  15485. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  15486.     IRpcStubBuffer *This,
  15487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15488.     PRPC_MESSAGE _pRpcMessage,
  15489.     DWORD *_pdwStubPhase);
  15490.  
  15491.  
  15492. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  15493.     IAMExtDevice * This,
  15494.     /* [out] */ LPOLESTR *ppszData);
  15495.  
  15496.  
  15497. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  15498.     IRpcStubBuffer *This,
  15499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15500.     PRPC_MESSAGE _pRpcMessage,
  15501.     DWORD *_pdwStubPhase);
  15502.  
  15503.  
  15504. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  15505.     IAMExtDevice * This,
  15506.     /* [out] */ LPOLESTR *ppszData);
  15507.  
  15508.  
  15509. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  15510.     IRpcStubBuffer *This,
  15511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15512.     PRPC_MESSAGE _pRpcMessage,
  15513.     DWORD *_pdwStubPhase);
  15514.  
  15515.  
  15516. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  15517.     IAMExtDevice * This,
  15518.     /* [in] */ long PowerMode);
  15519.  
  15520.  
  15521. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  15522.     IRpcStubBuffer *This,
  15523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15524.     PRPC_MESSAGE _pRpcMessage,
  15525.     DWORD *_pdwStubPhase);
  15526.  
  15527.  
  15528. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  15529.     IAMExtDevice * This,
  15530.     /* [out] */ long *pPowerMode);
  15531.  
  15532.  
  15533. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  15534.     IRpcStubBuffer *This,
  15535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15536.     PRPC_MESSAGE _pRpcMessage,
  15537.     DWORD *_pdwStubPhase);
  15538.  
  15539.  
  15540. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  15541.     IAMExtDevice * This,
  15542.     /* [in] */ HEVENT hEvent,
  15543.     /* [in] */ long Mode,
  15544.     /* [out] */ long *pStatus);
  15545.  
  15546.  
  15547. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  15548.     IRpcStubBuffer *This,
  15549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15550.     PRPC_MESSAGE _pRpcMessage,
  15551.     DWORD *_pdwStubPhase);
  15552.  
  15553.  
  15554. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  15555.     IAMExtDevice * This,
  15556.     /* [in] */ long DevicePort);
  15557.  
  15558.  
  15559. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  15560.     IRpcStubBuffer *This,
  15561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15562.     PRPC_MESSAGE _pRpcMessage,
  15563.     DWORD *_pdwStubPhase);
  15564.  
  15565.  
  15566. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  15567.     IAMExtDevice * This,
  15568.     /* [out] */ long *pDevicePort);
  15569.  
  15570.  
  15571. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  15572.     IRpcStubBuffer *This,
  15573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15574.     PRPC_MESSAGE _pRpcMessage,
  15575.     DWORD *_pdwStubPhase);
  15576.  
  15577.  
  15578.  
  15579. #endif     /* __IAMExtDevice_INTERFACE_DEFINED__ */
  15580.  
  15581.  
  15582. /* interface __MIDL_itf_strmif_0330 */
  15583. /* [local] */ 
  15584.  
  15585. typedef IAMExtDevice *PEXTDEVICE;
  15586.  
  15587.  
  15588.  
  15589. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;
  15590. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;
  15591.  
  15592. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  15593. #define __IAMExtTransport_INTERFACE_DEFINED__
  15594.  
  15595. /* interface IAMExtTransport */
  15596. /* [unique][uuid][object] */ 
  15597.  
  15598.  
  15599. EXTERN_C const IID IID_IAMExtTransport;
  15600.  
  15601. #if defined(__cplusplus) && !defined(CINTERFACE)
  15602.     
  15603.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  15604.     IAMExtTransport : public IUnknown
  15605.     {
  15606.     public:
  15607.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15608.             /* [in] */ long Capability,
  15609.             /* [out] */ long *pValue,
  15610.             /* [out] */ double *pdblValue) = 0;
  15611.         
  15612.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  15613.             /* [in] */ long State) = 0;
  15614.         
  15615.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  15616.             /* [out] */ long *pState) = 0;
  15617.         
  15618.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  15619.             /* [in] */ long State) = 0;
  15620.         
  15621.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  15622.             /* [out] */ long *pState) = 0;
  15623.         
  15624.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  15625.             /* [in] */ long StatusItem,
  15626.             /* [out] */ long *pValue) = 0;
  15627.         
  15628.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  15629.             /* [in] */ long Param,
  15630.             /* [out] */ long *pValue,
  15631.             /* [out] */ LPOLESTR *ppszData) = 0;
  15632.         
  15633.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  15634.             /* [in] */ long Param,
  15635.             /* [in] */ long Value,
  15636.             /* [in] */ LPCOLESTR pszData) = 0;
  15637.         
  15638.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  15639.             /* [in] */ long Param,
  15640.             /* [out] */ long *pValue) = 0;
  15641.         
  15642.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  15643.             /* [in] */ long Param,
  15644.             /* [in] */ long Value) = 0;
  15645.         
  15646.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  15647.             /* [in] */ long Param,
  15648.             /* [out] */ long *pValue) = 0;
  15649.         
  15650.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  15651.             /* [in] */ long Param,
  15652.             /* [in] */ long Value) = 0;
  15653.         
  15654.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  15655.             /* [in] */ long Mode) = 0;
  15656.         
  15657.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  15658.             /* [out] */ long *pMode) = 0;
  15659.         
  15660.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  15661.             /* [in] */ double dblRate) = 0;
  15662.         
  15663.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  15664.             /* [out] */ double *pdblRate) = 0;
  15665.         
  15666.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  15667.             /* [out] */ long *pEnabled,
  15668.             /* [out] */ long *pOffset,
  15669.             /* [out] */ HEVENT *phEvent) = 0;
  15670.         
  15671.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  15672.             /* [in] */ long Enable,
  15673.             /* [in] */ long Offset,
  15674.             /* [in] */ HEVENT hEvent) = 0;
  15675.         
  15676.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  15677.             /* [out] */ long *pSpeed,
  15678.             /* [out] */ long *pDuration) = 0;
  15679.         
  15680.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  15681.             /* [in] */ long Speed,
  15682.             /* [in] */ long Duration) = 0;
  15683.         
  15684.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  15685.             /* [out] */ long *pEnabled) = 0;
  15686.         
  15687.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  15688.             /* [in] */ long Enable) = 0;
  15689.         
  15690.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  15691.             /* [in] */ long EditID,
  15692.             /* [out] */ long *pState) = 0;
  15693.         
  15694.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  15695.             /* [out][in] */ long *pEditID,
  15696.             /* [in] */ long State) = 0;
  15697.         
  15698.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  15699.             /* [in] */ long EditID,
  15700.             /* [in] */ long Param,
  15701.             /* [out] */ long *pValue) = 0;
  15702.         
  15703.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  15704.             /* [in] */ long EditID,
  15705.             /* [in] */ long Param,
  15706.             /* [in] */ long Value) = 0;
  15707.         
  15708.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  15709.             /* [out] */ long *pValue) = 0;
  15710.         
  15711.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  15712.             /* [in] */ long Value) = 0;
  15713.         
  15714.     };
  15715.     
  15716. #else     /* C style interface */
  15717.  
  15718.     typedef struct IAMExtTransportVtbl
  15719.     {
  15720.         BEGIN_INTERFACE
  15721.         
  15722.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15723.             IAMExtTransport * This,
  15724.             /* [in] */ REFIID riid,
  15725.             /* [iid_is][out] */ void **ppvObject);
  15726.         
  15727.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15728.             IAMExtTransport * This);
  15729.         
  15730.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15731.             IAMExtTransport * This);
  15732.         
  15733.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15734.             IAMExtTransport * This,
  15735.             /* [in] */ long Capability,
  15736.             /* [out] */ long *pValue,
  15737.             /* [out] */ double *pdblValue);
  15738.         
  15739.         HRESULT ( STDMETHODCALLTYPE *put_MediaState )( 
  15740.             IAMExtTransport * This,
  15741.             /* [in] */ long State);
  15742.         
  15743.         HRESULT ( STDMETHODCALLTYPE *get_MediaState )( 
  15744.             IAMExtTransport * This,
  15745.             /* [out] */ long *pState);
  15746.         
  15747.         HRESULT ( STDMETHODCALLTYPE *put_LocalControl )( 
  15748.             IAMExtTransport * This,
  15749.             /* [in] */ long State);
  15750.         
  15751.         HRESULT ( STDMETHODCALLTYPE *get_LocalControl )( 
  15752.             IAMExtTransport * This,
  15753.             /* [out] */ long *pState);
  15754.         
  15755.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  15756.             IAMExtTransport * This,
  15757.             /* [in] */ long StatusItem,
  15758.             /* [out] */ long *pValue);
  15759.         
  15760.         HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )( 
  15761.             IAMExtTransport * This,
  15762.             /* [in] */ long Param,
  15763.             /* [out] */ long *pValue,
  15764.             /* [out] */ LPOLESTR *ppszData);
  15765.         
  15766.         HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )( 
  15767.             IAMExtTransport * This,
  15768.             /* [in] */ long Param,
  15769.             /* [in] */ long Value,
  15770.             /* [in] */ LPCOLESTR pszData);
  15771.         
  15772.         HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )( 
  15773.             IAMExtTransport * This,
  15774.             /* [in] */ long Param,
  15775.             /* [out] */ long *pValue);
  15776.         
  15777.         HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )( 
  15778.             IAMExtTransport * This,
  15779.             /* [in] */ long Param,
  15780.             /* [in] */ long Value);
  15781.         
  15782.         HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )( 
  15783.             IAMExtTransport * This,
  15784.             /* [in] */ long Param,
  15785.             /* [out] */ long *pValue);
  15786.         
  15787.         HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )( 
  15788.             IAMExtTransport * This,
  15789.             /* [in] */ long Param,
  15790.             /* [in] */ long Value);
  15791.         
  15792.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  15793.             IAMExtTransport * This,
  15794.             /* [in] */ long Mode);
  15795.         
  15796.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  15797.             IAMExtTransport * This,
  15798.             /* [out] */ long *pMode);
  15799.         
  15800.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  15801.             IAMExtTransport * This,
  15802.             /* [in] */ double dblRate);
  15803.         
  15804.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  15805.             IAMExtTransport * This,
  15806.             /* [out] */ double *pdblRate);
  15807.         
  15808.         HRESULT ( STDMETHODCALLTYPE *GetChase )( 
  15809.             IAMExtTransport * This,
  15810.             /* [out] */ long *pEnabled,
  15811.             /* [out] */ long *pOffset,
  15812.             /* [out] */ HEVENT *phEvent);
  15813.         
  15814.         HRESULT ( STDMETHODCALLTYPE *SetChase )( 
  15815.             IAMExtTransport * This,
  15816.             /* [in] */ long Enable,
  15817.             /* [in] */ long Offset,
  15818.             /* [in] */ HEVENT hEvent);
  15819.         
  15820.         HRESULT ( STDMETHODCALLTYPE *GetBump )( 
  15821.             IAMExtTransport * This,
  15822.             /* [out] */ long *pSpeed,
  15823.             /* [out] */ long *pDuration);
  15824.         
  15825.         HRESULT ( STDMETHODCALLTYPE *SetBump )( 
  15826.             IAMExtTransport * This,
  15827.             /* [in] */ long Speed,
  15828.             /* [in] */ long Duration);
  15829.         
  15830.         HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )( 
  15831.             IAMExtTransport * This,
  15832.             /* [out] */ long *pEnabled);
  15833.         
  15834.         HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )( 
  15835.             IAMExtTransport * This,
  15836.             /* [in] */ long Enable);
  15837.         
  15838.         HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )( 
  15839.             IAMExtTransport * This,
  15840.             /* [in] */ long EditID,
  15841.             /* [out] */ long *pState);
  15842.         
  15843.         HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )( 
  15844.             IAMExtTransport * This,
  15845.             /* [out][in] */ long *pEditID,
  15846.             /* [in] */ long State);
  15847.         
  15848.         HRESULT ( STDMETHODCALLTYPE *GetEditProperty )( 
  15849.             IAMExtTransport * This,
  15850.             /* [in] */ long EditID,
  15851.             /* [in] */ long Param,
  15852.             /* [out] */ long *pValue);
  15853.         
  15854.         HRESULT ( STDMETHODCALLTYPE *SetEditProperty )( 
  15855.             IAMExtTransport * This,
  15856.             /* [in] */ long EditID,
  15857.             /* [in] */ long Param,
  15858.             /* [in] */ long Value);
  15859.         
  15860.         HRESULT ( STDMETHODCALLTYPE *get_EditStart )( 
  15861.             IAMExtTransport * This,
  15862.             /* [out] */ long *pValue);
  15863.         
  15864.         HRESULT ( STDMETHODCALLTYPE *put_EditStart )( 
  15865.             IAMExtTransport * This,
  15866.             /* [in] */ long Value);
  15867.         
  15868.         END_INTERFACE
  15869.     } IAMExtTransportVtbl;
  15870.  
  15871.     interface IAMExtTransport
  15872.     {
  15873.         CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  15874.     };
  15875.  
  15876.     
  15877.  
  15878. #ifdef COBJMACROS
  15879.  
  15880.  
  15881. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)    \
  15882.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15883.  
  15884. #define IAMExtTransport_AddRef(This)    \
  15885.     (This)->lpVtbl -> AddRef(This)
  15886.  
  15887. #define IAMExtTransport_Release(This)    \
  15888.     (This)->lpVtbl -> Release(This)
  15889.  
  15890.  
  15891. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)    \
  15892.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15893.  
  15894. #define IAMExtTransport_put_MediaState(This,State)    \
  15895.     (This)->lpVtbl -> put_MediaState(This,State)
  15896.  
  15897. #define IAMExtTransport_get_MediaState(This,pState)    \
  15898.     (This)->lpVtbl -> get_MediaState(This,pState)
  15899.  
  15900. #define IAMExtTransport_put_LocalControl(This,State)    \
  15901.     (This)->lpVtbl -> put_LocalControl(This,State)
  15902.  
  15903. #define IAMExtTransport_get_LocalControl(This,pState)    \
  15904.     (This)->lpVtbl -> get_LocalControl(This,pState)
  15905.  
  15906. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)    \
  15907.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  15908.  
  15909. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)    \
  15910.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  15911.  
  15912. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)    \
  15913.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  15914.  
  15915. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)    \
  15916.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  15917.  
  15918. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)    \
  15919.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  15920.  
  15921. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)    \
  15922.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  15923.  
  15924. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)    \
  15925.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  15926.  
  15927. #define IAMExtTransport_put_Mode(This,Mode)    \
  15928.     (This)->lpVtbl -> put_Mode(This,Mode)
  15929.  
  15930. #define IAMExtTransport_get_Mode(This,pMode)    \
  15931.     (This)->lpVtbl -> get_Mode(This,pMode)
  15932.  
  15933. #define IAMExtTransport_put_Rate(This,dblRate)    \
  15934.     (This)->lpVtbl -> put_Rate(This,dblRate)
  15935.  
  15936. #define IAMExtTransport_get_Rate(This,pdblRate)    \
  15937.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  15938.  
  15939. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)    \
  15940.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  15941.  
  15942. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)    \
  15943.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  15944.  
  15945. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)    \
  15946.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  15947.  
  15948. #define IAMExtTransport_SetBump(This,Speed,Duration)    \
  15949.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  15950.  
  15951. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)    \
  15952.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  15953.  
  15954. #define IAMExtTransport_put_AntiClogControl(This,Enable)    \
  15955.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  15956.  
  15957. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)    \
  15958.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  15959.  
  15960. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)    \
  15961.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  15962.  
  15963. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)    \
  15964.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  15965.  
  15966. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)    \
  15967.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  15968.  
  15969. #define IAMExtTransport_get_EditStart(This,pValue)    \
  15970.     (This)->lpVtbl -> get_EditStart(This,pValue)
  15971.  
  15972. #define IAMExtTransport_put_EditStart(This,Value)    \
  15973.     (This)->lpVtbl -> put_EditStart(This,Value)
  15974.  
  15975. #endif /* COBJMACROS */
  15976.  
  15977.  
  15978. #endif     /* C style interface */
  15979.  
  15980.  
  15981.  
  15982. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  15983.     IAMExtTransport * This,
  15984.     /* [in] */ long Capability,
  15985.     /* [out] */ long *pValue,
  15986.     /* [out] */ double *pdblValue);
  15987.  
  15988.  
  15989. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  15990.     IRpcStubBuffer *This,
  15991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15992.     PRPC_MESSAGE _pRpcMessage,
  15993.     DWORD *_pdwStubPhase);
  15994.  
  15995.  
  15996. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  15997.     IAMExtTransport * This,
  15998.     /* [in] */ long State);
  15999.  
  16000.  
  16001. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  16002.     IRpcStubBuffer *This,
  16003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16004.     PRPC_MESSAGE _pRpcMessage,
  16005.     DWORD *_pdwStubPhase);
  16006.  
  16007.  
  16008. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  16009.     IAMExtTransport * This,
  16010.     /* [out] */ long *pState);
  16011.  
  16012.  
  16013. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  16014.     IRpcStubBuffer *This,
  16015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16016.     PRPC_MESSAGE _pRpcMessage,
  16017.     DWORD *_pdwStubPhase);
  16018.  
  16019.  
  16020. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  16021.     IAMExtTransport * This,
  16022.     /* [in] */ long State);
  16023.  
  16024.  
  16025. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  16026.     IRpcStubBuffer *This,
  16027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16028.     PRPC_MESSAGE _pRpcMessage,
  16029.     DWORD *_pdwStubPhase);
  16030.  
  16031.  
  16032. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  16033.     IAMExtTransport * This,
  16034.     /* [out] */ long *pState);
  16035.  
  16036.  
  16037. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  16038.     IRpcStubBuffer *This,
  16039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16040.     PRPC_MESSAGE _pRpcMessage,
  16041.     DWORD *_pdwStubPhase);
  16042.  
  16043.  
  16044. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  16045.     IAMExtTransport * This,
  16046.     /* [in] */ long StatusItem,
  16047.     /* [out] */ long *pValue);
  16048.  
  16049.  
  16050. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  16051.     IRpcStubBuffer *This,
  16052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16053.     PRPC_MESSAGE _pRpcMessage,
  16054.     DWORD *_pdwStubPhase);
  16055.  
  16056.  
  16057. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  16058.     IAMExtTransport * This,
  16059.     /* [in] */ long Param,
  16060.     /* [out] */ long *pValue,
  16061.     /* [out] */ LPOLESTR *ppszData);
  16062.  
  16063.  
  16064. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  16065.     IRpcStubBuffer *This,
  16066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16067.     PRPC_MESSAGE _pRpcMessage,
  16068.     DWORD *_pdwStubPhase);
  16069.  
  16070.  
  16071. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  16072.     IAMExtTransport * This,
  16073.     /* [in] */ long Param,
  16074.     /* [in] */ long Value,
  16075.     /* [in] */ LPCOLESTR pszData);
  16076.  
  16077.  
  16078. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  16079.     IRpcStubBuffer *This,
  16080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16081.     PRPC_MESSAGE _pRpcMessage,
  16082.     DWORD *_pdwStubPhase);
  16083.  
  16084.  
  16085. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  16086.     IAMExtTransport * This,
  16087.     /* [in] */ long Param,
  16088.     /* [out] */ long *pValue);
  16089.  
  16090.  
  16091. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  16092.     IRpcStubBuffer *This,
  16093.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16094.     PRPC_MESSAGE _pRpcMessage,
  16095.     DWORD *_pdwStubPhase);
  16096.  
  16097.  
  16098. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  16099.     IAMExtTransport * This,
  16100.     /* [in] */ long Param,
  16101.     /* [in] */ long Value);
  16102.  
  16103.  
  16104. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  16105.     IRpcStubBuffer *This,
  16106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16107.     PRPC_MESSAGE _pRpcMessage,
  16108.     DWORD *_pdwStubPhase);
  16109.  
  16110.  
  16111. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  16112.     IAMExtTransport * This,
  16113.     /* [in] */ long Param,
  16114.     /* [out] */ long *pValue);
  16115.  
  16116.  
  16117. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  16118.     IRpcStubBuffer *This,
  16119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16120.     PRPC_MESSAGE _pRpcMessage,
  16121.     DWORD *_pdwStubPhase);
  16122.  
  16123.  
  16124. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  16125.     IAMExtTransport * This,
  16126.     /* [in] */ long Param,
  16127.     /* [in] */ long Value);
  16128.  
  16129.  
  16130. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  16131.     IRpcStubBuffer *This,
  16132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16133.     PRPC_MESSAGE _pRpcMessage,
  16134.     DWORD *_pdwStubPhase);
  16135.  
  16136.  
  16137. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  16138.     IAMExtTransport * This,
  16139.     /* [in] */ long Mode);
  16140.  
  16141.  
  16142. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  16143.     IRpcStubBuffer *This,
  16144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16145.     PRPC_MESSAGE _pRpcMessage,
  16146.     DWORD *_pdwStubPhase);
  16147.  
  16148.  
  16149. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  16150.     IAMExtTransport * This,
  16151.     /* [out] */ long *pMode);
  16152.  
  16153.  
  16154. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  16155.     IRpcStubBuffer *This,
  16156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16157.     PRPC_MESSAGE _pRpcMessage,
  16158.     DWORD *_pdwStubPhase);
  16159.  
  16160.  
  16161. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  16162.     IAMExtTransport * This,
  16163.     /* [in] */ double dblRate);
  16164.  
  16165.  
  16166. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  16167.     IRpcStubBuffer *This,
  16168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16169.     PRPC_MESSAGE _pRpcMessage,
  16170.     DWORD *_pdwStubPhase);
  16171.  
  16172.  
  16173. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  16174.     IAMExtTransport * This,
  16175.     /* [out] */ double *pdblRate);
  16176.  
  16177.  
  16178. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  16179.     IRpcStubBuffer *This,
  16180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16181.     PRPC_MESSAGE _pRpcMessage,
  16182.     DWORD *_pdwStubPhase);
  16183.  
  16184.  
  16185. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  16186.     IAMExtTransport * This,
  16187.     /* [out] */ long *pEnabled,
  16188.     /* [out] */ long *pOffset,
  16189.     /* [out] */ HEVENT *phEvent);
  16190.  
  16191.  
  16192. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  16193.     IRpcStubBuffer *This,
  16194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16195.     PRPC_MESSAGE _pRpcMessage,
  16196.     DWORD *_pdwStubPhase);
  16197.  
  16198.  
  16199. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  16200.     IAMExtTransport * This,
  16201.     /* [in] */ long Enable,
  16202.     /* [in] */ long Offset,
  16203.     /* [in] */ HEVENT hEvent);
  16204.  
  16205.  
  16206. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  16207.     IRpcStubBuffer *This,
  16208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16209.     PRPC_MESSAGE _pRpcMessage,
  16210.     DWORD *_pdwStubPhase);
  16211.  
  16212.  
  16213. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  16214.     IAMExtTransport * This,
  16215.     /* [out] */ long *pSpeed,
  16216.     /* [out] */ long *pDuration);
  16217.  
  16218.  
  16219. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  16220.     IRpcStubBuffer *This,
  16221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16222.     PRPC_MESSAGE _pRpcMessage,
  16223.     DWORD *_pdwStubPhase);
  16224.  
  16225.  
  16226. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  16227.     IAMExtTransport * This,
  16228.     /* [in] */ long Speed,
  16229.     /* [in] */ long Duration);
  16230.  
  16231.  
  16232. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  16233.     IRpcStubBuffer *This,
  16234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16235.     PRPC_MESSAGE _pRpcMessage,
  16236.     DWORD *_pdwStubPhase);
  16237.  
  16238.  
  16239. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  16240.     IAMExtTransport * This,
  16241.     /* [out] */ long *pEnabled);
  16242.  
  16243.  
  16244. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  16245.     IRpcStubBuffer *This,
  16246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16247.     PRPC_MESSAGE _pRpcMessage,
  16248.     DWORD *_pdwStubPhase);
  16249.  
  16250.  
  16251. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  16252.     IAMExtTransport * This,
  16253.     /* [in] */ long Enable);
  16254.  
  16255.  
  16256. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  16257.     IRpcStubBuffer *This,
  16258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16259.     PRPC_MESSAGE _pRpcMessage,
  16260.     DWORD *_pdwStubPhase);
  16261.  
  16262.  
  16263. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  16264.     IAMExtTransport * This,
  16265.     /* [in] */ long EditID,
  16266.     /* [out] */ long *pState);
  16267.  
  16268.  
  16269. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  16270.     IRpcStubBuffer *This,
  16271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16272.     PRPC_MESSAGE _pRpcMessage,
  16273.     DWORD *_pdwStubPhase);
  16274.  
  16275.  
  16276. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  16277.     IAMExtTransport * This,
  16278.     /* [out][in] */ long *pEditID,
  16279.     /* [in] */ long State);
  16280.  
  16281.  
  16282. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  16283.     IRpcStubBuffer *This,
  16284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16285.     PRPC_MESSAGE _pRpcMessage,
  16286.     DWORD *_pdwStubPhase);
  16287.  
  16288.  
  16289. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  16290.     IAMExtTransport * This,
  16291.     /* [in] */ long EditID,
  16292.     /* [in] */ long Param,
  16293.     /* [out] */ long *pValue);
  16294.  
  16295.  
  16296. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  16297.     IRpcStubBuffer *This,
  16298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16299.     PRPC_MESSAGE _pRpcMessage,
  16300.     DWORD *_pdwStubPhase);
  16301.  
  16302.  
  16303. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  16304.     IAMExtTransport * This,
  16305.     /* [in] */ long EditID,
  16306.     /* [in] */ long Param,
  16307.     /* [in] */ long Value);
  16308.  
  16309.  
  16310. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  16311.     IRpcStubBuffer *This,
  16312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16313.     PRPC_MESSAGE _pRpcMessage,
  16314.     DWORD *_pdwStubPhase);
  16315.  
  16316.  
  16317. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  16318.     IAMExtTransport * This,
  16319.     /* [out] */ long *pValue);
  16320.  
  16321.  
  16322. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  16323.     IRpcStubBuffer *This,
  16324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16325.     PRPC_MESSAGE _pRpcMessage,
  16326.     DWORD *_pdwStubPhase);
  16327.  
  16328.  
  16329. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  16330.     IAMExtTransport * This,
  16331.     /* [in] */ long Value);
  16332.  
  16333.  
  16334. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  16335.     IRpcStubBuffer *This,
  16336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16337.     PRPC_MESSAGE _pRpcMessage,
  16338.     DWORD *_pdwStubPhase);
  16339.  
  16340.  
  16341.  
  16342. #endif     /* __IAMExtTransport_INTERFACE_DEFINED__ */
  16343.  
  16344.  
  16345. /* interface __MIDL_itf_strmif_0331 */
  16346. /* [local] */ 
  16347.  
  16348. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  16349.  
  16350. #if 0
  16351. /* the following is what MIDL knows how to remote */
  16352. typedef struct tagTIMECODE
  16353.     {
  16354.     WORD wFrameRate;
  16355.     WORD wFrameFract;
  16356.     DWORD dwFrames;
  16357.     }     TIMECODE;
  16358.  
  16359. #else /* 0 */
  16360. #ifndef TIMECODE_DEFINED
  16361. #define TIMECODE_DEFINED
  16362. typedef union _timecode {
  16363.    struct {
  16364.      WORD   wFrameRate;
  16365.      WORD   wFrameFract;
  16366.      DWORD  dwFrames;
  16367.      };
  16368.    DWORDLONG  qw;
  16369.    } TIMECODE;
  16370.  
  16371. #endif /* TIMECODE_DEFINED */
  16372. #endif /* 0 */
  16373. typedef TIMECODE *PTIMECODE;
  16374.  
  16375. typedef struct tagTIMECODE_SAMPLE
  16376.     {
  16377.     LONGLONG qwTick;
  16378.     TIMECODE timecode;
  16379.     DWORD dwUser;
  16380.     DWORD dwFlags;
  16381.     }     TIMECODE_SAMPLE;
  16382.  
  16383. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  16384.  
  16385.  
  16386.  
  16387. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  16388. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  16389.  
  16390. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  16391. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  16392.  
  16393. /* interface IAMTimecodeReader */
  16394. /* [unique][uuid][object] */ 
  16395.  
  16396.  
  16397. EXTERN_C const IID IID_IAMTimecodeReader;
  16398.  
  16399. #if defined(__cplusplus) && !defined(CINTERFACE)
  16400.     
  16401.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  16402.     IAMTimecodeReader : public IUnknown
  16403.     {
  16404.     public:
  16405.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  16406.             /* [in] */ long Param,
  16407.             /* [out] */ long *pValue) = 0;
  16408.         
  16409.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  16410.             /* [in] */ long Param,
  16411.             /* [in] */ long Value) = 0;
  16412.         
  16413.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16414.             /* [in] */ long Line) = 0;
  16415.         
  16416.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16417.             /* [out] */ long *pLine) = 0;
  16418.         
  16419.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16420.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16421.         
  16422.     };
  16423.     
  16424. #else     /* C style interface */
  16425.  
  16426.     typedef struct IAMTimecodeReaderVtbl
  16427.     {
  16428.         BEGIN_INTERFACE
  16429.         
  16430.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16431.             IAMTimecodeReader * This,
  16432.             /* [in] */ REFIID riid,
  16433.             /* [iid_is][out] */ void **ppvObject);
  16434.         
  16435.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16436.             IAMTimecodeReader * This);
  16437.         
  16438.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16439.             IAMTimecodeReader * This);
  16440.         
  16441.         HRESULT ( STDMETHODCALLTYPE *GetTCRMode )( 
  16442.             IAMTimecodeReader * This,
  16443.             /* [in] */ long Param,
  16444.             /* [out] */ long *pValue);
  16445.         
  16446.         HRESULT ( STDMETHODCALLTYPE *SetTCRMode )( 
  16447.             IAMTimecodeReader * This,
  16448.             /* [in] */ long Param,
  16449.             /* [in] */ long Value);
  16450.         
  16451.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16452.             IAMTimecodeReader * This,
  16453.             /* [in] */ long Line);
  16454.         
  16455.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16456.             IAMTimecodeReader * This,
  16457.             /* [out] */ long *pLine);
  16458.         
  16459.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16460.             IAMTimecodeReader * This,
  16461.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16462.         
  16463.         END_INTERFACE
  16464.     } IAMTimecodeReaderVtbl;
  16465.  
  16466.     interface IAMTimecodeReader
  16467.     {
  16468.         CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  16469.     };
  16470.  
  16471.     
  16472.  
  16473. #ifdef COBJMACROS
  16474.  
  16475.  
  16476. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)    \
  16477.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16478.  
  16479. #define IAMTimecodeReader_AddRef(This)    \
  16480.     (This)->lpVtbl -> AddRef(This)
  16481.  
  16482. #define IAMTimecodeReader_Release(This)    \
  16483.     (This)->lpVtbl -> Release(This)
  16484.  
  16485.  
  16486. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)    \
  16487.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  16488.  
  16489. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)    \
  16490.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  16491.  
  16492. #define IAMTimecodeReader_put_VITCLine(This,Line)    \
  16493.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16494.  
  16495. #define IAMTimecodeReader_get_VITCLine(This,pLine)    \
  16496.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16497.  
  16498. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)    \
  16499.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16500.  
  16501. #endif /* COBJMACROS */
  16502.  
  16503.  
  16504. #endif     /* C style interface */
  16505.  
  16506.  
  16507.  
  16508. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  16509.     IAMTimecodeReader * This,
  16510.     /* [in] */ long Param,
  16511.     /* [out] */ long *pValue);
  16512.  
  16513.  
  16514. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  16515.     IRpcStubBuffer *This,
  16516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16517.     PRPC_MESSAGE _pRpcMessage,
  16518.     DWORD *_pdwStubPhase);
  16519.  
  16520.  
  16521. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  16522.     IAMTimecodeReader * This,
  16523.     /* [in] */ long Param,
  16524.     /* [in] */ long Value);
  16525.  
  16526.  
  16527. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  16528.     IRpcStubBuffer *This,
  16529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16530.     PRPC_MESSAGE _pRpcMessage,
  16531.     DWORD *_pdwStubPhase);
  16532.  
  16533.  
  16534. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  16535.     IAMTimecodeReader * This,
  16536.     /* [in] */ long Line);
  16537.  
  16538.  
  16539. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  16540.     IRpcStubBuffer *This,
  16541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16542.     PRPC_MESSAGE _pRpcMessage,
  16543.     DWORD *_pdwStubPhase);
  16544.  
  16545.  
  16546. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  16547.     IAMTimecodeReader * This,
  16548.     /* [out] */ long *pLine);
  16549.  
  16550.  
  16551. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  16552.     IRpcStubBuffer *This,
  16553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16554.     PRPC_MESSAGE _pRpcMessage,
  16555.     DWORD *_pdwStubPhase);
  16556.  
  16557.  
  16558. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  16559.     IAMTimecodeReader * This,
  16560.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16561.  
  16562.  
  16563. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  16564.     IRpcStubBuffer *This,
  16565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16566.     PRPC_MESSAGE _pRpcMessage,
  16567.     DWORD *_pdwStubPhase);
  16568.  
  16569.  
  16570.  
  16571. #endif     /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  16572.  
  16573.  
  16574. /* interface __MIDL_itf_strmif_0332 */
  16575. /* [local] */ 
  16576.  
  16577. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  16578.  
  16579.  
  16580.  
  16581. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  16582. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  16583.  
  16584. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16585. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16586.  
  16587. /* interface IAMTimecodeGenerator */
  16588. /* [unique][uuid][object] */ 
  16589.  
  16590.  
  16591. EXTERN_C const IID IID_IAMTimecodeGenerator;
  16592.  
  16593. #if defined(__cplusplus) && !defined(CINTERFACE)
  16594.     
  16595.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  16596.     IAMTimecodeGenerator : public IUnknown
  16597.     {
  16598.     public:
  16599.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  16600.             /* [in] */ long Param,
  16601.             /* [out] */ long *pValue) = 0;
  16602.         
  16603.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  16604.             /* [in] */ long Param,
  16605.             /* [in] */ long Value) = 0;
  16606.         
  16607.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16608.             /* [in] */ long Line) = 0;
  16609.         
  16610.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16611.             /* [out] */ long *pLine) = 0;
  16612.         
  16613.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  16614.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16615.         
  16616.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16617.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16618.         
  16619.     };
  16620.     
  16621. #else     /* C style interface */
  16622.  
  16623.     typedef struct IAMTimecodeGeneratorVtbl
  16624.     {
  16625.         BEGIN_INTERFACE
  16626.         
  16627.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16628.             IAMTimecodeGenerator * This,
  16629.             /* [in] */ REFIID riid,
  16630.             /* [iid_is][out] */ void **ppvObject);
  16631.         
  16632.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16633.             IAMTimecodeGenerator * This);
  16634.         
  16635.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16636.             IAMTimecodeGenerator * This);
  16637.         
  16638.         HRESULT ( STDMETHODCALLTYPE *GetTCGMode )( 
  16639.             IAMTimecodeGenerator * This,
  16640.             /* [in] */ long Param,
  16641.             /* [out] */ long *pValue);
  16642.         
  16643.         HRESULT ( STDMETHODCALLTYPE *SetTCGMode )( 
  16644.             IAMTimecodeGenerator * This,
  16645.             /* [in] */ long Param,
  16646.             /* [in] */ long Value);
  16647.         
  16648.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16649.             IAMTimecodeGenerator * This,
  16650.             /* [in] */ long Line);
  16651.         
  16652.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16653.             IAMTimecodeGenerator * This,
  16654.             /* [out] */ long *pLine);
  16655.         
  16656.         HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 
  16657.             IAMTimecodeGenerator * This,
  16658.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16659.         
  16660.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16661.             IAMTimecodeGenerator * This,
  16662.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16663.         
  16664.         END_INTERFACE
  16665.     } IAMTimecodeGeneratorVtbl;
  16666.  
  16667.     interface IAMTimecodeGenerator
  16668.     {
  16669.         CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  16670.     };
  16671.  
  16672.     
  16673.  
  16674. #ifdef COBJMACROS
  16675.  
  16676.  
  16677. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)    \
  16678.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16679.  
  16680. #define IAMTimecodeGenerator_AddRef(This)    \
  16681.     (This)->lpVtbl -> AddRef(This)
  16682.  
  16683. #define IAMTimecodeGenerator_Release(This)    \
  16684.     (This)->lpVtbl -> Release(This)
  16685.  
  16686.  
  16687. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)    \
  16688.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  16689.  
  16690. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)    \
  16691.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  16692.  
  16693. #define IAMTimecodeGenerator_put_VITCLine(This,Line)    \
  16694.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16695.  
  16696. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)    \
  16697.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16698.  
  16699. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)    \
  16700.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  16701.  
  16702. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)    \
  16703.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16704.  
  16705. #endif /* COBJMACROS */
  16706.  
  16707.  
  16708. #endif     /* C style interface */
  16709.  
  16710.  
  16711.  
  16712. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  16713.     IAMTimecodeGenerator * This,
  16714.     /* [in] */ long Param,
  16715.     /* [out] */ long *pValue);
  16716.  
  16717.  
  16718. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  16719.     IRpcStubBuffer *This,
  16720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16721.     PRPC_MESSAGE _pRpcMessage,
  16722.     DWORD *_pdwStubPhase);
  16723.  
  16724.  
  16725. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  16726.     IAMTimecodeGenerator * This,
  16727.     /* [in] */ long Param,
  16728.     /* [in] */ long Value);
  16729.  
  16730.  
  16731. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  16732.     IRpcStubBuffer *This,
  16733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16734.     PRPC_MESSAGE _pRpcMessage,
  16735.     DWORD *_pdwStubPhase);
  16736.  
  16737.  
  16738. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  16739.     IAMTimecodeGenerator * This,
  16740.     /* [in] */ long Line);
  16741.  
  16742.  
  16743. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  16744.     IRpcStubBuffer *This,
  16745.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16746.     PRPC_MESSAGE _pRpcMessage,
  16747.     DWORD *_pdwStubPhase);
  16748.  
  16749.  
  16750. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  16751.     IAMTimecodeGenerator * This,
  16752.     /* [out] */ long *pLine);
  16753.  
  16754.  
  16755. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  16756.     IRpcStubBuffer *This,
  16757.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16758.     PRPC_MESSAGE _pRpcMessage,
  16759.     DWORD *_pdwStubPhase);
  16760.  
  16761.  
  16762. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  16763.     IAMTimecodeGenerator * This,
  16764.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16765.  
  16766.  
  16767. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  16768.     IRpcStubBuffer *This,
  16769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16770.     PRPC_MESSAGE _pRpcMessage,
  16771.     DWORD *_pdwStubPhase);
  16772.  
  16773.  
  16774. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  16775.     IAMTimecodeGenerator * This,
  16776.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16777.  
  16778.  
  16779. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  16780.     IRpcStubBuffer *This,
  16781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16782.     PRPC_MESSAGE _pRpcMessage,
  16783.     DWORD *_pdwStubPhase);
  16784.  
  16785.  
  16786.  
  16787. #endif     /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  16788.  
  16789.  
  16790. /* interface __MIDL_itf_strmif_0333 */
  16791. /* [local] */ 
  16792.  
  16793. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  16794.  
  16795.  
  16796.  
  16797. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
  16798. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
  16799.  
  16800. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16801. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16802.  
  16803. /* interface IAMTimecodeDisplay */
  16804. /* [unique][uuid][object] */ 
  16805.  
  16806.  
  16807. EXTERN_C const IID IID_IAMTimecodeDisplay;
  16808.  
  16809. #if defined(__cplusplus) && !defined(CINTERFACE)
  16810.     
  16811.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  16812.     IAMTimecodeDisplay : public IUnknown
  16813.     {
  16814.     public:
  16815.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  16816.             /* [out] */ long *pState) = 0;
  16817.         
  16818.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  16819.             /* [in] */ long State) = 0;
  16820.         
  16821.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  16822.             /* [in] */ long Param,
  16823.             /* [out] */ long *pValue) = 0;
  16824.         
  16825.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  16826.             /* [in] */ long Param,
  16827.             /* [in] */ long Value) = 0;
  16828.         
  16829.     };
  16830.     
  16831. #else     /* C style interface */
  16832.  
  16833.     typedef struct IAMTimecodeDisplayVtbl
  16834.     {
  16835.         BEGIN_INTERFACE
  16836.         
  16837.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16838.             IAMTimecodeDisplay * This,
  16839.             /* [in] */ REFIID riid,
  16840.             /* [iid_is][out] */ void **ppvObject);
  16841.         
  16842.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16843.             IAMTimecodeDisplay * This);
  16844.         
  16845.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16846.             IAMTimecodeDisplay * This);
  16847.         
  16848.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )( 
  16849.             IAMTimecodeDisplay * This,
  16850.             /* [out] */ long *pState);
  16851.         
  16852.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )( 
  16853.             IAMTimecodeDisplay * This,
  16854.             /* [in] */ long State);
  16855.         
  16856.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )( 
  16857.             IAMTimecodeDisplay * This,
  16858.             /* [in] */ long Param,
  16859.             /* [out] */ long *pValue);
  16860.         
  16861.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )( 
  16862.             IAMTimecodeDisplay * This,
  16863.             /* [in] */ long Param,
  16864.             /* [in] */ long Value);
  16865.         
  16866.         END_INTERFACE
  16867.     } IAMTimecodeDisplayVtbl;
  16868.  
  16869.     interface IAMTimecodeDisplay
  16870.     {
  16871.         CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  16872.     };
  16873.  
  16874.     
  16875.  
  16876. #ifdef COBJMACROS
  16877.  
  16878.  
  16879. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)    \
  16880.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16881.  
  16882. #define IAMTimecodeDisplay_AddRef(This)    \
  16883.     (This)->lpVtbl -> AddRef(This)
  16884.  
  16885. #define IAMTimecodeDisplay_Release(This)    \
  16886.     (This)->lpVtbl -> Release(This)
  16887.  
  16888.  
  16889. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)    \
  16890.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  16891.  
  16892. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)    \
  16893.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  16894.  
  16895. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)    \
  16896.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  16897.  
  16898. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)    \
  16899.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  16900.  
  16901. #endif /* COBJMACROS */
  16902.  
  16903.  
  16904. #endif     /* C style interface */
  16905.  
  16906.  
  16907.  
  16908. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  16909.     IAMTimecodeDisplay * This,
  16910.     /* [out] */ long *pState);
  16911.  
  16912.  
  16913. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  16914.     IRpcStubBuffer *This,
  16915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16916.     PRPC_MESSAGE _pRpcMessage,
  16917.     DWORD *_pdwStubPhase);
  16918.  
  16919.  
  16920. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  16921.     IAMTimecodeDisplay * This,
  16922.     /* [in] */ long State);
  16923.  
  16924.  
  16925. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  16926.     IRpcStubBuffer *This,
  16927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16928.     PRPC_MESSAGE _pRpcMessage,
  16929.     DWORD *_pdwStubPhase);
  16930.  
  16931.  
  16932. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  16933.     IAMTimecodeDisplay * This,
  16934.     /* [in] */ long Param,
  16935.     /* [out] */ long *pValue);
  16936.  
  16937.  
  16938. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  16939.     IRpcStubBuffer *This,
  16940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16941.     PRPC_MESSAGE _pRpcMessage,
  16942.     DWORD *_pdwStubPhase);
  16943.  
  16944.  
  16945. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  16946.     IAMTimecodeDisplay * This,
  16947.     /* [in] */ long Param,
  16948.     /* [in] */ long Value);
  16949.  
  16950.  
  16951. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  16952.     IRpcStubBuffer *This,
  16953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16954.     PRPC_MESSAGE _pRpcMessage,
  16955.     DWORD *_pdwStubPhase);
  16956.  
  16957.  
  16958.  
  16959. #endif     /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  16960.  
  16961.  
  16962. /* interface __MIDL_itf_strmif_0334 */
  16963. /* [local] */ 
  16964.  
  16965. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  16966.  
  16967.  
  16968.  
  16969. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  16970. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  16971.  
  16972. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16973. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16974.  
  16975. /* interface IAMDevMemoryAllocator */
  16976. /* [unique][uuid][object] */ 
  16977.  
  16978.  
  16979. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  16980.  
  16981. #if defined(__cplusplus) && !defined(CINTERFACE)
  16982.     
  16983.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  16984.     IAMDevMemoryAllocator : public IUnknown
  16985.     {
  16986.     public:
  16987.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  16988.             /* [out] */ DWORD *pdwcbTotalFree,
  16989.             /* [out] */ DWORD *pdwcbLargestFree,
  16990.             /* [out] */ DWORD *pdwcbTotalMemory,
  16991.             /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  16992.         
  16993.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  16994.             /* [in] */ const BYTE *pBuffer) = 0;
  16995.         
  16996.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  16997.             /* [out] */ BYTE **ppBuffer,
  16998.             /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  16999.         
  17000.         virtual HRESULT STDMETHODCALLTYPE Free( 
  17001.             /* [in] */ BYTE *pBuffer) = 0;
  17002.         
  17003.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  17004.             /* [out] */ IUnknown **ppUnkInnner,
  17005.             /* [in] */ IUnknown *pUnkOuter) = 0;
  17006.         
  17007.     };
  17008.     
  17009. #else     /* C style interface */
  17010.  
  17011.     typedef struct IAMDevMemoryAllocatorVtbl
  17012.     {
  17013.         BEGIN_INTERFACE
  17014.         
  17015.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17016.             IAMDevMemoryAllocator * This,
  17017.             /* [in] */ REFIID riid,
  17018.             /* [iid_is][out] */ void **ppvObject);
  17019.         
  17020.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17021.             IAMDevMemoryAllocator * This);
  17022.         
  17023.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17024.             IAMDevMemoryAllocator * This);
  17025.         
  17026.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  17027.             IAMDevMemoryAllocator * This,
  17028.             /* [out] */ DWORD *pdwcbTotalFree,
  17029.             /* [out] */ DWORD *pdwcbLargestFree,
  17030.             /* [out] */ DWORD *pdwcbTotalMemory,
  17031.             /* [out] */ DWORD *pdwcbMinimumChunk);
  17032.         
  17033.         HRESULT ( STDMETHODCALLTYPE *CheckMemory )( 
  17034.             IAMDevMemoryAllocator * This,
  17035.             /* [in] */ const BYTE *pBuffer);
  17036.         
  17037.         HRESULT ( STDMETHODCALLTYPE *Alloc )( 
  17038.             IAMDevMemoryAllocator * This,
  17039.             /* [out] */ BYTE **ppBuffer,
  17040.             /* [out][in] */ DWORD *pdwcbBuffer);
  17041.         
  17042.         HRESULT ( STDMETHODCALLTYPE *Free )( 
  17043.             IAMDevMemoryAllocator * This,
  17044.             /* [in] */ BYTE *pBuffer);
  17045.         
  17046.         HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )( 
  17047.             IAMDevMemoryAllocator * This,
  17048.             /* [out] */ IUnknown **ppUnkInnner,
  17049.             /* [in] */ IUnknown *pUnkOuter);
  17050.         
  17051.         END_INTERFACE
  17052.     } IAMDevMemoryAllocatorVtbl;
  17053.  
  17054.     interface IAMDevMemoryAllocator
  17055.     {
  17056.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  17057.     };
  17058.  
  17059.     
  17060.  
  17061. #ifdef COBJMACROS
  17062.  
  17063.  
  17064. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)    \
  17065.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17066.  
  17067. #define IAMDevMemoryAllocator_AddRef(This)    \
  17068.     (This)->lpVtbl -> AddRef(This)
  17069.  
  17070. #define IAMDevMemoryAllocator_Release(This)    \
  17071.     (This)->lpVtbl -> Release(This)
  17072.  
  17073.  
  17074. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)    \
  17075.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  17076.  
  17077. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)    \
  17078.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  17079.  
  17080. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)    \
  17081.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  17082.  
  17083. #define IAMDevMemoryAllocator_Free(This,pBuffer)    \
  17084.     (This)->lpVtbl -> Free(This,pBuffer)
  17085.  
  17086. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)    \
  17087.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  17088.  
  17089. #endif /* COBJMACROS */
  17090.  
  17091.  
  17092. #endif     /* C style interface */
  17093.  
  17094.  
  17095.  
  17096. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  17097.     IAMDevMemoryAllocator * This,
  17098.     /* [out] */ DWORD *pdwcbTotalFree,
  17099.     /* [out] */ DWORD *pdwcbLargestFree,
  17100.     /* [out] */ DWORD *pdwcbTotalMemory,
  17101.     /* [out] */ DWORD *pdwcbMinimumChunk);
  17102.  
  17103.  
  17104. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  17105.     IRpcStubBuffer *This,
  17106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17107.     PRPC_MESSAGE _pRpcMessage,
  17108.     DWORD *_pdwStubPhase);
  17109.  
  17110.  
  17111. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  17112.     IAMDevMemoryAllocator * This,
  17113.     /* [in] */ const BYTE *pBuffer);
  17114.  
  17115.  
  17116. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  17117.     IRpcStubBuffer *This,
  17118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17119.     PRPC_MESSAGE _pRpcMessage,
  17120.     DWORD *_pdwStubPhase);
  17121.  
  17122.  
  17123. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  17124.     IAMDevMemoryAllocator * This,
  17125.     /* [out] */ BYTE **ppBuffer,
  17126.     /* [out][in] */ DWORD *pdwcbBuffer);
  17127.  
  17128.  
  17129. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  17130.     IRpcStubBuffer *This,
  17131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17132.     PRPC_MESSAGE _pRpcMessage,
  17133.     DWORD *_pdwStubPhase);
  17134.  
  17135.  
  17136. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  17137.     IAMDevMemoryAllocator * This,
  17138.     /* [in] */ BYTE *pBuffer);
  17139.  
  17140.  
  17141. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  17142.     IRpcStubBuffer *This,
  17143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17144.     PRPC_MESSAGE _pRpcMessage,
  17145.     DWORD *_pdwStubPhase);
  17146.  
  17147.  
  17148. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  17149.     IAMDevMemoryAllocator * This,
  17150.     /* [out] */ IUnknown **ppUnkInnner,
  17151.     /* [in] */ IUnknown *pUnkOuter);
  17152.  
  17153.  
  17154. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  17155.     IRpcStubBuffer *This,
  17156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17157.     PRPC_MESSAGE _pRpcMessage,
  17158.     DWORD *_pdwStubPhase);
  17159.  
  17160.  
  17161.  
  17162. #endif     /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  17163.  
  17164.  
  17165. /* interface __MIDL_itf_strmif_0335 */
  17166. /* [local] */ 
  17167.  
  17168. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  17169.  
  17170.  
  17171.  
  17172. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  17173. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  17174.  
  17175. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  17176. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  17177.  
  17178. /* interface IAMDevMemoryControl */
  17179. /* [unique][uuid][object] */ 
  17180.  
  17181.  
  17182. EXTERN_C const IID IID_IAMDevMemoryControl;
  17183.  
  17184. #if defined(__cplusplus) && !defined(CINTERFACE)
  17185.     
  17186.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  17187.     IAMDevMemoryControl : public IUnknown
  17188.     {
  17189.     public:
  17190.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  17191.         
  17192.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  17193.         
  17194.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  17195.             /* [out] */ DWORD *pdwDevId) = 0;
  17196.         
  17197.     };
  17198.     
  17199. #else     /* C style interface */
  17200.  
  17201.     typedef struct IAMDevMemoryControlVtbl
  17202.     {
  17203.         BEGIN_INTERFACE
  17204.         
  17205.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17206.             IAMDevMemoryControl * This,
  17207.             /* [in] */ REFIID riid,
  17208.             /* [iid_is][out] */ void **ppvObject);
  17209.         
  17210.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17211.             IAMDevMemoryControl * This);
  17212.         
  17213.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17214.             IAMDevMemoryControl * This);
  17215.         
  17216.         HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )( 
  17217.             IAMDevMemoryControl * This);
  17218.         
  17219.         HRESULT ( STDMETHODCALLTYPE *WriteSync )( 
  17220.             IAMDevMemoryControl * This);
  17221.         
  17222.         HRESULT ( STDMETHODCALLTYPE *GetDevId )( 
  17223.             IAMDevMemoryControl * This,
  17224.             /* [out] */ DWORD *pdwDevId);
  17225.         
  17226.         END_INTERFACE
  17227.     } IAMDevMemoryControlVtbl;
  17228.  
  17229.     interface IAMDevMemoryControl
  17230.     {
  17231.         CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  17232.     };
  17233.  
  17234.     
  17235.  
  17236. #ifdef COBJMACROS
  17237.  
  17238.  
  17239. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)    \
  17240.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17241.  
  17242. #define IAMDevMemoryControl_AddRef(This)    \
  17243.     (This)->lpVtbl -> AddRef(This)
  17244.  
  17245. #define IAMDevMemoryControl_Release(This)    \
  17246.     (This)->lpVtbl -> Release(This)
  17247.  
  17248.  
  17249. #define IAMDevMemoryControl_QueryWriteSync(This)    \
  17250.     (This)->lpVtbl -> QueryWriteSync(This)
  17251.  
  17252. #define IAMDevMemoryControl_WriteSync(This)    \
  17253.     (This)->lpVtbl -> WriteSync(This)
  17254.  
  17255. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)    \
  17256.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  17257.  
  17258. #endif /* COBJMACROS */
  17259.  
  17260.  
  17261. #endif     /* C style interface */
  17262.  
  17263.  
  17264.  
  17265. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  17266.     IAMDevMemoryControl * This);
  17267.  
  17268.  
  17269. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  17270.     IRpcStubBuffer *This,
  17271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17272.     PRPC_MESSAGE _pRpcMessage,
  17273.     DWORD *_pdwStubPhase);
  17274.  
  17275.  
  17276. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  17277.     IAMDevMemoryControl * This);
  17278.  
  17279.  
  17280. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  17281.     IRpcStubBuffer *This,
  17282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17283.     PRPC_MESSAGE _pRpcMessage,
  17284.     DWORD *_pdwStubPhase);
  17285.  
  17286.  
  17287. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  17288.     IAMDevMemoryControl * This,
  17289.     /* [out] */ DWORD *pdwDevId);
  17290.  
  17291.  
  17292. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  17293.     IRpcStubBuffer *This,
  17294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17295.     PRPC_MESSAGE _pRpcMessage,
  17296.     DWORD *_pdwStubPhase);
  17297.  
  17298.  
  17299.  
  17300. #endif     /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  17301.  
  17302.  
  17303. /* interface __MIDL_itf_strmif_0336 */
  17304. /* [local] */ 
  17305.  
  17306. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  17307.  
  17308.  
  17309. enum _AMSTREAMSELECTINFOFLAGS
  17310.     {    AMSTREAMSELECTINFO_ENABLED    = 0x1,
  17311.     AMSTREAMSELECTINFO_EXCLUSIVE    = 0x2
  17312.     } ;
  17313.  
  17314. enum _AMSTREAMSELECTENABLEFLAGS
  17315.     {    AMSTREAMSELECTENABLE_ENABLE    = 0x1,
  17316.     AMSTREAMSELECTENABLE_ENABLEALL    = 0x2
  17317.     } ;
  17318.  
  17319.  
  17320. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  17321. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  17322.  
  17323. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  17324. #define __IAMStreamSelect_INTERFACE_DEFINED__
  17325.  
  17326. /* interface IAMStreamSelect */
  17327. /* [unique][uuid][object] */ 
  17328.  
  17329.  
  17330. EXTERN_C const IID IID_IAMStreamSelect;
  17331.  
  17332. #if defined(__cplusplus) && !defined(CINTERFACE)
  17333.     
  17334.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  17335.     IAMStreamSelect : public IUnknown
  17336.     {
  17337.     public:
  17338.         virtual HRESULT STDMETHODCALLTYPE Count( 
  17339.             /* [out] */ DWORD *pcStreams) = 0;
  17340.         
  17341.         virtual HRESULT STDMETHODCALLTYPE Info( 
  17342.             /* [in] */ long lIndex,
  17343.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17344.             /* [out] */ DWORD *pdwFlags,
  17345.             /* [out] */ LCID *plcid,
  17346.             /* [out] */ DWORD *pdwGroup,
  17347.             /* [out] */ WCHAR **ppszName,
  17348.             /* [out] */ IUnknown **ppObject,
  17349.             /* [out] */ IUnknown **ppUnk) = 0;
  17350.         
  17351.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  17352.             /* [in] */ long lIndex,
  17353.             /* [in] */ DWORD dwFlags) = 0;
  17354.         
  17355.     };
  17356.     
  17357. #else     /* C style interface */
  17358.  
  17359.     typedef struct IAMStreamSelectVtbl
  17360.     {
  17361.         BEGIN_INTERFACE
  17362.         
  17363.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17364.             IAMStreamSelect * This,
  17365.             /* [in] */ REFIID riid,
  17366.             /* [iid_is][out] */ void **ppvObject);
  17367.         
  17368.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17369.             IAMStreamSelect * This);
  17370.         
  17371.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17372.             IAMStreamSelect * This);
  17373.         
  17374.         HRESULT ( STDMETHODCALLTYPE *Count )( 
  17375.             IAMStreamSelect * This,
  17376.             /* [out] */ DWORD *pcStreams);
  17377.         
  17378.         HRESULT ( STDMETHODCALLTYPE *Info )( 
  17379.             IAMStreamSelect * This,
  17380.             /* [in] */ long lIndex,
  17381.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17382.             /* [out] */ DWORD *pdwFlags,
  17383.             /* [out] */ LCID *plcid,
  17384.             /* [out] */ DWORD *pdwGroup,
  17385.             /* [out] */ WCHAR **ppszName,
  17386.             /* [out] */ IUnknown **ppObject,
  17387.             /* [out] */ IUnknown **ppUnk);
  17388.         
  17389.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  17390.             IAMStreamSelect * This,
  17391.             /* [in] */ long lIndex,
  17392.             /* [in] */ DWORD dwFlags);
  17393.         
  17394.         END_INTERFACE
  17395.     } IAMStreamSelectVtbl;
  17396.  
  17397.     interface IAMStreamSelect
  17398.     {
  17399.         CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  17400.     };
  17401.  
  17402.     
  17403.  
  17404. #ifdef COBJMACROS
  17405.  
  17406.  
  17407. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)    \
  17408.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17409.  
  17410. #define IAMStreamSelect_AddRef(This)    \
  17411.     (This)->lpVtbl -> AddRef(This)
  17412.  
  17413. #define IAMStreamSelect_Release(This)    \
  17414.     (This)->lpVtbl -> Release(This)
  17415.  
  17416.  
  17417. #define IAMStreamSelect_Count(This,pcStreams)    \
  17418.     (This)->lpVtbl -> Count(This,pcStreams)
  17419.  
  17420. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)    \
  17421.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  17422.  
  17423. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)    \
  17424.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  17425.  
  17426. #endif /* COBJMACROS */
  17427.  
  17428.  
  17429. #endif     /* C style interface */
  17430.  
  17431.  
  17432.  
  17433. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  17434.     IAMStreamSelect * This,
  17435.     /* [out] */ DWORD *pcStreams);
  17436.  
  17437.  
  17438. void __RPC_STUB IAMStreamSelect_Count_Stub(
  17439.     IRpcStubBuffer *This,
  17440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17441.     PRPC_MESSAGE _pRpcMessage,
  17442.     DWORD *_pdwStubPhase);
  17443.  
  17444.  
  17445. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  17446.     IAMStreamSelect * This,
  17447.     /* [in] */ long lIndex,
  17448.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  17449.     /* [out] */ DWORD *pdwFlags,
  17450.     /* [out] */ LCID *plcid,
  17451.     /* [out] */ DWORD *pdwGroup,
  17452.     /* [out] */ WCHAR **ppszName,
  17453.     /* [out] */ IUnknown **ppObject,
  17454.     /* [out] */ IUnknown **ppUnk);
  17455.  
  17456.  
  17457. void __RPC_STUB IAMStreamSelect_Info_Stub(
  17458.     IRpcStubBuffer *This,
  17459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17460.     PRPC_MESSAGE _pRpcMessage,
  17461.     DWORD *_pdwStubPhase);
  17462.  
  17463.  
  17464. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  17465.     IAMStreamSelect * This,
  17466.     /* [in] */ long lIndex,
  17467.     /* [in] */ DWORD dwFlags);
  17468.  
  17469.  
  17470. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  17471.     IRpcStubBuffer *This,
  17472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17473.     PRPC_MESSAGE _pRpcMessage,
  17474.     DWORD *_pdwStubPhase);
  17475.  
  17476.  
  17477.  
  17478. #endif     /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  17479.  
  17480.  
  17481. /* interface __MIDL_itf_strmif_0337 */
  17482. /* [local] */ 
  17483.  
  17484. typedef IAMStreamSelect *PAMSTREAMSELECT;
  17485.  
  17486.  
  17487. enum _AMRESCTL_RESERVEFLAGS
  17488.     {    AMRESCTL_RESERVEFLAGS_RESERVE    = 0,
  17489.     AMRESCTL_RESERVEFLAGS_UNRESERVE    = 0x1
  17490.     } ;
  17491.  
  17492.  
  17493. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  17494. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  17495.  
  17496. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  17497. #define __IAMResourceControl_INTERFACE_DEFINED__
  17498.  
  17499. /* interface IAMResourceControl */
  17500. /* [local][unique][uuid][object] */ 
  17501.  
  17502.  
  17503. EXTERN_C const IID IID_IAMResourceControl;
  17504.  
  17505. #if defined(__cplusplus) && !defined(CINTERFACE)
  17506.     
  17507.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  17508.     IAMResourceControl : public IUnknown
  17509.     {
  17510.     public:
  17511.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  17512.             /* [in] */ DWORD dwFlags,
  17513.             /* [in] */ PVOID pvReserved) = 0;
  17514.         
  17515.     };
  17516.     
  17517. #else     /* C style interface */
  17518.  
  17519.     typedef struct IAMResourceControlVtbl
  17520.     {
  17521.         BEGIN_INTERFACE
  17522.         
  17523.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17524.             IAMResourceControl * This,
  17525.             /* [in] */ REFIID riid,
  17526.             /* [iid_is][out] */ void **ppvObject);
  17527.         
  17528.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17529.             IAMResourceControl * This);
  17530.         
  17531.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17532.             IAMResourceControl * This);
  17533.         
  17534.         HRESULT ( STDMETHODCALLTYPE *Reserve )( 
  17535.             IAMResourceControl * This,
  17536.             /* [in] */ DWORD dwFlags,
  17537.             /* [in] */ PVOID pvReserved);
  17538.         
  17539.         END_INTERFACE
  17540.     } IAMResourceControlVtbl;
  17541.  
  17542.     interface IAMResourceControl
  17543.     {
  17544.         CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  17545.     };
  17546.  
  17547.     
  17548.  
  17549. #ifdef COBJMACROS
  17550.  
  17551.  
  17552. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)    \
  17553.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17554.  
  17555. #define IAMResourceControl_AddRef(This)    \
  17556.     (This)->lpVtbl -> AddRef(This)
  17557.  
  17558. #define IAMResourceControl_Release(This)    \
  17559.     (This)->lpVtbl -> Release(This)
  17560.  
  17561.  
  17562. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)    \
  17563.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  17564.  
  17565. #endif /* COBJMACROS */
  17566.  
  17567.  
  17568. #endif     /* C style interface */
  17569.  
  17570.  
  17571.  
  17572. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  17573.     IAMResourceControl * This,
  17574.     /* [in] */ DWORD dwFlags,
  17575.     /* [in] */ PVOID pvReserved);
  17576.  
  17577.  
  17578. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  17579.     IRpcStubBuffer *This,
  17580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17581.     PRPC_MESSAGE _pRpcMessage,
  17582.     DWORD *_pdwStubPhase);
  17583.  
  17584.  
  17585.  
  17586. #endif     /* __IAMResourceControl_INTERFACE_DEFINED__ */
  17587.  
  17588.  
  17589. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  17590. #define __IAMClockAdjust_INTERFACE_DEFINED__
  17591.  
  17592. /* interface IAMClockAdjust */
  17593. /* [local][unique][uuid][object] */ 
  17594.  
  17595.  
  17596. EXTERN_C const IID IID_IAMClockAdjust;
  17597.  
  17598. #if defined(__cplusplus) && !defined(CINTERFACE)
  17599.     
  17600.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  17601.     IAMClockAdjust : public IUnknown
  17602.     {
  17603.     public:
  17604.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  17605.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  17606.         
  17607.     };
  17608.     
  17609. #else     /* C style interface */
  17610.  
  17611.     typedef struct IAMClockAdjustVtbl
  17612.     {
  17613.         BEGIN_INTERFACE
  17614.         
  17615.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17616.             IAMClockAdjust * This,
  17617.             /* [in] */ REFIID riid,
  17618.             /* [iid_is][out] */ void **ppvObject);
  17619.         
  17620.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17621.             IAMClockAdjust * This);
  17622.         
  17623.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17624.             IAMClockAdjust * This);
  17625.         
  17626.         HRESULT ( STDMETHODCALLTYPE *SetClockDelta )( 
  17627.             IAMClockAdjust * This,
  17628.             /* [in] */ REFERENCE_TIME rtDelta);
  17629.         
  17630.         END_INTERFACE
  17631.     } IAMClockAdjustVtbl;
  17632.  
  17633.     interface IAMClockAdjust
  17634.     {
  17635.         CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  17636.     };
  17637.  
  17638.     
  17639.  
  17640. #ifdef COBJMACROS
  17641.  
  17642.  
  17643. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)    \
  17644.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17645.  
  17646. #define IAMClockAdjust_AddRef(This)    \
  17647.     (This)->lpVtbl -> AddRef(This)
  17648.  
  17649. #define IAMClockAdjust_Release(This)    \
  17650.     (This)->lpVtbl -> Release(This)
  17651.  
  17652.  
  17653. #define IAMClockAdjust_SetClockDelta(This,rtDelta)    \
  17654.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  17655.  
  17656. #endif /* COBJMACROS */
  17657.  
  17658.  
  17659. #endif     /* C style interface */
  17660.  
  17661.  
  17662.  
  17663. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  17664.     IAMClockAdjust * This,
  17665.     /* [in] */ REFERENCE_TIME rtDelta);
  17666.  
  17667.  
  17668. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  17669.     IRpcStubBuffer *This,
  17670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17671.     PRPC_MESSAGE _pRpcMessage,
  17672.     DWORD *_pdwStubPhase);
  17673.  
  17674.  
  17675.  
  17676. #endif     /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  17677.  
  17678.  
  17679. /* interface __MIDL_itf_strmif_0339 */
  17680. /* [local] */ 
  17681.  
  17682.  
  17683. enum _AM_FILTER_MISC_FLAGS
  17684.     {    AM_FILTER_MISC_FLAGS_IS_RENDERER    = 0x1,
  17685.     AM_FILTER_MISC_FLAGS_IS_SOURCE    = 0x2
  17686.     } ;
  17687.  
  17688.  
  17689. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
  17690. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
  17691.  
  17692. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17693. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17694.  
  17695. /* interface IAMFilterMiscFlags */
  17696. /* [local][unique][uuid][object] */ 
  17697.  
  17698.  
  17699. EXTERN_C const IID IID_IAMFilterMiscFlags;
  17700.  
  17701. #if defined(__cplusplus) && !defined(CINTERFACE)
  17702.     
  17703.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  17704.     IAMFilterMiscFlags : public IUnknown
  17705.     {
  17706.     public:
  17707.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  17708.         
  17709.     };
  17710.     
  17711. #else     /* C style interface */
  17712.  
  17713.     typedef struct IAMFilterMiscFlagsVtbl
  17714.     {
  17715.         BEGIN_INTERFACE
  17716.         
  17717.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17718.             IAMFilterMiscFlags * This,
  17719.             /* [in] */ REFIID riid,
  17720.             /* [iid_is][out] */ void **ppvObject);
  17721.         
  17722.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17723.             IAMFilterMiscFlags * This);
  17724.         
  17725.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17726.             IAMFilterMiscFlags * This);
  17727.         
  17728.         ULONG ( STDMETHODCALLTYPE *GetMiscFlags )( 
  17729.             IAMFilterMiscFlags * This);
  17730.         
  17731.         END_INTERFACE
  17732.     } IAMFilterMiscFlagsVtbl;
  17733.  
  17734.     interface IAMFilterMiscFlags
  17735.     {
  17736.         CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  17737.     };
  17738.  
  17739.     
  17740.  
  17741. #ifdef COBJMACROS
  17742.  
  17743.  
  17744. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)    \
  17745.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17746.  
  17747. #define IAMFilterMiscFlags_AddRef(This)    \
  17748.     (This)->lpVtbl -> AddRef(This)
  17749.  
  17750. #define IAMFilterMiscFlags_Release(This)    \
  17751.     (This)->lpVtbl -> Release(This)
  17752.  
  17753.  
  17754. #define IAMFilterMiscFlags_GetMiscFlags(This)    \
  17755.     (This)->lpVtbl -> GetMiscFlags(This)
  17756.  
  17757. #endif /* COBJMACROS */
  17758.  
  17759.  
  17760. #endif     /* C style interface */
  17761.  
  17762.  
  17763.  
  17764. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  17765.     IAMFilterMiscFlags * This);
  17766.  
  17767.  
  17768. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  17769.     IRpcStubBuffer *This,
  17770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17771.     PRPC_MESSAGE _pRpcMessage,
  17772.     DWORD *_pdwStubPhase);
  17773.  
  17774.  
  17775.  
  17776. #endif     /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  17777.  
  17778.  
  17779. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  17780. #define __IDrawVideoImage_INTERFACE_DEFINED__
  17781.  
  17782. /* interface IDrawVideoImage */
  17783. /* [unique][uuid][local][object] */ 
  17784.  
  17785.  
  17786. EXTERN_C const IID IID_IDrawVideoImage;
  17787.  
  17788. #if defined(__cplusplus) && !defined(CINTERFACE)
  17789.     
  17790.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  17791.     IDrawVideoImage : public IUnknown
  17792.     {
  17793.     public:
  17794.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  17795.         
  17796.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  17797.         
  17798.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  17799.             /* [in] */ HDC hdc,
  17800.             /* [in] */ LPRECT lprcSrc,
  17801.             /* [in] */ LPRECT lprcDst) = 0;
  17802.         
  17803.     };
  17804.     
  17805. #else     /* C style interface */
  17806.  
  17807.     typedef struct IDrawVideoImageVtbl
  17808.     {
  17809.         BEGIN_INTERFACE
  17810.         
  17811.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17812.             IDrawVideoImage * This,
  17813.             /* [in] */ REFIID riid,
  17814.             /* [iid_is][out] */ void **ppvObject);
  17815.         
  17816.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17817.             IDrawVideoImage * This);
  17818.         
  17819.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17820.             IDrawVideoImage * This);
  17821.         
  17822.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )( 
  17823.             IDrawVideoImage * This);
  17824.         
  17825.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )( 
  17826.             IDrawVideoImage * This);
  17827.         
  17828.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )( 
  17829.             IDrawVideoImage * This,
  17830.             /* [in] */ HDC hdc,
  17831.             /* [in] */ LPRECT lprcSrc,
  17832.             /* [in] */ LPRECT lprcDst);
  17833.         
  17834.         END_INTERFACE
  17835.     } IDrawVideoImageVtbl;
  17836.  
  17837.     interface IDrawVideoImage
  17838.     {
  17839.         CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  17840.     };
  17841.  
  17842.     
  17843.  
  17844. #ifdef COBJMACROS
  17845.  
  17846.  
  17847. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)    \
  17848.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17849.  
  17850. #define IDrawVideoImage_AddRef(This)    \
  17851.     (This)->lpVtbl -> AddRef(This)
  17852.  
  17853. #define IDrawVideoImage_Release(This)    \
  17854.     (This)->lpVtbl -> Release(This)
  17855.  
  17856.  
  17857. #define IDrawVideoImage_DrawVideoImageBegin(This)    \
  17858.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  17859.  
  17860. #define IDrawVideoImage_DrawVideoImageEnd(This)    \
  17861.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  17862.  
  17863. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)    \
  17864.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  17865.  
  17866. #endif /* COBJMACROS */
  17867.  
  17868.  
  17869. #endif     /* C style interface */
  17870.  
  17871.  
  17872.  
  17873. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  17874.     IDrawVideoImage * This);
  17875.  
  17876.  
  17877. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  17878.     IRpcStubBuffer *This,
  17879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17880.     PRPC_MESSAGE _pRpcMessage,
  17881.     DWORD *_pdwStubPhase);
  17882.  
  17883.  
  17884. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  17885.     IDrawVideoImage * This);
  17886.  
  17887.  
  17888. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  17889.     IRpcStubBuffer *This,
  17890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17891.     PRPC_MESSAGE _pRpcMessage,
  17892.     DWORD *_pdwStubPhase);
  17893.  
  17894.  
  17895. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  17896.     IDrawVideoImage * This,
  17897.     /* [in] */ HDC hdc,
  17898.     /* [in] */ LPRECT lprcSrc,
  17899.     /* [in] */ LPRECT lprcDst);
  17900.  
  17901.  
  17902. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  17903.     IRpcStubBuffer *This,
  17904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17905.     PRPC_MESSAGE _pRpcMessage,
  17906.     DWORD *_pdwStubPhase);
  17907.  
  17908.  
  17909.  
  17910. #endif     /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  17911.  
  17912.  
  17913. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  17914. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  17915.  
  17916. /* interface IDecimateVideoImage */
  17917. /* [unique][uuid][local][object] */ 
  17918.  
  17919.  
  17920. EXTERN_C const IID IID_IDecimateVideoImage;
  17921.  
  17922. #if defined(__cplusplus) && !defined(CINTERFACE)
  17923.     
  17924.     MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  17925.     IDecimateVideoImage : public IUnknown
  17926.     {
  17927.     public:
  17928.         virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize( 
  17929.             /* [in] */ long lWidth,
  17930.             /* [in] */ long lHeight) = 0;
  17931.         
  17932.         virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  17933.         
  17934.     };
  17935.     
  17936. #else     /* C style interface */
  17937.  
  17938.     typedef struct IDecimateVideoImageVtbl
  17939.     {
  17940.         BEGIN_INTERFACE
  17941.         
  17942.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17943.             IDecimateVideoImage * This,
  17944.             /* [in] */ REFIID riid,
  17945.             /* [iid_is][out] */ void **ppvObject);
  17946.         
  17947.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17948.             IDecimateVideoImage * This);
  17949.         
  17950.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17951.             IDecimateVideoImage * This);
  17952.         
  17953.         HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )( 
  17954.             IDecimateVideoImage * This,
  17955.             /* [in] */ long lWidth,
  17956.             /* [in] */ long lHeight);
  17957.         
  17958.         HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )( 
  17959.             IDecimateVideoImage * This);
  17960.         
  17961.         END_INTERFACE
  17962.     } IDecimateVideoImageVtbl;
  17963.  
  17964.     interface IDecimateVideoImage
  17965.     {
  17966.         CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  17967.     };
  17968.  
  17969.     
  17970.  
  17971. #ifdef COBJMACROS
  17972.  
  17973.  
  17974. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)    \
  17975.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17976.  
  17977. #define IDecimateVideoImage_AddRef(This)    \
  17978.     (This)->lpVtbl -> AddRef(This)
  17979.  
  17980. #define IDecimateVideoImage_Release(This)    \
  17981.     (This)->lpVtbl -> Release(This)
  17982.  
  17983.  
  17984. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)    \
  17985.     (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  17986.  
  17987. #define IDecimateVideoImage_ResetDecimationImageSize(This)    \
  17988.     (This)->lpVtbl -> ResetDecimationImageSize(This)
  17989.  
  17990. #endif /* COBJMACROS */
  17991.  
  17992.  
  17993. #endif     /* C style interface */
  17994.  
  17995.  
  17996.  
  17997. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy( 
  17998.     IDecimateVideoImage * This,
  17999.     /* [in] */ long lWidth,
  18000.     /* [in] */ long lHeight);
  18001.  
  18002.  
  18003. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  18004.     IRpcStubBuffer *This,
  18005.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18006.     PRPC_MESSAGE _pRpcMessage,
  18007.     DWORD *_pdwStubPhase);
  18008.  
  18009.  
  18010. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy( 
  18011.     IDecimateVideoImage * This);
  18012.  
  18013.  
  18014. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  18015.     IRpcStubBuffer *This,
  18016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18017.     PRPC_MESSAGE _pRpcMessage,
  18018.     DWORD *_pdwStubPhase);
  18019.  
  18020.  
  18021.  
  18022. #endif     /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  18023.  
  18024.  
  18025. /* interface __MIDL_itf_strmif_0342 */
  18026. /* [local] */ 
  18027.  
  18028. typedef 
  18029. enum _DECIMATION_USAGE
  18030.     {    DECIMATION_LEGACY    = 0,
  18031.     DECIMATION_USE_DECODER_ONLY    = DECIMATION_LEGACY + 1,
  18032.     DECIMATION_USE_VIDEOPORT_ONLY    = DECIMATION_USE_DECODER_ONLY + 1,
  18033.     DECIMATION_USE_OVERLAY_ONLY    = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  18034.     DECIMATION_DEFAULT    = DECIMATION_USE_OVERLAY_ONLY + 1
  18035.     }     DECIMATION_USAGE;
  18036.  
  18037.  
  18038.  
  18039. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
  18040. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
  18041.  
  18042. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  18043. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  18044.  
  18045. /* interface IAMVideoDecimationProperties */
  18046. /* [unique][uuid][local][object] */ 
  18047.  
  18048.  
  18049. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  18050.  
  18051. #if defined(__cplusplus) && !defined(CINTERFACE)
  18052.     
  18053.     MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  18054.     IAMVideoDecimationProperties : public IUnknown
  18055.     {
  18056.     public:
  18057.         virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage( 
  18058.             /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  18059.         
  18060.         virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage( 
  18061.             /* [in] */ DECIMATION_USAGE Usage) = 0;
  18062.         
  18063.     };
  18064.     
  18065. #else     /* C style interface */
  18066.  
  18067.     typedef struct IAMVideoDecimationPropertiesVtbl
  18068.     {
  18069.         BEGIN_INTERFACE
  18070.         
  18071.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18072.             IAMVideoDecimationProperties * This,
  18073.             /* [in] */ REFIID riid,
  18074.             /* [iid_is][out] */ void **ppvObject);
  18075.         
  18076.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18077.             IAMVideoDecimationProperties * This);
  18078.         
  18079.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18080.             IAMVideoDecimationProperties * This);
  18081.         
  18082.         HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )( 
  18083.             IAMVideoDecimationProperties * This,
  18084.             /* [out] */ DECIMATION_USAGE *lpUsage);
  18085.         
  18086.         HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )( 
  18087.             IAMVideoDecimationProperties * This,
  18088.             /* [in] */ DECIMATION_USAGE Usage);
  18089.         
  18090.         END_INTERFACE
  18091.     } IAMVideoDecimationPropertiesVtbl;
  18092.  
  18093.     interface IAMVideoDecimationProperties
  18094.     {
  18095.         CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  18096.     };
  18097.  
  18098.     
  18099.  
  18100. #ifdef COBJMACROS
  18101.  
  18102.  
  18103. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)    \
  18104.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18105.  
  18106. #define IAMVideoDecimationProperties_AddRef(This)    \
  18107.     (This)->lpVtbl -> AddRef(This)
  18108.  
  18109. #define IAMVideoDecimationProperties_Release(This)    \
  18110.     (This)->lpVtbl -> Release(This)
  18111.  
  18112.  
  18113. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)    \
  18114.     (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  18115.  
  18116. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)    \
  18117.     (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  18118.  
  18119. #endif /* COBJMACROS */
  18120.  
  18121.  
  18122. #endif     /* C style interface */
  18123.  
  18124.  
  18125.  
  18126. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy( 
  18127.     IAMVideoDecimationProperties * This,
  18128.     /* [out] */ DECIMATION_USAGE *lpUsage);
  18129.  
  18130.  
  18131. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  18132.     IRpcStubBuffer *This,
  18133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18134.     PRPC_MESSAGE _pRpcMessage,
  18135.     DWORD *_pdwStubPhase);
  18136.  
  18137.  
  18138. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy( 
  18139.     IAMVideoDecimationProperties * This,
  18140.     /* [in] */ DECIMATION_USAGE Usage);
  18141.  
  18142.  
  18143. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  18144.     IRpcStubBuffer *This,
  18145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18146.     PRPC_MESSAGE _pRpcMessage,
  18147.     DWORD *_pdwStubPhase);
  18148.  
  18149.  
  18150.  
  18151. #endif     /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  18152.  
  18153.  
  18154. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  18155. #define __IVideoFrameStep_INTERFACE_DEFINED__
  18156.  
  18157. /* interface IVideoFrameStep */
  18158. /* [unique][uuid][object] */ 
  18159.  
  18160.  
  18161. EXTERN_C const IID IID_IVideoFrameStep;
  18162.  
  18163. #if defined(__cplusplus) && !defined(CINTERFACE)
  18164.     
  18165.     MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  18166.     IVideoFrameStep : public IUnknown
  18167.     {
  18168.     public:
  18169.         virtual HRESULT STDMETHODCALLTYPE Step( 
  18170.             DWORD dwFrames,
  18171.             /* [unique] */ IUnknown *pStepObject) = 0;
  18172.         
  18173.         virtual HRESULT STDMETHODCALLTYPE CanStep( 
  18174.             long bMultiple,
  18175.             /* [unique] */ IUnknown *pStepObject) = 0;
  18176.         
  18177.         virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  18178.         
  18179.     };
  18180.     
  18181. #else     /* C style interface */
  18182.  
  18183.     typedef struct IVideoFrameStepVtbl
  18184.     {
  18185.         BEGIN_INTERFACE
  18186.         
  18187.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18188.             IVideoFrameStep * This,
  18189.             /* [in] */ REFIID riid,
  18190.             /* [iid_is][out] */ void **ppvObject);
  18191.         
  18192.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18193.             IVideoFrameStep * This);
  18194.         
  18195.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18196.             IVideoFrameStep * This);
  18197.         
  18198.         HRESULT ( STDMETHODCALLTYPE *Step )( 
  18199.             IVideoFrameStep * This,
  18200.             DWORD dwFrames,
  18201.             /* [unique] */ IUnknown *pStepObject);
  18202.         
  18203.         HRESULT ( STDMETHODCALLTYPE *CanStep )( 
  18204.             IVideoFrameStep * This,
  18205.             long bMultiple,
  18206.             /* [unique] */ IUnknown *pStepObject);
  18207.         
  18208.         HRESULT ( STDMETHODCALLTYPE *CancelStep )( 
  18209.             IVideoFrameStep * This);
  18210.         
  18211.         END_INTERFACE
  18212.     } IVideoFrameStepVtbl;
  18213.  
  18214.     interface IVideoFrameStep
  18215.     {
  18216.         CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  18217.     };
  18218.  
  18219.     
  18220.  
  18221. #ifdef COBJMACROS
  18222.  
  18223.  
  18224. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject)    \
  18225.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18226.  
  18227. #define IVideoFrameStep_AddRef(This)    \
  18228.     (This)->lpVtbl -> AddRef(This)
  18229.  
  18230. #define IVideoFrameStep_Release(This)    \
  18231.     (This)->lpVtbl -> Release(This)
  18232.  
  18233.  
  18234. #define IVideoFrameStep_Step(This,dwFrames,pStepObject)    \
  18235.     (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  18236.  
  18237. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)    \
  18238.     (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  18239.  
  18240. #define IVideoFrameStep_CancelStep(This)    \
  18241.     (This)->lpVtbl -> CancelStep(This)
  18242.  
  18243. #endif /* COBJMACROS */
  18244.  
  18245.  
  18246. #endif     /* C style interface */
  18247.  
  18248.  
  18249.  
  18250. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy( 
  18251.     IVideoFrameStep * This,
  18252.     DWORD dwFrames,
  18253.     /* [unique] */ IUnknown *pStepObject);
  18254.  
  18255.  
  18256. void __RPC_STUB IVideoFrameStep_Step_Stub(
  18257.     IRpcStubBuffer *This,
  18258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18259.     PRPC_MESSAGE _pRpcMessage,
  18260.     DWORD *_pdwStubPhase);
  18261.  
  18262.  
  18263. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy( 
  18264.     IVideoFrameStep * This,
  18265.     long bMultiple,
  18266.     /* [unique] */ IUnknown *pStepObject);
  18267.  
  18268.  
  18269. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  18270.     IRpcStubBuffer *This,
  18271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18272.     PRPC_MESSAGE _pRpcMessage,
  18273.     DWORD *_pdwStubPhase);
  18274.  
  18275.  
  18276. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy( 
  18277.     IVideoFrameStep * This);
  18278.  
  18279.  
  18280. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  18281.     IRpcStubBuffer *This,
  18282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18283.     PRPC_MESSAGE _pRpcMessage,
  18284.     DWORD *_pdwStubPhase);
  18285.  
  18286.  
  18287.  
  18288. #endif     /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  18289.  
  18290.  
  18291. /* interface __MIDL_itf_strmif_0344 */
  18292. /* [local] */ 
  18293.  
  18294.  
  18295. enum _AM_PUSHSOURCE_FLAGS
  18296.     {    AM_PUSHSOURCECAPS_INTERNAL_RM    = 0x1,
  18297.     AM_PUSHSOURCECAPS_NOT_LIVE    = 0x2,
  18298.     AM_PUSHSOURCECAPS_PRIVATE_CLOCK    = 0x4,
  18299.     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK    = 0x10000
  18300.     } ;
  18301.  
  18302.  
  18303. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  18304. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  18305.  
  18306. #ifndef __IAMLatency_INTERFACE_DEFINED__
  18307. #define __IAMLatency_INTERFACE_DEFINED__
  18308.  
  18309. /* interface IAMLatency */
  18310. /* [unique][uuid][object] */ 
  18311.  
  18312.  
  18313. EXTERN_C const IID IID_IAMLatency;
  18314.  
  18315. #if defined(__cplusplus) && !defined(CINTERFACE)
  18316.     
  18317.     MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  18318.     IAMLatency : public IUnknown
  18319.     {
  18320.     public:
  18321.         virtual HRESULT STDMETHODCALLTYPE GetLatency( 
  18322.             /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  18323.         
  18324.     };
  18325.     
  18326. #else     /* C style interface */
  18327.  
  18328.     typedef struct IAMLatencyVtbl
  18329.     {
  18330.         BEGIN_INTERFACE
  18331.         
  18332.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18333.             IAMLatency * This,
  18334.             /* [in] */ REFIID riid,
  18335.             /* [iid_is][out] */ void **ppvObject);
  18336.         
  18337.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18338.             IAMLatency * This);
  18339.         
  18340.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18341.             IAMLatency * This);
  18342.         
  18343.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18344.             IAMLatency * This,
  18345.             /* [in] */ REFERENCE_TIME *prtLatency);
  18346.         
  18347.         END_INTERFACE
  18348.     } IAMLatencyVtbl;
  18349.  
  18350.     interface IAMLatency
  18351.     {
  18352.         CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  18353.     };
  18354.  
  18355.     
  18356.  
  18357. #ifdef COBJMACROS
  18358.  
  18359.  
  18360. #define IAMLatency_QueryInterface(This,riid,ppvObject)    \
  18361.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18362.  
  18363. #define IAMLatency_AddRef(This)    \
  18364.     (This)->lpVtbl -> AddRef(This)
  18365.  
  18366. #define IAMLatency_Release(This)    \
  18367.     (This)->lpVtbl -> Release(This)
  18368.  
  18369.  
  18370. #define IAMLatency_GetLatency(This,prtLatency)    \
  18371.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18372.  
  18373. #endif /* COBJMACROS */
  18374.  
  18375.  
  18376. #endif     /* C style interface */
  18377.  
  18378.  
  18379.  
  18380. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy( 
  18381.     IAMLatency * This,
  18382.     /* [in] */ REFERENCE_TIME *prtLatency);
  18383.  
  18384.  
  18385. void __RPC_STUB IAMLatency_GetLatency_Stub(
  18386.     IRpcStubBuffer *This,
  18387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18388.     PRPC_MESSAGE _pRpcMessage,
  18389.     DWORD *_pdwStubPhase);
  18390.  
  18391.  
  18392.  
  18393. #endif     /* __IAMLatency_INTERFACE_DEFINED__ */
  18394.  
  18395.  
  18396. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  18397. #define __IAMPushSource_INTERFACE_DEFINED__
  18398.  
  18399. /* interface IAMPushSource */
  18400. /* [unique][uuid][object] */ 
  18401.  
  18402.  
  18403. EXTERN_C const IID IID_IAMPushSource;
  18404.  
  18405. #if defined(__cplusplus) && !defined(CINTERFACE)
  18406.     
  18407.     MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  18408.     IAMPushSource : public IAMLatency
  18409.     {
  18410.     public:
  18411.         virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 
  18412.             /* [out] */ ULONG *pFlags) = 0;
  18413.         
  18414.         virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 
  18415.             /* [in] */ ULONG Flags) = 0;
  18416.         
  18417.         virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 
  18418.             /* [in] */ REFERENCE_TIME rtOffset) = 0;
  18419.         
  18420.         virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 
  18421.             /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  18422.         
  18423.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 
  18424.             /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  18425.         
  18426.         virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 
  18427.             /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  18428.         
  18429.     };
  18430.     
  18431. #else     /* C style interface */
  18432.  
  18433.     typedef struct IAMPushSourceVtbl
  18434.     {
  18435.         BEGIN_INTERFACE
  18436.         
  18437.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18438.             IAMPushSource * This,
  18439.             /* [in] */ REFIID riid,
  18440.             /* [iid_is][out] */ void **ppvObject);
  18441.         
  18442.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18443.             IAMPushSource * This);
  18444.         
  18445.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18446.             IAMPushSource * This);
  18447.         
  18448.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18449.             IAMPushSource * This,
  18450.             /* [in] */ REFERENCE_TIME *prtLatency);
  18451.         
  18452.         HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )( 
  18453.             IAMPushSource * This,
  18454.             /* [out] */ ULONG *pFlags);
  18455.         
  18456.         HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )( 
  18457.             IAMPushSource * This,
  18458.             /* [in] */ ULONG Flags);
  18459.         
  18460.         HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )( 
  18461.             IAMPushSource * This,
  18462.             /* [in] */ REFERENCE_TIME rtOffset);
  18463.         
  18464.         HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )( 
  18465.             IAMPushSource * This,
  18466.             /* [out] */ REFERENCE_TIME *prtOffset);
  18467.         
  18468.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )( 
  18469.             IAMPushSource * This,
  18470.             /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18471.         
  18472.         HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )( 
  18473.             IAMPushSource * This,
  18474.             /* [in] */ REFERENCE_TIME rtMaxOffset);
  18475.         
  18476.         END_INTERFACE
  18477.     } IAMPushSourceVtbl;
  18478.  
  18479.     interface IAMPushSource
  18480.     {
  18481.         CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  18482.     };
  18483.  
  18484.     
  18485.  
  18486. #ifdef COBJMACROS
  18487.  
  18488.  
  18489. #define IAMPushSource_QueryInterface(This,riid,ppvObject)    \
  18490.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18491.  
  18492. #define IAMPushSource_AddRef(This)    \
  18493.     (This)->lpVtbl -> AddRef(This)
  18494.  
  18495. #define IAMPushSource_Release(This)    \
  18496.     (This)->lpVtbl -> Release(This)
  18497.  
  18498.  
  18499. #define IAMPushSource_GetLatency(This,prtLatency)    \
  18500.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18501.  
  18502.  
  18503. #define IAMPushSource_GetPushSourceFlags(This,pFlags)    \
  18504.     (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  18505.  
  18506. #define IAMPushSource_SetPushSourceFlags(This,Flags)    \
  18507.     (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  18508.  
  18509. #define IAMPushSource_SetStreamOffset(This,rtOffset)    \
  18510.     (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  18511.  
  18512. #define IAMPushSource_GetStreamOffset(This,prtOffset)    \
  18513.     (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  18514.  
  18515. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)    \
  18516.     (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  18517.  
  18518. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)    \
  18519.     (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  18520.  
  18521. #endif /* COBJMACROS */
  18522.  
  18523.  
  18524. #endif     /* C style interface */
  18525.  
  18526.  
  18527.  
  18528. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy( 
  18529.     IAMPushSource * This,
  18530.     /* [out] */ ULONG *pFlags);
  18531.  
  18532.  
  18533. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  18534.     IRpcStubBuffer *This,
  18535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18536.     PRPC_MESSAGE _pRpcMessage,
  18537.     DWORD *_pdwStubPhase);
  18538.  
  18539.  
  18540. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy( 
  18541.     IAMPushSource * This,
  18542.     /* [in] */ ULONG Flags);
  18543.  
  18544.  
  18545. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  18546.     IRpcStubBuffer *This,
  18547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18548.     PRPC_MESSAGE _pRpcMessage,
  18549.     DWORD *_pdwStubPhase);
  18550.  
  18551.  
  18552. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy( 
  18553.     IAMPushSource * This,
  18554.     /* [in] */ REFERENCE_TIME rtOffset);
  18555.  
  18556.  
  18557. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  18558.     IRpcStubBuffer *This,
  18559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18560.     PRPC_MESSAGE _pRpcMessage,
  18561.     DWORD *_pdwStubPhase);
  18562.  
  18563.  
  18564. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy( 
  18565.     IAMPushSource * This,
  18566.     /* [out] */ REFERENCE_TIME *prtOffset);
  18567.  
  18568.  
  18569. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  18570.     IRpcStubBuffer *This,
  18571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18572.     PRPC_MESSAGE _pRpcMessage,
  18573.     DWORD *_pdwStubPhase);
  18574.  
  18575.  
  18576. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy( 
  18577.     IAMPushSource * This,
  18578.     /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18579.  
  18580.  
  18581. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  18582.     IRpcStubBuffer *This,
  18583.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18584.     PRPC_MESSAGE _pRpcMessage,
  18585.     DWORD *_pdwStubPhase);
  18586.  
  18587.  
  18588. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy( 
  18589.     IAMPushSource * This,
  18590.     /* [in] */ REFERENCE_TIME rtMaxOffset);
  18591.  
  18592.  
  18593. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  18594.     IRpcStubBuffer *This,
  18595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18596.     PRPC_MESSAGE _pRpcMessage,
  18597.     DWORD *_pdwStubPhase);
  18598.  
  18599.  
  18600.  
  18601. #endif     /* __IAMPushSource_INTERFACE_DEFINED__ */
  18602.  
  18603.  
  18604. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  18605. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  18606.  
  18607. /* interface IAMDeviceRemoval */
  18608. /* [unique][uuid][object] */ 
  18609.  
  18610.  
  18611. EXTERN_C const IID IID_IAMDeviceRemoval;
  18612.  
  18613. #if defined(__cplusplus) && !defined(CINTERFACE)
  18614.     
  18615.     MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  18616.     IAMDeviceRemoval : public IUnknown
  18617.     {
  18618.     public:
  18619.         virtual HRESULT STDMETHODCALLTYPE DeviceInfo( 
  18620.             /* [out] */ CLSID *pclsidInterfaceClass,
  18621.             /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  18622.         
  18623.         virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  18624.         
  18625.         virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  18626.         
  18627.     };
  18628.     
  18629. #else     /* C style interface */
  18630.  
  18631.     typedef struct IAMDeviceRemovalVtbl
  18632.     {
  18633.         BEGIN_INTERFACE
  18634.         
  18635.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18636.             IAMDeviceRemoval * This,
  18637.             /* [in] */ REFIID riid,
  18638.             /* [iid_is][out] */ void **ppvObject);
  18639.         
  18640.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18641.             IAMDeviceRemoval * This);
  18642.         
  18643.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18644.             IAMDeviceRemoval * This);
  18645.         
  18646.         HRESULT ( STDMETHODCALLTYPE *DeviceInfo )( 
  18647.             IAMDeviceRemoval * This,
  18648.             /* [out] */ CLSID *pclsidInterfaceClass,
  18649.             /* [out] */ WCHAR **pwszSymbolicLink);
  18650.         
  18651.         HRESULT ( STDMETHODCALLTYPE *Reassociate )( 
  18652.             IAMDeviceRemoval * This);
  18653.         
  18654.         HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
  18655.             IAMDeviceRemoval * This);
  18656.         
  18657.         END_INTERFACE
  18658.     } IAMDeviceRemovalVtbl;
  18659.  
  18660.     interface IAMDeviceRemoval
  18661.     {
  18662.         CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  18663.     };
  18664.  
  18665.     
  18666.  
  18667. #ifdef COBJMACROS
  18668.  
  18669.  
  18670. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)    \
  18671.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18672.  
  18673. #define IAMDeviceRemoval_AddRef(This)    \
  18674.     (This)->lpVtbl -> AddRef(This)
  18675.  
  18676. #define IAMDeviceRemoval_Release(This)    \
  18677.     (This)->lpVtbl -> Release(This)
  18678.  
  18679.  
  18680. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)    \
  18681.     (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  18682.  
  18683. #define IAMDeviceRemoval_Reassociate(This)    \
  18684.     (This)->lpVtbl -> Reassociate(This)
  18685.  
  18686. #define IAMDeviceRemoval_Disassociate(This)    \
  18687.     (This)->lpVtbl -> Disassociate(This)
  18688.  
  18689. #endif /* COBJMACROS */
  18690.  
  18691.  
  18692. #endif     /* C style interface */
  18693.  
  18694.  
  18695.  
  18696. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy( 
  18697.     IAMDeviceRemoval * This,
  18698.     /* [out] */ CLSID *pclsidInterfaceClass,
  18699.     /* [out] */ WCHAR **pwszSymbolicLink);
  18700.  
  18701.  
  18702. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  18703.     IRpcStubBuffer *This,
  18704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18705.     PRPC_MESSAGE _pRpcMessage,
  18706.     DWORD *_pdwStubPhase);
  18707.  
  18708.  
  18709. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy( 
  18710.     IAMDeviceRemoval * This);
  18711.  
  18712.  
  18713. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  18714.     IRpcStubBuffer *This,
  18715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18716.     PRPC_MESSAGE _pRpcMessage,
  18717.     DWORD *_pdwStubPhase);
  18718.  
  18719.  
  18720. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy( 
  18721.     IAMDeviceRemoval * This);
  18722.  
  18723.  
  18724. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  18725.     IRpcStubBuffer *This,
  18726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18727.     PRPC_MESSAGE _pRpcMessage,
  18728.     DWORD *_pdwStubPhase);
  18729.  
  18730.  
  18731.  
  18732. #endif     /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  18733.  
  18734.  
  18735. /* interface __MIDL_itf_strmif_0346 */
  18736. /* [local] */ 
  18737.  
  18738. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0346_0001
  18739.     {
  18740.     DWORD dwDVAAuxSrc;
  18741.     DWORD dwDVAAuxCtl;
  18742.     DWORD dwDVAAuxSrc1;
  18743.     DWORD dwDVAAuxCtl1;
  18744.     DWORD dwDVVAuxSrc;
  18745.     DWORD dwDVVAuxCtl;
  18746.     DWORD dwDVReserved[ 2 ];
  18747.     }     DVINFO;
  18748.  
  18749. typedef struct __MIDL___MIDL_itf_strmif_0346_0001 *PDVINFO;
  18750.  
  18751.  
  18752. enum _DVENCODERRESOLUTION
  18753.     {    DVENCODERRESOLUTION_720x480    = 2012,
  18754.     DVENCODERRESOLUTION_360x240    = 2013,
  18755.     DVENCODERRESOLUTION_180x120    = 2014,
  18756.     DVENCODERRESOLUTION_88x60    = 2015
  18757.     } ;
  18758.  
  18759. enum _DVENCODERVIDEOFORMAT
  18760.     {    DVENCODERVIDEOFORMAT_NTSC    = 2000,
  18761.     DVENCODERVIDEOFORMAT_PAL    = 2001
  18762.     } ;
  18763.  
  18764. enum _DVENCODERFORMAT
  18765.     {    DVENCODERFORMAT_DVSD    = 2007,
  18766.     DVENCODERFORMAT_DVHD    = 2008,
  18767.     DVENCODERFORMAT_DVSL    = 2009
  18768.     } ;
  18769.  
  18770.  
  18771. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
  18772. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
  18773.  
  18774. #ifndef __IDVEnc_INTERFACE_DEFINED__
  18775. #define __IDVEnc_INTERFACE_DEFINED__
  18776.  
  18777. /* interface IDVEnc */
  18778. /* [unique][uuid][object] */ 
  18779.  
  18780.  
  18781. EXTERN_C const IID IID_IDVEnc;
  18782.  
  18783. #if defined(__cplusplus) && !defined(CINTERFACE)
  18784.     
  18785.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  18786.     IDVEnc : public IUnknown
  18787.     {
  18788.     public:
  18789.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  18790.             /* [out] */ int *VideoFormat,
  18791.             /* [out] */ int *DVFormat,
  18792.             /* [out] */ int *Resolution,
  18793.             /* [in] */ BYTE fDVInfo,
  18794.             /* [out] */ DVINFO *sDVInfo) = 0;
  18795.         
  18796.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  18797.             /* [in] */ int VideoFormat,
  18798.             /* [in] */ int DVFormat,
  18799.             /* [in] */ int Resolution,
  18800.             /* [in] */ BYTE fDVInfo,
  18801.             /* [in] */ DVINFO *sDVInfo) = 0;
  18802.         
  18803.     };
  18804.     
  18805. #else     /* C style interface */
  18806.  
  18807.     typedef struct IDVEncVtbl
  18808.     {
  18809.         BEGIN_INTERFACE
  18810.         
  18811.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18812.             IDVEnc * This,
  18813.             /* [in] */ REFIID riid,
  18814.             /* [iid_is][out] */ void **ppvObject);
  18815.         
  18816.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18817.             IDVEnc * This);
  18818.         
  18819.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18820.             IDVEnc * This);
  18821.         
  18822.         HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )( 
  18823.             IDVEnc * This,
  18824.             /* [out] */ int *VideoFormat,
  18825.             /* [out] */ int *DVFormat,
  18826.             /* [out] */ int *Resolution,
  18827.             /* [in] */ BYTE fDVInfo,
  18828.             /* [out] */ DVINFO *sDVInfo);
  18829.         
  18830.         HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )( 
  18831.             IDVEnc * This,
  18832.             /* [in] */ int VideoFormat,
  18833.             /* [in] */ int DVFormat,
  18834.             /* [in] */ int Resolution,
  18835.             /* [in] */ BYTE fDVInfo,
  18836.             /* [in] */ DVINFO *sDVInfo);
  18837.         
  18838.         END_INTERFACE
  18839.     } IDVEncVtbl;
  18840.  
  18841.     interface IDVEnc
  18842.     {
  18843.         CONST_VTBL struct IDVEncVtbl *lpVtbl;
  18844.     };
  18845.  
  18846.     
  18847.  
  18848. #ifdef COBJMACROS
  18849.  
  18850.  
  18851. #define IDVEnc_QueryInterface(This,riid,ppvObject)    \
  18852.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18853.  
  18854. #define IDVEnc_AddRef(This)    \
  18855.     (This)->lpVtbl -> AddRef(This)
  18856.  
  18857. #define IDVEnc_Release(This)    \
  18858.     (This)->lpVtbl -> Release(This)
  18859.  
  18860.  
  18861. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18862.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18863.  
  18864. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18865.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18866.  
  18867. #endif /* COBJMACROS */
  18868.  
  18869.  
  18870. #endif     /* C style interface */
  18871.  
  18872.  
  18873.  
  18874. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  18875.     IDVEnc * This,
  18876.     /* [out] */ int *VideoFormat,
  18877.     /* [out] */ int *DVFormat,
  18878.     /* [out] */ int *Resolution,
  18879.     /* [in] */ BYTE fDVInfo,
  18880.     /* [out] */ DVINFO *sDVInfo);
  18881.  
  18882.  
  18883. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  18884.     IRpcStubBuffer *This,
  18885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18886.     PRPC_MESSAGE _pRpcMessage,
  18887.     DWORD *_pdwStubPhase);
  18888.  
  18889.  
  18890. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  18891.     IDVEnc * This,
  18892.     /* [in] */ int VideoFormat,
  18893.     /* [in] */ int DVFormat,
  18894.     /* [in] */ int Resolution,
  18895.     /* [in] */ BYTE fDVInfo,
  18896.     /* [in] */ DVINFO *sDVInfo);
  18897.  
  18898.  
  18899. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  18900.     IRpcStubBuffer *This,
  18901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18902.     PRPC_MESSAGE _pRpcMessage,
  18903.     DWORD *_pdwStubPhase);
  18904.  
  18905.  
  18906.  
  18907. #endif     /* __IDVEnc_INTERFACE_DEFINED__ */
  18908.  
  18909.  
  18910. /* interface __MIDL_itf_strmif_0347 */
  18911. /* [local] */ 
  18912.  
  18913.  
  18914. enum _DVDECODERRESOLUTION
  18915.     {    DVDECODERRESOLUTION_720x480    = 1000,
  18916.     DVDECODERRESOLUTION_360x240    = 1001,
  18917.     DVDECODERRESOLUTION_180x120    = 1002,
  18918.     DVDECODERRESOLUTION_88x60    = 1003
  18919.     } ;
  18920.  
  18921. enum _DVRESOLUTION
  18922.     {    DVRESOLUTION_FULL    = 1000,
  18923.     DVRESOLUTION_HALF    = 1001,
  18924.     DVRESOLUTION_QUARTER    = 1002,
  18925.     DVRESOLUTION_DC    = 1003
  18926.     } ;
  18927.  
  18928.  
  18929. extern RPC_IF_HANDLE __MIDL_itf_strmif_0347_v0_0_c_ifspec;
  18930. extern RPC_IF_HANDLE __MIDL_itf_strmif_0347_v0_0_s_ifspec;
  18931.  
  18932. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  18933. #define __IIPDVDec_INTERFACE_DEFINED__
  18934.  
  18935. /* interface IIPDVDec */
  18936. /* [unique][uuid][object] */ 
  18937.  
  18938.  
  18939. EXTERN_C const IID IID_IIPDVDec;
  18940.  
  18941. #if defined(__cplusplus) && !defined(CINTERFACE)
  18942.     
  18943.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  18944.     IIPDVDec : public IUnknown
  18945.     {
  18946.     public:
  18947.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  18948.             /* [out] */ int *displayPix) = 0;
  18949.         
  18950.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  18951.             /* [in] */ int displayPix) = 0;
  18952.         
  18953.     };
  18954.     
  18955. #else     /* C style interface */
  18956.  
  18957.     typedef struct IIPDVDecVtbl
  18958.     {
  18959.         BEGIN_INTERFACE
  18960.         
  18961.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18962.             IIPDVDec * This,
  18963.             /* [in] */ REFIID riid,
  18964.             /* [iid_is][out] */ void **ppvObject);
  18965.         
  18966.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18967.             IIPDVDec * This);
  18968.         
  18969.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18970.             IIPDVDec * This);
  18971.         
  18972.         HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )( 
  18973.             IIPDVDec * This,
  18974.             /* [out] */ int *displayPix);
  18975.         
  18976.         HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )( 
  18977.             IIPDVDec * This,
  18978.             /* [in] */ int displayPix);
  18979.         
  18980.         END_INTERFACE
  18981.     } IIPDVDecVtbl;
  18982.  
  18983.     interface IIPDVDec
  18984.     {
  18985.         CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  18986.     };
  18987.  
  18988.     
  18989.  
  18990. #ifdef COBJMACROS
  18991.  
  18992.  
  18993. #define IIPDVDec_QueryInterface(This,riid,ppvObject)    \
  18994.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18995.  
  18996. #define IIPDVDec_AddRef(This)    \
  18997.     (This)->lpVtbl -> AddRef(This)
  18998.  
  18999. #define IIPDVDec_Release(This)    \
  19000.     (This)->lpVtbl -> Release(This)
  19001.  
  19002.  
  19003. #define IIPDVDec_get_IPDisplay(This,displayPix)    \
  19004.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  19005.  
  19006. #define IIPDVDec_put_IPDisplay(This,displayPix)    \
  19007.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  19008.  
  19009. #endif /* COBJMACROS */
  19010.  
  19011.  
  19012. #endif     /* C style interface */
  19013.  
  19014.  
  19015.  
  19016. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  19017.     IIPDVDec * This,
  19018.     /* [out] */ int *displayPix);
  19019.  
  19020.  
  19021. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  19022.     IRpcStubBuffer *This,
  19023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19024.     PRPC_MESSAGE _pRpcMessage,
  19025.     DWORD *_pdwStubPhase);
  19026.  
  19027.  
  19028. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  19029.     IIPDVDec * This,
  19030.     /* [in] */ int displayPix);
  19031.  
  19032.  
  19033. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  19034.     IRpcStubBuffer *This,
  19035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19036.     PRPC_MESSAGE _pRpcMessage,
  19037.     DWORD *_pdwStubPhase);
  19038.  
  19039.  
  19040.  
  19041. #endif     /* __IIPDVDec_INTERFACE_DEFINED__ */
  19042.  
  19043.  
  19044. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  19045. #define __IDVRGB219_INTERFACE_DEFINED__
  19046.  
  19047. /* interface IDVRGB219 */
  19048. /* [unique][uuid][object] */ 
  19049.  
  19050.  
  19051. EXTERN_C const IID IID_IDVRGB219;
  19052.  
  19053. #if defined(__cplusplus) && !defined(CINTERFACE)
  19054.     
  19055.     MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  19056.     IDVRGB219 : public IUnknown
  19057.     {
  19058.     public:
  19059.         virtual HRESULT STDMETHODCALLTYPE SetRGB219( 
  19060.             /* [in] */ BOOL bState) = 0;
  19061.         
  19062.     };
  19063.     
  19064. #else     /* C style interface */
  19065.  
  19066.     typedef struct IDVRGB219Vtbl
  19067.     {
  19068.         BEGIN_INTERFACE
  19069.         
  19070.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19071.             IDVRGB219 * This,
  19072.             /* [in] */ REFIID riid,
  19073.             /* [iid_is][out] */ void **ppvObject);
  19074.         
  19075.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19076.             IDVRGB219 * This);
  19077.         
  19078.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19079.             IDVRGB219 * This);
  19080.         
  19081.         HRESULT ( STDMETHODCALLTYPE *SetRGB219 )( 
  19082.             IDVRGB219 * This,
  19083.             /* [in] */ BOOL bState);
  19084.         
  19085.         END_INTERFACE
  19086.     } IDVRGB219Vtbl;
  19087.  
  19088.     interface IDVRGB219
  19089.     {
  19090.         CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  19091.     };
  19092.  
  19093.     
  19094.  
  19095. #ifdef COBJMACROS
  19096.  
  19097.  
  19098. #define IDVRGB219_QueryInterface(This,riid,ppvObject)    \
  19099.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19100.  
  19101. #define IDVRGB219_AddRef(This)    \
  19102.     (This)->lpVtbl -> AddRef(This)
  19103.  
  19104. #define IDVRGB219_Release(This)    \
  19105.     (This)->lpVtbl -> Release(This)
  19106.  
  19107.  
  19108. #define IDVRGB219_SetRGB219(This,bState)    \
  19109.     (This)->lpVtbl -> SetRGB219(This,bState)
  19110.  
  19111. #endif /* COBJMACROS */
  19112.  
  19113.  
  19114. #endif     /* C style interface */
  19115.  
  19116.  
  19117.  
  19118. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy( 
  19119.     IDVRGB219 * This,
  19120.     /* [in] */ BOOL bState);
  19121.  
  19122.  
  19123. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  19124.     IRpcStubBuffer *This,
  19125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19126.     PRPC_MESSAGE _pRpcMessage,
  19127.     DWORD *_pdwStubPhase);
  19128.  
  19129.  
  19130.  
  19131. #endif     /* __IDVRGB219_INTERFACE_DEFINED__ */
  19132.  
  19133.  
  19134. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  19135. #define __IDVSplitter_INTERFACE_DEFINED__
  19136.  
  19137. /* interface IDVSplitter */
  19138. /* [uuid][object] */ 
  19139.  
  19140.  
  19141. EXTERN_C const IID IID_IDVSplitter;
  19142.  
  19143. #if defined(__cplusplus) && !defined(CINTERFACE)
  19144.     
  19145.     MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  19146.     IDVSplitter : public IUnknown
  19147.     {
  19148.     public:
  19149.         virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames( 
  19150.             /* [in] */ int nDiscard) = 0;
  19151.         
  19152.     };
  19153.     
  19154. #else     /* C style interface */
  19155.  
  19156.     typedef struct IDVSplitterVtbl
  19157.     {
  19158.         BEGIN_INTERFACE
  19159.         
  19160.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19161.             IDVSplitter * This,
  19162.             /* [in] */ REFIID riid,
  19163.             /* [iid_is][out] */ void **ppvObject);
  19164.         
  19165.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19166.             IDVSplitter * This);
  19167.         
  19168.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19169.             IDVSplitter * This);
  19170.         
  19171.         HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )( 
  19172.             IDVSplitter * This,
  19173.             /* [in] */ int nDiscard);
  19174.         
  19175.         END_INTERFACE
  19176.     } IDVSplitterVtbl;
  19177.  
  19178.     interface IDVSplitter
  19179.     {
  19180.         CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  19181.     };
  19182.  
  19183.     
  19184.  
  19185. #ifdef COBJMACROS
  19186.  
  19187.  
  19188. #define IDVSplitter_QueryInterface(This,riid,ppvObject)    \
  19189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19190.  
  19191. #define IDVSplitter_AddRef(This)    \
  19192.     (This)->lpVtbl -> AddRef(This)
  19193.  
  19194. #define IDVSplitter_Release(This)    \
  19195.     (This)->lpVtbl -> Release(This)
  19196.  
  19197.  
  19198. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)    \
  19199.     (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  19200.  
  19201. #endif /* COBJMACROS */
  19202.  
  19203.  
  19204. #endif     /* C style interface */
  19205.  
  19206.  
  19207.  
  19208. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy( 
  19209.     IDVSplitter * This,
  19210.     /* [in] */ int nDiscard);
  19211.  
  19212.  
  19213. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  19214.     IRpcStubBuffer *This,
  19215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19216.     PRPC_MESSAGE _pRpcMessage,
  19217.     DWORD *_pdwStubPhase);
  19218.  
  19219.  
  19220.  
  19221. #endif     /* __IDVSplitter_INTERFACE_DEFINED__ */
  19222.  
  19223.  
  19224. /* interface __MIDL_itf_strmif_0350 */
  19225. /* [local] */ 
  19226.  
  19227.  
  19228. enum _AM_AUDIO_RENDERER_STAT_PARAM
  19229.     {    AM_AUDREND_STAT_PARAM_BREAK_COUNT    = 1,
  19230.     AM_AUDREND_STAT_PARAM_SLAVE_MODE    = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  19231.     AM_AUDREND_STAT_PARAM_SILENCE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  19232.     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR    = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  19233.     AM_AUDREND_STAT_PARAM_DISCONTINUITIES    = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  19234.     AM_AUDREND_STAT_PARAM_SLAVE_RATE    = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  19235.     AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  19236.     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  19237.     AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  19238.     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR    = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  19239.     AM_AUDREND_STAT_PARAM_BUFFERFULLNESS    = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  19240.     AM_AUDREND_STAT_PARAM_JITTER    = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  19241.     } ;
  19242.  
  19243.  
  19244. extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_c_ifspec;
  19245. extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_s_ifspec;
  19246.  
  19247. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  19248. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  19249.  
  19250. /* interface IAMAudioRendererStats */
  19251. /* [unique][uuid][object] */ 
  19252.  
  19253.  
  19254. EXTERN_C const IID IID_IAMAudioRendererStats;
  19255.  
  19256. #if defined(__cplusplus) && !defined(CINTERFACE)
  19257.     
  19258.     MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  19259.     IAMAudioRendererStats : public IUnknown
  19260.     {
  19261.     public:
  19262.         virtual HRESULT STDMETHODCALLTYPE GetStatParam( 
  19263.             /* [in] */ DWORD dwParam,
  19264.             /* [out] */ DWORD *pdwParam1,
  19265.             /* [out] */ DWORD *pdwParam2) = 0;
  19266.         
  19267.     };
  19268.     
  19269. #else     /* C style interface */
  19270.  
  19271.     typedef struct IAMAudioRendererStatsVtbl
  19272.     {
  19273.         BEGIN_INTERFACE
  19274.         
  19275.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19276.             IAMAudioRendererStats * This,
  19277.             /* [in] */ REFIID riid,
  19278.             /* [iid_is][out] */ void **ppvObject);
  19279.         
  19280.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19281.             IAMAudioRendererStats * This);
  19282.         
  19283.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19284.             IAMAudioRendererStats * This);
  19285.         
  19286.         HRESULT ( STDMETHODCALLTYPE *GetStatParam )( 
  19287.             IAMAudioRendererStats * This,
  19288.             /* [in] */ DWORD dwParam,
  19289.             /* [out] */ DWORD *pdwParam1,
  19290.             /* [out] */ DWORD *pdwParam2);
  19291.         
  19292.         END_INTERFACE
  19293.     } IAMAudioRendererStatsVtbl;
  19294.  
  19295.     interface IAMAudioRendererStats
  19296.     {
  19297.         CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  19298.     };
  19299.  
  19300.     
  19301.  
  19302. #ifdef COBJMACROS
  19303.  
  19304.  
  19305. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)    \
  19306.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19307.  
  19308. #define IAMAudioRendererStats_AddRef(This)    \
  19309.     (This)->lpVtbl -> AddRef(This)
  19310.  
  19311. #define IAMAudioRendererStats_Release(This)    \
  19312.     (This)->lpVtbl -> Release(This)
  19313.  
  19314.  
  19315. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)    \
  19316.     (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  19317.  
  19318. #endif /* COBJMACROS */
  19319.  
  19320.  
  19321. #endif     /* C style interface */
  19322.  
  19323.  
  19324.  
  19325. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy( 
  19326.     IAMAudioRendererStats * This,
  19327.     /* [in] */ DWORD dwParam,
  19328.     /* [out] */ DWORD *pdwParam1,
  19329.     /* [out] */ DWORD *pdwParam2);
  19330.  
  19331.  
  19332. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  19333.     IRpcStubBuffer *This,
  19334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19335.     PRPC_MESSAGE _pRpcMessage,
  19336.     DWORD *_pdwStubPhase);
  19337.  
  19338.  
  19339.  
  19340. #endif     /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  19341.  
  19342.  
  19343. /* interface __MIDL_itf_strmif_0352 */
  19344. /* [local] */ 
  19345.  
  19346.  
  19347. enum _AM_INTF_SEARCH_FLAGS
  19348.     {    AM_INTF_SEARCH_INPUT_PIN    = 0x1,
  19349.     AM_INTF_SEARCH_OUTPUT_PIN    = 0x2,
  19350.     AM_INTF_SEARCH_FILTER    = 0x4
  19351.     } ;
  19352.  
  19353.  
  19354. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;
  19355. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
  19356.  
  19357. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  19358. #define __IAMGraphStreams_INTERFACE_DEFINED__
  19359.  
  19360. /* interface IAMGraphStreams */
  19361. /* [unique][uuid][object] */ 
  19362.  
  19363.  
  19364. EXTERN_C const IID IID_IAMGraphStreams;
  19365.  
  19366. #if defined(__cplusplus) && !defined(CINTERFACE)
  19367.     
  19368.     MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  19369.     IAMGraphStreams : public IUnknown
  19370.     {
  19371.     public:
  19372.         virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface( 
  19373.             /* [in] */ IPin *pPin,
  19374.             /* [in] */ REFIID riid,
  19375.             /* [iid_is][out] */ void **ppvInterface,
  19376.             /* [in] */ DWORD dwFlags) = 0;
  19377.         
  19378.         virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset( 
  19379.             /* [in] */ BOOL bUseStreamOffset) = 0;
  19380.         
  19381.         virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency( 
  19382.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  19383.         
  19384.     };
  19385.     
  19386. #else     /* C style interface */
  19387.  
  19388.     typedef struct IAMGraphStreamsVtbl
  19389.     {
  19390.         BEGIN_INTERFACE
  19391.         
  19392.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19393.             IAMGraphStreams * This,
  19394.             /* [in] */ REFIID riid,
  19395.             /* [iid_is][out] */ void **ppvObject);
  19396.         
  19397.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19398.             IAMGraphStreams * This);
  19399.         
  19400.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19401.             IAMGraphStreams * This);
  19402.         
  19403.         HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )( 
  19404.             IAMGraphStreams * This,
  19405.             /* [in] */ IPin *pPin,
  19406.             /* [in] */ REFIID riid,
  19407.             /* [iid_is][out] */ void **ppvInterface,
  19408.             /* [in] */ DWORD dwFlags);
  19409.         
  19410.         HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )( 
  19411.             IAMGraphStreams * This,
  19412.             /* [in] */ BOOL bUseStreamOffset);
  19413.         
  19414.         HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )( 
  19415.             IAMGraphStreams * This,
  19416.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19417.         
  19418.         END_INTERFACE
  19419.     } IAMGraphStreamsVtbl;
  19420.  
  19421.     interface IAMGraphStreams
  19422.     {
  19423.         CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  19424.     };
  19425.  
  19426.     
  19427.  
  19428. #ifdef COBJMACROS
  19429.  
  19430.  
  19431. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject)    \
  19432.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19433.  
  19434. #define IAMGraphStreams_AddRef(This)    \
  19435.     (This)->lpVtbl -> AddRef(This)
  19436.  
  19437. #define IAMGraphStreams_Release(This)    \
  19438.     (This)->lpVtbl -> Release(This)
  19439.  
  19440.  
  19441. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)    \
  19442.     (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  19443.  
  19444. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)    \
  19445.     (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  19446.  
  19447. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)    \
  19448.     (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  19449.  
  19450. #endif /* COBJMACROS */
  19451.  
  19452.  
  19453. #endif     /* C style interface */
  19454.  
  19455.  
  19456.  
  19457. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy( 
  19458.     IAMGraphStreams * This,
  19459.     /* [in] */ IPin *pPin,
  19460.     /* [in] */ REFIID riid,
  19461.     /* [iid_is][out] */ void **ppvInterface,
  19462.     /* [in] */ DWORD dwFlags);
  19463.  
  19464.  
  19465. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  19466.     IRpcStubBuffer *This,
  19467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19468.     PRPC_MESSAGE _pRpcMessage,
  19469.     DWORD *_pdwStubPhase);
  19470.  
  19471.  
  19472. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy( 
  19473.     IAMGraphStreams * This,
  19474.     /* [in] */ BOOL bUseStreamOffset);
  19475.  
  19476.  
  19477. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  19478.     IRpcStubBuffer *This,
  19479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19480.     PRPC_MESSAGE _pRpcMessage,
  19481.     DWORD *_pdwStubPhase);
  19482.  
  19483.  
  19484. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy( 
  19485.     IAMGraphStreams * This,
  19486.     /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19487.  
  19488.  
  19489. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  19490.     IRpcStubBuffer *This,
  19491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19492.     PRPC_MESSAGE _pRpcMessage,
  19493.     DWORD *_pdwStubPhase);
  19494.  
  19495.  
  19496.  
  19497. #endif     /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  19498.  
  19499.  
  19500. /* interface __MIDL_itf_strmif_0353 */
  19501. /* [local] */ 
  19502.  
  19503.  
  19504. enum AMOVERLAYFX
  19505.     {    AMOVERFX_NOFX    = 0,
  19506.     AMOVERFX_MIRRORLEFTRIGHT    = 0x2,
  19507.     AMOVERFX_MIRRORUPDOWN    = 0x4,
  19508.     AMOVERFX_DEINTERLACE    = 0x8
  19509.     } ;
  19510.  
  19511.  
  19512. extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_c_ifspec;
  19513. extern RPC_IF_HANDLE __MIDL_itf_strmif_0353_v0_0_s_ifspec;
  19514.  
  19515. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  19516. #define __IAMOverlayFX_INTERFACE_DEFINED__
  19517.  
  19518. /* interface IAMOverlayFX */
  19519. /* [unique][uuid][object] */ 
  19520.  
  19521.  
  19522. EXTERN_C const IID IID_IAMOverlayFX;
  19523.  
  19524. #if defined(__cplusplus) && !defined(CINTERFACE)
  19525.     
  19526.     MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  19527.     IAMOverlayFX : public IUnknown
  19528.     {
  19529.     public:
  19530.         virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps( 
  19531.             /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  19532.         
  19533.         virtual HRESULT STDMETHODCALLTYPE SetOverlayFX( 
  19534.             /* [in] */ DWORD dwOverlayFX) = 0;
  19535.         
  19536.         virtual HRESULT STDMETHODCALLTYPE GetOverlayFX( 
  19537.             /* [out] */ DWORD *lpdwOverlayFX) = 0;
  19538.         
  19539.     };
  19540.     
  19541. #else     /* C style interface */
  19542.  
  19543.     typedef struct IAMOverlayFXVtbl
  19544.     {
  19545.         BEGIN_INTERFACE
  19546.         
  19547.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19548.             IAMOverlayFX * This,
  19549.             /* [in] */ REFIID riid,
  19550.             /* [iid_is][out] */ void **ppvObject);
  19551.         
  19552.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19553.             IAMOverlayFX * This);
  19554.         
  19555.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19556.             IAMOverlayFX * This);
  19557.         
  19558.         HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )( 
  19559.             IAMOverlayFX * This,
  19560.             /* [out] */ DWORD *lpdwOverlayFXCaps);
  19561.         
  19562.         HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )( 
  19563.             IAMOverlayFX * This,
  19564.             /* [in] */ DWORD dwOverlayFX);
  19565.         
  19566.         HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )( 
  19567.             IAMOverlayFX * This,
  19568.             /* [out] */ DWORD *lpdwOverlayFX);
  19569.         
  19570.         END_INTERFACE
  19571.     } IAMOverlayFXVtbl;
  19572.  
  19573.     interface IAMOverlayFX
  19574.     {
  19575.         CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  19576.     };
  19577.  
  19578.     
  19579.  
  19580. #ifdef COBJMACROS
  19581.  
  19582.  
  19583. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject)    \
  19584.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19585.  
  19586. #define IAMOverlayFX_AddRef(This)    \
  19587.     (This)->lpVtbl -> AddRef(This)
  19588.  
  19589. #define IAMOverlayFX_Release(This)    \
  19590.     (This)->lpVtbl -> Release(This)
  19591.  
  19592.  
  19593. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)    \
  19594.     (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  19595.  
  19596. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)    \
  19597.     (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  19598.  
  19599. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)    \
  19600.     (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  19601.  
  19602. #endif /* COBJMACROS */
  19603.  
  19604.  
  19605. #endif     /* C style interface */
  19606.  
  19607.  
  19608.  
  19609. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy( 
  19610.     IAMOverlayFX * This,
  19611.     /* [out] */ DWORD *lpdwOverlayFXCaps);
  19612.  
  19613.  
  19614. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  19615.     IRpcStubBuffer *This,
  19616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19617.     PRPC_MESSAGE _pRpcMessage,
  19618.     DWORD *_pdwStubPhase);
  19619.  
  19620.  
  19621. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy( 
  19622.     IAMOverlayFX * This,
  19623.     /* [in] */ DWORD dwOverlayFX);
  19624.  
  19625.  
  19626. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  19627.     IRpcStubBuffer *This,
  19628.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19629.     PRPC_MESSAGE _pRpcMessage,
  19630.     DWORD *_pdwStubPhase);
  19631.  
  19632.  
  19633. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy( 
  19634.     IAMOverlayFX * This,
  19635.     /* [out] */ DWORD *lpdwOverlayFX);
  19636.  
  19637.  
  19638. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  19639.     IRpcStubBuffer *This,
  19640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19641.     PRPC_MESSAGE _pRpcMessage,
  19642.     DWORD *_pdwStubPhase);
  19643.  
  19644.  
  19645.  
  19646. #endif     /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  19647.  
  19648.  
  19649. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  19650. #define __IAMOpenProgress_INTERFACE_DEFINED__
  19651.  
  19652. /* interface IAMOpenProgress */
  19653. /* [unique][uuid][object] */ 
  19654.  
  19655.  
  19656. EXTERN_C const IID IID_IAMOpenProgress;
  19657.  
  19658. #if defined(__cplusplus) && !defined(CINTERFACE)
  19659.     
  19660.     MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  19661.     IAMOpenProgress : public IUnknown
  19662.     {
  19663.     public:
  19664.         virtual HRESULT STDMETHODCALLTYPE QueryProgress( 
  19665.             /* [out] */ LONGLONG *pllTotal,
  19666.             /* [out] */ LONGLONG *pllCurrent) = 0;
  19667.         
  19668.         virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  19669.         
  19670.     };
  19671.     
  19672. #else     /* C style interface */
  19673.  
  19674.     typedef struct IAMOpenProgressVtbl
  19675.     {
  19676.         BEGIN_INTERFACE
  19677.         
  19678.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19679.             IAMOpenProgress * This,
  19680.             /* [in] */ REFIID riid,
  19681.             /* [iid_is][out] */ void **ppvObject);
  19682.         
  19683.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19684.             IAMOpenProgress * This);
  19685.         
  19686.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19687.             IAMOpenProgress * This);
  19688.         
  19689.         HRESULT ( STDMETHODCALLTYPE *QueryProgress )( 
  19690.             IAMOpenProgress * This,
  19691.             /* [out] */ LONGLONG *pllTotal,
  19692.             /* [out] */ LONGLONG *pllCurrent);
  19693.         
  19694.         HRESULT ( STDMETHODCALLTYPE *AbortOperation )( 
  19695.             IAMOpenProgress * This);
  19696.         
  19697.         END_INTERFACE
  19698.     } IAMOpenProgressVtbl;
  19699.  
  19700.     interface IAMOpenProgress
  19701.     {
  19702.         CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  19703.     };
  19704.  
  19705.     
  19706.  
  19707. #ifdef COBJMACROS
  19708.  
  19709.  
  19710. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject)    \
  19711.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19712.  
  19713. #define IAMOpenProgress_AddRef(This)    \
  19714.     (This)->lpVtbl -> AddRef(This)
  19715.  
  19716. #define IAMOpenProgress_Release(This)    \
  19717.     (This)->lpVtbl -> Release(This)
  19718.  
  19719.  
  19720. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)    \
  19721.     (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  19722.  
  19723. #define IAMOpenProgress_AbortOperation(This)    \
  19724.     (This)->lpVtbl -> AbortOperation(This)
  19725.  
  19726. #endif /* COBJMACROS */
  19727.  
  19728.  
  19729. #endif     /* C style interface */
  19730.  
  19731.  
  19732.  
  19733. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy( 
  19734.     IAMOpenProgress * This,
  19735.     /* [out] */ LONGLONG *pllTotal,
  19736.     /* [out] */ LONGLONG *pllCurrent);
  19737.  
  19738.  
  19739. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  19740.     IRpcStubBuffer *This,
  19741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19742.     PRPC_MESSAGE _pRpcMessage,
  19743.     DWORD *_pdwStubPhase);
  19744.  
  19745.  
  19746. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy( 
  19747.     IAMOpenProgress * This);
  19748.  
  19749.  
  19750. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  19751.     IRpcStubBuffer *This,
  19752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19753.     PRPC_MESSAGE _pRpcMessage,
  19754.     DWORD *_pdwStubPhase);
  19755.  
  19756.  
  19757.  
  19758. #endif     /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  19759.  
  19760.  
  19761. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19762. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19763.  
  19764. /* interface IMpeg2Demultiplexer */
  19765. /* [unique][uuid][local][object] */ 
  19766.  
  19767.  
  19768. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  19769.  
  19770. #if defined(__cplusplus) && !defined(CINTERFACE)
  19771.     
  19772.     MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  19773.     IMpeg2Demultiplexer : public IUnknown
  19774.     {
  19775.     public:
  19776.         virtual HRESULT STDMETHODCALLTYPE CreateOutputPin( 
  19777.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19778.             /* [in] */ LPWSTR pszPinName,
  19779.             /* [out] */ IPin **ppIPin) = 0;
  19780.         
  19781.         virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType( 
  19782.             /* [in] */ LPWSTR pszPinName,
  19783.             /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  19784.         
  19785.         virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin( 
  19786.             /* [in] */ LPWSTR pszPinName) = 0;
  19787.         
  19788.     };
  19789.     
  19790. #else     /* C style interface */
  19791.  
  19792.     typedef struct IMpeg2DemultiplexerVtbl
  19793.     {
  19794.         BEGIN_INTERFACE
  19795.         
  19796.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19797.             IMpeg2Demultiplexer * This,
  19798.             /* [in] */ REFIID riid,
  19799.             /* [iid_is][out] */ void **ppvObject);
  19800.         
  19801.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19802.             IMpeg2Demultiplexer * This);
  19803.         
  19804.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19805.             IMpeg2Demultiplexer * This);
  19806.         
  19807.         HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )( 
  19808.             IMpeg2Demultiplexer * This,
  19809.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19810.             /* [in] */ LPWSTR pszPinName,
  19811.             /* [out] */ IPin **ppIPin);
  19812.         
  19813.         HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )( 
  19814.             IMpeg2Demultiplexer * This,
  19815.             /* [in] */ LPWSTR pszPinName,
  19816.             /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19817.         
  19818.         HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )( 
  19819.             IMpeg2Demultiplexer * This,
  19820.             /* [in] */ LPWSTR pszPinName);
  19821.         
  19822.         END_INTERFACE
  19823.     } IMpeg2DemultiplexerVtbl;
  19824.  
  19825.     interface IMpeg2Demultiplexer
  19826.     {
  19827.         CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  19828.     };
  19829.  
  19830.     
  19831.  
  19832. #ifdef COBJMACROS
  19833.  
  19834.  
  19835. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)    \
  19836.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19837.  
  19838. #define IMpeg2Demultiplexer_AddRef(This)    \
  19839.     (This)->lpVtbl -> AddRef(This)
  19840.  
  19841. #define IMpeg2Demultiplexer_Release(This)    \
  19842.     (This)->lpVtbl -> Release(This)
  19843.  
  19844.  
  19845. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)    \
  19846.     (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  19847.  
  19848. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)    \
  19849.     (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  19850.  
  19851. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)    \
  19852.     (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  19853.  
  19854. #endif /* COBJMACROS */
  19855.  
  19856.  
  19857. #endif     /* C style interface */
  19858.  
  19859.  
  19860.  
  19861. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy( 
  19862.     IMpeg2Demultiplexer * This,
  19863.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19864.     /* [in] */ LPWSTR pszPinName,
  19865.     /* [out] */ IPin **ppIPin);
  19866.  
  19867.  
  19868. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  19869.     IRpcStubBuffer *This,
  19870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19871.     PRPC_MESSAGE _pRpcMessage,
  19872.     DWORD *_pdwStubPhase);
  19873.  
  19874.  
  19875. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy( 
  19876.     IMpeg2Demultiplexer * This,
  19877.     /* [in] */ LPWSTR pszPinName,
  19878.     /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19879.  
  19880.  
  19881. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  19882.     IRpcStubBuffer *This,
  19883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19884.     PRPC_MESSAGE _pRpcMessage,
  19885.     DWORD *_pdwStubPhase);
  19886.  
  19887.  
  19888. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy( 
  19889.     IMpeg2Demultiplexer * This,
  19890.     /* [in] */ LPWSTR pszPinName);
  19891.  
  19892.  
  19893. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  19894.     IRpcStubBuffer *This,
  19895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19896.     PRPC_MESSAGE _pRpcMessage,
  19897.     DWORD *_pdwStubPhase);
  19898.  
  19899.  
  19900.  
  19901. #endif     /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  19902.  
  19903.  
  19904. /* interface __MIDL_itf_strmif_0356 */
  19905. /* [local] */ 
  19906.  
  19907. #define MPEG2_PROGRAM_STREAM_MAP                 0x00000000
  19908. #define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001
  19909. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002
  19910. #define MPEG2_PROGRAM_PACK_HEADER                0x00000003
  19911. #define MPEG2_PROGRAM_PES_STREAM                 0x00000004
  19912. #define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005
  19913. #define SUBSTREAM_FILTER_VAL_NONE                0x10000000
  19914. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0356_0001
  19915.     {
  19916.     ULONG stream_id;
  19917.     DWORD dwMediaSampleContent;
  19918.     ULONG ulSubstreamFilterValue;
  19919.     int iDataOffset;
  19920.     }     STREAM_ID_MAP;
  19921.  
  19922.  
  19923.  
  19924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_c_ifspec;
  19925. extern RPC_IF_HANDLE __MIDL_itf_strmif_0356_v0_0_s_ifspec;
  19926.  
  19927. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  19928. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  19929.  
  19930. /* interface IEnumStreamIdMap */
  19931. /* [unique][uuid][local][object] */ 
  19932.  
  19933.  
  19934. EXTERN_C const IID IID_IEnumStreamIdMap;
  19935.  
  19936. #if defined(__cplusplus) && !defined(CINTERFACE)
  19937.     
  19938.     MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  19939.     IEnumStreamIdMap : public IUnknown
  19940.     {
  19941.     public:
  19942.         virtual HRESULT STDMETHODCALLTYPE Next( 
  19943.             /* [in] */ ULONG cRequest,
  19944.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19945.             /* [out] */ ULONG *pcReceived) = 0;
  19946.         
  19947.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  19948.             /* [in] */ ULONG cRecords) = 0;
  19949.         
  19950.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  19951.         
  19952.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  19953.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  19954.         
  19955.     };
  19956.     
  19957. #else     /* C style interface */
  19958.  
  19959.     typedef struct IEnumStreamIdMapVtbl
  19960.     {
  19961.         BEGIN_INTERFACE
  19962.         
  19963.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19964.             IEnumStreamIdMap * This,
  19965.             /* [in] */ REFIID riid,
  19966.             /* [iid_is][out] */ void **ppvObject);
  19967.         
  19968.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19969.             IEnumStreamIdMap * This);
  19970.         
  19971.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19972.             IEnumStreamIdMap * This);
  19973.         
  19974.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  19975.             IEnumStreamIdMap * This,
  19976.             /* [in] */ ULONG cRequest,
  19977.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19978.             /* [out] */ ULONG *pcReceived);
  19979.         
  19980.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  19981.             IEnumStreamIdMap * This,
  19982.             /* [in] */ ULONG cRecords);
  19983.         
  19984.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  19985.             IEnumStreamIdMap * This);
  19986.         
  19987.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  19988.             IEnumStreamIdMap * This,
  19989.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19990.         
  19991.         END_INTERFACE
  19992.     } IEnumStreamIdMapVtbl;
  19993.  
  19994.     interface IEnumStreamIdMap
  19995.     {
  19996.         CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  19997.     };
  19998.  
  19999.     
  20000.  
  20001. #ifdef COBJMACROS
  20002.  
  20003.  
  20004. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)    \
  20005.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20006.  
  20007. #define IEnumStreamIdMap_AddRef(This)    \
  20008.     (This)->lpVtbl -> AddRef(This)
  20009.  
  20010. #define IEnumStreamIdMap_Release(This)    \
  20011.     (This)->lpVtbl -> Release(This)
  20012.  
  20013.  
  20014. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)    \
  20015.     (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  20016.  
  20017. #define IEnumStreamIdMap_Skip(This,cRecords)    \
  20018.     (This)->lpVtbl -> Skip(This,cRecords)
  20019.  
  20020. #define IEnumStreamIdMap_Reset(This)    \
  20021.     (This)->lpVtbl -> Reset(This)
  20022.  
  20023. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)    \
  20024.     (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  20025.  
  20026. #endif /* COBJMACROS */
  20027.  
  20028.  
  20029. #endif     /* C style interface */
  20030.  
  20031.  
  20032.  
  20033. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy( 
  20034.     IEnumStreamIdMap * This,
  20035.     /* [in] */ ULONG cRequest,
  20036.     /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  20037.     /* [out] */ ULONG *pcReceived);
  20038.  
  20039.  
  20040. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  20041.     IRpcStubBuffer *This,
  20042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20043.     PRPC_MESSAGE _pRpcMessage,
  20044.     DWORD *_pdwStubPhase);
  20045.  
  20046.  
  20047. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy( 
  20048.     IEnumStreamIdMap * This,
  20049.     /* [in] */ ULONG cRecords);
  20050.  
  20051.  
  20052. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  20053.     IRpcStubBuffer *This,
  20054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20055.     PRPC_MESSAGE _pRpcMessage,
  20056.     DWORD *_pdwStubPhase);
  20057.  
  20058.  
  20059. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy( 
  20060.     IEnumStreamIdMap * This);
  20061.  
  20062.  
  20063. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  20064.     IRpcStubBuffer *This,
  20065.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20066.     PRPC_MESSAGE _pRpcMessage,
  20067.     DWORD *_pdwStubPhase);
  20068.  
  20069.  
  20070. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy( 
  20071.     IEnumStreamIdMap * This,
  20072.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20073.  
  20074.  
  20075. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  20076.     IRpcStubBuffer *This,
  20077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20078.     PRPC_MESSAGE _pRpcMessage,
  20079.     DWORD *_pdwStubPhase);
  20080.  
  20081.  
  20082.  
  20083. #endif     /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  20084.  
  20085.  
  20086. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20087. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20088.  
  20089. /* interface IMPEG2StreamIdMap */
  20090. /* [unique][uuid][local][object] */ 
  20091.  
  20092.  
  20093. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  20094.  
  20095. #if defined(__cplusplus) && !defined(CINTERFACE)
  20096.     
  20097.     MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  20098.     IMPEG2StreamIdMap : public IUnknown
  20099.     {
  20100.     public:
  20101.         virtual HRESULT STDMETHODCALLTYPE MapStreamId( 
  20102.             /* [in] */ ULONG ulStreamId,
  20103.             /* [in] */ DWORD MediaSampleContent,
  20104.             /* [in] */ ULONG ulSubstreamFilterValue,
  20105.             /* [in] */ int iDataOffset) = 0;
  20106.         
  20107.         virtual HRESULT STDMETHODCALLTYPE UnmapStreamId( 
  20108.             /* [in] */ ULONG culStreamId,
  20109.             /* [in] */ ULONG *pulStreamId) = 0;
  20110.         
  20111.         virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap( 
  20112.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  20113.         
  20114.     };
  20115.     
  20116. #else     /* C style interface */
  20117.  
  20118.     typedef struct IMPEG2StreamIdMapVtbl
  20119.     {
  20120.         BEGIN_INTERFACE
  20121.         
  20122.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20123.             IMPEG2StreamIdMap * This,
  20124.             /* [in] */ REFIID riid,
  20125.             /* [iid_is][out] */ void **ppvObject);
  20126.         
  20127.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20128.             IMPEG2StreamIdMap * This);
  20129.         
  20130.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20131.             IMPEG2StreamIdMap * This);
  20132.         
  20133.         HRESULT ( STDMETHODCALLTYPE *MapStreamId )( 
  20134.             IMPEG2StreamIdMap * This,
  20135.             /* [in] */ ULONG ulStreamId,
  20136.             /* [in] */ DWORD MediaSampleContent,
  20137.             /* [in] */ ULONG ulSubstreamFilterValue,
  20138.             /* [in] */ int iDataOffset);
  20139.         
  20140.         HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )( 
  20141.             IMPEG2StreamIdMap * This,
  20142.             /* [in] */ ULONG culStreamId,
  20143.             /* [in] */ ULONG *pulStreamId);
  20144.         
  20145.         HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )( 
  20146.             IMPEG2StreamIdMap * This,
  20147.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20148.         
  20149.         END_INTERFACE
  20150.     } IMPEG2StreamIdMapVtbl;
  20151.  
  20152.     interface IMPEG2StreamIdMap
  20153.     {
  20154.         CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  20155.     };
  20156.  
  20157.     
  20158.  
  20159. #ifdef COBJMACROS
  20160.  
  20161.  
  20162. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)    \
  20163.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20164.  
  20165. #define IMPEG2StreamIdMap_AddRef(This)    \
  20166.     (This)->lpVtbl -> AddRef(This)
  20167.  
  20168. #define IMPEG2StreamIdMap_Release(This)    \
  20169.     (This)->lpVtbl -> Release(This)
  20170.  
  20171.  
  20172. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)    \
  20173.     (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  20174.  
  20175. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)    \
  20176.     (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  20177.  
  20178. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)    \
  20179.     (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  20180.  
  20181. #endif /* COBJMACROS */
  20182.  
  20183.  
  20184. #endif     /* C style interface */
  20185.  
  20186.  
  20187.  
  20188. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy( 
  20189.     IMPEG2StreamIdMap * This,
  20190.     /* [in] */ ULONG ulStreamId,
  20191.     /* [in] */ DWORD MediaSampleContent,
  20192.     /* [in] */ ULONG ulSubstreamFilterValue,
  20193.     /* [in] */ int iDataOffset);
  20194.  
  20195.  
  20196. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  20197.     IRpcStubBuffer *This,
  20198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20199.     PRPC_MESSAGE _pRpcMessage,
  20200.     DWORD *_pdwStubPhase);
  20201.  
  20202.  
  20203. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy( 
  20204.     IMPEG2StreamIdMap * This,
  20205.     /* [in] */ ULONG culStreamId,
  20206.     /* [in] */ ULONG *pulStreamId);
  20207.  
  20208.  
  20209. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  20210.     IRpcStubBuffer *This,
  20211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20212.     PRPC_MESSAGE _pRpcMessage,
  20213.     DWORD *_pdwStubPhase);
  20214.  
  20215.  
  20216. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy( 
  20217.     IMPEG2StreamIdMap * This,
  20218.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20219.  
  20220.  
  20221. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  20222.     IRpcStubBuffer *This,
  20223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20224.     PRPC_MESSAGE _pRpcMessage,
  20225.     DWORD *_pdwStubPhase);
  20226.  
  20227.  
  20228.  
  20229. #endif     /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  20230.  
  20231.  
  20232. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  20233. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  20234.  
  20235. /* interface IRegisterServiceProvider */
  20236. /* [unique][uuid][local][object] */ 
  20237.  
  20238.  
  20239. EXTERN_C const IID IID_IRegisterServiceProvider;
  20240.  
  20241. #if defined(__cplusplus) && !defined(CINTERFACE)
  20242.     
  20243.     MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  20244.     IRegisterServiceProvider : public IUnknown
  20245.     {
  20246.     public:
  20247.         virtual HRESULT STDMETHODCALLTYPE RegisterService( 
  20248.             /* [in] */ REFGUID guidService,
  20249.             /* [in] */ IUnknown *pUnkObject) = 0;
  20250.         
  20251.     };
  20252.     
  20253. #else     /* C style interface */
  20254.  
  20255.     typedef struct IRegisterServiceProviderVtbl
  20256.     {
  20257.         BEGIN_INTERFACE
  20258.         
  20259.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20260.             IRegisterServiceProvider * This,
  20261.             /* [in] */ REFIID riid,
  20262.             /* [iid_is][out] */ void **ppvObject);
  20263.         
  20264.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20265.             IRegisterServiceProvider * This);
  20266.         
  20267.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20268.             IRegisterServiceProvider * This);
  20269.         
  20270.         HRESULT ( STDMETHODCALLTYPE *RegisterService )( 
  20271.             IRegisterServiceProvider * This,
  20272.             /* [in] */ REFGUID guidService,
  20273.             /* [in] */ IUnknown *pUnkObject);
  20274.         
  20275.         END_INTERFACE
  20276.     } IRegisterServiceProviderVtbl;
  20277.  
  20278.     interface IRegisterServiceProvider
  20279.     {
  20280.         CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  20281.     };
  20282.  
  20283.     
  20284.  
  20285. #ifdef COBJMACROS
  20286.  
  20287.  
  20288. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject)    \
  20289.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20290.  
  20291. #define IRegisterServiceProvider_AddRef(This)    \
  20292.     (This)->lpVtbl -> AddRef(This)
  20293.  
  20294. #define IRegisterServiceProvider_Release(This)    \
  20295.     (This)->lpVtbl -> Release(This)
  20296.  
  20297.  
  20298. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject)    \
  20299.     (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  20300.  
  20301. #endif /* COBJMACROS */
  20302.  
  20303.  
  20304. #endif     /* C style interface */
  20305.  
  20306.  
  20307.  
  20308. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy( 
  20309.     IRegisterServiceProvider * This,
  20310.     /* [in] */ REFGUID guidService,
  20311.     /* [in] */ IUnknown *pUnkObject);
  20312.  
  20313.  
  20314. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  20315.     IRpcStubBuffer *This,
  20316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20317.     PRPC_MESSAGE _pRpcMessage,
  20318.     DWORD *_pdwStubPhase);
  20319.  
  20320.  
  20321.  
  20322. #endif     /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  20323.  
  20324.  
  20325. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  20326. #define __IAMClockSlave_INTERFACE_DEFINED__
  20327.  
  20328. /* interface IAMClockSlave */
  20329. /* [unique][uuid][object] */ 
  20330.  
  20331.  
  20332. EXTERN_C const IID IID_IAMClockSlave;
  20333.  
  20334. #if defined(__cplusplus) && !defined(CINTERFACE)
  20335.     
  20336.     MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  20337.     IAMClockSlave : public IUnknown
  20338.     {
  20339.     public:
  20340.         virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 
  20341.             /* [in] */ DWORD dwTolerance) = 0;
  20342.         
  20343.         virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 
  20344.             /* [out] */ DWORD *pdwTolerance) = 0;
  20345.         
  20346.     };
  20347.     
  20348. #else     /* C style interface */
  20349.  
  20350.     typedef struct IAMClockSlaveVtbl
  20351.     {
  20352.         BEGIN_INTERFACE
  20353.         
  20354.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20355.             IAMClockSlave * This,
  20356.             /* [in] */ REFIID riid,
  20357.             /* [iid_is][out] */ void **ppvObject);
  20358.         
  20359.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20360.             IAMClockSlave * This);
  20361.         
  20362.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20363.             IAMClockSlave * This);
  20364.         
  20365.         HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )( 
  20366.             IAMClockSlave * This,
  20367.             /* [in] */ DWORD dwTolerance);
  20368.         
  20369.         HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )( 
  20370.             IAMClockSlave * This,
  20371.             /* [out] */ DWORD *pdwTolerance);
  20372.         
  20373.         END_INTERFACE
  20374.     } IAMClockSlaveVtbl;
  20375.  
  20376.     interface IAMClockSlave
  20377.     {
  20378.         CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  20379.     };
  20380.  
  20381.     
  20382.  
  20383. #ifdef COBJMACROS
  20384.  
  20385.  
  20386. #define IAMClockSlave_QueryInterface(This,riid,ppvObject)    \
  20387.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20388.  
  20389. #define IAMClockSlave_AddRef(This)    \
  20390.     (This)->lpVtbl -> AddRef(This)
  20391.  
  20392. #define IAMClockSlave_Release(This)    \
  20393.     (This)->lpVtbl -> Release(This)
  20394.  
  20395.  
  20396. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance)    \
  20397.     (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  20398.  
  20399. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance)    \
  20400.     (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  20401.  
  20402. #endif /* COBJMACROS */
  20403.  
  20404.  
  20405. #endif     /* C style interface */
  20406.  
  20407.  
  20408.  
  20409. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy( 
  20410.     IAMClockSlave * This,
  20411.     /* [in] */ DWORD dwTolerance);
  20412.  
  20413.  
  20414. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  20415.     IRpcStubBuffer *This,
  20416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20417.     PRPC_MESSAGE _pRpcMessage,
  20418.     DWORD *_pdwStubPhase);
  20419.  
  20420.  
  20421. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy( 
  20422.     IAMClockSlave * This,
  20423.     /* [out] */ DWORD *pdwTolerance);
  20424.  
  20425.  
  20426. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  20427.     IRpcStubBuffer *This,
  20428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20429.     PRPC_MESSAGE _pRpcMessage,
  20430.     DWORD *_pdwStubPhase);
  20431.  
  20432.  
  20433.  
  20434. #endif     /* __IAMClockSlave_INTERFACE_DEFINED__ */
  20435.  
  20436.  
  20437. #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  20438. #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  20439.  
  20440. /* interface IAMGraphBuilderCallback */
  20441. /* [unique][local][uuid][object] */ 
  20442.  
  20443.  
  20444. EXTERN_C const IID IID_IAMGraphBuilderCallback;
  20445.  
  20446. #if defined(__cplusplus) && !defined(CINTERFACE)
  20447.     
  20448.     MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
  20449.     IAMGraphBuilderCallback : public IUnknown
  20450.     {
  20451.     public:
  20452.         virtual HRESULT STDMETHODCALLTYPE SelectedFilter( 
  20453.             /* [in] */ IMoniker *pMon) = 0;
  20454.         
  20455.         virtual HRESULT STDMETHODCALLTYPE CreatedFilter( 
  20456.             /* [in] */ IBaseFilter *pFil) = 0;
  20457.         
  20458.     };
  20459.     
  20460. #else     /* C style interface */
  20461.  
  20462.     typedef struct IAMGraphBuilderCallbackVtbl
  20463.     {
  20464.         BEGIN_INTERFACE
  20465.         
  20466.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20467.             IAMGraphBuilderCallback * This,
  20468.             /* [in] */ REFIID riid,
  20469.             /* [iid_is][out] */ void **ppvObject);
  20470.         
  20471.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20472.             IAMGraphBuilderCallback * This);
  20473.         
  20474.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20475.             IAMGraphBuilderCallback * This);
  20476.         
  20477.         HRESULT ( STDMETHODCALLTYPE *SelectedFilter )( 
  20478.             IAMGraphBuilderCallback * This,
  20479.             /* [in] */ IMoniker *pMon);
  20480.         
  20481.         HRESULT ( STDMETHODCALLTYPE *CreatedFilter )( 
  20482.             IAMGraphBuilderCallback * This,
  20483.             /* [in] */ IBaseFilter *pFil);
  20484.         
  20485.         END_INTERFACE
  20486.     } IAMGraphBuilderCallbackVtbl;
  20487.  
  20488.     interface IAMGraphBuilderCallback
  20489.     {
  20490.         CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
  20491.     };
  20492.  
  20493.     
  20494.  
  20495. #ifdef COBJMACROS
  20496.  
  20497.  
  20498. #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject)    \
  20499.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20500.  
  20501. #define IAMGraphBuilderCallback_AddRef(This)    \
  20502.     (This)->lpVtbl -> AddRef(This)
  20503.  
  20504. #define IAMGraphBuilderCallback_Release(This)    \
  20505.     (This)->lpVtbl -> Release(This)
  20506.  
  20507.  
  20508. #define IAMGraphBuilderCallback_SelectedFilter(This,pMon)    \
  20509.     (This)->lpVtbl -> SelectedFilter(This,pMon)
  20510.  
  20511. #define IAMGraphBuilderCallback_CreatedFilter(This,pFil)    \
  20512.     (This)->lpVtbl -> CreatedFilter(This,pFil)
  20513.  
  20514. #endif /* COBJMACROS */
  20515.  
  20516.  
  20517. #endif     /* C style interface */
  20518.  
  20519.  
  20520.  
  20521. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy( 
  20522.     IAMGraphBuilderCallback * This,
  20523.     /* [in] */ IMoniker *pMon);
  20524.  
  20525.  
  20526. void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
  20527.     IRpcStubBuffer *This,
  20528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20529.     PRPC_MESSAGE _pRpcMessage,
  20530.     DWORD *_pdwStubPhase);
  20531.  
  20532.  
  20533. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy( 
  20534.     IAMGraphBuilderCallback * This,
  20535.     /* [in] */ IBaseFilter *pFil);
  20536.  
  20537.  
  20538. void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
  20539.     IRpcStubBuffer *This,
  20540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20541.     PRPC_MESSAGE _pRpcMessage,
  20542.     DWORD *_pdwStubPhase);
  20543.  
  20544.  
  20545.  
  20546. #endif     /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
  20547.  
  20548.  
  20549. /* interface __MIDL_itf_strmif_0361 */
  20550. /* [local] */ 
  20551.  
  20552. #ifdef __cplusplus
  20553. #ifndef _IAMFilterGraphCallback_
  20554. #define _IAMFilterGraphCallback_
  20555. // Note: Because this interface was not defined as a proper interface it is
  20556. //       supported under C++ only. Methods aren't stdcall.
  20557. EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  20558. interface IAMFilterGraphCallback : public IUnknown
  20559. {
  20560.     // S_OK means rendering complete, S_FALSE means retry now.
  20561.     virtual HRESULT UnableToRender(IPin *pPin) = 0;
  20562.  
  20563. };
  20564. #endif // _IAMFilterGraphCallback_
  20565. #endif
  20566. struct CodecAPIEventData
  20567.     {
  20568.     GUID guid;
  20569.     DWORD dataLength;
  20570.     DWORD reserved[ 3 ];
  20571.     } ;
  20572.  
  20573.  
  20574.  
  20575. extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
  20576. extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
  20577.  
  20578. #ifndef __ICodecAPI_INTERFACE_DEFINED__
  20579. #define __ICodecAPI_INTERFACE_DEFINED__
  20580.  
  20581. /* interface ICodecAPI */
  20582. /* [unique][uuid][object] */ 
  20583.  
  20584.  
  20585. EXTERN_C const IID IID_ICodecAPI;
  20586.  
  20587. #if defined(__cplusplus) && !defined(CINTERFACE)
  20588.     
  20589.     MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
  20590.     ICodecAPI : public IUnknown
  20591.     {
  20592.     public:
  20593.         virtual HRESULT STDMETHODCALLTYPE IsSupported( 
  20594.             /* [in] */ const GUID *Api) = 0;
  20595.         
  20596.         virtual HRESULT STDMETHODCALLTYPE IsModifiable( 
  20597.             /* [in] */ const GUID *Api) = 0;
  20598.         
  20599.         virtual HRESULT STDMETHODCALLTYPE GetParameterRange( 
  20600.             /* [in] */ const GUID *Api,
  20601.             /* [out] */ VARIANT *ValueMin,
  20602.             /* [out] */ VARIANT *ValueMax,
  20603.             /* [out] */ VARIANT *SteppingDelta) = 0;
  20604.         
  20605.         virtual HRESULT STDMETHODCALLTYPE GetParameterValues( 
  20606.             /* [in] */ const GUID *Api,
  20607.             /* [size_is][size_is][out] */ VARIANT **Values,
  20608.             /* [out] */ ULONG *ValuesCount) = 0;
  20609.         
  20610.         virtual HRESULT STDMETHODCALLTYPE GetDefaultValue( 
  20611.             /* [in] */ const GUID *Api,
  20612.             /* [out] */ VARIANT *Value) = 0;
  20613.         
  20614.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  20615.             /* [in] */ const GUID *Api,
  20616.             /* [out] */ VARIANT *Value) = 0;
  20617.         
  20618.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  20619.             /* [in] */ const GUID *Api,
  20620.             /* [in] */ VARIANT *Value) = 0;
  20621.         
  20622.         virtual HRESULT STDMETHODCALLTYPE RegisterForEvent( 
  20623.             /* [in] */ const GUID *Api,
  20624.             /* [in] */ LONG_PTR userData) = 0;
  20625.         
  20626.         virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent( 
  20627.             /* [in] */ const GUID *Api) = 0;
  20628.         
  20629.         virtual HRESULT STDMETHODCALLTYPE SetAllDefaults( void) = 0;
  20630.         
  20631.         virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify( 
  20632.             /* [in] */ const GUID *Api,
  20633.             /* [in] */ VARIANT *Value,
  20634.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20635.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20636.         
  20637.         virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify( 
  20638.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20639.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20640.         
  20641.         virtual HRESULT STDMETHODCALLTYPE GetAllSettings( 
  20642.             /* [in] */ IStream *__MIDL_0016) = 0;
  20643.         
  20644.         virtual HRESULT STDMETHODCALLTYPE SetAllSettings( 
  20645.             /* [in] */ IStream *__MIDL_0017) = 0;
  20646.         
  20647.         virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify( 
  20648.             IStream *__MIDL_0018,
  20649.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20650.             /* [out] */ ULONG *ChangedParamCount) = 0;
  20651.         
  20652.     };
  20653.     
  20654. #else     /* C style interface */
  20655.  
  20656.     typedef struct ICodecAPIVtbl
  20657.     {
  20658.         BEGIN_INTERFACE
  20659.         
  20660.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20661.             ICodecAPI * This,
  20662.             /* [in] */ REFIID riid,
  20663.             /* [iid_is][out] */ void **ppvObject);
  20664.         
  20665.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20666.             ICodecAPI * This);
  20667.         
  20668.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20669.             ICodecAPI * This);
  20670.         
  20671.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  20672.             ICodecAPI * This,
  20673.             /* [in] */ const GUID *Api);
  20674.         
  20675.         HRESULT ( STDMETHODCALLTYPE *IsModifiable )( 
  20676.             ICodecAPI * This,
  20677.             /* [in] */ const GUID *Api);
  20678.         
  20679.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  20680.             ICodecAPI * This,
  20681.             /* [in] */ const GUID *Api,
  20682.             /* [out] */ VARIANT *ValueMin,
  20683.             /* [out] */ VARIANT *ValueMax,
  20684.             /* [out] */ VARIANT *SteppingDelta);
  20685.         
  20686.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  20687.             ICodecAPI * This,
  20688.             /* [in] */ const GUID *Api,
  20689.             /* [size_is][size_is][out] */ VARIANT **Values,
  20690.             /* [out] */ ULONG *ValuesCount);
  20691.         
  20692.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  20693.             ICodecAPI * This,
  20694.             /* [in] */ const GUID *Api,
  20695.             /* [out] */ VARIANT *Value);
  20696.         
  20697.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  20698.             ICodecAPI * This,
  20699.             /* [in] */ const GUID *Api,
  20700.             /* [out] */ VARIANT *Value);
  20701.         
  20702.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  20703.             ICodecAPI * This,
  20704.             /* [in] */ const GUID *Api,
  20705.             /* [in] */ VARIANT *Value);
  20706.         
  20707.         HRESULT ( STDMETHODCALLTYPE *RegisterForEvent )( 
  20708.             ICodecAPI * This,
  20709.             /* [in] */ const GUID *Api,
  20710.             /* [in] */ LONG_PTR userData);
  20711.         
  20712.         HRESULT ( STDMETHODCALLTYPE *UnregisterForEvent )( 
  20713.             ICodecAPI * This,
  20714.             /* [in] */ const GUID *Api);
  20715.         
  20716.         HRESULT ( STDMETHODCALLTYPE *SetAllDefaults )( 
  20717.             ICodecAPI * This);
  20718.         
  20719.         HRESULT ( STDMETHODCALLTYPE *SetValueWithNotify )( 
  20720.             ICodecAPI * This,
  20721.             /* [in] */ const GUID *Api,
  20722.             /* [in] */ VARIANT *Value,
  20723.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20724.             /* [out] */ ULONG *ChangedParamCount);
  20725.         
  20726.         HRESULT ( STDMETHODCALLTYPE *SetAllDefaultsWithNotify )( 
  20727.             ICodecAPI * This,
  20728.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20729.             /* [out] */ ULONG *ChangedParamCount);
  20730.         
  20731.         HRESULT ( STDMETHODCALLTYPE *GetAllSettings )( 
  20732.             ICodecAPI * This,
  20733.             /* [in] */ IStream *__MIDL_0016);
  20734.         
  20735.         HRESULT ( STDMETHODCALLTYPE *SetAllSettings )( 
  20736.             ICodecAPI * This,
  20737.             /* [in] */ IStream *__MIDL_0017);
  20738.         
  20739.         HRESULT ( STDMETHODCALLTYPE *SetAllSettingsWithNotify )( 
  20740.             ICodecAPI * This,
  20741.             IStream *__MIDL_0018,
  20742.             /* [size_is][size_is][out] */ GUID **ChangedParam,
  20743.             /* [out] */ ULONG *ChangedParamCount);
  20744.         
  20745.         END_INTERFACE
  20746.     } ICodecAPIVtbl;
  20747.  
  20748.     interface ICodecAPI
  20749.     {
  20750.         CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
  20751.     };
  20752.  
  20753.     
  20754.  
  20755. #ifdef COBJMACROS
  20756.  
  20757.  
  20758. #define ICodecAPI_QueryInterface(This,riid,ppvObject)    \
  20759.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20760.  
  20761. #define ICodecAPI_AddRef(This)    \
  20762.     (This)->lpVtbl -> AddRef(This)
  20763.  
  20764. #define ICodecAPI_Release(This)    \
  20765.     (This)->lpVtbl -> Release(This)
  20766.  
  20767.  
  20768. #define ICodecAPI_IsSupported(This,Api)    \
  20769.     (This)->lpVtbl -> IsSupported(This,Api)
  20770.  
  20771. #define ICodecAPI_IsModifiable(This,Api)    \
  20772.     (This)->lpVtbl -> IsModifiable(This,Api)
  20773.  
  20774. #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  20775.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  20776.  
  20777. #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount)    \
  20778.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  20779.  
  20780. #define ICodecAPI_GetDefaultValue(This,Api,Value)    \
  20781.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  20782.  
  20783. #define ICodecAPI_GetValue(This,Api,Value)    \
  20784.     (This)->lpVtbl -> GetValue(This,Api,Value)
  20785.  
  20786. #define ICodecAPI_SetValue(This,Api,Value)    \
  20787.     (This)->lpVtbl -> SetValue(This,Api,Value)
  20788.  
  20789. #define ICodecAPI_RegisterForEvent(This,Api,userData)    \
  20790.     (This)->lpVtbl -> RegisterForEvent(This,Api,userData)
  20791.  
  20792. #define ICodecAPI_UnregisterForEvent(This,Api)    \
  20793.     (This)->lpVtbl -> UnregisterForEvent(This,Api)
  20794.  
  20795. #define ICodecAPI_SetAllDefaults(This)    \
  20796.     (This)->lpVtbl -> SetAllDefaults(This)
  20797.  
  20798. #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)    \
  20799.     (This)->lpVtbl -> SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
  20800.  
  20801. #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)    \
  20802.     (This)->lpVtbl -> SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
  20803.  
  20804. #define ICodecAPI_GetAllSettings(This,__MIDL_0016)    \
  20805.     (This)->lpVtbl -> GetAllSettings(This,__MIDL_0016)
  20806.  
  20807. #define ICodecAPI_SetAllSettings(This,__MIDL_0017)    \
  20808.     (This)->lpVtbl -> SetAllSettings(This,__MIDL_0017)
  20809.  
  20810. #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)    \
  20811.     (This)->lpVtbl -> SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
  20812.  
  20813. #endif /* COBJMACROS */
  20814.  
  20815.  
  20816. #endif     /* C style interface */
  20817.  
  20818.  
  20819.  
  20820. HRESULT STDMETHODCALLTYPE ICodecAPI_IsSupported_Proxy( 
  20821.     ICodecAPI * This,
  20822.     /* [in] */ const GUID *Api);
  20823.  
  20824.  
  20825. void __RPC_STUB ICodecAPI_IsSupported_Stub(
  20826.     IRpcStubBuffer *This,
  20827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20828.     PRPC_MESSAGE _pRpcMessage,
  20829.     DWORD *_pdwStubPhase);
  20830.  
  20831.  
  20832. HRESULT STDMETHODCALLTYPE ICodecAPI_IsModifiable_Proxy( 
  20833.     ICodecAPI * This,
  20834.     /* [in] */ const GUID *Api);
  20835.  
  20836.  
  20837. void __RPC_STUB ICodecAPI_IsModifiable_Stub(
  20838.     IRpcStubBuffer *This,
  20839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20840.     PRPC_MESSAGE _pRpcMessage,
  20841.     DWORD *_pdwStubPhase);
  20842.  
  20843.  
  20844. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterRange_Proxy( 
  20845.     ICodecAPI * This,
  20846.     /* [in] */ const GUID *Api,
  20847.     /* [out] */ VARIANT *ValueMin,
  20848.     /* [out] */ VARIANT *ValueMax,
  20849.     /* [out] */ VARIANT *SteppingDelta);
  20850.  
  20851.  
  20852. void __RPC_STUB ICodecAPI_GetParameterRange_Stub(
  20853.     IRpcStubBuffer *This,
  20854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20855.     PRPC_MESSAGE _pRpcMessage,
  20856.     DWORD *_pdwStubPhase);
  20857.  
  20858.  
  20859. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterValues_Proxy( 
  20860.     ICodecAPI * This,
  20861.     /* [in] */ const GUID *Api,
  20862.     /* [size_is][size_is][out] */ VARIANT **Values,
  20863.     /* [out] */ ULONG *ValuesCount);
  20864.  
  20865.  
  20866. void __RPC_STUB ICodecAPI_GetParameterValues_Stub(
  20867.     IRpcStubBuffer *This,
  20868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20869.     PRPC_MESSAGE _pRpcMessage,
  20870.     DWORD *_pdwStubPhase);
  20871.  
  20872.  
  20873. HRESULT STDMETHODCALLTYPE ICodecAPI_GetDefaultValue_Proxy( 
  20874.     ICodecAPI * This,
  20875.     /* [in] */ const GUID *Api,
  20876.     /* [out] */ VARIANT *Value);
  20877.  
  20878.  
  20879. void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(
  20880.     IRpcStubBuffer *This,
  20881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20882.     PRPC_MESSAGE _pRpcMessage,
  20883.     DWORD *_pdwStubPhase);
  20884.  
  20885.  
  20886. HRESULT STDMETHODCALLTYPE ICodecAPI_GetValue_Proxy( 
  20887.     ICodecAPI * This,
  20888.     /* [in] */ const GUID *Api,
  20889.     /* [out] */ VARIANT *Value);
  20890.  
  20891.  
  20892. void __RPC_STUB ICodecAPI_GetValue_Stub(
  20893.     IRpcStubBuffer *This,
  20894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20895.     PRPC_MESSAGE _pRpcMessage,
  20896.     DWORD *_pdwStubPhase);
  20897.  
  20898.  
  20899. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValue_Proxy( 
  20900.     ICodecAPI * This,
  20901.     /* [in] */ const GUID *Api,
  20902.     /* [in] */ VARIANT *Value);
  20903.  
  20904.  
  20905. void __RPC_STUB ICodecAPI_SetValue_Stub(
  20906.     IRpcStubBuffer *This,
  20907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20908.     PRPC_MESSAGE _pRpcMessage,
  20909.     DWORD *_pdwStubPhase);
  20910.  
  20911.  
  20912. HRESULT STDMETHODCALLTYPE ICodecAPI_RegisterForEvent_Proxy( 
  20913.     ICodecAPI * This,
  20914.     /* [in] */ const GUID *Api,
  20915.     /* [in] */ LONG_PTR userData);
  20916.  
  20917.  
  20918. void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(
  20919.     IRpcStubBuffer *This,
  20920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20921.     PRPC_MESSAGE _pRpcMessage,
  20922.     DWORD *_pdwStubPhase);
  20923.  
  20924.  
  20925. HRESULT STDMETHODCALLTYPE ICodecAPI_UnregisterForEvent_Proxy( 
  20926.     ICodecAPI * This,
  20927.     /* [in] */ const GUID *Api);
  20928.  
  20929.  
  20930. void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(
  20931.     IRpcStubBuffer *This,
  20932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20933.     PRPC_MESSAGE _pRpcMessage,
  20934.     DWORD *_pdwStubPhase);
  20935.  
  20936.  
  20937. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaults_Proxy( 
  20938.     ICodecAPI * This);
  20939.  
  20940.  
  20941. void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(
  20942.     IRpcStubBuffer *This,
  20943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20944.     PRPC_MESSAGE _pRpcMessage,
  20945.     DWORD *_pdwStubPhase);
  20946.  
  20947.  
  20948. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValueWithNotify_Proxy( 
  20949.     ICodecAPI * This,
  20950.     /* [in] */ const GUID *Api,
  20951.     /* [in] */ VARIANT *Value,
  20952.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  20953.     /* [out] */ ULONG *ChangedParamCount);
  20954.  
  20955.  
  20956. void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(
  20957.     IRpcStubBuffer *This,
  20958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20959.     PRPC_MESSAGE _pRpcMessage,
  20960.     DWORD *_pdwStubPhase);
  20961.  
  20962.  
  20963. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaultsWithNotify_Proxy( 
  20964.     ICodecAPI * This,
  20965.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  20966.     /* [out] */ ULONG *ChangedParamCount);
  20967.  
  20968.  
  20969. void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(
  20970.     IRpcStubBuffer *This,
  20971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20972.     PRPC_MESSAGE _pRpcMessage,
  20973.     DWORD *_pdwStubPhase);
  20974.  
  20975.  
  20976. HRESULT STDMETHODCALLTYPE ICodecAPI_GetAllSettings_Proxy( 
  20977.     ICodecAPI * This,
  20978.     /* [in] */ IStream *__MIDL_0016);
  20979.  
  20980.  
  20981. void __RPC_STUB ICodecAPI_GetAllSettings_Stub(
  20982.     IRpcStubBuffer *This,
  20983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20984.     PRPC_MESSAGE _pRpcMessage,
  20985.     DWORD *_pdwStubPhase);
  20986.  
  20987.  
  20988. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettings_Proxy( 
  20989.     ICodecAPI * This,
  20990.     /* [in] */ IStream *__MIDL_0017);
  20991.  
  20992.  
  20993. void __RPC_STUB ICodecAPI_SetAllSettings_Stub(
  20994.     IRpcStubBuffer *This,
  20995.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20996.     PRPC_MESSAGE _pRpcMessage,
  20997.     DWORD *_pdwStubPhase);
  20998.  
  20999.  
  21000. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettingsWithNotify_Proxy( 
  21001.     ICodecAPI * This,
  21002.     IStream *__MIDL_0018,
  21003.     /* [size_is][size_is][out] */ GUID **ChangedParam,
  21004.     /* [out] */ ULONG *ChangedParamCount);
  21005.  
  21006.  
  21007. void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(
  21008.     IRpcStubBuffer *This,
  21009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21010.     PRPC_MESSAGE _pRpcMessage,
  21011.     DWORD *_pdwStubPhase);
  21012.  
  21013.  
  21014.  
  21015. #endif     /* __ICodecAPI_INTERFACE_DEFINED__ */
  21016.  
  21017.  
  21018. #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
  21019. #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
  21020.  
  21021. /* interface IGetCapabilitiesKey */
  21022. /* [unique][uuid][local][object] */ 
  21023.  
  21024.  
  21025. EXTERN_C const IID IID_IGetCapabilitiesKey;
  21026.  
  21027. #if defined(__cplusplus) && !defined(CINTERFACE)
  21028.     
  21029.     MIDL_INTERFACE("a8809222-07bb-48ea-951c-33158100625b")
  21030.     IGetCapabilitiesKey : public IUnknown
  21031.     {
  21032.     public:
  21033.         virtual HRESULT STDMETHODCALLTYPE GetCapabilitiesKey( 
  21034.             /* [out] */ HKEY *pHKey) = 0;
  21035.         
  21036.     };
  21037.     
  21038. #else     /* C style interface */
  21039.  
  21040.     typedef struct IGetCapabilitiesKeyVtbl
  21041.     {
  21042.         BEGIN_INTERFACE
  21043.         
  21044.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21045.             IGetCapabilitiesKey * This,
  21046.             /* [in] */ REFIID riid,
  21047.             /* [iid_is][out] */ void **ppvObject);
  21048.         
  21049.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21050.             IGetCapabilitiesKey * This);
  21051.         
  21052.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21053.             IGetCapabilitiesKey * This);
  21054.         
  21055.         HRESULT ( STDMETHODCALLTYPE *GetCapabilitiesKey )( 
  21056.             IGetCapabilitiesKey * This,
  21057.             /* [out] */ HKEY *pHKey);
  21058.         
  21059.         END_INTERFACE
  21060.     } IGetCapabilitiesKeyVtbl;
  21061.  
  21062.     interface IGetCapabilitiesKey
  21063.     {
  21064.         CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
  21065.     };
  21066.  
  21067.     
  21068.  
  21069. #ifdef COBJMACROS
  21070.  
  21071.  
  21072. #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject)    \
  21073.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21074.  
  21075. #define IGetCapabilitiesKey_AddRef(This)    \
  21076.     (This)->lpVtbl -> AddRef(This)
  21077.  
  21078. #define IGetCapabilitiesKey_Release(This)    \
  21079.     (This)->lpVtbl -> Release(This)
  21080.  
  21081.  
  21082. #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey)    \
  21083.     (This)->lpVtbl -> GetCapabilitiesKey(This,pHKey)
  21084.  
  21085. #endif /* COBJMACROS */
  21086.  
  21087.  
  21088. #endif     /* C style interface */
  21089.  
  21090.  
  21091.  
  21092. HRESULT STDMETHODCALLTYPE IGetCapabilitiesKey_GetCapabilitiesKey_Proxy( 
  21093.     IGetCapabilitiesKey * This,
  21094.     /* [out] */ HKEY *pHKey);
  21095.  
  21096.  
  21097. void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(
  21098.     IRpcStubBuffer *This,
  21099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21100.     PRPC_MESSAGE _pRpcMessage,
  21101.     DWORD *_pdwStubPhase);
  21102.  
  21103.  
  21104.  
  21105. #endif     /* __IGetCapabilitiesKey_INTERFACE_DEFINED__ */
  21106.  
  21107.  
  21108. #ifndef __IEncoderAPI_INTERFACE_DEFINED__
  21109. #define __IEncoderAPI_INTERFACE_DEFINED__
  21110.  
  21111. /* interface IEncoderAPI */
  21112. /* [unique][uuid][object] */ 
  21113.  
  21114.  
  21115. EXTERN_C const IID IID_IEncoderAPI;
  21116.  
  21117. #if defined(__cplusplus) && !defined(CINTERFACE)
  21118.     
  21119.     MIDL_INTERFACE("70423839-6ACC-4b23-B079-21DBF08156A5")
  21120.     IEncoderAPI : public IUnknown
  21121.     {
  21122.     public:
  21123.         virtual HRESULT STDMETHODCALLTYPE IsSupported( 
  21124.             /* [in] */ const GUID *Api) = 0;
  21125.         
  21126.         virtual HRESULT STDMETHODCALLTYPE IsAvailable( 
  21127.             /* [in] */ const GUID *Api) = 0;
  21128.         
  21129.         virtual HRESULT STDMETHODCALLTYPE GetParameterRange( 
  21130.             /* [in] */ const GUID *Api,
  21131.             /* [out] */ VARIANT *ValueMin,
  21132.             /* [out] */ VARIANT *ValueMax,
  21133.             /* [out] */ VARIANT *SteppingDelta) = 0;
  21134.         
  21135.         virtual HRESULT STDMETHODCALLTYPE GetParameterValues( 
  21136.             /* [in] */ const GUID *Api,
  21137.             /* [size_is][size_is][out] */ VARIANT **Values,
  21138.             /* [out] */ ULONG *ValuesCount) = 0;
  21139.         
  21140.         virtual HRESULT STDMETHODCALLTYPE GetDefaultValue( 
  21141.             /* [in] */ const GUID *Api,
  21142.             /* [out] */ VARIANT *Value) = 0;
  21143.         
  21144.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  21145.             /* [in] */ const GUID *Api,
  21146.             /* [out] */ VARIANT *Value) = 0;
  21147.         
  21148.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  21149.             /* [in] */ const GUID *Api,
  21150.             /* [in] */ VARIANT *Value) = 0;
  21151.         
  21152.     };
  21153.     
  21154. #else     /* C style interface */
  21155.  
  21156.     typedef struct IEncoderAPIVtbl
  21157.     {
  21158.         BEGIN_INTERFACE
  21159.         
  21160.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21161.             IEncoderAPI * This,
  21162.             /* [in] */ REFIID riid,
  21163.             /* [iid_is][out] */ void **ppvObject);
  21164.         
  21165.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21166.             IEncoderAPI * This);
  21167.         
  21168.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21169.             IEncoderAPI * This);
  21170.         
  21171.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  21172.             IEncoderAPI * This,
  21173.             /* [in] */ const GUID *Api);
  21174.         
  21175.         HRESULT ( STDMETHODCALLTYPE *IsAvailable )( 
  21176.             IEncoderAPI * This,
  21177.             /* [in] */ const GUID *Api);
  21178.         
  21179.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  21180.             IEncoderAPI * This,
  21181.             /* [in] */ const GUID *Api,
  21182.             /* [out] */ VARIANT *ValueMin,
  21183.             /* [out] */ VARIANT *ValueMax,
  21184.             /* [out] */ VARIANT *SteppingDelta);
  21185.         
  21186.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  21187.             IEncoderAPI * This,
  21188.             /* [in] */ const GUID *Api,
  21189.             /* [size_is][size_is][out] */ VARIANT **Values,
  21190.             /* [out] */ ULONG *ValuesCount);
  21191.         
  21192.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  21193.             IEncoderAPI * This,
  21194.             /* [in] */ const GUID *Api,
  21195.             /* [out] */ VARIANT *Value);
  21196.         
  21197.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  21198.             IEncoderAPI * This,
  21199.             /* [in] */ const GUID *Api,
  21200.             /* [out] */ VARIANT *Value);
  21201.         
  21202.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  21203.             IEncoderAPI * This,
  21204.             /* [in] */ const GUID *Api,
  21205.             /* [in] */ VARIANT *Value);
  21206.         
  21207.         END_INTERFACE
  21208.     } IEncoderAPIVtbl;
  21209.  
  21210.     interface IEncoderAPI
  21211.     {
  21212.         CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
  21213.     };
  21214.  
  21215.     
  21216.  
  21217. #ifdef COBJMACROS
  21218.  
  21219.  
  21220. #define IEncoderAPI_QueryInterface(This,riid,ppvObject)    \
  21221.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21222.  
  21223. #define IEncoderAPI_AddRef(This)    \
  21224.     (This)->lpVtbl -> AddRef(This)
  21225.  
  21226. #define IEncoderAPI_Release(This)    \
  21227.     (This)->lpVtbl -> Release(This)
  21228.  
  21229.  
  21230. #define IEncoderAPI_IsSupported(This,Api)    \
  21231.     (This)->lpVtbl -> IsSupported(This,Api)
  21232.  
  21233. #define IEncoderAPI_IsAvailable(This,Api)    \
  21234.     (This)->lpVtbl -> IsAvailable(This,Api)
  21235.  
  21236. #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  21237.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  21238.  
  21239. #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount)    \
  21240.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  21241.  
  21242. #define IEncoderAPI_GetDefaultValue(This,Api,Value)    \
  21243.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  21244.  
  21245. #define IEncoderAPI_GetValue(This,Api,Value)    \
  21246.     (This)->lpVtbl -> GetValue(This,Api,Value)
  21247.  
  21248. #define IEncoderAPI_SetValue(This,Api,Value)    \
  21249.     (This)->lpVtbl -> SetValue(This,Api,Value)
  21250.  
  21251. #endif /* COBJMACROS */
  21252.  
  21253.  
  21254. #endif     /* C style interface */
  21255.  
  21256.  
  21257.  
  21258. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsSupported_Proxy( 
  21259.     IEncoderAPI * This,
  21260.     /* [in] */ const GUID *Api);
  21261.  
  21262.  
  21263. void __RPC_STUB IEncoderAPI_IsSupported_Stub(
  21264.     IRpcStubBuffer *This,
  21265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21266.     PRPC_MESSAGE _pRpcMessage,
  21267.     DWORD *_pdwStubPhase);
  21268.  
  21269.  
  21270. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsAvailable_Proxy( 
  21271.     IEncoderAPI * This,
  21272.     /* [in] */ const GUID *Api);
  21273.  
  21274.  
  21275. void __RPC_STUB IEncoderAPI_IsAvailable_Stub(
  21276.     IRpcStubBuffer *This,
  21277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21278.     PRPC_MESSAGE _pRpcMessage,
  21279.     DWORD *_pdwStubPhase);
  21280.  
  21281.  
  21282. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterRange_Proxy( 
  21283.     IEncoderAPI * This,
  21284.     /* [in] */ const GUID *Api,
  21285.     /* [out] */ VARIANT *ValueMin,
  21286.     /* [out] */ VARIANT *ValueMax,
  21287.     /* [out] */ VARIANT *SteppingDelta);
  21288.  
  21289.  
  21290. void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(
  21291.     IRpcStubBuffer *This,
  21292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21293.     PRPC_MESSAGE _pRpcMessage,
  21294.     DWORD *_pdwStubPhase);
  21295.  
  21296.  
  21297. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterValues_Proxy( 
  21298.     IEncoderAPI * This,
  21299.     /* [in] */ const GUID *Api,
  21300.     /* [size_is][size_is][out] */ VARIANT **Values,
  21301.     /* [out] */ ULONG *ValuesCount);
  21302.  
  21303.  
  21304. void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(
  21305.     IRpcStubBuffer *This,
  21306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21307.     PRPC_MESSAGE _pRpcMessage,
  21308.     DWORD *_pdwStubPhase);
  21309.  
  21310.  
  21311. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetDefaultValue_Proxy( 
  21312.     IEncoderAPI * This,
  21313.     /* [in] */ const GUID *Api,
  21314.     /* [out] */ VARIANT *Value);
  21315.  
  21316.  
  21317. void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(
  21318.     IRpcStubBuffer *This,
  21319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21320.     PRPC_MESSAGE _pRpcMessage,
  21321.     DWORD *_pdwStubPhase);
  21322.  
  21323.  
  21324. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetValue_Proxy( 
  21325.     IEncoderAPI * This,
  21326.     /* [in] */ const GUID *Api,
  21327.     /* [out] */ VARIANT *Value);
  21328.  
  21329.  
  21330. void __RPC_STUB IEncoderAPI_GetValue_Stub(
  21331.     IRpcStubBuffer *This,
  21332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21333.     PRPC_MESSAGE _pRpcMessage,
  21334.     DWORD *_pdwStubPhase);
  21335.  
  21336.  
  21337. HRESULT STDMETHODCALLTYPE IEncoderAPI_SetValue_Proxy( 
  21338.     IEncoderAPI * This,
  21339.     /* [in] */ const GUID *Api,
  21340.     /* [in] */ VARIANT *Value);
  21341.  
  21342.  
  21343. void __RPC_STUB IEncoderAPI_SetValue_Stub(
  21344.     IRpcStubBuffer *This,
  21345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21346.     PRPC_MESSAGE _pRpcMessage,
  21347.     DWORD *_pdwStubPhase);
  21348.  
  21349.  
  21350.  
  21351. #endif     /* __IEncoderAPI_INTERFACE_DEFINED__ */
  21352.  
  21353.  
  21354. #ifndef __IVideoEncoder_INTERFACE_DEFINED__
  21355. #define __IVideoEncoder_INTERFACE_DEFINED__
  21356.  
  21357. /* interface IVideoEncoder */
  21358. /* [unique][uuid][object] */ 
  21359.  
  21360.  
  21361. EXTERN_C const IID IID_IVideoEncoder;
  21362.  
  21363. #if defined(__cplusplus) && !defined(CINTERFACE)
  21364.     
  21365.     MIDL_INTERFACE("02997C3B-8E1B-460e-9270-545E0DE9563E")
  21366.     IVideoEncoder : public IEncoderAPI
  21367.     {
  21368.     public:
  21369.     };
  21370.     
  21371. #else     /* C style interface */
  21372.  
  21373.     typedef struct IVideoEncoderVtbl
  21374.     {
  21375.         BEGIN_INTERFACE
  21376.         
  21377.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21378.             IVideoEncoder * This,
  21379.             /* [in] */ REFIID riid,
  21380.             /* [iid_is][out] */ void **ppvObject);
  21381.         
  21382.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21383.             IVideoEncoder * This);
  21384.         
  21385.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21386.             IVideoEncoder * This);
  21387.         
  21388.         HRESULT ( STDMETHODCALLTYPE *IsSupported )( 
  21389.             IVideoEncoder * This,
  21390.             /* [in] */ const GUID *Api);
  21391.         
  21392.         HRESULT ( STDMETHODCALLTYPE *IsAvailable )( 
  21393.             IVideoEncoder * This,
  21394.             /* [in] */ const GUID *Api);
  21395.         
  21396.         HRESULT ( STDMETHODCALLTYPE *GetParameterRange )( 
  21397.             IVideoEncoder * This,
  21398.             /* [in] */ const GUID *Api,
  21399.             /* [out] */ VARIANT *ValueMin,
  21400.             /* [out] */ VARIANT *ValueMax,
  21401.             /* [out] */ VARIANT *SteppingDelta);
  21402.         
  21403.         HRESULT ( STDMETHODCALLTYPE *GetParameterValues )( 
  21404.             IVideoEncoder * This,
  21405.             /* [in] */ const GUID *Api,
  21406.             /* [size_is][size_is][out] */ VARIANT **Values,
  21407.             /* [out] */ ULONG *ValuesCount);
  21408.         
  21409.         HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )( 
  21410.             IVideoEncoder * This,
  21411.             /* [in] */ const GUID *Api,
  21412.             /* [out] */ VARIANT *Value);
  21413.         
  21414.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  21415.             IVideoEncoder * This,
  21416.             /* [in] */ const GUID *Api,
  21417.             /* [out] */ VARIANT *Value);
  21418.         
  21419.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  21420.             IVideoEncoder * This,
  21421.             /* [in] */ const GUID *Api,
  21422.             /* [in] */ VARIANT *Value);
  21423.         
  21424.         END_INTERFACE
  21425.     } IVideoEncoderVtbl;
  21426.  
  21427.     interface IVideoEncoder
  21428.     {
  21429.         CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
  21430.     };
  21431.  
  21432.     
  21433.  
  21434. #ifdef COBJMACROS
  21435.  
  21436.  
  21437. #define IVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  21438.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21439.  
  21440. #define IVideoEncoder_AddRef(This)    \
  21441.     (This)->lpVtbl -> AddRef(This)
  21442.  
  21443. #define IVideoEncoder_Release(This)    \
  21444.     (This)->lpVtbl -> Release(This)
  21445.  
  21446.  
  21447. #define IVideoEncoder_IsSupported(This,Api)    \
  21448.     (This)->lpVtbl -> IsSupported(This,Api)
  21449.  
  21450. #define IVideoEncoder_IsAvailable(This,Api)    \
  21451.     (This)->lpVtbl -> IsAvailable(This,Api)
  21452.  
  21453. #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)    \
  21454.     (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  21455.  
  21456. #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount)    \
  21457.     (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  21458.  
  21459. #define IVideoEncoder_GetDefaultValue(This,Api,Value)    \
  21460.     (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  21461.  
  21462. #define IVideoEncoder_GetValue(This,Api,Value)    \
  21463.     (This)->lpVtbl -> GetValue(This,Api,Value)
  21464.  
  21465. #define IVideoEncoder_SetValue(This,Api,Value)    \
  21466.     (This)->lpVtbl -> SetValue(This,Api,Value)
  21467.  
  21468.  
  21469. #endif /* COBJMACROS */
  21470.  
  21471.  
  21472. #endif     /* C style interface */
  21473.  
  21474.  
  21475.  
  21476.  
  21477. #endif     /* __IVideoEncoder_INTERFACE_DEFINED__ */
  21478.  
  21479.  
  21480. /* interface __MIDL_itf_strmif_0365 */
  21481. /* [local] */ 
  21482.  
  21483. #ifndef __ENCODER_API_DEFINES__
  21484. #define __ENCODER_API_DEFINES__
  21485. typedef /* [public] */ 
  21486. enum __MIDL___MIDL_itf_strmif_0365_0001
  21487.     {    ConstantBitRate    = 0,
  21488.     VariableBitRateAverage    = ConstantBitRate + 1,
  21489.     VariableBitRatePeak    = VariableBitRateAverage + 1
  21490.     }     VIDEOENCODER_BITRATE_MODE;
  21491.  
  21492. #endif // __ENCODER_API_DEFINES__
  21493. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT   0x00000001
  21494. #define      VMR_NOTSUPPORTED                0x00000000
  21495. #define      VMR_SUPPORTED                   0x00000001
  21496. #define AM_QUERY_DECODER_VMR_SUPPORT         0x00000001
  21497. #define AM_QUERY_DECODER_DXVA_1_SUPPORT      0x00000002
  21498. #define AM_QUERY_DECODER_DVD_SUPPORT         0x00000003
  21499. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT     0x00000004
  21500. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT     0x00000005
  21501. #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT  0x00000006
  21502. #define      DECODER_CAP_NOTSUPPORTED        0x00000000
  21503. #define      DECODER_CAP_SUPPORTED           0x00000001
  21504.  
  21505.  
  21506. extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_c_ifspec;
  21507. extern RPC_IF_HANDLE __MIDL_itf_strmif_0365_v0_0_s_ifspec;
  21508.  
  21509. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  21510. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  21511.  
  21512. /* interface IAMDecoderCaps */
  21513. /* [unique][uuid][local][object] */ 
  21514.  
  21515.  
  21516. EXTERN_C const IID IID_IAMDecoderCaps;
  21517.  
  21518. #if defined(__cplusplus) && !defined(CINTERFACE)
  21519.     
  21520.     MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  21521.     IAMDecoderCaps : public IUnknown
  21522.     {
  21523.     public:
  21524.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  21525.             /* [in] */ DWORD dwCapIndex,
  21526.             /* [out] */ DWORD *lpdwCap) = 0;
  21527.         
  21528.     };
  21529.     
  21530. #else     /* C style interface */
  21531.  
  21532.     typedef struct IAMDecoderCapsVtbl
  21533.     {
  21534.         BEGIN_INTERFACE
  21535.         
  21536.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21537.             IAMDecoderCaps * This,
  21538.             /* [in] */ REFIID riid,
  21539.             /* [iid_is][out] */ void **ppvObject);
  21540.         
  21541.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21542.             IAMDecoderCaps * This);
  21543.         
  21544.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21545.             IAMDecoderCaps * This);
  21546.         
  21547.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  21548.             IAMDecoderCaps * This,
  21549.             /* [in] */ DWORD dwCapIndex,
  21550.             /* [out] */ DWORD *lpdwCap);
  21551.         
  21552.         END_INTERFACE
  21553.     } IAMDecoderCapsVtbl;
  21554.  
  21555.     interface IAMDecoderCaps
  21556.     {
  21557.         CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  21558.     };
  21559.  
  21560.     
  21561.  
  21562. #ifdef COBJMACROS
  21563.  
  21564.  
  21565. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject)    \
  21566.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21567.  
  21568. #define IAMDecoderCaps_AddRef(This)    \
  21569.     (This)->lpVtbl -> AddRef(This)
  21570.  
  21571. #define IAMDecoderCaps_Release(This)    \
  21572.     (This)->lpVtbl -> Release(This)
  21573.  
  21574.  
  21575. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap)    \
  21576.     (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  21577.  
  21578. #endif /* COBJMACROS */
  21579.  
  21580.  
  21581. #endif     /* C style interface */
  21582.  
  21583.  
  21584.  
  21585. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy( 
  21586.     IAMDecoderCaps * This,
  21587.     /* [in] */ DWORD dwCapIndex,
  21588.     /* [out] */ DWORD *lpdwCap);
  21589.  
  21590.  
  21591. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  21592.     IRpcStubBuffer *This,
  21593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21594.     PRPC_MESSAGE _pRpcMessage,
  21595.     DWORD *_pdwStubPhase);
  21596.  
  21597.  
  21598.  
  21599. #endif     /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  21600.  
  21601.  
  21602. /* interface __MIDL_itf_strmif_0366 */
  21603. /* [local] */ 
  21604.  
  21605. #include <ddraw.h>
  21606.  
  21607.  
  21608.  
  21609.  
  21610.  
  21611.  
  21612.  
  21613.  
  21614.  
  21615. typedef 
  21616. enum tagDVD_DOMAIN
  21617.     {    DVD_DOMAIN_FirstPlay    = 1,
  21618.     DVD_DOMAIN_VideoManagerMenu    = DVD_DOMAIN_FirstPlay + 1,
  21619.     DVD_DOMAIN_VideoTitleSetMenu    = DVD_DOMAIN_VideoManagerMenu + 1,
  21620.     DVD_DOMAIN_Title    = DVD_DOMAIN_VideoTitleSetMenu + 1,
  21621.     DVD_DOMAIN_Stop    = DVD_DOMAIN_Title + 1
  21622.     }     DVD_DOMAIN;
  21623.  
  21624. typedef 
  21625. enum tagDVD_MENU_ID
  21626.     {    DVD_MENU_Title    = 2,
  21627.     DVD_MENU_Root    = 3,
  21628.     DVD_MENU_Subpicture    = 4,
  21629.     DVD_MENU_Audio    = 5,
  21630.     DVD_MENU_Angle    = 6,
  21631.     DVD_MENU_Chapter    = 7
  21632.     }     DVD_MENU_ID;
  21633.  
  21634. typedef 
  21635. enum tagDVD_DISC_SIDE
  21636.     {    DVD_SIDE_A    = 1,
  21637.     DVD_SIDE_B    = 2
  21638.     }     DVD_DISC_SIDE;
  21639.  
  21640. typedef 
  21641. enum tagDVD_PREFERRED_DISPLAY_MODE
  21642.     {    DISPLAY_CONTENT_DEFAULT    = 0,
  21643.     DISPLAY_16x9    = 1,
  21644.     DISPLAY_4x3_PANSCAN_PREFERRED    = 2,
  21645.     DISPLAY_4x3_LETTERBOX_PREFERRED    = 3
  21646.     }     DVD_PREFERRED_DISPLAY_MODE;
  21647.  
  21648. typedef WORD DVD_REGISTER;
  21649.  
  21650. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  21651.  
  21652. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  21653.  
  21654. typedef struct tagDVD_ATR
  21655.     {
  21656.     ULONG ulCAT;
  21657.     BYTE pbATRI[ 768 ];
  21658.     }     DVD_ATR;
  21659.  
  21660. typedef BYTE DVD_VideoATR[ 2 ];
  21661.  
  21662. typedef BYTE DVD_AudioATR[ 8 ];
  21663.  
  21664. typedef BYTE DVD_SubpictureATR[ 6 ];
  21665.  
  21666. typedef 
  21667. enum tagDVD_FRAMERATE
  21668.     {    DVD_FPS_25    = 1,
  21669.     DVD_FPS_30NonDrop    = 3
  21670.     }     DVD_FRAMERATE;
  21671.  
  21672. typedef struct tagDVD_TIMECODE
  21673. {
  21674.    ULONG Hours1    :4; // Hours
  21675.    ULONG Hours10  :4; // Tens of Hours 
  21676.  
  21677.    ULONG Minutes1  :4; // Minutes 
  21678.    ULONG Minutes10:4; // Tens of Minutes 
  21679.  
  21680.    ULONG Seconds1  :4; // Seconds 
  21681.    ULONG Seconds10:4; // Tens of Seconds 
  21682.  
  21683.    ULONG Frames1   :4; // Frames 
  21684.    ULONG Frames10 :2; // Tens of Frames 
  21685.  
  21686.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  21687. } DVD_TIMECODE;
  21688. typedef 
  21689. enum tagDVD_TIMECODE_FLAGS
  21690.     {    DVD_TC_FLAG_25fps    = 0x1,
  21691.     DVD_TC_FLAG_30fps    = 0x2,
  21692.     DVD_TC_FLAG_DropFrame    = 0x4,
  21693.     DVD_TC_FLAG_Interpolated    = 0x8
  21694.     }     DVD_TIMECODE_FLAGS;
  21695.  
  21696. typedef struct tagDVD_HMSF_TIMECODE
  21697.     {
  21698.     BYTE bHours;
  21699.     BYTE bMinutes;
  21700.     BYTE bSeconds;
  21701.     BYTE bFrames;
  21702.     }     DVD_HMSF_TIMECODE;
  21703.  
  21704. typedef struct tagDVD_PLAYBACK_LOCATION2
  21705.     {
  21706.     ULONG TitleNum;
  21707.     ULONG ChapterNum;
  21708.     DVD_HMSF_TIMECODE TimeCode;
  21709.     ULONG TimeCodeFlags;
  21710.     }     DVD_PLAYBACK_LOCATION2;
  21711.  
  21712. typedef struct tagDVD_PLAYBACK_LOCATION
  21713.     {
  21714.     ULONG TitleNum;
  21715.     ULONG ChapterNum;
  21716.     ULONG TimeCode;
  21717.     }     DVD_PLAYBACK_LOCATION;
  21718.  
  21719. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  21720.  
  21721. typedef /* [public] */ 
  21722. enum __MIDL___MIDL_itf_strmif_0366_0001
  21723.     {    UOP_FLAG_Play_Title_Or_AtTime    = 0x1,
  21724.     UOP_FLAG_Play_Chapter    = 0x2,
  21725.     UOP_FLAG_Play_Title    = 0x4,
  21726.     UOP_FLAG_Stop    = 0x8,
  21727.     UOP_FLAG_ReturnFromSubMenu    = 0x10,
  21728.     UOP_FLAG_Play_Chapter_Or_AtTime    = 0x20,
  21729.     UOP_FLAG_PlayPrev_Or_Replay_Chapter    = 0x40,
  21730.     UOP_FLAG_PlayNext_Chapter    = 0x80,
  21731.     UOP_FLAG_Play_Forwards    = 0x100,
  21732.     UOP_FLAG_Play_Backwards    = 0x200,
  21733.     UOP_FLAG_ShowMenu_Title    = 0x400,
  21734.     UOP_FLAG_ShowMenu_Root    = 0x800,
  21735.     UOP_FLAG_ShowMenu_SubPic    = 0x1000,
  21736.     UOP_FLAG_ShowMenu_Audio    = 0x2000,
  21737.     UOP_FLAG_ShowMenu_Angle    = 0x4000,
  21738.     UOP_FLAG_ShowMenu_Chapter    = 0x8000,
  21739.     UOP_FLAG_Resume    = 0x10000,
  21740.     UOP_FLAG_Select_Or_Activate_Button    = 0x20000,
  21741.     UOP_FLAG_Still_Off    = 0x40000,
  21742.     UOP_FLAG_Pause_On    = 0x80000,
  21743.     UOP_FLAG_Select_Audio_Stream    = 0x100000,
  21744.     UOP_FLAG_Select_SubPic_Stream    = 0x200000,
  21745.     UOP_FLAG_Select_Angle    = 0x400000,
  21746.     UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode    = 0x800000,
  21747.     UOP_FLAG_Select_Video_Mode_Preference    = 0x1000000
  21748.     }     VALID_UOP_FLAG;
  21749.  
  21750. typedef /* [public] */ 
  21751. enum __MIDL___MIDL_itf_strmif_0366_0002
  21752.     {    DVD_CMD_FLAG_None    = 0,
  21753.     DVD_CMD_FLAG_Flush    = 0x1,
  21754.     DVD_CMD_FLAG_SendEvents    = 0x2,
  21755.     DVD_CMD_FLAG_Block    = 0x4,
  21756.     DVD_CMD_FLAG_StartWhenRendered    = 0x8,
  21757.     DVD_CMD_FLAG_EndAfterRendered    = 0x10
  21758.     }     DVD_CMD_FLAGS;
  21759.  
  21760. typedef /* [public][public] */ 
  21761. enum __MIDL___MIDL_itf_strmif_0366_0003
  21762.     {    DVD_ResetOnStop    = 1,
  21763.     DVD_NotifyParentalLevelChange    = 2,
  21764.     DVD_HMSF_TimeCodeEvents    = 3,
  21765.     DVD_AudioDuringFFwdRew    = 4
  21766.     }     DVD_OPTION_FLAG;
  21767.  
  21768. typedef /* [public][public] */ 
  21769. enum __MIDL___MIDL_itf_strmif_0366_0004
  21770.     {    DVD_Relative_Upper    = 1,
  21771.     DVD_Relative_Lower    = 2,
  21772.     DVD_Relative_Left    = 3,
  21773.     DVD_Relative_Right    = 4
  21774.     }     DVD_RELATIVE_BUTTON;
  21775.  
  21776. typedef 
  21777. enum tagDVD_PARENTAL_LEVEL
  21778.     {    DVD_PARENTAL_LEVEL_8    = 0x8000,
  21779.     DVD_PARENTAL_LEVEL_7    = 0x4000,
  21780.     DVD_PARENTAL_LEVEL_6    = 0x2000,
  21781.     DVD_PARENTAL_LEVEL_5    = 0x1000,
  21782.     DVD_PARENTAL_LEVEL_4    = 0x800,
  21783.     DVD_PARENTAL_LEVEL_3    = 0x400,
  21784.     DVD_PARENTAL_LEVEL_2    = 0x200,
  21785.     DVD_PARENTAL_LEVEL_1    = 0x100
  21786.     }     DVD_PARENTAL_LEVEL;
  21787.  
  21788. typedef 
  21789. enum tagDVD_AUDIO_LANG_EXT
  21790.     {    DVD_AUD_EXT_NotSpecified    = 0,
  21791.     DVD_AUD_EXT_Captions    = 1,
  21792.     DVD_AUD_EXT_VisuallyImpaired    = 2,
  21793.     DVD_AUD_EXT_DirectorComments1    = 3,
  21794.     DVD_AUD_EXT_DirectorComments2    = 4
  21795.     }     DVD_AUDIO_LANG_EXT;
  21796.  
  21797. typedef 
  21798. enum tagDVD_SUBPICTURE_LANG_EXT
  21799.     {    DVD_SP_EXT_NotSpecified    = 0,
  21800.     DVD_SP_EXT_Caption_Normal    = 1,
  21801.     DVD_SP_EXT_Caption_Big    = 2,
  21802.     DVD_SP_EXT_Caption_Children    = 3,
  21803.     DVD_SP_EXT_CC_Normal    = 5,
  21804.     DVD_SP_EXT_CC_Big    = 6,
  21805.     DVD_SP_EXT_CC_Children    = 7,
  21806.     DVD_SP_EXT_Forced    = 9,
  21807.     DVD_SP_EXT_DirectorComments_Normal    = 13,
  21808.     DVD_SP_EXT_DirectorComments_Big    = 14,
  21809.     DVD_SP_EXT_DirectorComments_Children    = 15
  21810.     }     DVD_SUBPICTURE_LANG_EXT;
  21811.  
  21812. typedef 
  21813. enum tagDVD_AUDIO_APPMODE
  21814.     {    DVD_AudioMode_None    = 0,
  21815.     DVD_AudioMode_Karaoke    = 1,
  21816.     DVD_AudioMode_Surround    = 2,
  21817.     DVD_AudioMode_Other    = 3
  21818.     }     DVD_AUDIO_APPMODE;
  21819.  
  21820. typedef 
  21821. enum tagDVD_AUDIO_FORMAT
  21822.     {    DVD_AudioFormat_AC3    = 0,
  21823.     DVD_AudioFormat_MPEG1    = 1,
  21824.     DVD_AudioFormat_MPEG1_DRC    = 2,
  21825.     DVD_AudioFormat_MPEG2    = 3,
  21826.     DVD_AudioFormat_MPEG2_DRC    = 4,
  21827.     DVD_AudioFormat_LPCM    = 5,
  21828.     DVD_AudioFormat_DTS    = 6,
  21829.     DVD_AudioFormat_SDDS    = 7,
  21830.     DVD_AudioFormat_Other    = 8
  21831.     }     DVD_AUDIO_FORMAT;
  21832.  
  21833. typedef 
  21834. enum tagDVD_KARAOKE_DOWNMIX
  21835.     {    DVD_Mix_0to0    = 0x1,
  21836.     DVD_Mix_1to0    = 0x2,
  21837.     DVD_Mix_2to0    = 0x4,
  21838.     DVD_Mix_3to0    = 0x8,
  21839.     DVD_Mix_4to0    = 0x10,
  21840.     DVD_Mix_Lto0    = 0x20,
  21841.     DVD_Mix_Rto0    = 0x40,
  21842.     DVD_Mix_0to1    = 0x100,
  21843.     DVD_Mix_1to1    = 0x200,
  21844.     DVD_Mix_2to1    = 0x400,
  21845.     DVD_Mix_3to1    = 0x800,
  21846.     DVD_Mix_4to1    = 0x1000,
  21847.     DVD_Mix_Lto1    = 0x2000,
  21848.     DVD_Mix_Rto1    = 0x4000
  21849.     }     DVD_KARAOKE_DOWNMIX;
  21850.  
  21851. typedef struct tagDVD_AudioAttributes
  21852.     {
  21853.     DVD_AUDIO_APPMODE AppMode;
  21854.     BYTE AppModeData;
  21855.     DVD_AUDIO_FORMAT AudioFormat;
  21856.     LCID Language;
  21857.     DVD_AUDIO_LANG_EXT LanguageExtension;
  21858.     BOOL fHasMultichannelInfo;
  21859.     DWORD dwFrequency;
  21860.     BYTE bQuantization;
  21861.     BYTE bNumberOfChannels;
  21862.     DWORD dwReserved[ 2 ];
  21863.     }     DVD_AudioAttributes;
  21864.  
  21865. typedef struct tagDVD_MUA_MixingInfo
  21866.     {
  21867.     BOOL fMixTo0;
  21868.     BOOL fMixTo1;
  21869.     BOOL fMix0InPhase;
  21870.     BOOL fMix1InPhase;
  21871.     DWORD dwSpeakerPosition;
  21872.     }     DVD_MUA_MixingInfo;
  21873.  
  21874. typedef struct tagDVD_MUA_Coeff
  21875.     {
  21876.     double log2_alpha;
  21877.     double log2_beta;
  21878.     }     DVD_MUA_Coeff;
  21879.  
  21880. typedef struct tagDVD_MultichannelAudioAttributes
  21881.     {
  21882.     DVD_MUA_MixingInfo Info[ 8 ];
  21883.     DVD_MUA_Coeff Coeff[ 8 ];
  21884.     }     DVD_MultichannelAudioAttributes;
  21885.  
  21886. typedef 
  21887. enum tagDVD_KARAOKE_CONTENTS
  21888.     {    DVD_Karaoke_GuideVocal1    = 0x1,
  21889.     DVD_Karaoke_GuideVocal2    = 0x2,
  21890.     DVD_Karaoke_GuideMelody1    = 0x4,
  21891.     DVD_Karaoke_GuideMelody2    = 0x8,
  21892.     DVD_Karaoke_GuideMelodyA    = 0x10,
  21893.     DVD_Karaoke_GuideMelodyB    = 0x20,
  21894.     DVD_Karaoke_SoundEffectA    = 0x40,
  21895.     DVD_Karaoke_SoundEffectB    = 0x80
  21896.     }     DVD_KARAOKE_CONTENTS;
  21897.  
  21898. typedef 
  21899. enum tagDVD_KARAOKE_ASSIGNMENT
  21900.     {    DVD_Assignment_reserved0    = 0,
  21901.     DVD_Assignment_reserved1    = 1,
  21902.     DVD_Assignment_LR    = 2,
  21903.     DVD_Assignment_LRM    = 3,
  21904.     DVD_Assignment_LR1    = 4,
  21905.     DVD_Assignment_LRM1    = 5,
  21906.     DVD_Assignment_LR12    = 6,
  21907.     DVD_Assignment_LRM12    = 7
  21908.     }     DVD_KARAOKE_ASSIGNMENT;
  21909.  
  21910. typedef struct tagDVD_KaraokeAttributes
  21911.     {
  21912.     BYTE bVersion;
  21913.     BOOL fMasterOfCeremoniesInGuideVocal1;
  21914.     BOOL fDuet;
  21915.     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  21916.     WORD wChannelContents[ 8 ];
  21917.     }     DVD_KaraokeAttributes;
  21918.  
  21919. typedef 
  21920. enum tagDVD_VIDEO_COMPRESSION
  21921.     {    DVD_VideoCompression_Other    = 0,
  21922.     DVD_VideoCompression_MPEG1    = 1,
  21923.     DVD_VideoCompression_MPEG2    = 2
  21924.     }     DVD_VIDEO_COMPRESSION;
  21925.  
  21926. typedef struct tagDVD_VideoAttributes
  21927.     {
  21928.     BOOL fPanscanPermitted;
  21929.     BOOL fLetterboxPermitted;
  21930.     ULONG ulAspectX;
  21931.     ULONG ulAspectY;
  21932.     ULONG ulFrameRate;
  21933.     ULONG ulFrameHeight;
  21934.     DVD_VIDEO_COMPRESSION Compression;
  21935.     BOOL fLine21Field1InGOP;
  21936.     BOOL fLine21Field2InGOP;
  21937.     ULONG ulSourceResolutionX;
  21938.     ULONG ulSourceResolutionY;
  21939.     BOOL fIsSourceLetterboxed;
  21940.     BOOL fIsFilmMode;
  21941.     }     DVD_VideoAttributes;
  21942.  
  21943. typedef 
  21944. enum tagDVD_SUBPICTURE_TYPE
  21945.     {    DVD_SPType_NotSpecified    = 0,
  21946.     DVD_SPType_Language    = 1,
  21947.     DVD_SPType_Other    = 2
  21948.     }     DVD_SUBPICTURE_TYPE;
  21949.  
  21950. typedef 
  21951. enum tagDVD_SUBPICTURE_CODING
  21952.     {    DVD_SPCoding_RunLength    = 0,
  21953.     DVD_SPCoding_Extended    = 1,
  21954.     DVD_SPCoding_Other    = 2
  21955.     }     DVD_SUBPICTURE_CODING;
  21956.  
  21957. typedef struct tagDVD_SubpictureAttributes
  21958.     {
  21959.     DVD_SUBPICTURE_TYPE Type;
  21960.     DVD_SUBPICTURE_CODING CodingMode;
  21961.     LCID Language;
  21962.     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  21963.     }     DVD_SubpictureAttributes;
  21964.  
  21965. typedef 
  21966. enum tagDVD_TITLE_APPMODE
  21967.     {    DVD_AppMode_Not_Specified    = 0,
  21968.     DVD_AppMode_Karaoke    = 1,
  21969.     DVD_AppMode_Other    = 3
  21970.     }     DVD_TITLE_APPMODE;
  21971.  
  21972. typedef struct tagDVD_TitleMainAttributes
  21973.     {
  21974.     DVD_TITLE_APPMODE AppMode;
  21975.     DVD_VideoAttributes VideoAttributes;
  21976.     ULONG ulNumberOfAudioStreams;
  21977.     DVD_AudioAttributes AudioAttributes[ 8 ];
  21978.     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  21979.     ULONG ulNumberOfSubpictureStreams;
  21980.     DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  21981.     }     DVD_TitleAttributes;
  21982.  
  21983. typedef struct tagDVD_MenuAttributes
  21984.     {
  21985.     BOOL fCompatibleRegion[ 8 ];
  21986.     DVD_VideoAttributes VideoAttributes;
  21987.     BOOL fAudioPresent;
  21988.     DVD_AudioAttributes AudioAttributes;
  21989.     BOOL fSubpicturePresent;
  21990.     DVD_SubpictureAttributes SubpictureAttributes;
  21991.     }     DVD_MenuAttributes;
  21992.  
  21993.  
  21994.  
  21995. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_c_ifspec;
  21996. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_s_ifspec;
  21997.  
  21998. #ifndef __IDvdControl_INTERFACE_DEFINED__
  21999. #define __IDvdControl_INTERFACE_DEFINED__
  22000.  
  22001. /* interface IDvdControl */
  22002. /* [unique][uuid][object] */ 
  22003.  
  22004.  
  22005. EXTERN_C const IID IID_IDvdControl;
  22006.  
  22007. #if defined(__cplusplus) && !defined(CINTERFACE)
  22008.     
  22009.     MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  22010.     IDvdControl : public IUnknown
  22011.     {
  22012.     public:
  22013.         virtual HRESULT STDMETHODCALLTYPE TitlePlay( 
  22014.             /* [in] */ ULONG ulTitle) = 0;
  22015.         
  22016.         virtual HRESULT STDMETHODCALLTYPE ChapterPlay( 
  22017.             /* [in] */ ULONG ulTitle,
  22018.             /* [in] */ ULONG ulChapter) = 0;
  22019.         
  22020.         virtual HRESULT STDMETHODCALLTYPE TimePlay( 
  22021.             /* [in] */ ULONG ulTitle,
  22022.             /* [in] */ ULONG bcdTime) = 0;
  22023.         
  22024.         virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  22025.         
  22026.         virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  22027.         
  22028.         virtual HRESULT STDMETHODCALLTYPE TimeSearch( 
  22029.             /* [in] */ ULONG bcdTime) = 0;
  22030.         
  22031.         virtual HRESULT STDMETHODCALLTYPE ChapterSearch( 
  22032.             /* [in] */ ULONG ulChapter) = 0;
  22033.         
  22034.         virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  22035.         
  22036.         virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  22037.         
  22038.         virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  22039.         
  22040.         virtual HRESULT STDMETHODCALLTYPE ForwardScan( 
  22041.             /* [in] */ double dwSpeed) = 0;
  22042.         
  22043.         virtual HRESULT STDMETHODCALLTYPE BackwardScan( 
  22044.             /* [in] */ double dwSpeed) = 0;
  22045.         
  22046.         virtual HRESULT STDMETHODCALLTYPE MenuCall( 
  22047.             /* [in] */ DVD_MENU_ID MenuID) = 0;
  22048.         
  22049.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  22050.         
  22051.         virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  22052.         
  22053.         virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  22054.         
  22055.         virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  22056.         
  22057.         virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  22058.         
  22059.         virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  22060.         
  22061.         virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate( 
  22062.             /* [in] */ ULONG ulButton) = 0;
  22063.         
  22064.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  22065.         
  22066.         virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  22067.         
  22068.         virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  22069.         
  22070.         virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect( 
  22071.             /* [in] */ LCID Language) = 0;
  22072.         
  22073.         virtual HRESULT STDMETHODCALLTYPE AudioStreamChange( 
  22074.             /* [in] */ ULONG ulAudio) = 0;
  22075.         
  22076.         virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange( 
  22077.             /* [in] */ ULONG ulSubPicture,
  22078.             /* [in] */ BOOL bDisplay) = 0;
  22079.         
  22080.         virtual HRESULT STDMETHODCALLTYPE AngleChange( 
  22081.             /* [in] */ ULONG ulAngle) = 0;
  22082.         
  22083.         virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect( 
  22084.             /* [in] */ ULONG ulParentalLevel) = 0;
  22085.         
  22086.         virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect( 
  22087.             /* [in] */ WORD wCountry) = 0;
  22088.         
  22089.         virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange( 
  22090.             /* [in] */ ULONG ulMode) = 0;
  22091.         
  22092.         virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence( 
  22093.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  22094.         
  22095.         virtual HRESULT STDMETHODCALLTYPE SetRoot( 
  22096.             /* [in] */ LPCWSTR pszPath) = 0;
  22097.         
  22098.         virtual HRESULT STDMETHODCALLTYPE MouseActivate( 
  22099.             /* [in] */ POINT point) = 0;
  22100.         
  22101.         virtual HRESULT STDMETHODCALLTYPE MouseSelect( 
  22102.             /* [in] */ POINT point) = 0;
  22103.         
  22104.         virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop( 
  22105.             /* [in] */ ULONG ulTitle,
  22106.             /* [in] */ ULONG ulChapter,
  22107.             /* [in] */ ULONG ulChaptersToPlay) = 0;
  22108.         
  22109.     };
  22110.     
  22111. #else     /* C style interface */
  22112.  
  22113.     typedef struct IDvdControlVtbl
  22114.     {
  22115.         BEGIN_INTERFACE
  22116.         
  22117.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22118.             IDvdControl * This,
  22119.             /* [in] */ REFIID riid,
  22120.             /* [iid_is][out] */ void **ppvObject);
  22121.         
  22122.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22123.             IDvdControl * This);
  22124.         
  22125.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22126.             IDvdControl * This);
  22127.         
  22128.         HRESULT ( STDMETHODCALLTYPE *TitlePlay )( 
  22129.             IDvdControl * This,
  22130.             /* [in] */ ULONG ulTitle);
  22131.         
  22132.         HRESULT ( STDMETHODCALLTYPE *ChapterPlay )( 
  22133.             IDvdControl * This,
  22134.             /* [in] */ ULONG ulTitle,
  22135.             /* [in] */ ULONG ulChapter);
  22136.         
  22137.         HRESULT ( STDMETHODCALLTYPE *TimePlay )( 
  22138.             IDvdControl * This,
  22139.             /* [in] */ ULONG ulTitle,
  22140.             /* [in] */ ULONG bcdTime);
  22141.         
  22142.         HRESULT ( STDMETHODCALLTYPE *StopForResume )( 
  22143.             IDvdControl * This);
  22144.         
  22145.         HRESULT ( STDMETHODCALLTYPE *GoUp )( 
  22146.             IDvdControl * This);
  22147.         
  22148.         HRESULT ( STDMETHODCALLTYPE *TimeSearch )( 
  22149.             IDvdControl * This,
  22150.             /* [in] */ ULONG bcdTime);
  22151.         
  22152.         HRESULT ( STDMETHODCALLTYPE *ChapterSearch )( 
  22153.             IDvdControl * This,
  22154.             /* [in] */ ULONG ulChapter);
  22155.         
  22156.         HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )( 
  22157.             IDvdControl * This);
  22158.         
  22159.         HRESULT ( STDMETHODCALLTYPE *TopPGSearch )( 
  22160.             IDvdControl * This);
  22161.         
  22162.         HRESULT ( STDMETHODCALLTYPE *NextPGSearch )( 
  22163.             IDvdControl * This);
  22164.         
  22165.         HRESULT ( STDMETHODCALLTYPE *ForwardScan )( 
  22166.             IDvdControl * This,
  22167.             /* [in] */ double dwSpeed);
  22168.         
  22169.         HRESULT ( STDMETHODCALLTYPE *BackwardScan )( 
  22170.             IDvdControl * This,
  22171.             /* [in] */ double dwSpeed);
  22172.         
  22173.         HRESULT ( STDMETHODCALLTYPE *MenuCall )( 
  22174.             IDvdControl * This,
  22175.             /* [in] */ DVD_MENU_ID MenuID);
  22176.         
  22177.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  22178.             IDvdControl * This);
  22179.         
  22180.         HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )( 
  22181.             IDvdControl * This);
  22182.         
  22183.         HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )( 
  22184.             IDvdControl * This);
  22185.         
  22186.         HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )( 
  22187.             IDvdControl * This);
  22188.         
  22189.         HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )( 
  22190.             IDvdControl * This);
  22191.         
  22192.         HRESULT ( STDMETHODCALLTYPE *ButtonActivate )( 
  22193.             IDvdControl * This);
  22194.         
  22195.         HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )( 
  22196.             IDvdControl * This,
  22197.             /* [in] */ ULONG ulButton);
  22198.         
  22199.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  22200.             IDvdControl * This);
  22201.         
  22202.         HRESULT ( STDMETHODCALLTYPE *PauseOn )( 
  22203.             IDvdControl * This);
  22204.         
  22205.         HRESULT ( STDMETHODCALLTYPE *PauseOff )( 
  22206.             IDvdControl * This);
  22207.         
  22208.         HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )( 
  22209.             IDvdControl * This,
  22210.             /* [in] */ LCID Language);
  22211.         
  22212.         HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )( 
  22213.             IDvdControl * This,
  22214.             /* [in] */ ULONG ulAudio);
  22215.         
  22216.         HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )( 
  22217.             IDvdControl * This,
  22218.             /* [in] */ ULONG ulSubPicture,
  22219.             /* [in] */ BOOL bDisplay);
  22220.         
  22221.         HRESULT ( STDMETHODCALLTYPE *AngleChange )( 
  22222.             IDvdControl * This,
  22223.             /* [in] */ ULONG ulAngle);
  22224.         
  22225.         HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )( 
  22226.             IDvdControl * This,
  22227.             /* [in] */ ULONG ulParentalLevel);
  22228.         
  22229.         HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )( 
  22230.             IDvdControl * This,
  22231.             /* [in] */ WORD wCountry);
  22232.         
  22233.         HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )( 
  22234.             IDvdControl * This,
  22235.             /* [in] */ ULONG ulMode);
  22236.         
  22237.         HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )( 
  22238.             IDvdControl * This,
  22239.             /* [in] */ ULONG ulPreferredDisplayMode);
  22240.         
  22241.         HRESULT ( STDMETHODCALLTYPE *SetRoot )( 
  22242.             IDvdControl * This,
  22243.             /* [in] */ LPCWSTR pszPath);
  22244.         
  22245.         HRESULT ( STDMETHODCALLTYPE *MouseActivate )( 
  22246.             IDvdControl * This,
  22247.             /* [in] */ POINT point);
  22248.         
  22249.         HRESULT ( STDMETHODCALLTYPE *MouseSelect )( 
  22250.             IDvdControl * This,
  22251.             /* [in] */ POINT point);
  22252.         
  22253.         HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )( 
  22254.             IDvdControl * This,
  22255.             /* [in] */ ULONG ulTitle,
  22256.             /* [in] */ ULONG ulChapter,
  22257.             /* [in] */ ULONG ulChaptersToPlay);
  22258.         
  22259.         END_INTERFACE
  22260.     } IDvdControlVtbl;
  22261.  
  22262.     interface IDvdControl
  22263.     {
  22264.         CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  22265.     };
  22266.  
  22267.     
  22268.  
  22269. #ifdef COBJMACROS
  22270.  
  22271.  
  22272. #define IDvdControl_QueryInterface(This,riid,ppvObject)    \
  22273.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22274.  
  22275. #define IDvdControl_AddRef(This)    \
  22276.     (This)->lpVtbl -> AddRef(This)
  22277.  
  22278. #define IDvdControl_Release(This)    \
  22279.     (This)->lpVtbl -> Release(This)
  22280.  
  22281.  
  22282. #define IDvdControl_TitlePlay(This,ulTitle)    \
  22283.     (This)->lpVtbl -> TitlePlay(This,ulTitle)
  22284.  
  22285. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter)    \
  22286.     (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  22287.  
  22288. #define IDvdControl_TimePlay(This,ulTitle,bcdTime)    \
  22289.     (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  22290.  
  22291. #define IDvdControl_StopForResume(This)    \
  22292.     (This)->lpVtbl -> StopForResume(This)
  22293.  
  22294. #define IDvdControl_GoUp(This)    \
  22295.     (This)->lpVtbl -> GoUp(This)
  22296.  
  22297. #define IDvdControl_TimeSearch(This,bcdTime)    \
  22298.     (This)->lpVtbl -> TimeSearch(This,bcdTime)
  22299.  
  22300. #define IDvdControl_ChapterSearch(This,ulChapter)    \
  22301.     (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  22302.  
  22303. #define IDvdControl_PrevPGSearch(This)    \
  22304.     (This)->lpVtbl -> PrevPGSearch(This)
  22305.  
  22306. #define IDvdControl_TopPGSearch(This)    \
  22307.     (This)->lpVtbl -> TopPGSearch(This)
  22308.  
  22309. #define IDvdControl_NextPGSearch(This)    \
  22310.     (This)->lpVtbl -> NextPGSearch(This)
  22311.  
  22312. #define IDvdControl_ForwardScan(This,dwSpeed)    \
  22313.     (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  22314.  
  22315. #define IDvdControl_BackwardScan(This,dwSpeed)    \
  22316.     (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  22317.  
  22318. #define IDvdControl_MenuCall(This,MenuID)    \
  22319.     (This)->lpVtbl -> MenuCall(This,MenuID)
  22320.  
  22321. #define IDvdControl_Resume(This)    \
  22322.     (This)->lpVtbl -> Resume(This)
  22323.  
  22324. #define IDvdControl_UpperButtonSelect(This)    \
  22325.     (This)->lpVtbl -> UpperButtonSelect(This)
  22326.  
  22327. #define IDvdControl_LowerButtonSelect(This)    \
  22328.     (This)->lpVtbl -> LowerButtonSelect(This)
  22329.  
  22330. #define IDvdControl_LeftButtonSelect(This)    \
  22331.     (This)->lpVtbl -> LeftButtonSelect(This)
  22332.  
  22333. #define IDvdControl_RightButtonSelect(This)    \
  22334.     (This)->lpVtbl -> RightButtonSelect(This)
  22335.  
  22336. #define IDvdControl_ButtonActivate(This)    \
  22337.     (This)->lpVtbl -> ButtonActivate(This)
  22338.  
  22339. #define IDvdControl_ButtonSelectAndActivate(This,ulButton)    \
  22340.     (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  22341.  
  22342. #define IDvdControl_StillOff(This)    \
  22343.     (This)->lpVtbl -> StillOff(This)
  22344.  
  22345. #define IDvdControl_PauseOn(This)    \
  22346.     (This)->lpVtbl -> PauseOn(This)
  22347.  
  22348. #define IDvdControl_PauseOff(This)    \
  22349.     (This)->lpVtbl -> PauseOff(This)
  22350.  
  22351. #define IDvdControl_MenuLanguageSelect(This,Language)    \
  22352.     (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  22353.  
  22354. #define IDvdControl_AudioStreamChange(This,ulAudio)    \
  22355.     (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  22356.  
  22357. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay)    \
  22358.     (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  22359.  
  22360. #define IDvdControl_AngleChange(This,ulAngle)    \
  22361.     (This)->lpVtbl -> AngleChange(This,ulAngle)
  22362.  
  22363. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)    \
  22364.     (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  22365.  
  22366. #define IDvdControl_ParentalCountrySelect(This,wCountry)    \
  22367.     (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  22368.  
  22369. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)    \
  22370.     (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  22371.  
  22372. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)    \
  22373.     (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  22374.  
  22375. #define IDvdControl_SetRoot(This,pszPath)    \
  22376.     (This)->lpVtbl -> SetRoot(This,pszPath)
  22377.  
  22378. #define IDvdControl_MouseActivate(This,point)    \
  22379.     (This)->lpVtbl -> MouseActivate(This,point)
  22380.  
  22381. #define IDvdControl_MouseSelect(This,point)    \
  22382.     (This)->lpVtbl -> MouseSelect(This,point)
  22383.  
  22384. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)    \
  22385.     (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  22386.  
  22387. #endif /* COBJMACROS */
  22388.  
  22389.  
  22390. #endif     /* C style interface */
  22391.  
  22392.  
  22393.  
  22394. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy( 
  22395.     IDvdControl * This,
  22396.     /* [in] */ ULONG ulTitle);
  22397.  
  22398.  
  22399. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  22400.     IRpcStubBuffer *This,
  22401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22402.     PRPC_MESSAGE _pRpcMessage,
  22403.     DWORD *_pdwStubPhase);
  22404.  
  22405.  
  22406. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy( 
  22407.     IDvdControl * This,
  22408.     /* [in] */ ULONG ulTitle,
  22409.     /* [in] */ ULONG ulChapter);
  22410.  
  22411.  
  22412. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  22413.     IRpcStubBuffer *This,
  22414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22415.     PRPC_MESSAGE _pRpcMessage,
  22416.     DWORD *_pdwStubPhase);
  22417.  
  22418.  
  22419. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy( 
  22420.     IDvdControl * This,
  22421.     /* [in] */ ULONG ulTitle,
  22422.     /* [in] */ ULONG bcdTime);
  22423.  
  22424.  
  22425. void __RPC_STUB IDvdControl_TimePlay_Stub(
  22426.     IRpcStubBuffer *This,
  22427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22428.     PRPC_MESSAGE _pRpcMessage,
  22429.     DWORD *_pdwStubPhase);
  22430.  
  22431.  
  22432. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy( 
  22433.     IDvdControl * This);
  22434.  
  22435.  
  22436. void __RPC_STUB IDvdControl_StopForResume_Stub(
  22437.     IRpcStubBuffer *This,
  22438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22439.     PRPC_MESSAGE _pRpcMessage,
  22440.     DWORD *_pdwStubPhase);
  22441.  
  22442.  
  22443. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy( 
  22444.     IDvdControl * This);
  22445.  
  22446.  
  22447. void __RPC_STUB IDvdControl_GoUp_Stub(
  22448.     IRpcStubBuffer *This,
  22449.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22450.     PRPC_MESSAGE _pRpcMessage,
  22451.     DWORD *_pdwStubPhase);
  22452.  
  22453.  
  22454. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy( 
  22455.     IDvdControl * This,
  22456.     /* [in] */ ULONG bcdTime);
  22457.  
  22458.  
  22459. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  22460.     IRpcStubBuffer *This,
  22461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22462.     PRPC_MESSAGE _pRpcMessage,
  22463.     DWORD *_pdwStubPhase);
  22464.  
  22465.  
  22466. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy( 
  22467.     IDvdControl * This,
  22468.     /* [in] */ ULONG ulChapter);
  22469.  
  22470.  
  22471. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  22472.     IRpcStubBuffer *This,
  22473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22474.     PRPC_MESSAGE _pRpcMessage,
  22475.     DWORD *_pdwStubPhase);
  22476.  
  22477.  
  22478. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy( 
  22479.     IDvdControl * This);
  22480.  
  22481.  
  22482. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  22483.     IRpcStubBuffer *This,
  22484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22485.     PRPC_MESSAGE _pRpcMessage,
  22486.     DWORD *_pdwStubPhase);
  22487.  
  22488.  
  22489. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy( 
  22490.     IDvdControl * This);
  22491.  
  22492.  
  22493. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  22494.     IRpcStubBuffer *This,
  22495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22496.     PRPC_MESSAGE _pRpcMessage,
  22497.     DWORD *_pdwStubPhase);
  22498.  
  22499.  
  22500. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy( 
  22501.     IDvdControl * This);
  22502.  
  22503.  
  22504. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  22505.     IRpcStubBuffer *This,
  22506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22507.     PRPC_MESSAGE _pRpcMessage,
  22508.     DWORD *_pdwStubPhase);
  22509.  
  22510.  
  22511. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy( 
  22512.     IDvdControl * This,
  22513.     /* [in] */ double dwSpeed);
  22514.  
  22515.  
  22516. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  22517.     IRpcStubBuffer *This,
  22518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22519.     PRPC_MESSAGE _pRpcMessage,
  22520.     DWORD *_pdwStubPhase);
  22521.  
  22522.  
  22523. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy( 
  22524.     IDvdControl * This,
  22525.     /* [in] */ double dwSpeed);
  22526.  
  22527.  
  22528. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  22529.     IRpcStubBuffer *This,
  22530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22531.     PRPC_MESSAGE _pRpcMessage,
  22532.     DWORD *_pdwStubPhase);
  22533.  
  22534.  
  22535. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy( 
  22536.     IDvdControl * This,
  22537.     /* [in] */ DVD_MENU_ID MenuID);
  22538.  
  22539.  
  22540. void __RPC_STUB IDvdControl_MenuCall_Stub(
  22541.     IRpcStubBuffer *This,
  22542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22543.     PRPC_MESSAGE _pRpcMessage,
  22544.     DWORD *_pdwStubPhase);
  22545.  
  22546.  
  22547. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy( 
  22548.     IDvdControl * This);
  22549.  
  22550.  
  22551. void __RPC_STUB IDvdControl_Resume_Stub(
  22552.     IRpcStubBuffer *This,
  22553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22554.     PRPC_MESSAGE _pRpcMessage,
  22555.     DWORD *_pdwStubPhase);
  22556.  
  22557.  
  22558. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy( 
  22559.     IDvdControl * This);
  22560.  
  22561.  
  22562. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  22563.     IRpcStubBuffer *This,
  22564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22565.     PRPC_MESSAGE _pRpcMessage,
  22566.     DWORD *_pdwStubPhase);
  22567.  
  22568.  
  22569. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy( 
  22570.     IDvdControl * This);
  22571.  
  22572.  
  22573. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  22574.     IRpcStubBuffer *This,
  22575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22576.     PRPC_MESSAGE _pRpcMessage,
  22577.     DWORD *_pdwStubPhase);
  22578.  
  22579.  
  22580. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy( 
  22581.     IDvdControl * This);
  22582.  
  22583.  
  22584. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  22585.     IRpcStubBuffer *This,
  22586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22587.     PRPC_MESSAGE _pRpcMessage,
  22588.     DWORD *_pdwStubPhase);
  22589.  
  22590.  
  22591. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy( 
  22592.     IDvdControl * This);
  22593.  
  22594.  
  22595. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  22596.     IRpcStubBuffer *This,
  22597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22598.     PRPC_MESSAGE _pRpcMessage,
  22599.     DWORD *_pdwStubPhase);
  22600.  
  22601.  
  22602. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy( 
  22603.     IDvdControl * This);
  22604.  
  22605.  
  22606. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  22607.     IRpcStubBuffer *This,
  22608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22609.     PRPC_MESSAGE _pRpcMessage,
  22610.     DWORD *_pdwStubPhase);
  22611.  
  22612.  
  22613. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy( 
  22614.     IDvdControl * This,
  22615.     /* [in] */ ULONG ulButton);
  22616.  
  22617.  
  22618. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  22619.     IRpcStubBuffer *This,
  22620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22621.     PRPC_MESSAGE _pRpcMessage,
  22622.     DWORD *_pdwStubPhase);
  22623.  
  22624.  
  22625. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy( 
  22626.     IDvdControl * This);
  22627.  
  22628.  
  22629. void __RPC_STUB IDvdControl_StillOff_Stub(
  22630.     IRpcStubBuffer *This,
  22631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22632.     PRPC_MESSAGE _pRpcMessage,
  22633.     DWORD *_pdwStubPhase);
  22634.  
  22635.  
  22636. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy( 
  22637.     IDvdControl * This);
  22638.  
  22639.  
  22640. void __RPC_STUB IDvdControl_PauseOn_Stub(
  22641.     IRpcStubBuffer *This,
  22642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22643.     PRPC_MESSAGE _pRpcMessage,
  22644.     DWORD *_pdwStubPhase);
  22645.  
  22646.  
  22647. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy( 
  22648.     IDvdControl * This);
  22649.  
  22650.  
  22651. void __RPC_STUB IDvdControl_PauseOff_Stub(
  22652.     IRpcStubBuffer *This,
  22653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22654.     PRPC_MESSAGE _pRpcMessage,
  22655.     DWORD *_pdwStubPhase);
  22656.  
  22657.  
  22658. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy( 
  22659.     IDvdControl * This,
  22660.     /* [in] */ LCID Language);
  22661.  
  22662.  
  22663. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  22664.     IRpcStubBuffer *This,
  22665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22666.     PRPC_MESSAGE _pRpcMessage,
  22667.     DWORD *_pdwStubPhase);
  22668.  
  22669.  
  22670. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy( 
  22671.     IDvdControl * This,
  22672.     /* [in] */ ULONG ulAudio);
  22673.  
  22674.  
  22675. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  22676.     IRpcStubBuffer *This,
  22677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22678.     PRPC_MESSAGE _pRpcMessage,
  22679.     DWORD *_pdwStubPhase);
  22680.  
  22681.  
  22682. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy( 
  22683.     IDvdControl * This,
  22684.     /* [in] */ ULONG ulSubPicture,
  22685.     /* [in] */ BOOL bDisplay);
  22686.  
  22687.  
  22688. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  22689.     IRpcStubBuffer *This,
  22690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22691.     PRPC_MESSAGE _pRpcMessage,
  22692.     DWORD *_pdwStubPhase);
  22693.  
  22694.  
  22695. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy( 
  22696.     IDvdControl * This,
  22697.     /* [in] */ ULONG ulAngle);
  22698.  
  22699.  
  22700. void __RPC_STUB IDvdControl_AngleChange_Stub(
  22701.     IRpcStubBuffer *This,
  22702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22703.     PRPC_MESSAGE _pRpcMessage,
  22704.     DWORD *_pdwStubPhase);
  22705.  
  22706.  
  22707. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy( 
  22708.     IDvdControl * This,
  22709.     /* [in] */ ULONG ulParentalLevel);
  22710.  
  22711.  
  22712. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  22713.     IRpcStubBuffer *This,
  22714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22715.     PRPC_MESSAGE _pRpcMessage,
  22716.     DWORD *_pdwStubPhase);
  22717.  
  22718.  
  22719. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy( 
  22720.     IDvdControl * This,
  22721.     /* [in] */ WORD wCountry);
  22722.  
  22723.  
  22724. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  22725.     IRpcStubBuffer *This,
  22726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22727.     PRPC_MESSAGE _pRpcMessage,
  22728.     DWORD *_pdwStubPhase);
  22729.  
  22730.  
  22731. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy( 
  22732.     IDvdControl * This,
  22733.     /* [in] */ ULONG ulMode);
  22734.  
  22735.  
  22736. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  22737.     IRpcStubBuffer *This,
  22738.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22739.     PRPC_MESSAGE _pRpcMessage,
  22740.     DWORD *_pdwStubPhase);
  22741.  
  22742.  
  22743. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy( 
  22744.     IDvdControl * This,
  22745.     /* [in] */ ULONG ulPreferredDisplayMode);
  22746.  
  22747.  
  22748. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  22749.     IRpcStubBuffer *This,
  22750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22751.     PRPC_MESSAGE _pRpcMessage,
  22752.     DWORD *_pdwStubPhase);
  22753.  
  22754.  
  22755. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy( 
  22756.     IDvdControl * This,
  22757.     /* [in] */ LPCWSTR pszPath);
  22758.  
  22759.  
  22760. void __RPC_STUB IDvdControl_SetRoot_Stub(
  22761.     IRpcStubBuffer *This,
  22762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22763.     PRPC_MESSAGE _pRpcMessage,
  22764.     DWORD *_pdwStubPhase);
  22765.  
  22766.  
  22767. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy( 
  22768.     IDvdControl * This,
  22769.     /* [in] */ POINT point);
  22770.  
  22771.  
  22772. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  22773.     IRpcStubBuffer *This,
  22774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22775.     PRPC_MESSAGE _pRpcMessage,
  22776.     DWORD *_pdwStubPhase);
  22777.  
  22778.  
  22779. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy( 
  22780.     IDvdControl * This,
  22781.     /* [in] */ POINT point);
  22782.  
  22783.  
  22784. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  22785.     IRpcStubBuffer *This,
  22786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22787.     PRPC_MESSAGE _pRpcMessage,
  22788.     DWORD *_pdwStubPhase);
  22789.  
  22790.  
  22791. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy( 
  22792.     IDvdControl * This,
  22793.     /* [in] */ ULONG ulTitle,
  22794.     /* [in] */ ULONG ulChapter,
  22795.     /* [in] */ ULONG ulChaptersToPlay);
  22796.  
  22797.  
  22798. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  22799.     IRpcStubBuffer *This,
  22800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22801.     PRPC_MESSAGE _pRpcMessage,
  22802.     DWORD *_pdwStubPhase);
  22803.  
  22804.  
  22805.  
  22806. #endif     /* __IDvdControl_INTERFACE_DEFINED__ */
  22807.  
  22808.  
  22809. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  22810. #define __IDvdInfo_INTERFACE_DEFINED__
  22811.  
  22812. /* interface IDvdInfo */
  22813. /* [unique][uuid][object] */ 
  22814.  
  22815.  
  22816. EXTERN_C const IID IID_IDvdInfo;
  22817.  
  22818. #if defined(__cplusplus) && !defined(CINTERFACE)
  22819.     
  22820.     MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  22821.     IDvdInfo : public IUnknown
  22822.     {
  22823.     public:
  22824.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  22825.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  22826.         
  22827.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  22828.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  22829.         
  22830.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  22831.             /* [out] */ ULONG *pulTotalTime) = 0;
  22832.         
  22833.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  22834.             /* [out] */ ULONG *pulButtonsAvailable,
  22835.             /* [out] */ ULONG *pulCurrentButton) = 0;
  22836.         
  22837.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  22838.             /* [out] */ ULONG *pulAnglesAvailable,
  22839.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  22840.         
  22841.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  22842.             /* [out] */ ULONG *pulStreamsAvailable,
  22843.             /* [out] */ ULONG *pulCurrentStream) = 0;
  22844.         
  22845.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  22846.             /* [out] */ ULONG *pulStreamsAvailable,
  22847.             /* [out] */ ULONG *pulCurrentStream,
  22848.             /* [out] */ BOOL *pIsDisabled) = 0;
  22849.         
  22850.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  22851.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  22852.         
  22853.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  22854.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  22855.         
  22856.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  22857.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  22858.         
  22859.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  22860.             /* [in] */ ULONG ulStream,
  22861.             /* [out] */ LCID *pLanguage) = 0;
  22862.         
  22863.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  22864.             /* [in] */ ULONG ulStream,
  22865.             /* [out] */ LCID *pLanguage) = 0;
  22866.         
  22867.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  22868.             /* [in] */ ULONG ulTitle,
  22869.             /* [out] */ DVD_ATR *pATR) = 0;
  22870.         
  22871.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  22872.             /* [out] */ DVD_ATR *pATR) = 0;
  22873.         
  22874.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  22875.             /* [out] */ DVD_VideoATR *pATR) = 0;
  22876.         
  22877.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes( 
  22878.             /* [out] */ DVD_AudioATR *pATR) = 0;
  22879.         
  22880.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes( 
  22881.             /* [out] */ DVD_SubpictureATR *pATR) = 0;
  22882.         
  22883.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo( 
  22884.             /* [out] */ ULONG *pulNumOfVol,
  22885.             /* [out] */ ULONG *pulThisVolNum,
  22886.             /* [out] */ DVD_DISC_SIDE *pSide,
  22887.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  22888.         
  22889.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo( 
  22890.             /* [size_is][out] */ BYTE *pTextManager,
  22891.             /* [in] */ ULONG ulBufSize,
  22892.             /* [out] */ ULONG *pulActualSize) = 0;
  22893.         
  22894.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  22895.             /* [out] */ ULONG *pulParentalLevel,
  22896.             /* [out] */ ULONG *pulCountryCode) = 0;
  22897.         
  22898.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  22899.             /* [in] */ ULONG ulTitle,
  22900.             /* [out] */ ULONG *pulNumberOfChapters) = 0;
  22901.         
  22902.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  22903.             /* [in] */ ULONG ulTitle,
  22904.             /* [out] */ ULONG *pulParentalLevels) = 0;
  22905.         
  22906.         virtual HRESULT STDMETHODCALLTYPE GetRoot( 
  22907.             /* [size_is][out] */ LPSTR pRoot,
  22908.             /* [in] */ ULONG ulBufSize,
  22909.             /* [out] */ ULONG *pulActualSize) = 0;
  22910.         
  22911.     };
  22912.     
  22913. #else     /* C style interface */
  22914.  
  22915.     typedef struct IDvdInfoVtbl
  22916.     {
  22917.         BEGIN_INTERFACE
  22918.         
  22919.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22920.             IDvdInfo * This,
  22921.             /* [in] */ REFIID riid,
  22922.             /* [iid_is][out] */ void **ppvObject);
  22923.         
  22924.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22925.             IDvdInfo * This);
  22926.         
  22927.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22928.             IDvdInfo * This);
  22929.         
  22930.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  22931.             IDvdInfo * This,
  22932.             /* [out] */ DVD_DOMAIN *pDomain);
  22933.         
  22934.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  22935.             IDvdInfo * This,
  22936.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  22937.         
  22938.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  22939.             IDvdInfo * This,
  22940.             /* [out] */ ULONG *pulTotalTime);
  22941.         
  22942.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  22943.             IDvdInfo * This,
  22944.             /* [out] */ ULONG *pulButtonsAvailable,
  22945.             /* [out] */ ULONG *pulCurrentButton);
  22946.         
  22947.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  22948.             IDvdInfo * This,
  22949.             /* [out] */ ULONG *pulAnglesAvailable,
  22950.             /* [out] */ ULONG *pulCurrentAngle);
  22951.         
  22952.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  22953.             IDvdInfo * This,
  22954.             /* [out] */ ULONG *pulStreamsAvailable,
  22955.             /* [out] */ ULONG *pulCurrentStream);
  22956.         
  22957.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  22958.             IDvdInfo * This,
  22959.             /* [out] */ ULONG *pulStreamsAvailable,
  22960.             /* [out] */ ULONG *pulCurrentStream,
  22961.             /* [out] */ BOOL *pIsDisabled);
  22962.         
  22963.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  22964.             IDvdInfo * This,
  22965.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  22966.         
  22967.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  22968.             IDvdInfo * This,
  22969.             /* [out] */ SPRMARRAY *pRegisterArray);
  22970.         
  22971.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  22972.             IDvdInfo * This,
  22973.             /* [out] */ GPRMARRAY *pRegisterArray);
  22974.         
  22975.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  22976.             IDvdInfo * This,
  22977.             /* [in] */ ULONG ulStream,
  22978.             /* [out] */ LCID *pLanguage);
  22979.         
  22980.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  22981.             IDvdInfo * This,
  22982.             /* [in] */ ULONG ulStream,
  22983.             /* [out] */ LCID *pLanguage);
  22984.         
  22985.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  22986.             IDvdInfo * This,
  22987.             /* [in] */ ULONG ulTitle,
  22988.             /* [out] */ DVD_ATR *pATR);
  22989.         
  22990.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  22991.             IDvdInfo * This,
  22992.             /* [out] */ DVD_ATR *pATR);
  22993.         
  22994.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  22995.             IDvdInfo * This,
  22996.             /* [out] */ DVD_VideoATR *pATR);
  22997.         
  22998.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )( 
  22999.             IDvdInfo * This,
  23000.             /* [out] */ DVD_AudioATR *pATR);
  23001.         
  23002.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )( 
  23003.             IDvdInfo * This,
  23004.             /* [out] */ DVD_SubpictureATR *pATR);
  23005.         
  23006.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )( 
  23007.             IDvdInfo * This,
  23008.             /* [out] */ ULONG *pulNumOfVol,
  23009.             /* [out] */ ULONG *pulThisVolNum,
  23010.             /* [out] */ DVD_DISC_SIDE *pSide,
  23011.             /* [out] */ ULONG *pulNumOfTitles);
  23012.         
  23013.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )( 
  23014.             IDvdInfo * This,
  23015.             /* [size_is][out] */ BYTE *pTextManager,
  23016.             /* [in] */ ULONG ulBufSize,
  23017.             /* [out] */ ULONG *pulActualSize);
  23018.         
  23019.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  23020.             IDvdInfo * This,
  23021.             /* [out] */ ULONG *pulParentalLevel,
  23022.             /* [out] */ ULONG *pulCountryCode);
  23023.         
  23024.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  23025.             IDvdInfo * This,
  23026.             /* [in] */ ULONG ulTitle,
  23027.             /* [out] */ ULONG *pulNumberOfChapters);
  23028.         
  23029.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  23030.             IDvdInfo * This,
  23031.             /* [in] */ ULONG ulTitle,
  23032.             /* [out] */ ULONG *pulParentalLevels);
  23033.         
  23034.         HRESULT ( STDMETHODCALLTYPE *GetRoot )( 
  23035.             IDvdInfo * This,
  23036.             /* [size_is][out] */ LPSTR pRoot,
  23037.             /* [in] */ ULONG ulBufSize,
  23038.             /* [out] */ ULONG *pulActualSize);
  23039.         
  23040.         END_INTERFACE
  23041.     } IDvdInfoVtbl;
  23042.  
  23043.     interface IDvdInfo
  23044.     {
  23045.         CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  23046.     };
  23047.  
  23048.     
  23049.  
  23050. #ifdef COBJMACROS
  23051.  
  23052.  
  23053. #define IDvdInfo_QueryInterface(This,riid,ppvObject)    \
  23054.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23055.  
  23056. #define IDvdInfo_AddRef(This)    \
  23057.     (This)->lpVtbl -> AddRef(This)
  23058.  
  23059. #define IDvdInfo_Release(This)    \
  23060.     (This)->lpVtbl -> Release(This)
  23061.  
  23062.  
  23063. #define IDvdInfo_GetCurrentDomain(This,pDomain)    \
  23064.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  23065.  
  23066. #define IDvdInfo_GetCurrentLocation(This,pLocation)    \
  23067.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  23068.  
  23069. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime)    \
  23070.     (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  23071.  
  23072. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  23073.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  23074.  
  23075. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  23076.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  23077.  
  23078. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  23079.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  23080.  
  23081. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)    \
  23082.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  23083.  
  23084. #define IDvdInfo_GetCurrentUOPS(This,pUOP)    \
  23085.     (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  23086.  
  23087. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray)    \
  23088.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  23089.  
  23090. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray)    \
  23091.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  23092.  
  23093. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage)    \
  23094.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  23095.  
  23096. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  23097.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  23098.  
  23099. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR)    \
  23100.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  23101.  
  23102. #define IDvdInfo_GetVMGAttributes(This,pATR)    \
  23103.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  23104.  
  23105. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR)    \
  23106.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  23107.  
  23108. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR)    \
  23109.     (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  23110.  
  23111. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)    \
  23112.     (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  23113.  
  23114. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)    \
  23115.     (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  23116.  
  23117. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)    \
  23118.     (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  23119.  
  23120. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)    \
  23121.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  23122.  
  23123. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)    \
  23124.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  23125.  
  23126. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  23127.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  23128.  
  23129. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize)    \
  23130.     (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  23131.  
  23132. #endif /* COBJMACROS */
  23133.  
  23134.  
  23135. #endif     /* C style interface */
  23136.  
  23137.  
  23138.  
  23139. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy( 
  23140.     IDvdInfo * This,
  23141.     /* [out] */ DVD_DOMAIN *pDomain);
  23142.  
  23143.  
  23144. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  23145.     IRpcStubBuffer *This,
  23146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23147.     PRPC_MESSAGE _pRpcMessage,
  23148.     DWORD *_pdwStubPhase);
  23149.  
  23150.  
  23151. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy( 
  23152.     IDvdInfo * This,
  23153.     /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  23154.  
  23155.  
  23156. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  23157.     IRpcStubBuffer *This,
  23158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23159.     PRPC_MESSAGE _pRpcMessage,
  23160.     DWORD *_pdwStubPhase);
  23161.  
  23162.  
  23163. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy( 
  23164.     IDvdInfo * This,
  23165.     /* [out] */ ULONG *pulTotalTime);
  23166.  
  23167.  
  23168. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  23169.     IRpcStubBuffer *This,
  23170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23171.     PRPC_MESSAGE _pRpcMessage,
  23172.     DWORD *_pdwStubPhase);
  23173.  
  23174.  
  23175. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy( 
  23176.     IDvdInfo * This,
  23177.     /* [out] */ ULONG *pulButtonsAvailable,
  23178.     /* [out] */ ULONG *pulCurrentButton);
  23179.  
  23180.  
  23181. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  23182.     IRpcStubBuffer *This,
  23183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23184.     PRPC_MESSAGE _pRpcMessage,
  23185.     DWORD *_pdwStubPhase);
  23186.  
  23187.  
  23188. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy( 
  23189.     IDvdInfo * This,
  23190.     /* [out] */ ULONG *pulAnglesAvailable,
  23191.     /* [out] */ ULONG *pulCurrentAngle);
  23192.  
  23193.  
  23194. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  23195.     IRpcStubBuffer *This,
  23196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23197.     PRPC_MESSAGE _pRpcMessage,
  23198.     DWORD *_pdwStubPhase);
  23199.  
  23200.  
  23201. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy( 
  23202.     IDvdInfo * This,
  23203.     /* [out] */ ULONG *pulStreamsAvailable,
  23204.     /* [out] */ ULONG *pulCurrentStream);
  23205.  
  23206.  
  23207. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  23208.     IRpcStubBuffer *This,
  23209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23210.     PRPC_MESSAGE _pRpcMessage,
  23211.     DWORD *_pdwStubPhase);
  23212.  
  23213.  
  23214. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy( 
  23215.     IDvdInfo * This,
  23216.     /* [out] */ ULONG *pulStreamsAvailable,
  23217.     /* [out] */ ULONG *pulCurrentStream,
  23218.     /* [out] */ BOOL *pIsDisabled);
  23219.  
  23220.  
  23221. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  23222.     IRpcStubBuffer *This,
  23223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23224.     PRPC_MESSAGE _pRpcMessage,
  23225.     DWORD *_pdwStubPhase);
  23226.  
  23227.  
  23228. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy( 
  23229.     IDvdInfo * This,
  23230.     /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  23231.  
  23232.  
  23233. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  23234.     IRpcStubBuffer *This,
  23235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23236.     PRPC_MESSAGE _pRpcMessage,
  23237.     DWORD *_pdwStubPhase);
  23238.  
  23239.  
  23240. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy( 
  23241.     IDvdInfo * This,
  23242.     /* [out] */ SPRMARRAY *pRegisterArray);
  23243.  
  23244.  
  23245. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  23246.     IRpcStubBuffer *This,
  23247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23248.     PRPC_MESSAGE _pRpcMessage,
  23249.     DWORD *_pdwStubPhase);
  23250.  
  23251.  
  23252. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy( 
  23253.     IDvdInfo * This,
  23254.     /* [out] */ GPRMARRAY *pRegisterArray);
  23255.  
  23256.  
  23257. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  23258.     IRpcStubBuffer *This,
  23259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23260.     PRPC_MESSAGE _pRpcMessage,
  23261.     DWORD *_pdwStubPhase);
  23262.  
  23263.  
  23264. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy( 
  23265.     IDvdInfo * This,
  23266.     /* [in] */ ULONG ulStream,
  23267.     /* [out] */ LCID *pLanguage);
  23268.  
  23269.  
  23270. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  23271.     IRpcStubBuffer *This,
  23272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23273.     PRPC_MESSAGE _pRpcMessage,
  23274.     DWORD *_pdwStubPhase);
  23275.  
  23276.  
  23277. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy( 
  23278.     IDvdInfo * This,
  23279.     /* [in] */ ULONG ulStream,
  23280.     /* [out] */ LCID *pLanguage);
  23281.  
  23282.  
  23283. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  23284.     IRpcStubBuffer *This,
  23285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23286.     PRPC_MESSAGE _pRpcMessage,
  23287.     DWORD *_pdwStubPhase);
  23288.  
  23289.  
  23290. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy( 
  23291.     IDvdInfo * This,
  23292.     /* [in] */ ULONG ulTitle,
  23293.     /* [out] */ DVD_ATR *pATR);
  23294.  
  23295.  
  23296. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  23297.     IRpcStubBuffer *This,
  23298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23299.     PRPC_MESSAGE _pRpcMessage,
  23300.     DWORD *_pdwStubPhase);
  23301.  
  23302.  
  23303. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy( 
  23304.     IDvdInfo * This,
  23305.     /* [out] */ DVD_ATR *pATR);
  23306.  
  23307.  
  23308. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  23309.     IRpcStubBuffer *This,
  23310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23311.     PRPC_MESSAGE _pRpcMessage,
  23312.     DWORD *_pdwStubPhase);
  23313.  
  23314.  
  23315. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy( 
  23316.     IDvdInfo * This,
  23317.     /* [out] */ DVD_VideoATR *pATR);
  23318.  
  23319.  
  23320. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  23321.     IRpcStubBuffer *This,
  23322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23323.     PRPC_MESSAGE _pRpcMessage,
  23324.     DWORD *_pdwStubPhase);
  23325.  
  23326.  
  23327. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy( 
  23328.     IDvdInfo * This,
  23329.     /* [out] */ DVD_AudioATR *pATR);
  23330.  
  23331.  
  23332. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  23333.     IRpcStubBuffer *This,
  23334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23335.     PRPC_MESSAGE _pRpcMessage,
  23336.     DWORD *_pdwStubPhase);
  23337.  
  23338.  
  23339. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy( 
  23340.     IDvdInfo * This,
  23341.     /* [out] */ DVD_SubpictureATR *pATR);
  23342.  
  23343.  
  23344. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  23345.     IRpcStubBuffer *This,
  23346.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23347.     PRPC_MESSAGE _pRpcMessage,
  23348.     DWORD *_pdwStubPhase);
  23349.  
  23350.  
  23351. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy( 
  23352.     IDvdInfo * This,
  23353.     /* [out] */ ULONG *pulNumOfVol,
  23354.     /* [out] */ ULONG *pulThisVolNum,
  23355.     /* [out] */ DVD_DISC_SIDE *pSide,
  23356.     /* [out] */ ULONG *pulNumOfTitles);
  23357.  
  23358.  
  23359. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  23360.     IRpcStubBuffer *This,
  23361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23362.     PRPC_MESSAGE _pRpcMessage,
  23363.     DWORD *_pdwStubPhase);
  23364.  
  23365.  
  23366. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy( 
  23367.     IDvdInfo * This,
  23368.     /* [size_is][out] */ BYTE *pTextManager,
  23369.     /* [in] */ ULONG ulBufSize,
  23370.     /* [out] */ ULONG *pulActualSize);
  23371.  
  23372.  
  23373. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  23374.     IRpcStubBuffer *This,
  23375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23376.     PRPC_MESSAGE _pRpcMessage,
  23377.     DWORD *_pdwStubPhase);
  23378.  
  23379.  
  23380. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy( 
  23381.     IDvdInfo * This,
  23382.     /* [out] */ ULONG *pulParentalLevel,
  23383.     /* [out] */ ULONG *pulCountryCode);
  23384.  
  23385.  
  23386. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  23387.     IRpcStubBuffer *This,
  23388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23389.     PRPC_MESSAGE _pRpcMessage,
  23390.     DWORD *_pdwStubPhase);
  23391.  
  23392.  
  23393. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy( 
  23394.     IDvdInfo * This,
  23395.     /* [in] */ ULONG ulTitle,
  23396.     /* [out] */ ULONG *pulNumberOfChapters);
  23397.  
  23398.  
  23399. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  23400.     IRpcStubBuffer *This,
  23401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23402.     PRPC_MESSAGE _pRpcMessage,
  23403.     DWORD *_pdwStubPhase);
  23404.  
  23405.  
  23406. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy( 
  23407.     IDvdInfo * This,
  23408.     /* [in] */ ULONG ulTitle,
  23409.     /* [out] */ ULONG *pulParentalLevels);
  23410.  
  23411.  
  23412. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  23413.     IRpcStubBuffer *This,
  23414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23415.     PRPC_MESSAGE _pRpcMessage,
  23416.     DWORD *_pdwStubPhase);
  23417.  
  23418.  
  23419. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy( 
  23420.     IDvdInfo * This,
  23421.     /* [size_is][out] */ LPSTR pRoot,
  23422.     /* [in] */ ULONG ulBufSize,
  23423.     /* [out] */ ULONG *pulActualSize);
  23424.  
  23425.  
  23426. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  23427.     IRpcStubBuffer *This,
  23428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23429.     PRPC_MESSAGE _pRpcMessage,
  23430.     DWORD *_pdwStubPhase);
  23431.  
  23432.  
  23433.  
  23434. #endif     /* __IDvdInfo_INTERFACE_DEFINED__ */
  23435.  
  23436.  
  23437. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  23438. #define __IDvdCmd_INTERFACE_DEFINED__
  23439.  
  23440. /* interface IDvdCmd */
  23441. /* [unique][uuid][object] */ 
  23442.  
  23443.  
  23444. EXTERN_C const IID IID_IDvdCmd;
  23445.  
  23446. #if defined(__cplusplus) && !defined(CINTERFACE)
  23447.     
  23448.     MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  23449.     IDvdCmd : public IUnknown
  23450.     {
  23451.     public:
  23452.         virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  23453.         
  23454.         virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  23455.         
  23456.     };
  23457.     
  23458. #else     /* C style interface */
  23459.  
  23460.     typedef struct IDvdCmdVtbl
  23461.     {
  23462.         BEGIN_INTERFACE
  23463.         
  23464.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23465.             IDvdCmd * This,
  23466.             /* [in] */ REFIID riid,
  23467.             /* [iid_is][out] */ void **ppvObject);
  23468.         
  23469.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23470.             IDvdCmd * This);
  23471.         
  23472.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23473.             IDvdCmd * This);
  23474.         
  23475.         HRESULT ( STDMETHODCALLTYPE *WaitForStart )( 
  23476.             IDvdCmd * This);
  23477.         
  23478.         HRESULT ( STDMETHODCALLTYPE *WaitForEnd )( 
  23479.             IDvdCmd * This);
  23480.         
  23481.         END_INTERFACE
  23482.     } IDvdCmdVtbl;
  23483.  
  23484.     interface IDvdCmd
  23485.     {
  23486.         CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  23487.     };
  23488.  
  23489.     
  23490.  
  23491. #ifdef COBJMACROS
  23492.  
  23493.  
  23494. #define IDvdCmd_QueryInterface(This,riid,ppvObject)    \
  23495.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23496.  
  23497. #define IDvdCmd_AddRef(This)    \
  23498.     (This)->lpVtbl -> AddRef(This)
  23499.  
  23500. #define IDvdCmd_Release(This)    \
  23501.     (This)->lpVtbl -> Release(This)
  23502.  
  23503.  
  23504. #define IDvdCmd_WaitForStart(This)    \
  23505.     (This)->lpVtbl -> WaitForStart(This)
  23506.  
  23507. #define IDvdCmd_WaitForEnd(This)    \
  23508.     (This)->lpVtbl -> WaitForEnd(This)
  23509.  
  23510. #endif /* COBJMACROS */
  23511.  
  23512.  
  23513. #endif     /* C style interface */
  23514.  
  23515.  
  23516.  
  23517. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy( 
  23518.     IDvdCmd * This);
  23519.  
  23520.  
  23521. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  23522.     IRpcStubBuffer *This,
  23523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23524.     PRPC_MESSAGE _pRpcMessage,
  23525.     DWORD *_pdwStubPhase);
  23526.  
  23527.  
  23528. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy( 
  23529.     IDvdCmd * This);
  23530.  
  23531.  
  23532. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  23533.     IRpcStubBuffer *This,
  23534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23535.     PRPC_MESSAGE _pRpcMessage,
  23536.     DWORD *_pdwStubPhase);
  23537.  
  23538.  
  23539.  
  23540. #endif     /* __IDvdCmd_INTERFACE_DEFINED__ */
  23541.  
  23542.  
  23543. #ifndef __IDvdState_INTERFACE_DEFINED__
  23544. #define __IDvdState_INTERFACE_DEFINED__
  23545.  
  23546. /* interface IDvdState */
  23547. /* [unique][uuid][object] */ 
  23548.  
  23549.  
  23550. EXTERN_C const IID IID_IDvdState;
  23551.  
  23552. #if defined(__cplusplus) && !defined(CINTERFACE)
  23553.     
  23554.     MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  23555.     IDvdState : public IUnknown
  23556.     {
  23557.     public:
  23558.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  23559.             /* [out] */ ULONGLONG *pullUniqueID) = 0;
  23560.         
  23561.         virtual HRESULT STDMETHODCALLTYPE GetParentalLevel( 
  23562.             /* [out] */ ULONG *pulParentalLevel) = 0;
  23563.         
  23564.     };
  23565.     
  23566. #else     /* C style interface */
  23567.  
  23568.     typedef struct IDvdStateVtbl
  23569.     {
  23570.         BEGIN_INTERFACE
  23571.         
  23572.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23573.             IDvdState * This,
  23574.             /* [in] */ REFIID riid,
  23575.             /* [iid_is][out] */ void **ppvObject);
  23576.         
  23577.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23578.             IDvdState * This);
  23579.         
  23580.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23581.             IDvdState * This);
  23582.         
  23583.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  23584.             IDvdState * This,
  23585.             /* [out] */ ULONGLONG *pullUniqueID);
  23586.         
  23587.         HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )( 
  23588.             IDvdState * This,
  23589.             /* [out] */ ULONG *pulParentalLevel);
  23590.         
  23591.         END_INTERFACE
  23592.     } IDvdStateVtbl;
  23593.  
  23594.     interface IDvdState
  23595.     {
  23596.         CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  23597.     };
  23598.  
  23599.     
  23600.  
  23601. #ifdef COBJMACROS
  23602.  
  23603.  
  23604. #define IDvdState_QueryInterface(This,riid,ppvObject)    \
  23605.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  23606.  
  23607. #define IDvdState_AddRef(This)    \
  23608.     (This)->lpVtbl -> AddRef(This)
  23609.  
  23610. #define IDvdState_Release(This)    \
  23611.     (This)->lpVtbl -> Release(This)
  23612.  
  23613.  
  23614. #define IDvdState_GetDiscID(This,pullUniqueID)    \
  23615.     (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  23616.  
  23617. #define IDvdState_GetParentalLevel(This,pulParentalLevel)    \
  23618.     (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  23619.  
  23620. #endif /* COBJMACROS */
  23621.  
  23622.  
  23623. #endif     /* C style interface */
  23624.  
  23625.  
  23626.  
  23627. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy( 
  23628.     IDvdState * This,
  23629.     /* [out] */ ULONGLONG *pullUniqueID);
  23630.  
  23631.  
  23632. void __RPC_STUB IDvdState_GetDiscID_Stub(
  23633.     IRpcStubBuffer *This,
  23634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23635.     PRPC_MESSAGE _pRpcMessage,
  23636.     DWORD *_pdwStubPhase);
  23637.  
  23638.  
  23639. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy( 
  23640.     IDvdState * This,
  23641.     /* [out] */ ULONG *pulParentalLevel);
  23642.  
  23643.  
  23644. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  23645.     IRpcStubBuffer *This,
  23646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23647.     PRPC_MESSAGE _pRpcMessage,
  23648.     DWORD *_pdwStubPhase);
  23649.  
  23650.  
  23651.  
  23652. #endif     /* __IDvdState_INTERFACE_DEFINED__ */
  23653.  
  23654.  
  23655. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  23656. #define __IDvdControl2_INTERFACE_DEFINED__
  23657.  
  23658. /* interface IDvdControl2 */
  23659. /* [unique][uuid][object] */ 
  23660.  
  23661.  
  23662. EXTERN_C const IID IID_IDvdControl2;
  23663.  
  23664. #if defined(__cplusplus) && !defined(CINTERFACE)
  23665.     
  23666.     MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  23667.     IDvdControl2 : public IUnknown
  23668.     {
  23669.     public:
  23670.         virtual HRESULT STDMETHODCALLTYPE PlayTitle( 
  23671.             /* [in] */ ULONG ulTitle,
  23672.             /* [in] */ DWORD dwFlags,
  23673.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23674.         
  23675.         virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle( 
  23676.             /* [in] */ ULONG ulTitle,
  23677.             /* [in] */ ULONG ulChapter,
  23678.             /* [in] */ DWORD dwFlags,
  23679.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23680.         
  23681.         virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle( 
  23682.             /* [in] */ ULONG ulTitle,
  23683.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23684.             /* [in] */ DWORD dwFlags,
  23685.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23686.         
  23687.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  23688.         
  23689.         virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu( 
  23690.             /* [in] */ DWORD dwFlags,
  23691.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23692.         
  23693.         virtual HRESULT STDMETHODCALLTYPE PlayAtTime( 
  23694.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23695.             /* [in] */ DWORD dwFlags,
  23696.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23697.         
  23698.         virtual HRESULT STDMETHODCALLTYPE PlayChapter( 
  23699.             /* [in] */ ULONG ulChapter,
  23700.             /* [in] */ DWORD dwFlags,
  23701.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23702.         
  23703.         virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter( 
  23704.             /* [in] */ DWORD dwFlags,
  23705.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23706.         
  23707.         virtual HRESULT STDMETHODCALLTYPE ReplayChapter( 
  23708.             /* [in] */ DWORD dwFlags,
  23709.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23710.         
  23711.         virtual HRESULT STDMETHODCALLTYPE PlayNextChapter( 
  23712.             /* [in] */ DWORD dwFlags,
  23713.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23714.         
  23715.         virtual HRESULT STDMETHODCALLTYPE PlayForwards( 
  23716.             /* [in] */ double dSpeed,
  23717.             /* [in] */ DWORD dwFlags,
  23718.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23719.         
  23720.         virtual HRESULT STDMETHODCALLTYPE PlayBackwards( 
  23721.             /* [in] */ double dSpeed,
  23722.             /* [in] */ DWORD dwFlags,
  23723.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23724.         
  23725.         virtual HRESULT STDMETHODCALLTYPE ShowMenu( 
  23726.             /* [in] */ DVD_MENU_ID MenuID,
  23727.             /* [in] */ DWORD dwFlags,
  23728.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23729.         
  23730.         virtual HRESULT STDMETHODCALLTYPE Resume( 
  23731.             /* [in] */ DWORD dwFlags,
  23732.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23733.         
  23734.         virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton( 
  23735.             DVD_RELATIVE_BUTTON buttonDir) = 0;
  23736.         
  23737.         virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  23738.         
  23739.         virtual HRESULT STDMETHODCALLTYPE SelectButton( 
  23740.             /* [in] */ ULONG ulButton) = 0;
  23741.         
  23742.         virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton( 
  23743.             /* [in] */ ULONG ulButton) = 0;
  23744.         
  23745.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  23746.         
  23747.         virtual HRESULT STDMETHODCALLTYPE Pause( 
  23748.             /* [in] */ BOOL bState) = 0;
  23749.         
  23750.         virtual HRESULT STDMETHODCALLTYPE SelectAudioStream( 
  23751.             /* [in] */ ULONG ulAudio,
  23752.             /* [in] */ DWORD dwFlags,
  23753.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23754.         
  23755.         virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream( 
  23756.             /* [in] */ ULONG ulSubPicture,
  23757.             /* [in] */ DWORD dwFlags,
  23758.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23759.         
  23760.         virtual HRESULT STDMETHODCALLTYPE SetSubpictureState( 
  23761.             /* [in] */ BOOL bState,
  23762.             /* [in] */ DWORD dwFlags,
  23763.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23764.         
  23765.         virtual HRESULT STDMETHODCALLTYPE SelectAngle( 
  23766.             /* [in] */ ULONG ulAngle,
  23767.             /* [in] */ DWORD dwFlags,
  23768.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23769.         
  23770.         virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel( 
  23771.             /* [in] */ ULONG ulParentalLevel) = 0;
  23772.         
  23773.         virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry( 
  23774.             /* [in] */ BYTE bCountry[ 2 ]) = 0;
  23775.         
  23776.         virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode( 
  23777.             /* [in] */ ULONG ulMode) = 0;
  23778.         
  23779.         virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference( 
  23780.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  23781.         
  23782.         virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory( 
  23783.             /* [in] */ LPCWSTR pszwPath) = 0;
  23784.         
  23785.         virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition( 
  23786.             /* [in] */ POINT point) = 0;
  23787.         
  23788.         virtual HRESULT STDMETHODCALLTYPE SelectAtPosition( 
  23789.             /* [in] */ POINT point) = 0;
  23790.         
  23791.         virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop( 
  23792.             /* [in] */ ULONG ulTitle,
  23793.             /* [in] */ ULONG ulChapter,
  23794.             /* [in] */ ULONG ulChaptersToPlay,
  23795.             /* [in] */ DWORD dwFlags,
  23796.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23797.         
  23798.         virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange( 
  23799.             /* [in] */ BOOL bAccept) = 0;
  23800.         
  23801.         virtual HRESULT STDMETHODCALLTYPE SetOption( 
  23802.             /* [in] */ DVD_OPTION_FLAG flag,
  23803.             /* [in] */ BOOL fState) = 0;
  23804.         
  23805.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  23806.             /* [in] */ IDvdState *pState,
  23807.             /* [in] */ DWORD dwFlags,
  23808.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23809.         
  23810.         virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop( 
  23811.             /* [in] */ ULONG ulTitle,
  23812.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23813.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  23814.             /* [in] */ DWORD dwFlags,
  23815.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23816.         
  23817.         virtual HRESULT STDMETHODCALLTYPE SetGPRM( 
  23818.             /* [in] */ ULONG ulIndex,
  23819.             /* [in] */ WORD wValue,
  23820.             /* [in] */ DWORD dwFlags,
  23821.             /* [out] */ IDvdCmd **ppCmd) = 0;
  23822.         
  23823.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage( 
  23824.             /* [in] */ LCID Language) = 0;
  23825.         
  23826.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage( 
  23827.             /* [in] */ LCID Language,
  23828.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  23829.         
  23830.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage( 
  23831.             /* [in] */ LCID Language,
  23832.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  23833.         
  23834.     };
  23835.     
  23836. #else     /* C style interface */
  23837.  
  23838.     typedef struct IDvdControl2Vtbl
  23839.     {
  23840.         BEGIN_INTERFACE
  23841.         
  23842.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23843.             IDvdControl2 * This,
  23844.             /* [in] */ REFIID riid,
  23845.             /* [iid_is][out] */ void **ppvObject);
  23846.         
  23847.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23848.             IDvdControl2 * This);
  23849.         
  23850.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23851.             IDvdControl2 * This);
  23852.         
  23853.         HRESULT ( STDMETHODCALLTYPE *PlayTitle )( 
  23854.             IDvdControl2 * This,
  23855.             /* [in] */ ULONG ulTitle,
  23856.             /* [in] */ DWORD dwFlags,
  23857.             /* [out] */ IDvdCmd **ppCmd);
  23858.         
  23859.         HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )( 
  23860.             IDvdControl2 * This,
  23861.             /* [in] */ ULONG ulTitle,
  23862.             /* [in] */ ULONG ulChapter,
  23863.             /* [in] */ DWORD dwFlags,
  23864.             /* [out] */ IDvdCmd **ppCmd);
  23865.         
  23866.         HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )( 
  23867.             IDvdControl2 * This,
  23868.             /* [in] */ ULONG ulTitle,
  23869.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23870.             /* [in] */ DWORD dwFlags,
  23871.             /* [out] */ IDvdCmd **ppCmd);
  23872.         
  23873.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  23874.             IDvdControl2 * This);
  23875.         
  23876.         HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )( 
  23877.             IDvdControl2 * This,
  23878.             /* [in] */ DWORD dwFlags,
  23879.             /* [out] */ IDvdCmd **ppCmd);
  23880.         
  23881.         HRESULT ( STDMETHODCALLTYPE *PlayAtTime )( 
  23882.             IDvdControl2 * This,
  23883.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23884.             /* [in] */ DWORD dwFlags,
  23885.             /* [out] */ IDvdCmd **ppCmd);
  23886.         
  23887.         HRESULT ( STDMETHODCALLTYPE *PlayChapter )( 
  23888.             IDvdControl2 * This,
  23889.             /* [in] */ ULONG ulChapter,
  23890.             /* [in] */ DWORD dwFlags,
  23891.             /* [out] */ IDvdCmd **ppCmd);
  23892.         
  23893.         HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )( 
  23894.             IDvdControl2 * This,
  23895.             /* [in] */ DWORD dwFlags,
  23896.             /* [out] */ IDvdCmd **ppCmd);
  23897.         
  23898.         HRESULT ( STDMETHODCALLTYPE *ReplayChapter )( 
  23899.             IDvdControl2 * This,
  23900.             /* [in] */ DWORD dwFlags,
  23901.             /* [out] */ IDvdCmd **ppCmd);
  23902.         
  23903.         HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )( 
  23904.             IDvdControl2 * This,
  23905.             /* [in] */ DWORD dwFlags,
  23906.             /* [out] */ IDvdCmd **ppCmd);
  23907.         
  23908.         HRESULT ( STDMETHODCALLTYPE *PlayForwards )( 
  23909.             IDvdControl2 * This,
  23910.             /* [in] */ double dSpeed,
  23911.             /* [in] */ DWORD dwFlags,
  23912.             /* [out] */ IDvdCmd **ppCmd);
  23913.         
  23914.         HRESULT ( STDMETHODCALLTYPE *PlayBackwards )( 
  23915.             IDvdControl2 * This,
  23916.             /* [in] */ double dSpeed,
  23917.             /* [in] */ DWORD dwFlags,
  23918.             /* [out] */ IDvdCmd **ppCmd);
  23919.         
  23920.         HRESULT ( STDMETHODCALLTYPE *ShowMenu )( 
  23921.             IDvdControl2 * This,
  23922.             /* [in] */ DVD_MENU_ID MenuID,
  23923.             /* [in] */ DWORD dwFlags,
  23924.             /* [out] */ IDvdCmd **ppCmd);
  23925.         
  23926.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  23927.             IDvdControl2 * This,
  23928.             /* [in] */ DWORD dwFlags,
  23929.             /* [out] */ IDvdCmd **ppCmd);
  23930.         
  23931.         HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )( 
  23932.             IDvdControl2 * This,
  23933.             DVD_RELATIVE_BUTTON buttonDir);
  23934.         
  23935.         HRESULT ( STDMETHODCALLTYPE *ActivateButton )( 
  23936.             IDvdControl2 * This);
  23937.         
  23938.         HRESULT ( STDMETHODCALLTYPE *SelectButton )( 
  23939.             IDvdControl2 * This,
  23940.             /* [in] */ ULONG ulButton);
  23941.         
  23942.         HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )( 
  23943.             IDvdControl2 * This,
  23944.             /* [in] */ ULONG ulButton);
  23945.         
  23946.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  23947.             IDvdControl2 * This);
  23948.         
  23949.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  23950.             IDvdControl2 * This,
  23951.             /* [in] */ BOOL bState);
  23952.         
  23953.         HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )( 
  23954.             IDvdControl2 * This,
  23955.             /* [in] */ ULONG ulAudio,
  23956.             /* [in] */ DWORD dwFlags,
  23957.             /* [out] */ IDvdCmd **ppCmd);
  23958.         
  23959.         HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )( 
  23960.             IDvdControl2 * This,
  23961.             /* [in] */ ULONG ulSubPicture,
  23962.             /* [in] */ DWORD dwFlags,
  23963.             /* [out] */ IDvdCmd **ppCmd);
  23964.         
  23965.         HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )( 
  23966.             IDvdControl2 * This,
  23967.             /* [in] */ BOOL bState,
  23968.             /* [in] */ DWORD dwFlags,
  23969.             /* [out] */ IDvdCmd **ppCmd);
  23970.         
  23971.         HRESULT ( STDMETHODCALLTYPE *SelectAngle )( 
  23972.             IDvdControl2 * This,
  23973.             /* [in] */ ULONG ulAngle,
  23974.             /* [in] */ DWORD dwFlags,
  23975.             /* [out] */ IDvdCmd **ppCmd);
  23976.         
  23977.         HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )( 
  23978.             IDvdControl2 * This,
  23979.             /* [in] */ ULONG ulParentalLevel);
  23980.         
  23981.         HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )( 
  23982.             IDvdControl2 * This,
  23983.             /* [in] */ BYTE bCountry[ 2 ]);
  23984.         
  23985.         HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )( 
  23986.             IDvdControl2 * This,
  23987.             /* [in] */ ULONG ulMode);
  23988.         
  23989.         HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )( 
  23990.             IDvdControl2 * This,
  23991.             /* [in] */ ULONG ulPreferredDisplayMode);
  23992.         
  23993.         HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )( 
  23994.             IDvdControl2 * This,
  23995.             /* [in] */ LPCWSTR pszwPath);
  23996.         
  23997.         HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )( 
  23998.             IDvdControl2 * This,
  23999.             /* [in] */ POINT point);
  24000.         
  24001.         HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )( 
  24002.             IDvdControl2 * This,
  24003.             /* [in] */ POINT point);
  24004.         
  24005.         HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )( 
  24006.             IDvdControl2 * This,
  24007.             /* [in] */ ULONG ulTitle,
  24008.             /* [in] */ ULONG ulChapter,
  24009.             /* [in] */ ULONG ulChaptersToPlay,
  24010.             /* [in] */ DWORD dwFlags,
  24011.             /* [out] */ IDvdCmd **ppCmd);
  24012.         
  24013.         HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )( 
  24014.             IDvdControl2 * This,
  24015.             /* [in] */ BOOL bAccept);
  24016.         
  24017.         HRESULT ( STDMETHODCALLTYPE *SetOption )( 
  24018.             IDvdControl2 * This,
  24019.             /* [in] */ DVD_OPTION_FLAG flag,
  24020.             /* [in] */ BOOL fState);
  24021.         
  24022.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  24023.             IDvdControl2 * This,
  24024.             /* [in] */ IDvdState *pState,
  24025.             /* [in] */ DWORD dwFlags,
  24026.             /* [out] */ IDvdCmd **ppCmd);
  24027.         
  24028.         HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )( 
  24029.             IDvdControl2 * This,
  24030.             /* [in] */ ULONG ulTitle,
  24031.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24032.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  24033.             /* [in] */ DWORD dwFlags,
  24034.             /* [out] */ IDvdCmd **ppCmd);
  24035.         
  24036.         HRESULT ( STDMETHODCALLTYPE *SetGPRM )( 
  24037.             IDvdControl2 * This,
  24038.             /* [in] */ ULONG ulIndex,
  24039.             /* [in] */ WORD wValue,
  24040.             /* [in] */ DWORD dwFlags,
  24041.             /* [out] */ IDvdCmd **ppCmd);
  24042.         
  24043.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )( 
  24044.             IDvdControl2 * This,
  24045.             /* [in] */ LCID Language);
  24046.         
  24047.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )( 
  24048.             IDvdControl2 * This,
  24049.             /* [in] */ LCID Language,
  24050.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  24051.         
  24052.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )( 
  24053.             IDvdControl2 * This,
  24054.             /* [in] */ LCID Language,
  24055.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  24056.         
  24057.         END_INTERFACE
  24058.     } IDvdControl2Vtbl;
  24059.  
  24060.     interface IDvdControl2
  24061.     {
  24062.         CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  24063.     };
  24064.  
  24065.     
  24066.  
  24067. #ifdef COBJMACROS
  24068.  
  24069.  
  24070. #define IDvdControl2_QueryInterface(This,riid,ppvObject)    \
  24071.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  24072.  
  24073. #define IDvdControl2_AddRef(This)    \
  24074.     (This)->lpVtbl -> AddRef(This)
  24075.  
  24076. #define IDvdControl2_Release(This)    \
  24077.     (This)->lpVtbl -> Release(This)
  24078.  
  24079.  
  24080. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd)    \
  24081.     (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  24082.  
  24083. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)    \
  24084.     (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  24085.  
  24086. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)    \
  24087.     (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  24088.  
  24089. #define IDvdControl2_Stop(This)    \
  24090.     (This)->lpVtbl -> Stop(This)
  24091.  
  24092. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd)    \
  24093.     (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  24094.  
  24095. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd)    \
  24096.     (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  24097.  
  24098. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd)    \
  24099.     (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  24100.  
  24101. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd)    \
  24102.     (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  24103.  
  24104. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd)    \
  24105.     (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  24106.  
  24107. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd)    \
  24108.     (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  24109.  
  24110. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd)    \
  24111.     (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  24112.  
  24113. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd)    \
  24114.     (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  24115.  
  24116. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd)    \
  24117.     (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  24118.  
  24119. #define IDvdControl2_Resume(This,dwFlags,ppCmd)    \
  24120.     (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  24121.  
  24122. #define IDvdControl2_SelectRelativeButton(This,buttonDir)    \
  24123.     (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  24124.  
  24125. #define IDvdControl2_ActivateButton(This)    \
  24126.     (This)->lpVtbl -> ActivateButton(This)
  24127.  
  24128. #define IDvdControl2_SelectButton(This,ulButton)    \
  24129.     (This)->lpVtbl -> SelectButton(This,ulButton)
  24130.  
  24131. #define IDvdControl2_SelectAndActivateButton(This,ulButton)    \
  24132.     (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  24133.  
  24134. #define IDvdControl2_StillOff(This)    \
  24135.     (This)->lpVtbl -> StillOff(This)
  24136.  
  24137. #define IDvdControl2_Pause(This,bState)    \
  24138.     (This)->lpVtbl -> Pause(This,bState)
  24139.  
  24140. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd)    \
  24141.     (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  24142.  
  24143. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)    \
  24144.     (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  24145.  
  24146. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd)    \
  24147.     (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  24148.  
  24149. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd)    \
  24150.     (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  24151.  
  24152. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel)    \
  24153.     (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  24154.  
  24155. #define IDvdControl2_SelectParentalCountry(This,bCountry)    \
  24156.     (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  24157.  
  24158. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode)    \
  24159.     (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  24160.  
  24161. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode)    \
  24162.     (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  24163.  
  24164. #define IDvdControl2_SetDVDDirectory(This,pszwPath)    \
  24165.     (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  24166.  
  24167. #define IDvdControl2_ActivateAtPosition(This,point)    \
  24168.     (This)->lpVtbl -> ActivateAtPosition(This,point)
  24169.  
  24170. #define IDvdControl2_SelectAtPosition(This,point)    \
  24171.     (This)->lpVtbl -> SelectAtPosition(This,point)
  24172.  
  24173. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)    \
  24174.     (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  24175.  
  24176. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept)    \
  24177.     (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  24178.  
  24179. #define IDvdControl2_SetOption(This,flag,fState)    \
  24180.     (This)->lpVtbl -> SetOption(This,flag,fState)
  24181.  
  24182. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd)    \
  24183.     (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  24184.  
  24185. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)    \
  24186.     (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  24187.  
  24188. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)    \
  24189.     (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  24190.  
  24191. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language)    \
  24192.     (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  24193.  
  24194. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension)    \
  24195.     (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  24196.  
  24197. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)    \
  24198.     (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  24199.  
  24200. #endif /* COBJMACROS */
  24201.  
  24202.  
  24203. #endif     /* C style interface */
  24204.  
  24205.  
  24206.  
  24207. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy( 
  24208.     IDvdControl2 * This,
  24209.     /* [in] */ ULONG ulTitle,
  24210.     /* [in] */ DWORD dwFlags,
  24211.     /* [out] */ IDvdCmd **ppCmd);
  24212.  
  24213.  
  24214. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  24215.     IRpcStubBuffer *This,
  24216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24217.     PRPC_MESSAGE _pRpcMessage,
  24218.     DWORD *_pdwStubPhase);
  24219.  
  24220.  
  24221. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy( 
  24222.     IDvdControl2 * This,
  24223.     /* [in] */ ULONG ulTitle,
  24224.     /* [in] */ ULONG ulChapter,
  24225.     /* [in] */ DWORD dwFlags,
  24226.     /* [out] */ IDvdCmd **ppCmd);
  24227.  
  24228.  
  24229. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  24230.     IRpcStubBuffer *This,
  24231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24232.     PRPC_MESSAGE _pRpcMessage,
  24233.     DWORD *_pdwStubPhase);
  24234.  
  24235.  
  24236. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy( 
  24237.     IDvdControl2 * This,
  24238.     /* [in] */ ULONG ulTitle,
  24239.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24240.     /* [in] */ DWORD dwFlags,
  24241.     /* [out] */ IDvdCmd **ppCmd);
  24242.  
  24243.  
  24244. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  24245.     IRpcStubBuffer *This,
  24246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24247.     PRPC_MESSAGE _pRpcMessage,
  24248.     DWORD *_pdwStubPhase);
  24249.  
  24250.  
  24251. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy( 
  24252.     IDvdControl2 * This);
  24253.  
  24254.  
  24255. void __RPC_STUB IDvdControl2_Stop_Stub(
  24256.     IRpcStubBuffer *This,
  24257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24258.     PRPC_MESSAGE _pRpcMessage,
  24259.     DWORD *_pdwStubPhase);
  24260.  
  24261.  
  24262. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy( 
  24263.     IDvdControl2 * This,
  24264.     /* [in] */ DWORD dwFlags,
  24265.     /* [out] */ IDvdCmd **ppCmd);
  24266.  
  24267.  
  24268. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  24269.     IRpcStubBuffer *This,
  24270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24271.     PRPC_MESSAGE _pRpcMessage,
  24272.     DWORD *_pdwStubPhase);
  24273.  
  24274.  
  24275. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy( 
  24276.     IDvdControl2 * This,
  24277.     /* [in] */ DVD_HMSF_TIMECODE *pTime,
  24278.     /* [in] */ DWORD dwFlags,
  24279.     /* [out] */ IDvdCmd **ppCmd);
  24280.  
  24281.  
  24282. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  24283.     IRpcStubBuffer *This,
  24284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24285.     PRPC_MESSAGE _pRpcMessage,
  24286.     DWORD *_pdwStubPhase);
  24287.  
  24288.  
  24289. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy( 
  24290.     IDvdControl2 * This,
  24291.     /* [in] */ ULONG ulChapter,
  24292.     /* [in] */ DWORD dwFlags,
  24293.     /* [out] */ IDvdCmd **ppCmd);
  24294.  
  24295.  
  24296. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  24297.     IRpcStubBuffer *This,
  24298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24299.     PRPC_MESSAGE _pRpcMessage,
  24300.     DWORD *_pdwStubPhase);
  24301.  
  24302.  
  24303. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy( 
  24304.     IDvdControl2 * This,
  24305.     /* [in] */ DWORD dwFlags,
  24306.     /* [out] */ IDvdCmd **ppCmd);
  24307.  
  24308.  
  24309. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  24310.     IRpcStubBuffer *This,
  24311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24312.     PRPC_MESSAGE _pRpcMessage,
  24313.     DWORD *_pdwStubPhase);
  24314.  
  24315.  
  24316. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy( 
  24317.     IDvdControl2 * This,
  24318.     /* [in] */ DWORD dwFlags,
  24319.     /* [out] */ IDvdCmd **ppCmd);
  24320.  
  24321.  
  24322. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  24323.     IRpcStubBuffer *This,
  24324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24325.     PRPC_MESSAGE _pRpcMessage,
  24326.     DWORD *_pdwStubPhase);
  24327.  
  24328.  
  24329. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy( 
  24330.     IDvdControl2 * This,
  24331.     /* [in] */ DWORD dwFlags,
  24332.     /* [out] */ IDvdCmd **ppCmd);
  24333.  
  24334.  
  24335. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  24336.     IRpcStubBuffer *This,
  24337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24338.     PRPC_MESSAGE _pRpcMessage,
  24339.     DWORD *_pdwStubPhase);
  24340.  
  24341.  
  24342. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy( 
  24343.     IDvdControl2 * This,
  24344.     /* [in] */ double dSpeed,
  24345.     /* [in] */ DWORD dwFlags,
  24346.     /* [out] */ IDvdCmd **ppCmd);
  24347.  
  24348.  
  24349. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  24350.     IRpcStubBuffer *This,
  24351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24352.     PRPC_MESSAGE _pRpcMessage,
  24353.     DWORD *_pdwStubPhase);
  24354.  
  24355.  
  24356. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy( 
  24357.     IDvdControl2 * This,
  24358.     /* [in] */ double dSpeed,
  24359.     /* [in] */ DWORD dwFlags,
  24360.     /* [out] */ IDvdCmd **ppCmd);
  24361.  
  24362.  
  24363. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  24364.     IRpcStubBuffer *This,
  24365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24366.     PRPC_MESSAGE _pRpcMessage,
  24367.     DWORD *_pdwStubPhase);
  24368.  
  24369.  
  24370. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy( 
  24371.     IDvdControl2 * This,
  24372.     /* [in] */ DVD_MENU_ID MenuID,
  24373.     /* [in] */ DWORD dwFlags,
  24374.     /* [out] */ IDvdCmd **ppCmd);
  24375.  
  24376.  
  24377. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  24378.     IRpcStubBuffer *This,
  24379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24380.     PRPC_MESSAGE _pRpcMessage,
  24381.     DWORD *_pdwStubPhase);
  24382.  
  24383.  
  24384. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy( 
  24385.     IDvdControl2 * This,
  24386.     /* [in] */ DWORD dwFlags,
  24387.     /* [out] */ IDvdCmd **ppCmd);
  24388.  
  24389.  
  24390. void __RPC_STUB IDvdControl2_Resume_Stub(
  24391.     IRpcStubBuffer *This,
  24392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24393.     PRPC_MESSAGE _pRpcMessage,
  24394.     DWORD *_pdwStubPhase);
  24395.  
  24396.  
  24397. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy( 
  24398.     IDvdControl2 * This,
  24399.     DVD_RELATIVE_BUTTON buttonDir);
  24400.  
  24401.  
  24402. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  24403.     IRpcStubBuffer *This,
  24404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24405.     PRPC_MESSAGE _pRpcMessage,
  24406.     DWORD *_pdwStubPhase);
  24407.  
  24408.  
  24409. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy( 
  24410.     IDvdControl2 * This);
  24411.  
  24412.  
  24413. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  24414.     IRpcStubBuffer *This,
  24415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24416.     PRPC_MESSAGE _pRpcMessage,
  24417.     DWORD *_pdwStubPhase);
  24418.  
  24419.  
  24420. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy( 
  24421.     IDvdControl2 * This,
  24422.     /* [in] */ ULONG ulButton);
  24423.  
  24424.  
  24425. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  24426.     IRpcStubBuffer *This,
  24427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24428.     PRPC_MESSAGE _pRpcMessage,
  24429.     DWORD *_pdwStubPhase);
  24430.  
  24431.  
  24432. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy( 
  24433.     IDvdControl2 * This,
  24434.     /* [in] */ ULONG ulButton);
  24435.  
  24436.  
  24437. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  24438.     IRpcStubBuffer *This,
  24439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24440.     PRPC_MESSAGE _pRpcMessage,
  24441.     DWORD *_pdwStubPhase);
  24442.  
  24443.  
  24444. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy( 
  24445.     IDvdControl2 * This);
  24446.  
  24447.  
  24448. void __RPC_STUB IDvdControl2_StillOff_Stub(
  24449.     IRpcStubBuffer *This,
  24450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24451.     PRPC_MESSAGE _pRpcMessage,
  24452.     DWORD *_pdwStubPhase);
  24453.  
  24454.  
  24455. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy( 
  24456.     IDvdControl2 * This,
  24457.     /* [in] */ BOOL bState);
  24458.  
  24459.  
  24460. void __RPC_STUB IDvdControl2_Pause_Stub(
  24461.     IRpcStubBuffer *This,
  24462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24463.     PRPC_MESSAGE _pRpcMessage,
  24464.     DWORD *_pdwStubPhase);
  24465.  
  24466.  
  24467. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy( 
  24468.     IDvdControl2 * This,
  24469.     /* [in] */ ULONG ulAudio,
  24470.     /* [in] */ DWORD dwFlags,
  24471.     /* [out] */ IDvdCmd **ppCmd);
  24472.  
  24473.  
  24474. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  24475.     IRpcStubBuffer *This,
  24476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24477.     PRPC_MESSAGE _pRpcMessage,
  24478.     DWORD *_pdwStubPhase);
  24479.  
  24480.  
  24481. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy( 
  24482.     IDvdControl2 * This,
  24483.     /* [in] */ ULONG ulSubPicture,
  24484.     /* [in] */ DWORD dwFlags,
  24485.     /* [out] */ IDvdCmd **ppCmd);
  24486.  
  24487.  
  24488. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  24489.     IRpcStubBuffer *This,
  24490.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24491.     PRPC_MESSAGE _pRpcMessage,
  24492.     DWORD *_pdwStubPhase);
  24493.  
  24494.  
  24495. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy( 
  24496.     IDvdControl2 * This,
  24497.     /* [in] */ BOOL bState,
  24498.     /* [in] */ DWORD dwFlags,
  24499.     /* [out] */ IDvdCmd **ppCmd);
  24500.  
  24501.  
  24502. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  24503.     IRpcStubBuffer *This,
  24504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24505.     PRPC_MESSAGE _pRpcMessage,
  24506.     DWORD *_pdwStubPhase);
  24507.  
  24508.  
  24509. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy( 
  24510.     IDvdControl2 * This,
  24511.     /* [in] */ ULONG ulAngle,
  24512.     /* [in] */ DWORD dwFlags,
  24513.     /* [out] */ IDvdCmd **ppCmd);
  24514.  
  24515.  
  24516. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  24517.     IRpcStubBuffer *This,
  24518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24519.     PRPC_MESSAGE _pRpcMessage,
  24520.     DWORD *_pdwStubPhase);
  24521.  
  24522.  
  24523. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy( 
  24524.     IDvdControl2 * This,
  24525.     /* [in] */ ULONG ulParentalLevel);
  24526.  
  24527.  
  24528. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  24529.     IRpcStubBuffer *This,
  24530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24531.     PRPC_MESSAGE _pRpcMessage,
  24532.     DWORD *_pdwStubPhase);
  24533.  
  24534.  
  24535. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy( 
  24536.     IDvdControl2 * This,
  24537.     /* [in] */ BYTE bCountry[ 2 ]);
  24538.  
  24539.  
  24540. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  24541.     IRpcStubBuffer *This,
  24542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24543.     PRPC_MESSAGE _pRpcMessage,
  24544.     DWORD *_pdwStubPhase);
  24545.  
  24546.  
  24547. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy( 
  24548.     IDvdControl2 * This,
  24549.     /* [in] */ ULONG ulMode);
  24550.  
  24551.  
  24552. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  24553.     IRpcStubBuffer *This,
  24554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24555.     PRPC_MESSAGE _pRpcMessage,
  24556.     DWORD *_pdwStubPhase);
  24557.  
  24558.  
  24559. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy( 
  24560.     IDvdControl2 * This,
  24561.     /* [in] */ ULONG ulPreferredDisplayMode);
  24562.  
  24563.  
  24564. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  24565.     IRpcStubBuffer *This,
  24566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24567.     PRPC_MESSAGE _pRpcMessage,
  24568.     DWORD *_pdwStubPhase);
  24569.  
  24570.  
  24571. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy( 
  24572.     IDvdControl2 * This,
  24573.     /* [in] */ LPCWSTR pszwPath);
  24574.  
  24575.  
  24576. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  24577.     IRpcStubBuffer *This,
  24578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24579.     PRPC_MESSAGE _pRpcMessage,
  24580.     DWORD *_pdwStubPhase);
  24581.  
  24582.  
  24583. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy( 
  24584.     IDvdControl2 * This,
  24585.     /* [in] */ POINT point);
  24586.  
  24587.  
  24588. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  24589.     IRpcStubBuffer *This,
  24590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24591.     PRPC_MESSAGE _pRpcMessage,
  24592.     DWORD *_pdwStubPhase);
  24593.  
  24594.  
  24595. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy( 
  24596.     IDvdControl2 * This,
  24597.     /* [in] */ POINT point);
  24598.  
  24599.  
  24600. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  24601.     IRpcStubBuffer *This,
  24602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24603.     PRPC_MESSAGE _pRpcMessage,
  24604.     DWORD *_pdwStubPhase);
  24605.  
  24606.  
  24607. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy( 
  24608.     IDvdControl2 * This,
  24609.     /* [in] */ ULONG ulTitle,
  24610.     /* [in] */ ULONG ulChapter,
  24611.     /* [in] */ ULONG ulChaptersToPlay,
  24612.     /* [in] */ DWORD dwFlags,
  24613.     /* [out] */ IDvdCmd **ppCmd);
  24614.  
  24615.  
  24616. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  24617.     IRpcStubBuffer *This,
  24618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24619.     PRPC_MESSAGE _pRpcMessage,
  24620.     DWORD *_pdwStubPhase);
  24621.  
  24622.  
  24623. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy( 
  24624.     IDvdControl2 * This,
  24625.     /* [in] */ BOOL bAccept);
  24626.  
  24627.  
  24628. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  24629.     IRpcStubBuffer *This,
  24630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24631.     PRPC_MESSAGE _pRpcMessage,
  24632.     DWORD *_pdwStubPhase);
  24633.  
  24634.  
  24635. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy( 
  24636.     IDvdControl2 * This,
  24637.     /* [in] */ DVD_OPTION_FLAG flag,
  24638.     /* [in] */ BOOL fState);
  24639.  
  24640.  
  24641. void __RPC_STUB IDvdControl2_SetOption_Stub(
  24642.     IRpcStubBuffer *This,
  24643.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24644.     PRPC_MESSAGE _pRpcMessage,
  24645.     DWORD *_pdwStubPhase);
  24646.  
  24647.  
  24648. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy( 
  24649.     IDvdControl2 * This,
  24650.     /* [in] */ IDvdState *pState,
  24651.     /* [in] */ DWORD dwFlags,
  24652.     /* [out] */ IDvdCmd **ppCmd);
  24653.  
  24654.  
  24655. void __RPC_STUB IDvdControl2_SetState_Stub(
  24656.     IRpcStubBuffer *This,
  24657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24658.     PRPC_MESSAGE _pRpcMessage,
  24659.     DWORD *_pdwStubPhase);
  24660.  
  24661.  
  24662. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy( 
  24663.     IDvdControl2 * This,
  24664.     /* [in] */ ULONG ulTitle,
  24665.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  24666.     /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  24667.     /* [in] */ DWORD dwFlags,
  24668.     /* [out] */ IDvdCmd **ppCmd);
  24669.  
  24670.  
  24671. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  24672.     IRpcStubBuffer *This,
  24673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24674.     PRPC_MESSAGE _pRpcMessage,
  24675.     DWORD *_pdwStubPhase);
  24676.  
  24677.  
  24678. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy( 
  24679.     IDvdControl2 * This,
  24680.     /* [in] */ ULONG ulIndex,
  24681.     /* [in] */ WORD wValue,
  24682.     /* [in] */ DWORD dwFlags,
  24683.     /* [out] */ IDvdCmd **ppCmd);
  24684.  
  24685.  
  24686. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  24687.     IRpcStubBuffer *This,
  24688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24689.     PRPC_MESSAGE _pRpcMessage,
  24690.     DWORD *_pdwStubPhase);
  24691.  
  24692.  
  24693. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy( 
  24694.     IDvdControl2 * This,
  24695.     /* [in] */ LCID Language);
  24696.  
  24697.  
  24698. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  24699.     IRpcStubBuffer *This,
  24700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24701.     PRPC_MESSAGE _pRpcMessage,
  24702.     DWORD *_pdwStubPhase);
  24703.  
  24704.  
  24705. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy( 
  24706.     IDvdControl2 * This,
  24707.     /* [in] */ LCID Language,
  24708.     /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  24709.  
  24710.  
  24711. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  24712.     IRpcStubBuffer *This,
  24713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24714.     PRPC_MESSAGE _pRpcMessage,
  24715.     DWORD *_pdwStubPhase);
  24716.  
  24717.  
  24718. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy( 
  24719.     IDvdControl2 * This,
  24720.     /* [in] */ LCID Language,
  24721.     /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  24722.  
  24723.  
  24724. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  24725.     IRpcStubBuffer *This,
  24726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24727.     PRPC_MESSAGE _pRpcMessage,
  24728.     DWORD *_pdwStubPhase);
  24729.  
  24730.  
  24731.  
  24732. #endif     /* __IDvdControl2_INTERFACE_DEFINED__ */
  24733.  
  24734.  
  24735. /* interface __MIDL_itf_strmif_0377 */
  24736. /* [local] */ 
  24737.  
  24738.  
  24739. enum DVD_TextStringType
  24740.     {    DVD_Struct_Volume    = 0x1,
  24741.     DVD_Struct_Title    = 0x2,
  24742.     DVD_Struct_ParentalID    = 0x3,
  24743.     DVD_Struct_PartOfTitle    = 0x4,
  24744.     DVD_Struct_Cell    = 0x5,
  24745.     DVD_Stream_Audio    = 0x10,
  24746.     DVD_Stream_Subpicture    = 0x11,
  24747.     DVD_Stream_Angle    = 0x12,
  24748.     DVD_Channel_Audio    = 0x20,
  24749.     DVD_General_Name    = 0x30,
  24750.     DVD_General_Comments    = 0x31,
  24751.     DVD_Title_Series    = 0x38,
  24752.     DVD_Title_Movie    = 0x39,
  24753.     DVD_Title_Video    = 0x3a,
  24754.     DVD_Title_Album    = 0x3b,
  24755.     DVD_Title_Song    = 0x3c,
  24756.     DVD_Title_Other    = 0x3f,
  24757.     DVD_Title_Sub_Series    = 0x40,
  24758.     DVD_Title_Sub_Movie    = 0x41,
  24759.     DVD_Title_Sub_Video    = 0x42,
  24760.     DVD_Title_Sub_Album    = 0x43,
  24761.     DVD_Title_Sub_Song    = 0x44,
  24762.     DVD_Title_Sub_Other    = 0x47,
  24763.     DVD_Title_Orig_Series    = 0x48,
  24764.     DVD_Title_Orig_Movie    = 0x49,
  24765.     DVD_Title_Orig_Video    = 0x4a,
  24766.     DVD_Title_Orig_Album    = 0x4b,
  24767.     DVD_Title_Orig_Song    = 0x4c,
  24768.     DVD_Title_Orig_Other    = 0x4f,
  24769.     DVD_Other_Scene    = 0x50,
  24770.     DVD_Other_Cut    = 0x51,
  24771.     DVD_Other_Take    = 0x52
  24772.     } ;
  24773.  
  24774. enum DVD_TextCharSet
  24775.     {    DVD_CharSet_Unicode    = 0,
  24776.     DVD_CharSet_ISO646    = 1,
  24777.     DVD_CharSet_JIS_Roman_Kanji    = 2,
  24778.     DVD_CharSet_ISO8859_1    = 3,
  24779.     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana    = 4
  24780.     } ;
  24781. #define DVD_TITLE_MENU                0x000
  24782. #define DVD_STREAM_DATA_CURRENT     0x800
  24783. #define DVD_STREAM_DATA_VMGM        0x400
  24784. #define DVD_STREAM_DATA_VTSM        0x401
  24785. #define DVD_DEFAULT_AUDIO_STREAM    0x0f
  24786. typedef struct tagDVD_DECODER_CAPS
  24787.     {
  24788.     DWORD dwSize;
  24789.     DWORD dwAudioCaps;
  24790.     double dFwdMaxRateVideo;
  24791.     double dFwdMaxRateAudio;
  24792.     double dFwdMaxRateSP;
  24793.     double dBwdMaxRateVideo;
  24794.     double dBwdMaxRateAudio;
  24795.     double dBwdMaxRateSP;
  24796.     DWORD dwRes1;
  24797.     DWORD dwRes2;
  24798.     DWORD dwRes3;
  24799.     DWORD dwRes4;
  24800.     }     DVD_DECODER_CAPS;
  24801.  
  24802. #define DVD_AUDIO_CAPS_AC3        0x00000001
  24803. #define DVD_AUDIO_CAPS_MPEG2    0x00000002
  24804. #define DVD_AUDIO_CAPS_LPCM        0x00000004
  24805. #define DVD_AUDIO_CAPS_DTS        0x00000008
  24806. #define DVD_AUDIO_CAPS_SDDS        0x00000010
  24807.  
  24808.  
  24809. extern RPC_IF_HANDLE __MIDL_itf_strmif_0377_v0_0_c_ifspec;
  24810. extern RPC_IF_HANDLE __MIDL_itf_strmif_0377_v0_0_s_ifspec;
  24811.  
  24812. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  24813. #define __IDvdInfo2_INTERFACE_DEFINED__
  24814.  
  24815. /* interface IDvdInfo2 */
  24816. /* [unique][uuid][object] */ 
  24817.  
  24818.  
  24819. EXTERN_C const IID IID_IDvdInfo2;
  24820.  
  24821. #if defined(__cplusplus) && !defined(CINTERFACE)
  24822.     
  24823.     MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  24824.     IDvdInfo2 : public IUnknown
  24825.     {
  24826.     public:
  24827.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  24828.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  24829.         
  24830.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  24831.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  24832.         
  24833.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  24834.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  24835.             /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  24836.         
  24837.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  24838.             /* [out] */ ULONG *pulButtonsAvailable,
  24839.             /* [out] */ ULONG *pulCurrentButton) = 0;
  24840.         
  24841.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  24842.             /* [out] */ ULONG *pulAnglesAvailable,
  24843.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  24844.         
  24845.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  24846.             /* [out] */ ULONG *pulStreamsAvailable,
  24847.             /* [out] */ ULONG *pulCurrentStream) = 0;
  24848.         
  24849.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  24850.             /* [out] */ ULONG *pulStreamsAvailable,
  24851.             /* [out] */ ULONG *pulCurrentStream,
  24852.             /* [out] */ BOOL *pbIsDisabled) = 0;
  24853.         
  24854.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  24855.             /* [out] */ ULONG *pulUOPs) = 0;
  24856.         
  24857.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  24858.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  24859.         
  24860.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  24861.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  24862.         
  24863.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  24864.             /* [in] */ ULONG ulStream,
  24865.             /* [out] */ LCID *pLanguage) = 0;
  24866.         
  24867.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  24868.             /* [in] */ ULONG ulStream,
  24869.             /* [out] */ LCID *pLanguage) = 0;
  24870.         
  24871.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  24872.             /* [in] */ ULONG ulTitle,
  24873.             /* [out] */ DVD_MenuAttributes *pMenu,
  24874.             /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  24875.         
  24876.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  24877.             /* [out] */ DVD_MenuAttributes *pATR) = 0;
  24878.         
  24879.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  24880.             /* [out] */ DVD_VideoAttributes *pATR) = 0;
  24881.         
  24882.         virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes( 
  24883.             /* [in] */ ULONG ulStream,
  24884.             /* [out] */ DVD_AudioAttributes *pATR) = 0;
  24885.         
  24886.         virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes( 
  24887.             /* [in] */ ULONG ulStream,
  24888.             /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  24889.         
  24890.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes( 
  24891.             /* [in] */ ULONG ulStream,
  24892.             /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  24893.         
  24894.         virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo( 
  24895.             /* [out] */ ULONG *pulNumOfVolumes,
  24896.             /* [out] */ ULONG *pulVolume,
  24897.             /* [out] */ DVD_DISC_SIDE *pSide,
  24898.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  24899.         
  24900.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages( 
  24901.             /* [out] */ ULONG *pulNumOfLangs) = 0;
  24902.         
  24903.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo( 
  24904.             /* [in] */ ULONG ulLangIndex,
  24905.             /* [out] */ ULONG *pulNumOfStrings,
  24906.             /* [out] */ LCID *pLangCode,
  24907.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  24908.         
  24909.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative( 
  24910.             /* [in] */ ULONG ulLangIndex,
  24911.             /* [in] */ ULONG ulStringIndex,
  24912.             /* [out] */ BYTE *pbBuffer,
  24913.             /* [in] */ ULONG ulMaxBufferSize,
  24914.             /* [out] */ ULONG *pulActualSize,
  24915.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  24916.         
  24917.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode( 
  24918.             /* [in] */ ULONG ulLangIndex,
  24919.             /* [in] */ ULONG ulStringIndex,
  24920.             /* [out] */ WCHAR *pchwBuffer,
  24921.             /* [in] */ ULONG ulMaxBufferSize,
  24922.             /* [out] */ ULONG *pulActualSize,
  24923.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  24924.         
  24925.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  24926.             /* [out] */ ULONG *pulParentalLevel,
  24927.             /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  24928.         
  24929.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  24930.             /* [in] */ ULONG ulTitle,
  24931.             /* [out] */ ULONG *pulNumOfChapters) = 0;
  24932.         
  24933.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  24934.             /* [in] */ ULONG ulTitle,
  24935.             /* [out] */ ULONG *pulParentalLevels) = 0;
  24936.         
  24937.         virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory( 
  24938.             /* [size_is][out] */ LPWSTR pszwPath,
  24939.             /* [in] */ ULONG ulMaxSize,
  24940.             /* [out] */ ULONG *pulActualSize) = 0;
  24941.         
  24942.         virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled( 
  24943.             /* [in] */ ULONG ulStreamNum,
  24944.             /* [out] */ BOOL *pbEnabled) = 0;
  24945.         
  24946.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  24947.             /* [in] */ LPCWSTR pszwPath,
  24948.             /* [out] */ ULONGLONG *pullDiscID) = 0;
  24949.         
  24950.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  24951.             /* [out] */ IDvdState **pStateData) = 0;
  24952.         
  24953.         virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages( 
  24954.             /* [out] */ LCID *pLanguages,
  24955.             /* [in] */ ULONG ulMaxLanguages,
  24956.             /* [out] */ ULONG *pulActualLanguages) = 0;
  24957.         
  24958.         virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition( 
  24959.             /* [in] */ POINT point,
  24960.             /* [out] */ ULONG *pulButtonIndex) = 0;
  24961.         
  24962.         virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent( 
  24963.             /* [in] */ LONG_PTR lParam1,
  24964.             /* [out] */ IDvdCmd **pCmdObj) = 0;
  24965.         
  24966.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage( 
  24967.             /* [out] */ LCID *pLanguage) = 0;
  24968.         
  24969.         virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage( 
  24970.             /* [out] */ LCID *pLanguage,
  24971.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  24972.         
  24973.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage( 
  24974.             /* [out] */ LCID *pLanguage,
  24975.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  24976.         
  24977.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  24978.             /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  24979.         
  24980.         virtual HRESULT STDMETHODCALLTYPE GetButtonRect( 
  24981.             /* [in] */ ULONG ulButton,
  24982.             /* [out] */ RECT *pRect) = 0;
  24983.         
  24984.         virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled( 
  24985.             /* [in] */ ULONG ulStreamNum,
  24986.             /* [out] */ BOOL *pbEnabled) = 0;
  24987.         
  24988.     };
  24989.     
  24990. #else     /* C style interface */
  24991.  
  24992.     typedef struct IDvdInfo2Vtbl
  24993.     {
  24994.         BEGIN_INTERFACE
  24995.         
  24996.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  24997.             IDvdInfo2 * This,
  24998.             /* [in] */ REFIID riid,
  24999.             /* [iid_is][out] */ void **ppvObject);
  25000.         
  25001.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25002.             IDvdInfo2 * This);
  25003.         
  25004.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25005.             IDvdInfo2 * This);
  25006.         
  25007.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  25008.             IDvdInfo2 * This,
  25009.             /* [out] */ DVD_DOMAIN *pDomain);
  25010.         
  25011.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  25012.             IDvdInfo2 * This,
  25013.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  25014.         
  25015.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  25016.             IDvdInfo2 * This,
  25017.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  25018.             /* [out] */ ULONG *ulTimeCodeFlags);
  25019.         
  25020.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  25021.             IDvdInfo2 * This,
  25022.             /* [out] */ ULONG *pulButtonsAvailable,
  25023.             /* [out] */ ULONG *pulCurrentButton);
  25024.         
  25025.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  25026.             IDvdInfo2 * This,
  25027.             /* [out] */ ULONG *pulAnglesAvailable,
  25028.             /* [out] */ ULONG *pulCurrentAngle);
  25029.         
  25030.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  25031.             IDvdInfo2 * This,
  25032.             /* [out] */ ULONG *pulStreamsAvailable,
  25033.             /* [out] */ ULONG *pulCurrentStream);
  25034.         
  25035.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  25036.             IDvdInfo2 * This,
  25037.             /* [out] */ ULONG *pulStreamsAvailable,
  25038.             /* [out] */ ULONG *pulCurrentStream,
  25039.             /* [out] */ BOOL *pbIsDisabled);
  25040.         
  25041.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  25042.             IDvdInfo2 * This,
  25043.             /* [out] */ ULONG *pulUOPs);
  25044.         
  25045.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  25046.             IDvdInfo2 * This,
  25047.             /* [out] */ SPRMARRAY *pRegisterArray);
  25048.         
  25049.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  25050.             IDvdInfo2 * This,
  25051.             /* [out] */ GPRMARRAY *pRegisterArray);
  25052.         
  25053.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  25054.             IDvdInfo2 * This,
  25055.             /* [in] */ ULONG ulStream,
  25056.             /* [out] */ LCID *pLanguage);
  25057.         
  25058.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  25059.             IDvdInfo2 * This,
  25060.             /* [in] */ ULONG ulStream,
  25061.             /* [out] */ LCID *pLanguage);
  25062.         
  25063.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  25064.             IDvdInfo2 * This,
  25065.             /* [in] */ ULONG ulTitle,
  25066.             /* [out] */ DVD_MenuAttributes *pMenu,
  25067.             /* [out] */ DVD_TitleAttributes *pTitle);
  25068.         
  25069.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  25070.             IDvdInfo2 * This,
  25071.             /* [out] */ DVD_MenuAttributes *pATR);
  25072.         
  25073.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  25074.             IDvdInfo2 * This,
  25075.             /* [out] */ DVD_VideoAttributes *pATR);
  25076.         
  25077.         HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )( 
  25078.             IDvdInfo2 * This,
  25079.             /* [in] */ ULONG ulStream,
  25080.             /* [out] */ DVD_AudioAttributes *pATR);
  25081.         
  25082.         HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )( 
  25083.             IDvdInfo2 * This,
  25084.             /* [in] */ ULONG ulStream,
  25085.             /* [out] */ DVD_KaraokeAttributes *pAttributes);
  25086.         
  25087.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )( 
  25088.             IDvdInfo2 * This,
  25089.             /* [in] */ ULONG ulStream,
  25090.             /* [out] */ DVD_SubpictureAttributes *pATR);
  25091.         
  25092.         HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )( 
  25093.             IDvdInfo2 * This,
  25094.             /* [out] */ ULONG *pulNumOfVolumes,
  25095.             /* [out] */ ULONG *pulVolume,
  25096.             /* [out] */ DVD_DISC_SIDE *pSide,
  25097.             /* [out] */ ULONG *pulNumOfTitles);
  25098.         
  25099.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )( 
  25100.             IDvdInfo2 * This,
  25101.             /* [out] */ ULONG *pulNumOfLangs);
  25102.         
  25103.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )( 
  25104.             IDvdInfo2 * This,
  25105.             /* [in] */ ULONG ulLangIndex,
  25106.             /* [out] */ ULONG *pulNumOfStrings,
  25107.             /* [out] */ LCID *pLangCode,
  25108.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  25109.         
  25110.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )( 
  25111.             IDvdInfo2 * This,
  25112.             /* [in] */ ULONG ulLangIndex,
  25113.             /* [in] */ ULONG ulStringIndex,
  25114.             /* [out] */ BYTE *pbBuffer,
  25115.             /* [in] */ ULONG ulMaxBufferSize,
  25116.             /* [out] */ ULONG *pulActualSize,
  25117.             /* [out] */ enum DVD_TextStringType *pType);
  25118.         
  25119.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )( 
  25120.             IDvdInfo2 * This,
  25121.             /* [in] */ ULONG ulLangIndex,
  25122.             /* [in] */ ULONG ulStringIndex,
  25123.             /* [out] */ WCHAR *pchwBuffer,
  25124.             /* [in] */ ULONG ulMaxBufferSize,
  25125.             /* [out] */ ULONG *pulActualSize,
  25126.             /* [out] */ enum DVD_TextStringType *pType);
  25127.         
  25128.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  25129.             IDvdInfo2 * This,
  25130.             /* [out] */ ULONG *pulParentalLevel,
  25131.             /* [out] */ BYTE pbCountryCode[ 2 ]);
  25132.         
  25133.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  25134.             IDvdInfo2 * This,
  25135.             /* [in] */ ULONG ulTitle,
  25136.             /* [out] */ ULONG *pulNumOfChapters);
  25137.         
  25138.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  25139.             IDvdInfo2 * This,
  25140.             /* [in] */ ULONG ulTitle,
  25141.             /* [out] */ ULONG *pulParentalLevels);
  25142.         
  25143.         HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )( 
  25144.             IDvdInfo2 * This,
  25145.             /* [size_is][out] */ LPWSTR pszwPath,
  25146.             /* [in] */ ULONG ulMaxSize,
  25147.             /* [out] */ ULONG *pulActualSize);
  25148.         
  25149.         HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )( 
  25150.             IDvdInfo2 * This,
  25151.             /* [in] */ ULONG ulStreamNum,
  25152.             /* [out] */ BOOL *pbEnabled);
  25153.         
  25154.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  25155.             IDvdInfo2 * This,
  25156.             /* [in] */ LPCWSTR pszwPath,
  25157.             /* [out] */ ULONGLONG *pullDiscID);
  25158.         
  25159.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  25160.             IDvdInfo2 * This,
  25161.             /* [out] */ IDvdState **pStateData);
  25162.         
  25163.         HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )( 
  25164.             IDvdInfo2 * This,
  25165.             /* [out] */ LCID *pLanguages,
  25166.             /* [in] */ ULONG ulMaxLanguages,
  25167.             /* [out] */ ULONG *pulActualLanguages);
  25168.         
  25169.         HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )( 
  25170.             IDvdInfo2 * This,
  25171.             /* [in] */ POINT point,
  25172.             /* [out] */ ULONG *pulButtonIndex);
  25173.         
  25174.         HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )( 
  25175.             IDvdInfo2 * This,
  25176.             /* [in] */ LONG_PTR lParam1,
  25177.             /* [out] */ IDvdCmd **pCmdObj);
  25178.         
  25179.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )( 
  25180.             IDvdInfo2 * This,
  25181.             /* [out] */ LCID *pLanguage);
  25182.         
  25183.         HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )( 
  25184.             IDvdInfo2 * This,
  25185.             /* [out] */ LCID *pLanguage,
  25186.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  25187.         
  25188.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )( 
  25189.             IDvdInfo2 * This,
  25190.             /* [out] */ LCID *pLanguage,
  25191.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  25192.         
  25193.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  25194.             IDvdInfo2 * This,
  25195.             /* [out] */ DVD_DECODER_CAPS *pCaps);
  25196.         
  25197.         HRESULT ( STDMETHODCALLTYPE *GetButtonRect )( 
  25198.             IDvdInfo2 * This,
  25199.             /* [in] */ ULONG ulButton,
  25200.             /* [out] */ RECT *pRect);
  25201.         
  25202.         HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )( 
  25203.             IDvdInfo2 * This,
  25204.             /* [in] */ ULONG ulStreamNum,
  25205.             /* [out] */ BOOL *pbEnabled);
  25206.         
  25207.         END_INTERFACE
  25208.     } IDvdInfo2Vtbl;
  25209.  
  25210.     interface IDvdInfo2
  25211.     {
  25212.         CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  25213.     };
  25214.  
  25215.     
  25216.  
  25217. #ifdef COBJMACROS
  25218.  
  25219.  
  25220. #define IDvdInfo2_QueryInterface(This,riid,ppvObject)    \
  25221.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25222.  
  25223. #define IDvdInfo2_AddRef(This)    \
  25224.     (This)->lpVtbl -> AddRef(This)
  25225.  
  25226. #define IDvdInfo2_Release(This)    \
  25227.     (This)->lpVtbl -> Release(This)
  25228.  
  25229.  
  25230. #define IDvdInfo2_GetCurrentDomain(This,pDomain)    \
  25231.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  25232.  
  25233. #define IDvdInfo2_GetCurrentLocation(This,pLocation)    \
  25234.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  25235.  
  25236. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)    \
  25237.     (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  25238.  
  25239. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  25240.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  25241.  
  25242. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  25243.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  25244.  
  25245. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  25246.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  25247.  
  25248. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)    \
  25249.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  25250.  
  25251. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs)    \
  25252.     (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  25253.  
  25254. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray)    \
  25255.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  25256.  
  25257. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray)    \
  25258.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  25259.  
  25260. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage)    \
  25261.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  25262.  
  25263. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  25264.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  25265.  
  25266. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle)    \
  25267.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  25268.  
  25269. #define IDvdInfo2_GetVMGAttributes(This,pATR)    \
  25270.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  25271.  
  25272. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR)    \
  25273.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  25274.  
  25275. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR)    \
  25276.     (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  25277.  
  25278. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes)    \
  25279.     (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  25280.  
  25281. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR)    \
  25282.     (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  25283.  
  25284. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)    \
  25285.     (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  25286.  
  25287. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs)    \
  25288.     (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  25289.  
  25290. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)    \
  25291.     (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  25292.  
  25293. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  25294.     (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  25295.  
  25296. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  25297.     (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  25298.  
  25299. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)    \
  25300.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  25301.  
  25302. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters)    \
  25303.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  25304.  
  25305. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  25306.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  25307.  
  25308. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)    \
  25309.     (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  25310.  
  25311. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)    \
  25312.     (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  25313.  
  25314. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID)    \
  25315.     (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  25316.  
  25317. #define IDvdInfo2_GetState(This,pStateData)    \
  25318.     (This)->lpVtbl -> GetState(This,pStateData)
  25319.  
  25320. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)    \
  25321.     (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  25322.  
  25323. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex)    \
  25324.     (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  25325.  
  25326. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj)    \
  25327.     (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  25328.  
  25329. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage)    \
  25330.     (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  25331.  
  25332. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)    \
  25333.     (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  25334.  
  25335. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)    \
  25336.     (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  25337.  
  25338. #define IDvdInfo2_GetDecoderCaps(This,pCaps)    \
  25339.     (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  25340.  
  25341. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect)    \
  25342.     (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  25343.  
  25344. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)    \
  25345.     (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  25346.  
  25347. #endif /* COBJMACROS */
  25348.  
  25349.  
  25350. #endif     /* C style interface */
  25351.  
  25352.  
  25353.  
  25354. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy( 
  25355.     IDvdInfo2 * This,
  25356.     /* [out] */ DVD_DOMAIN *pDomain);
  25357.  
  25358.  
  25359. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  25360.     IRpcStubBuffer *This,
  25361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25362.     PRPC_MESSAGE _pRpcMessage,
  25363.     DWORD *_pdwStubPhase);
  25364.  
  25365.  
  25366. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy( 
  25367.     IDvdInfo2 * This,
  25368.     /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  25369.  
  25370.  
  25371. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  25372.     IRpcStubBuffer *This,
  25373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25374.     PRPC_MESSAGE _pRpcMessage,
  25375.     DWORD *_pdwStubPhase);
  25376.  
  25377.  
  25378. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy( 
  25379.     IDvdInfo2 * This,
  25380.     /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  25381.     /* [out] */ ULONG *ulTimeCodeFlags);
  25382.  
  25383.  
  25384. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  25385.     IRpcStubBuffer *This,
  25386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25387.     PRPC_MESSAGE _pRpcMessage,
  25388.     DWORD *_pdwStubPhase);
  25389.  
  25390.  
  25391. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy( 
  25392.     IDvdInfo2 * This,
  25393.     /* [out] */ ULONG *pulButtonsAvailable,
  25394.     /* [out] */ ULONG *pulCurrentButton);
  25395.  
  25396.  
  25397. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  25398.     IRpcStubBuffer *This,
  25399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25400.     PRPC_MESSAGE _pRpcMessage,
  25401.     DWORD *_pdwStubPhase);
  25402.  
  25403.  
  25404. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy( 
  25405.     IDvdInfo2 * This,
  25406.     /* [out] */ ULONG *pulAnglesAvailable,
  25407.     /* [out] */ ULONG *pulCurrentAngle);
  25408.  
  25409.  
  25410. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  25411.     IRpcStubBuffer *This,
  25412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25413.     PRPC_MESSAGE _pRpcMessage,
  25414.     DWORD *_pdwStubPhase);
  25415.  
  25416.  
  25417. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy( 
  25418.     IDvdInfo2 * This,
  25419.     /* [out] */ ULONG *pulStreamsAvailable,
  25420.     /* [out] */ ULONG *pulCurrentStream);
  25421.  
  25422.  
  25423. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  25424.     IRpcStubBuffer *This,
  25425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25426.     PRPC_MESSAGE _pRpcMessage,
  25427.     DWORD *_pdwStubPhase);
  25428.  
  25429.  
  25430. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy( 
  25431.     IDvdInfo2 * This,
  25432.     /* [out] */ ULONG *pulStreamsAvailable,
  25433.     /* [out] */ ULONG *pulCurrentStream,
  25434.     /* [out] */ BOOL *pbIsDisabled);
  25435.  
  25436.  
  25437. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  25438.     IRpcStubBuffer *This,
  25439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25440.     PRPC_MESSAGE _pRpcMessage,
  25441.     DWORD *_pdwStubPhase);
  25442.  
  25443.  
  25444. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy( 
  25445.     IDvdInfo2 * This,
  25446.     /* [out] */ ULONG *pulUOPs);
  25447.  
  25448.  
  25449. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  25450.     IRpcStubBuffer *This,
  25451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25452.     PRPC_MESSAGE _pRpcMessage,
  25453.     DWORD *_pdwStubPhase);
  25454.  
  25455.  
  25456. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy( 
  25457.     IDvdInfo2 * This,
  25458.     /* [out] */ SPRMARRAY *pRegisterArray);
  25459.  
  25460.  
  25461. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  25462.     IRpcStubBuffer *This,
  25463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25464.     PRPC_MESSAGE _pRpcMessage,
  25465.     DWORD *_pdwStubPhase);
  25466.  
  25467.  
  25468. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy( 
  25469.     IDvdInfo2 * This,
  25470.     /* [out] */ GPRMARRAY *pRegisterArray);
  25471.  
  25472.  
  25473. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  25474.     IRpcStubBuffer *This,
  25475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25476.     PRPC_MESSAGE _pRpcMessage,
  25477.     DWORD *_pdwStubPhase);
  25478.  
  25479.  
  25480. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy( 
  25481.     IDvdInfo2 * This,
  25482.     /* [in] */ ULONG ulStream,
  25483.     /* [out] */ LCID *pLanguage);
  25484.  
  25485.  
  25486. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  25487.     IRpcStubBuffer *This,
  25488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25489.     PRPC_MESSAGE _pRpcMessage,
  25490.     DWORD *_pdwStubPhase);
  25491.  
  25492.  
  25493. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy( 
  25494.     IDvdInfo2 * This,
  25495.     /* [in] */ ULONG ulStream,
  25496.     /* [out] */ LCID *pLanguage);
  25497.  
  25498.  
  25499. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  25500.     IRpcStubBuffer *This,
  25501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25502.     PRPC_MESSAGE _pRpcMessage,
  25503.     DWORD *_pdwStubPhase);
  25504.  
  25505.  
  25506. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy( 
  25507.     IDvdInfo2 * This,
  25508.     /* [in] */ ULONG ulTitle,
  25509.     /* [out] */ DVD_MenuAttributes *pMenu,
  25510.     /* [out] */ DVD_TitleAttributes *pTitle);
  25511.  
  25512.  
  25513. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  25514.     IRpcStubBuffer *This,
  25515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25516.     PRPC_MESSAGE _pRpcMessage,
  25517.     DWORD *_pdwStubPhase);
  25518.  
  25519.  
  25520. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy( 
  25521.     IDvdInfo2 * This,
  25522.     /* [out] */ DVD_MenuAttributes *pATR);
  25523.  
  25524.  
  25525. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  25526.     IRpcStubBuffer *This,
  25527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25528.     PRPC_MESSAGE _pRpcMessage,
  25529.     DWORD *_pdwStubPhase);
  25530.  
  25531.  
  25532. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy( 
  25533.     IDvdInfo2 * This,
  25534.     /* [out] */ DVD_VideoAttributes *pATR);
  25535.  
  25536.  
  25537. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  25538.     IRpcStubBuffer *This,
  25539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25540.     PRPC_MESSAGE _pRpcMessage,
  25541.     DWORD *_pdwStubPhase);
  25542.  
  25543.  
  25544. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy( 
  25545.     IDvdInfo2 * This,
  25546.     /* [in] */ ULONG ulStream,
  25547.     /* [out] */ DVD_AudioAttributes *pATR);
  25548.  
  25549.  
  25550. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  25551.     IRpcStubBuffer *This,
  25552.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25553.     PRPC_MESSAGE _pRpcMessage,
  25554.     DWORD *_pdwStubPhase);
  25555.  
  25556.  
  25557. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy( 
  25558.     IDvdInfo2 * This,
  25559.     /* [in] */ ULONG ulStream,
  25560.     /* [out] */ DVD_KaraokeAttributes *pAttributes);
  25561.  
  25562.  
  25563. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  25564.     IRpcStubBuffer *This,
  25565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25566.     PRPC_MESSAGE _pRpcMessage,
  25567.     DWORD *_pdwStubPhase);
  25568.  
  25569.  
  25570. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy( 
  25571.     IDvdInfo2 * This,
  25572.     /* [in] */ ULONG ulStream,
  25573.     /* [out] */ DVD_SubpictureAttributes *pATR);
  25574.  
  25575.  
  25576. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  25577.     IRpcStubBuffer *This,
  25578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25579.     PRPC_MESSAGE _pRpcMessage,
  25580.     DWORD *_pdwStubPhase);
  25581.  
  25582.  
  25583. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy( 
  25584.     IDvdInfo2 * This,
  25585.     /* [out] */ ULONG *pulNumOfVolumes,
  25586.     /* [out] */ ULONG *pulVolume,
  25587.     /* [out] */ DVD_DISC_SIDE *pSide,
  25588.     /* [out] */ ULONG *pulNumOfTitles);
  25589.  
  25590.  
  25591. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  25592.     IRpcStubBuffer *This,
  25593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25594.     PRPC_MESSAGE _pRpcMessage,
  25595.     DWORD *_pdwStubPhase);
  25596.  
  25597.  
  25598. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy( 
  25599.     IDvdInfo2 * This,
  25600.     /* [out] */ ULONG *pulNumOfLangs);
  25601.  
  25602.  
  25603. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  25604.     IRpcStubBuffer *This,
  25605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25606.     PRPC_MESSAGE _pRpcMessage,
  25607.     DWORD *_pdwStubPhase);
  25608.  
  25609.  
  25610. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy( 
  25611.     IDvdInfo2 * This,
  25612.     /* [in] */ ULONG ulLangIndex,
  25613.     /* [out] */ ULONG *pulNumOfStrings,
  25614.     /* [out] */ LCID *pLangCode,
  25615.     /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  25616.  
  25617.  
  25618. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  25619.     IRpcStubBuffer *This,
  25620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25621.     PRPC_MESSAGE _pRpcMessage,
  25622.     DWORD *_pdwStubPhase);
  25623.  
  25624.  
  25625. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy( 
  25626.     IDvdInfo2 * This,
  25627.     /* [in] */ ULONG ulLangIndex,
  25628.     /* [in] */ ULONG ulStringIndex,
  25629.     /* [out] */ BYTE *pbBuffer,
  25630.     /* [in] */ ULONG ulMaxBufferSize,
  25631.     /* [out] */ ULONG *pulActualSize,
  25632.     /* [out] */ enum DVD_TextStringType *pType);
  25633.  
  25634.  
  25635. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  25636.     IRpcStubBuffer *This,
  25637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25638.     PRPC_MESSAGE _pRpcMessage,
  25639.     DWORD *_pdwStubPhase);
  25640.  
  25641.  
  25642. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy( 
  25643.     IDvdInfo2 * This,
  25644.     /* [in] */ ULONG ulLangIndex,
  25645.     /* [in] */ ULONG ulStringIndex,
  25646.     /* [out] */ WCHAR *pchwBuffer,
  25647.     /* [in] */ ULONG ulMaxBufferSize,
  25648.     /* [out] */ ULONG *pulActualSize,
  25649.     /* [out] */ enum DVD_TextStringType *pType);
  25650.  
  25651.  
  25652. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  25653.     IRpcStubBuffer *This,
  25654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25655.     PRPC_MESSAGE _pRpcMessage,
  25656.     DWORD *_pdwStubPhase);
  25657.  
  25658.  
  25659. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy( 
  25660.     IDvdInfo2 * This,
  25661.     /* [out] */ ULONG *pulParentalLevel,
  25662.     /* [out] */ BYTE pbCountryCode[ 2 ]);
  25663.  
  25664.  
  25665. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  25666.     IRpcStubBuffer *This,
  25667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25668.     PRPC_MESSAGE _pRpcMessage,
  25669.     DWORD *_pdwStubPhase);
  25670.  
  25671.  
  25672. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy( 
  25673.     IDvdInfo2 * This,
  25674.     /* [in] */ ULONG ulTitle,
  25675.     /* [out] */ ULONG *pulNumOfChapters);
  25676.  
  25677.  
  25678. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  25679.     IRpcStubBuffer *This,
  25680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25681.     PRPC_MESSAGE _pRpcMessage,
  25682.     DWORD *_pdwStubPhase);
  25683.  
  25684.  
  25685. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy( 
  25686.     IDvdInfo2 * This,
  25687.     /* [in] */ ULONG ulTitle,
  25688.     /* [out] */ ULONG *pulParentalLevels);
  25689.  
  25690.  
  25691. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  25692.     IRpcStubBuffer *This,
  25693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25694.     PRPC_MESSAGE _pRpcMessage,
  25695.     DWORD *_pdwStubPhase);
  25696.  
  25697.  
  25698. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy( 
  25699.     IDvdInfo2 * This,
  25700.     /* [size_is][out] */ LPWSTR pszwPath,
  25701.     /* [in] */ ULONG ulMaxSize,
  25702.     /* [out] */ ULONG *pulActualSize);
  25703.  
  25704.  
  25705. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  25706.     IRpcStubBuffer *This,
  25707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25708.     PRPC_MESSAGE _pRpcMessage,
  25709.     DWORD *_pdwStubPhase);
  25710.  
  25711.  
  25712. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy( 
  25713.     IDvdInfo2 * This,
  25714.     /* [in] */ ULONG ulStreamNum,
  25715.     /* [out] */ BOOL *pbEnabled);
  25716.  
  25717.  
  25718. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  25719.     IRpcStubBuffer *This,
  25720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25721.     PRPC_MESSAGE _pRpcMessage,
  25722.     DWORD *_pdwStubPhase);
  25723.  
  25724.  
  25725. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy( 
  25726.     IDvdInfo2 * This,
  25727.     /* [in] */ LPCWSTR pszwPath,
  25728.     /* [out] */ ULONGLONG *pullDiscID);
  25729.  
  25730.  
  25731. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  25732.     IRpcStubBuffer *This,
  25733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25734.     PRPC_MESSAGE _pRpcMessage,
  25735.     DWORD *_pdwStubPhase);
  25736.  
  25737.  
  25738. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy( 
  25739.     IDvdInfo2 * This,
  25740.     /* [out] */ IDvdState **pStateData);
  25741.  
  25742.  
  25743. void __RPC_STUB IDvdInfo2_GetState_Stub(
  25744.     IRpcStubBuffer *This,
  25745.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25746.     PRPC_MESSAGE _pRpcMessage,
  25747.     DWORD *_pdwStubPhase);
  25748.  
  25749.  
  25750. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy( 
  25751.     IDvdInfo2 * This,
  25752.     /* [out] */ LCID *pLanguages,
  25753.     /* [in] */ ULONG ulMaxLanguages,
  25754.     /* [out] */ ULONG *pulActualLanguages);
  25755.  
  25756.  
  25757. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  25758.     IRpcStubBuffer *This,
  25759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25760.     PRPC_MESSAGE _pRpcMessage,
  25761.     DWORD *_pdwStubPhase);
  25762.  
  25763.  
  25764. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy( 
  25765.     IDvdInfo2 * This,
  25766.     /* [in] */ POINT point,
  25767.     /* [out] */ ULONG *pulButtonIndex);
  25768.  
  25769.  
  25770. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  25771.     IRpcStubBuffer *This,
  25772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25773.     PRPC_MESSAGE _pRpcMessage,
  25774.     DWORD *_pdwStubPhase);
  25775.  
  25776.  
  25777. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy( 
  25778.     IDvdInfo2 * This,
  25779.     /* [in] */ LONG_PTR lParam1,
  25780.     /* [out] */ IDvdCmd **pCmdObj);
  25781.  
  25782.  
  25783. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  25784.     IRpcStubBuffer *This,
  25785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25786.     PRPC_MESSAGE _pRpcMessage,
  25787.     DWORD *_pdwStubPhase);
  25788.  
  25789.  
  25790. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy( 
  25791.     IDvdInfo2 * This,
  25792.     /* [out] */ LCID *pLanguage);
  25793.  
  25794.  
  25795. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  25796.     IRpcStubBuffer *This,
  25797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25798.     PRPC_MESSAGE _pRpcMessage,
  25799.     DWORD *_pdwStubPhase);
  25800.  
  25801.  
  25802. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy( 
  25803.     IDvdInfo2 * This,
  25804.     /* [out] */ LCID *pLanguage,
  25805.     /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  25806.  
  25807.  
  25808. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  25809.     IRpcStubBuffer *This,
  25810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25811.     PRPC_MESSAGE _pRpcMessage,
  25812.     DWORD *_pdwStubPhase);
  25813.  
  25814.  
  25815. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy( 
  25816.     IDvdInfo2 * This,
  25817.     /* [out] */ LCID *pLanguage,
  25818.     /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  25819.  
  25820.  
  25821. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  25822.     IRpcStubBuffer *This,
  25823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25824.     PRPC_MESSAGE _pRpcMessage,
  25825.     DWORD *_pdwStubPhase);
  25826.  
  25827.  
  25828. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy( 
  25829.     IDvdInfo2 * This,
  25830.     /* [out] */ DVD_DECODER_CAPS *pCaps);
  25831.  
  25832.  
  25833. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  25834.     IRpcStubBuffer *This,
  25835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25836.     PRPC_MESSAGE _pRpcMessage,
  25837.     DWORD *_pdwStubPhase);
  25838.  
  25839.  
  25840. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy( 
  25841.     IDvdInfo2 * This,
  25842.     /* [in] */ ULONG ulButton,
  25843.     /* [out] */ RECT *pRect);
  25844.  
  25845.  
  25846. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  25847.     IRpcStubBuffer *This,
  25848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25849.     PRPC_MESSAGE _pRpcMessage,
  25850.     DWORD *_pdwStubPhase);
  25851.  
  25852.  
  25853. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy( 
  25854.     IDvdInfo2 * This,
  25855.     /* [in] */ ULONG ulStreamNum,
  25856.     /* [out] */ BOOL *pbEnabled);
  25857.  
  25858.  
  25859. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  25860.     IRpcStubBuffer *This,
  25861.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25862.     PRPC_MESSAGE _pRpcMessage,
  25863.     DWORD *_pdwStubPhase);
  25864.  
  25865.  
  25866.  
  25867. #endif     /* __IDvdInfo2_INTERFACE_DEFINED__ */
  25868.  
  25869.  
  25870. /* interface __MIDL_itf_strmif_0379 */
  25871. /* [local] */ 
  25872.  
  25873. typedef 
  25874. enum _AM_DVD_GRAPH_FLAGS
  25875.     {    AM_DVD_HWDEC_PREFER    = 0x1,
  25876.     AM_DVD_HWDEC_ONLY    = 0x2,
  25877.     AM_DVD_SWDEC_PREFER    = 0x4,
  25878.     AM_DVD_SWDEC_ONLY    = 0x8,
  25879.     AM_DVD_NOVPE    = 0x100,
  25880.     AM_DVD_VMR9_ONLY    = 0x800
  25881.     }     AM_DVD_GRAPH_FLAGS;
  25882.  
  25883. typedef 
  25884. enum _AM_DVD_STREAM_FLAGS
  25885.     {    AM_DVD_STREAM_VIDEO    = 0x1,
  25886.     AM_DVD_STREAM_AUDIO    = 0x2,
  25887.     AM_DVD_STREAM_SUBPIC    = 0x4
  25888.     }     AM_DVD_STREAM_FLAGS;
  25889.  
  25890. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0379_0001
  25891.     {
  25892.     HRESULT hrVPEStatus;
  25893.     BOOL bDvdVolInvalid;
  25894.     BOOL bDvdVolUnknown;
  25895.     BOOL bNoLine21In;
  25896.     BOOL bNoLine21Out;
  25897.     int iNumStreams;
  25898.     int iNumStreamsFailed;
  25899.     DWORD dwFailedStreamsFlag;
  25900.     }     AM_DVD_RENDERSTATUS;
  25901.  
  25902.  
  25903.  
  25904. extern RPC_IF_HANDLE __MIDL_itf_strmif_0379_v0_0_c_ifspec;
  25905. extern RPC_IF_HANDLE __MIDL_itf_strmif_0379_v0_0_s_ifspec;
  25906.  
  25907. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  25908. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  25909.  
  25910. /* interface IDvdGraphBuilder */
  25911. /* [unique][uuid][local][object] */ 
  25912.  
  25913.  
  25914. EXTERN_C const IID IID_IDvdGraphBuilder;
  25915.  
  25916. #if defined(__cplusplus) && !defined(CINTERFACE)
  25917.     
  25918.     MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  25919.     IDvdGraphBuilder : public IUnknown
  25920.     {
  25921.     public:
  25922.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  25923.             /* [out] */ IGraphBuilder **ppGB) = 0;
  25924.         
  25925.         virtual HRESULT STDMETHODCALLTYPE GetDvdInterface( 
  25926.             /* [in] */ REFIID riid,
  25927.             /* [out] */ void **ppvIF) = 0;
  25928.         
  25929.         virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume( 
  25930.             /* [in] */ LPCWSTR lpcwszPathName,
  25931.             /* [in] */ DWORD dwFlags,
  25932.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  25933.         
  25934.     };
  25935.     
  25936. #else     /* C style interface */
  25937.  
  25938.     typedef struct IDvdGraphBuilderVtbl
  25939.     {
  25940.         BEGIN_INTERFACE
  25941.         
  25942.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25943.             IDvdGraphBuilder * This,
  25944.             /* [in] */ REFIID riid,
  25945.             /* [iid_is][out] */ void **ppvObject);
  25946.         
  25947.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25948.             IDvdGraphBuilder * This);
  25949.         
  25950.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25951.             IDvdGraphBuilder * This);
  25952.         
  25953.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  25954.             IDvdGraphBuilder * This,
  25955.             /* [out] */ IGraphBuilder **ppGB);
  25956.         
  25957.         HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )( 
  25958.             IDvdGraphBuilder * This,
  25959.             /* [in] */ REFIID riid,
  25960.             /* [out] */ void **ppvIF);
  25961.         
  25962.         HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )( 
  25963.             IDvdGraphBuilder * This,
  25964.             /* [in] */ LPCWSTR lpcwszPathName,
  25965.             /* [in] */ DWORD dwFlags,
  25966.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  25967.         
  25968.         END_INTERFACE
  25969.     } IDvdGraphBuilderVtbl;
  25970.  
  25971.     interface IDvdGraphBuilder
  25972.     {
  25973.         CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  25974.     };
  25975.  
  25976.     
  25977.  
  25978. #ifdef COBJMACROS
  25979.  
  25980.  
  25981. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  25982.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25983.  
  25984. #define IDvdGraphBuilder_AddRef(This)    \
  25985.     (This)->lpVtbl -> AddRef(This)
  25986.  
  25987. #define IDvdGraphBuilder_Release(This)    \
  25988.     (This)->lpVtbl -> Release(This)
  25989.  
  25990.  
  25991. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB)    \
  25992.     (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  25993.  
  25994. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)    \
  25995.     (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  25996.  
  25997. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)    \
  25998.     (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  25999.  
  26000. #endif /* COBJMACROS */
  26001.  
  26002.  
  26003. #endif     /* C style interface */
  26004.  
  26005.  
  26006.  
  26007. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy( 
  26008.     IDvdGraphBuilder * This,
  26009.     /* [out] */ IGraphBuilder **ppGB);
  26010.  
  26011.  
  26012. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  26013.     IRpcStubBuffer *This,
  26014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26015.     PRPC_MESSAGE _pRpcMessage,
  26016.     DWORD *_pdwStubPhase);
  26017.  
  26018.  
  26019. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy( 
  26020.     IDvdGraphBuilder * This,
  26021.     /* [in] */ REFIID riid,
  26022.     /* [out] */ void **ppvIF);
  26023.  
  26024.  
  26025. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  26026.     IRpcStubBuffer *This,
  26027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26028.     PRPC_MESSAGE _pRpcMessage,
  26029.     DWORD *_pdwStubPhase);
  26030.  
  26031.  
  26032. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy( 
  26033.     IDvdGraphBuilder * This,
  26034.     /* [in] */ LPCWSTR lpcwszPathName,
  26035.     /* [in] */ DWORD dwFlags,
  26036.     /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  26037.  
  26038.  
  26039. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  26040.     IRpcStubBuffer *This,
  26041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26042.     PRPC_MESSAGE _pRpcMessage,
  26043.     DWORD *_pdwStubPhase);
  26044.  
  26045.  
  26046.  
  26047. #endif     /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  26048.  
  26049.  
  26050. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  26051. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  26052.  
  26053. /* interface IDDrawExclModeVideo */
  26054. /* [unique][uuid][local][object] */ 
  26055.  
  26056.  
  26057. EXTERN_C const IID IID_IDDrawExclModeVideo;
  26058.  
  26059. #if defined(__cplusplus) && !defined(CINTERFACE)
  26060.     
  26061.     MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  26062.     IDDrawExclModeVideo : public IUnknown
  26063.     {
  26064.     public:
  26065.         virtual HRESULT STDMETHODCALLTYPE SetDDrawObject( 
  26066.             /* [in] */ IDirectDraw *pDDrawObject) = 0;
  26067.         
  26068.         virtual HRESULT STDMETHODCALLTYPE GetDDrawObject( 
  26069.             /* [out] */ IDirectDraw **ppDDrawObject,
  26070.             /* [out] */ BOOL *pbUsingExternal) = 0;
  26071.         
  26072.         virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface( 
  26073.             /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  26074.         
  26075.         virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface( 
  26076.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26077.             /* [out] */ BOOL *pbUsingExternal) = 0;
  26078.         
  26079.         virtual HRESULT STDMETHODCALLTYPE SetDrawParameters( 
  26080.             /* [in] */ const RECT *prcSource,
  26081.             /* [in] */ const RECT *prcTarget) = 0;
  26082.         
  26083.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps( 
  26084.             /* [out] */ DWORD *pdwVideoWidth,
  26085.             /* [out] */ DWORD *pdwVideoHeight,
  26086.             /* [out] */ DWORD *pdwPictAspectRatioX,
  26087.             /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  26088.         
  26089.         virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface( 
  26090.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26091.             /* [in] */ DWORD dwFlags) = 0;
  26092.         
  26093.     };
  26094.     
  26095. #else     /* C style interface */
  26096.  
  26097.     typedef struct IDDrawExclModeVideoVtbl
  26098.     {
  26099.         BEGIN_INTERFACE
  26100.         
  26101.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26102.             IDDrawExclModeVideo * This,
  26103.             /* [in] */ REFIID riid,
  26104.             /* [iid_is][out] */ void **ppvObject);
  26105.         
  26106.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26107.             IDDrawExclModeVideo * This);
  26108.         
  26109.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26110.             IDDrawExclModeVideo * This);
  26111.         
  26112.         HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )( 
  26113.             IDDrawExclModeVideo * This,
  26114.             /* [in] */ IDirectDraw *pDDrawObject);
  26115.         
  26116.         HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )( 
  26117.             IDDrawExclModeVideo * This,
  26118.             /* [out] */ IDirectDraw **ppDDrawObject,
  26119.             /* [out] */ BOOL *pbUsingExternal);
  26120.         
  26121.         HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )( 
  26122.             IDDrawExclModeVideo * This,
  26123.             /* [in] */ IDirectDrawSurface *pDDrawSurface);
  26124.         
  26125.         HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )( 
  26126.             IDDrawExclModeVideo * This,
  26127.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26128.             /* [out] */ BOOL *pbUsingExternal);
  26129.         
  26130.         HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )( 
  26131.             IDDrawExclModeVideo * This,
  26132.             /* [in] */ const RECT *prcSource,
  26133.             /* [in] */ const RECT *prcTarget);
  26134.         
  26135.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )( 
  26136.             IDDrawExclModeVideo * This,
  26137.             /* [out] */ DWORD *pdwVideoWidth,
  26138.             /* [out] */ DWORD *pdwVideoHeight,
  26139.             /* [out] */ DWORD *pdwPictAspectRatioX,
  26140.             /* [out] */ DWORD *pdwPictAspectRatioY);
  26141.         
  26142.         HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )( 
  26143.             IDDrawExclModeVideo * This,
  26144.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26145.             /* [in] */ DWORD dwFlags);
  26146.         
  26147.         END_INTERFACE
  26148.     } IDDrawExclModeVideoVtbl;
  26149.  
  26150.     interface IDDrawExclModeVideo
  26151.     {
  26152.         CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  26153.     };
  26154.  
  26155.     
  26156.  
  26157. #ifdef COBJMACROS
  26158.  
  26159.  
  26160. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)    \
  26161.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26162.  
  26163. #define IDDrawExclModeVideo_AddRef(This)    \
  26164.     (This)->lpVtbl -> AddRef(This)
  26165.  
  26166. #define IDDrawExclModeVideo_Release(This)    \
  26167.     (This)->lpVtbl -> Release(This)
  26168.  
  26169.  
  26170. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)    \
  26171.     (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  26172.  
  26173. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)    \
  26174.     (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  26175.  
  26176. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)    \
  26177.     (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  26178.  
  26179. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)    \
  26180.     (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  26181.  
  26182. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)    \
  26183.     (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  26184.  
  26185. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)    \
  26186.     (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  26187.  
  26188. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)    \
  26189.     (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  26190.  
  26191. #endif /* COBJMACROS */
  26192.  
  26193.  
  26194. #endif     /* C style interface */
  26195.  
  26196.  
  26197.  
  26198. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy( 
  26199.     IDDrawExclModeVideo * This,
  26200.     /* [in] */ IDirectDraw *pDDrawObject);
  26201.  
  26202.  
  26203. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  26204.     IRpcStubBuffer *This,
  26205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26206.     PRPC_MESSAGE _pRpcMessage,
  26207.     DWORD *_pdwStubPhase);
  26208.  
  26209.  
  26210. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy( 
  26211.     IDDrawExclModeVideo * This,
  26212.     /* [out] */ IDirectDraw **ppDDrawObject,
  26213.     /* [out] */ BOOL *pbUsingExternal);
  26214.  
  26215.  
  26216. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  26217.     IRpcStubBuffer *This,
  26218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26219.     PRPC_MESSAGE _pRpcMessage,
  26220.     DWORD *_pdwStubPhase);
  26221.  
  26222.  
  26223. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy( 
  26224.     IDDrawExclModeVideo * This,
  26225.     /* [in] */ IDirectDrawSurface *pDDrawSurface);
  26226.  
  26227.  
  26228. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  26229.     IRpcStubBuffer *This,
  26230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26231.     PRPC_MESSAGE _pRpcMessage,
  26232.     DWORD *_pdwStubPhase);
  26233.  
  26234.  
  26235. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy( 
  26236.     IDDrawExclModeVideo * This,
  26237.     /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  26238.     /* [out] */ BOOL *pbUsingExternal);
  26239.  
  26240.  
  26241. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  26242.     IRpcStubBuffer *This,
  26243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26244.     PRPC_MESSAGE _pRpcMessage,
  26245.     DWORD *_pdwStubPhase);
  26246.  
  26247.  
  26248. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy( 
  26249.     IDDrawExclModeVideo * This,
  26250.     /* [in] */ const RECT *prcSource,
  26251.     /* [in] */ const RECT *prcTarget);
  26252.  
  26253.  
  26254. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  26255.     IRpcStubBuffer *This,
  26256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26257.     PRPC_MESSAGE _pRpcMessage,
  26258.     DWORD *_pdwStubPhase);
  26259.  
  26260.  
  26261. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy( 
  26262.     IDDrawExclModeVideo * This,
  26263.     /* [out] */ DWORD *pdwVideoWidth,
  26264.     /* [out] */ DWORD *pdwVideoHeight,
  26265.     /* [out] */ DWORD *pdwPictAspectRatioX,
  26266.     /* [out] */ DWORD *pdwPictAspectRatioY);
  26267.  
  26268.  
  26269. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  26270.     IRpcStubBuffer *This,
  26271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26272.     PRPC_MESSAGE _pRpcMessage,
  26273.     DWORD *_pdwStubPhase);
  26274.  
  26275.  
  26276. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy( 
  26277.     IDDrawExclModeVideo * This,
  26278.     /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  26279.     /* [in] */ DWORD dwFlags);
  26280.  
  26281.  
  26282. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  26283.     IRpcStubBuffer *This,
  26284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26285.     PRPC_MESSAGE _pRpcMessage,
  26286.     DWORD *_pdwStubPhase);
  26287.  
  26288.  
  26289.  
  26290. #endif     /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  26291.  
  26292.  
  26293. /* interface __MIDL_itf_strmif_0381 */
  26294. /* [local] */ 
  26295.  
  26296.  
  26297. enum _AM_OVERLAY_NOTIFY_FLAGS
  26298.     {    AM_OVERLAY_NOTIFY_VISIBLE_CHANGE    = 0x1,
  26299.     AM_OVERLAY_NOTIFY_SOURCE_CHANGE    = 0x2,
  26300.     AM_OVERLAY_NOTIFY_DEST_CHANGE    = 0x4
  26301.     } ;
  26302.  
  26303.  
  26304. extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_c_ifspec;
  26305. extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_s_ifspec;
  26306.  
  26307. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  26308. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  26309.  
  26310. /* interface IDDrawExclModeVideoCallback */
  26311. /* [unique][uuid][local][object] */ 
  26312.  
  26313.  
  26314. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  26315.  
  26316. #if defined(__cplusplus) && !defined(CINTERFACE)
  26317.     
  26318.     MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  26319.     IDDrawExclModeVideoCallback : public IUnknown
  26320.     {
  26321.     public:
  26322.         virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay( 
  26323.             /* [in] */ BOOL bBefore,
  26324.             /* [in] */ DWORD dwFlags,
  26325.             /* [in] */ BOOL bOldVisible,
  26326.             /* [in] */ const RECT *prcOldSrc,
  26327.             /* [in] */ const RECT *prcOldDest,
  26328.             /* [in] */ BOOL bNewVisible,
  26329.             /* [in] */ const RECT *prcNewSrc,
  26330.             /* [in] */ const RECT *prcNewDest) = 0;
  26331.         
  26332.         virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey( 
  26333.             /* [in] */ const COLORKEY *pKey,
  26334.             /* [in] */ DWORD dwColor) = 0;
  26335.         
  26336.         virtual HRESULT STDMETHODCALLTYPE OnUpdateSize( 
  26337.             /* [in] */ DWORD dwWidth,
  26338.             /* [in] */ DWORD dwHeight,
  26339.             /* [in] */ DWORD dwARWidth,
  26340.             /* [in] */ DWORD dwARHeight) = 0;
  26341.         
  26342.     };
  26343.     
  26344. #else     /* C style interface */
  26345.  
  26346.     typedef struct IDDrawExclModeVideoCallbackVtbl
  26347.     {
  26348.         BEGIN_INTERFACE
  26349.         
  26350.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26351.             IDDrawExclModeVideoCallback * This,
  26352.             /* [in] */ REFIID riid,
  26353.             /* [iid_is][out] */ void **ppvObject);
  26354.         
  26355.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26356.             IDDrawExclModeVideoCallback * This);
  26357.         
  26358.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26359.             IDDrawExclModeVideoCallback * This);
  26360.         
  26361.         HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )( 
  26362.             IDDrawExclModeVideoCallback * This,
  26363.             /* [in] */ BOOL bBefore,
  26364.             /* [in] */ DWORD dwFlags,
  26365.             /* [in] */ BOOL bOldVisible,
  26366.             /* [in] */ const RECT *prcOldSrc,
  26367.             /* [in] */ const RECT *prcOldDest,
  26368.             /* [in] */ BOOL bNewVisible,
  26369.             /* [in] */ const RECT *prcNewSrc,
  26370.             /* [in] */ const RECT *prcNewDest);
  26371.         
  26372.         HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )( 
  26373.             IDDrawExclModeVideoCallback * This,
  26374.             /* [in] */ const COLORKEY *pKey,
  26375.             /* [in] */ DWORD dwColor);
  26376.         
  26377.         HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )( 
  26378.             IDDrawExclModeVideoCallback * This,
  26379.             /* [in] */ DWORD dwWidth,
  26380.             /* [in] */ DWORD dwHeight,
  26381.             /* [in] */ DWORD dwARWidth,
  26382.             /* [in] */ DWORD dwARHeight);
  26383.         
  26384.         END_INTERFACE
  26385.     } IDDrawExclModeVideoCallbackVtbl;
  26386.  
  26387.     interface IDDrawExclModeVideoCallback
  26388.     {
  26389.         CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  26390.     };
  26391.  
  26392.     
  26393.  
  26394. #ifdef COBJMACROS
  26395.  
  26396.  
  26397. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)    \
  26398.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26399.  
  26400. #define IDDrawExclModeVideoCallback_AddRef(This)    \
  26401.     (This)->lpVtbl -> AddRef(This)
  26402.  
  26403. #define IDDrawExclModeVideoCallback_Release(This)    \
  26404.     (This)->lpVtbl -> Release(This)
  26405.  
  26406.  
  26407. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)    \
  26408.     (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  26409.  
  26410. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)    \
  26411.     (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  26412.  
  26413. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)    \
  26414.     (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  26415.  
  26416. #endif /* COBJMACROS */
  26417.  
  26418.  
  26419. #endif     /* C style interface */
  26420.  
  26421.  
  26422.  
  26423. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy( 
  26424.     IDDrawExclModeVideoCallback * This,
  26425.     /* [in] */ BOOL bBefore,
  26426.     /* [in] */ DWORD dwFlags,
  26427.     /* [in] */ BOOL bOldVisible,
  26428.     /* [in] */ const RECT *prcOldSrc,
  26429.     /* [in] */ const RECT *prcOldDest,
  26430.     /* [in] */ BOOL bNewVisible,
  26431.     /* [in] */ const RECT *prcNewSrc,
  26432.     /* [in] */ const RECT *prcNewDest);
  26433.  
  26434.  
  26435. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  26436.     IRpcStubBuffer *This,
  26437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26438.     PRPC_MESSAGE _pRpcMessage,
  26439.     DWORD *_pdwStubPhase);
  26440.  
  26441.  
  26442. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy( 
  26443.     IDDrawExclModeVideoCallback * This,
  26444.     /* [in] */ const COLORKEY *pKey,
  26445.     /* [in] */ DWORD dwColor);
  26446.  
  26447.  
  26448. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  26449.     IRpcStubBuffer *This,
  26450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26451.     PRPC_MESSAGE _pRpcMessage,
  26452.     DWORD *_pdwStubPhase);
  26453.  
  26454.  
  26455. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy( 
  26456.     IDDrawExclModeVideoCallback * This,
  26457.     /* [in] */ DWORD dwWidth,
  26458.     /* [in] */ DWORD dwHeight,
  26459.     /* [in] */ DWORD dwARWidth,
  26460.     /* [in] */ DWORD dwARHeight);
  26461.  
  26462.  
  26463. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  26464.     IRpcStubBuffer *This,
  26465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26466.     PRPC_MESSAGE _pRpcMessage,
  26467.     DWORD *_pdwStubPhase);
  26468.  
  26469.  
  26470.  
  26471. #endif     /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  26472.  
  26473.  
  26474. /* interface __MIDL_itf_strmif_0382 */
  26475. /* [local] */ 
  26476.  
  26477.  
  26478.  
  26479.  
  26480.  
  26481.  
  26482.  
  26483. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
  26484. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
  26485.  
  26486. #ifndef __IPinConnection_INTERFACE_DEFINED__
  26487. #define __IPinConnection_INTERFACE_DEFINED__
  26488.  
  26489. /* interface IPinConnection */
  26490. /* [unique][uuid][object][local] */ 
  26491.  
  26492.  
  26493. EXTERN_C const IID IID_IPinConnection;
  26494.  
  26495. #if defined(__cplusplus) && !defined(CINTERFACE)
  26496.     
  26497.     MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  26498.     IPinConnection : public IUnknown
  26499.     {
  26500.     public:
  26501.         virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( 
  26502.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  26503.         
  26504.         virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( 
  26505.             /* [in] */ HANDLE hNotifyEvent) = 0;
  26506.         
  26507.         virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  26508.         
  26509.         virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  26510.         
  26511.     };
  26512.     
  26513. #else     /* C style interface */
  26514.  
  26515.     typedef struct IPinConnectionVtbl
  26516.     {
  26517.         BEGIN_INTERFACE
  26518.         
  26519.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26520.             IPinConnection * This,
  26521.             /* [in] */ REFIID riid,
  26522.             /* [iid_is][out] */ void **ppvObject);
  26523.         
  26524.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26525.             IPinConnection * This);
  26526.         
  26527.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26528.             IPinConnection * This);
  26529.         
  26530.         HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )( 
  26531.             IPinConnection * This,
  26532.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  26533.         
  26534.         HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )( 
  26535.             IPinConnection * This,
  26536.             /* [in] */ HANDLE hNotifyEvent);
  26537.         
  26538.         HRESULT ( STDMETHODCALLTYPE *IsEndPin )( 
  26539.             IPinConnection * This);
  26540.         
  26541.         HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )( 
  26542.             IPinConnection * This);
  26543.         
  26544.         END_INTERFACE
  26545.     } IPinConnectionVtbl;
  26546.  
  26547.     interface IPinConnection
  26548.     {
  26549.         CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  26550.     };
  26551.  
  26552.     
  26553.  
  26554. #ifdef COBJMACROS
  26555.  
  26556.  
  26557. #define IPinConnection_QueryInterface(This,riid,ppvObject)    \
  26558.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26559.  
  26560. #define IPinConnection_AddRef(This)    \
  26561.     (This)->lpVtbl -> AddRef(This)
  26562.  
  26563. #define IPinConnection_Release(This)    \
  26564.     (This)->lpVtbl -> Release(This)
  26565.  
  26566.  
  26567. #define IPinConnection_DynamicQueryAccept(This,pmt)    \
  26568.     (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  26569.  
  26570. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent)    \
  26571.     (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  26572.  
  26573. #define IPinConnection_IsEndPin(This)    \
  26574.     (This)->lpVtbl -> IsEndPin(This)
  26575.  
  26576. #define IPinConnection_DynamicDisconnect(This)    \
  26577.     (This)->lpVtbl -> DynamicDisconnect(This)
  26578.  
  26579. #endif /* COBJMACROS */
  26580.  
  26581.  
  26582. #endif     /* C style interface */
  26583.  
  26584.  
  26585.  
  26586. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy( 
  26587.     IPinConnection * This,
  26588.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  26589.  
  26590.  
  26591. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  26592.     IRpcStubBuffer *This,
  26593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26594.     PRPC_MESSAGE _pRpcMessage,
  26595.     DWORD *_pdwStubPhase);
  26596.  
  26597.  
  26598. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy( 
  26599.     IPinConnection * This,
  26600.     /* [in] */ HANDLE hNotifyEvent);
  26601.  
  26602.  
  26603. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  26604.     IRpcStubBuffer *This,
  26605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26606.     PRPC_MESSAGE _pRpcMessage,
  26607.     DWORD *_pdwStubPhase);
  26608.  
  26609.  
  26610. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy( 
  26611.     IPinConnection * This);
  26612.  
  26613.  
  26614. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  26615.     IRpcStubBuffer *This,
  26616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26617.     PRPC_MESSAGE _pRpcMessage,
  26618.     DWORD *_pdwStubPhase);
  26619.  
  26620.  
  26621. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy( 
  26622.     IPinConnection * This);
  26623.  
  26624.  
  26625. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  26626.     IRpcStubBuffer *This,
  26627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26628.     PRPC_MESSAGE _pRpcMessage,
  26629.     DWORD *_pdwStubPhase);
  26630.  
  26631.  
  26632.  
  26633. #endif     /* __IPinConnection_INTERFACE_DEFINED__ */
  26634.  
  26635.  
  26636. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  26637. #define __IPinFlowControl_INTERFACE_DEFINED__
  26638.  
  26639. /* interface IPinFlowControl */
  26640. /* [unique][uuid][object][local] */ 
  26641.  
  26642.  
  26643. EXTERN_C const IID IID_IPinFlowControl;
  26644.  
  26645. #if defined(__cplusplus) && !defined(CINTERFACE)
  26646.     
  26647.     MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  26648.     IPinFlowControl : public IUnknown
  26649.     {
  26650.     public:
  26651.         virtual HRESULT STDMETHODCALLTYPE Block( 
  26652.             /* [in] */ DWORD dwBlockFlags,
  26653.             /* [in] */ HANDLE hEvent) = 0;
  26654.         
  26655.     };
  26656.     
  26657. #else     /* C style interface */
  26658.  
  26659.     typedef struct IPinFlowControlVtbl
  26660.     {
  26661.         BEGIN_INTERFACE
  26662.         
  26663.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26664.             IPinFlowControl * This,
  26665.             /* [in] */ REFIID riid,
  26666.             /* [iid_is][out] */ void **ppvObject);
  26667.         
  26668.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26669.             IPinFlowControl * This);
  26670.         
  26671.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26672.             IPinFlowControl * This);
  26673.         
  26674.         HRESULT ( STDMETHODCALLTYPE *Block )( 
  26675.             IPinFlowControl * This,
  26676.             /* [in] */ DWORD dwBlockFlags,
  26677.             /* [in] */ HANDLE hEvent);
  26678.         
  26679.         END_INTERFACE
  26680.     } IPinFlowControlVtbl;
  26681.  
  26682.     interface IPinFlowControl
  26683.     {
  26684.         CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  26685.     };
  26686.  
  26687.     
  26688.  
  26689. #ifdef COBJMACROS
  26690.  
  26691.  
  26692. #define IPinFlowControl_QueryInterface(This,riid,ppvObject)    \
  26693.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26694.  
  26695. #define IPinFlowControl_AddRef(This)    \
  26696.     (This)->lpVtbl -> AddRef(This)
  26697.  
  26698. #define IPinFlowControl_Release(This)    \
  26699.     (This)->lpVtbl -> Release(This)
  26700.  
  26701.  
  26702. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent)    \
  26703.     (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  26704.  
  26705. #endif /* COBJMACROS */
  26706.  
  26707.  
  26708. #endif     /* C style interface */
  26709.  
  26710.  
  26711.  
  26712. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy( 
  26713.     IPinFlowControl * This,
  26714.     /* [in] */ DWORD dwBlockFlags,
  26715.     /* [in] */ HANDLE hEvent);
  26716.  
  26717.  
  26718. void __RPC_STUB IPinFlowControl_Block_Stub(
  26719.     IRpcStubBuffer *This,
  26720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26721.     PRPC_MESSAGE _pRpcMessage,
  26722.     DWORD *_pdwStubPhase);
  26723.  
  26724.  
  26725.  
  26726. #endif     /* __IPinFlowControl_INTERFACE_DEFINED__ */
  26727.  
  26728.  
  26729. /* interface __MIDL_itf_strmif_0384 */
  26730. /* [local] */ 
  26731.  
  26732.  
  26733. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  26734.     {    AM_PIN_FLOW_CONTROL_BLOCK    = 0x1
  26735.     } ;
  26736. typedef 
  26737. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  26738.     {    AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT    = 0x1,
  26739.     AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS    = 0x2,
  26740.     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS    = 0x4
  26741.     }     AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  26742.  
  26743.  
  26744. enum _REM_FILTER_FLAGS
  26745.     {    REMFILTERF_LEAVECONNECTED    = 0x1
  26746.     } ;
  26747. typedef 
  26748. enum _AM_FILTER_FLAGS
  26749.     {    AM_FILTER_FLAGS_REMOVABLE    = 0x1
  26750.     }     AM_FILTER_FLAGS;
  26751.  
  26752.  
  26753.  
  26754. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;
  26755. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
  26756.  
  26757. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  26758. #define __IGraphConfig_INTERFACE_DEFINED__
  26759.  
  26760. /* interface IGraphConfig */
  26761. /* [unique][uuid][object][local] */ 
  26762.  
  26763.  
  26764. EXTERN_C const IID IID_IGraphConfig;
  26765.  
  26766. #if defined(__cplusplus) && !defined(CINTERFACE)
  26767.     
  26768.     MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  26769.     IGraphConfig : public IUnknown
  26770.     {
  26771.     public:
  26772.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  26773.             /* [in] */ IPin *pOutputPin,
  26774.             /* [in] */ IPin *pInputPin,
  26775.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26776.             /* [in] */ IBaseFilter *pUsingFilter,
  26777.             /* [in] */ HANDLE hAbortEvent,
  26778.             /* [in] */ DWORD dwFlags) = 0;
  26779.         
  26780.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  26781.             /* [in] */ IGraphConfigCallback *pCallback,
  26782.             /* [in] */ PVOID pvContext,
  26783.             /* [in] */ DWORD dwFlags,
  26784.             /* [in] */ HANDLE hAbortEvent) = 0;
  26785.         
  26786.         virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( 
  26787.             /* [in] */ IBaseFilter *pFilter) = 0;
  26788.         
  26789.         virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( 
  26790.             /* [out] */ IEnumFilters **pEnum) = 0;
  26791.         
  26792.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( 
  26793.             /* [in] */ IBaseFilter *pFilter) = 0;
  26794.         
  26795.         virtual HRESULT STDMETHODCALLTYPE GetStartTime( 
  26796.             /* [out] */ REFERENCE_TIME *prtStart) = 0;
  26797.         
  26798.         virtual HRESULT STDMETHODCALLTYPE PushThroughData( 
  26799.             /* [in] */ IPin *pOutputPin,
  26800.             /* [in] */ IPinConnection *pConnection,
  26801.             /* [in] */ HANDLE hEventAbort) = 0;
  26802.         
  26803.         virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( 
  26804.             /* [in] */ IBaseFilter *pFilter,
  26805.             /* [in] */ DWORD dwFlags) = 0;
  26806.         
  26807.         virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( 
  26808.             /* [in] */ IBaseFilter *pFilter,
  26809.             /* [out] */ DWORD *pdwFlags) = 0;
  26810.         
  26811.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( 
  26812.             /* [in] */ IBaseFilter *pFilter,
  26813.             DWORD Flags) = 0;
  26814.         
  26815.     };
  26816.     
  26817. #else     /* C style interface */
  26818.  
  26819.     typedef struct IGraphConfigVtbl
  26820.     {
  26821.         BEGIN_INTERFACE
  26822.         
  26823.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26824.             IGraphConfig * This,
  26825.             /* [in] */ REFIID riid,
  26826.             /* [iid_is][out] */ void **ppvObject);
  26827.         
  26828.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26829.             IGraphConfig * This);
  26830.         
  26831.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26832.             IGraphConfig * This);
  26833.         
  26834.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  26835.             IGraphConfig * This,
  26836.             /* [in] */ IPin *pOutputPin,
  26837.             /* [in] */ IPin *pInputPin,
  26838.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26839.             /* [in] */ IBaseFilter *pUsingFilter,
  26840.             /* [in] */ HANDLE hAbortEvent,
  26841.             /* [in] */ DWORD dwFlags);
  26842.         
  26843.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  26844.             IGraphConfig * This,
  26845.             /* [in] */ IGraphConfigCallback *pCallback,
  26846.             /* [in] */ PVOID pvContext,
  26847.             /* [in] */ DWORD dwFlags,
  26848.             /* [in] */ HANDLE hAbortEvent);
  26849.         
  26850.         HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )( 
  26851.             IGraphConfig * This,
  26852.             /* [in] */ IBaseFilter *pFilter);
  26853.         
  26854.         HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )( 
  26855.             IGraphConfig * This,
  26856.             /* [out] */ IEnumFilters **pEnum);
  26857.         
  26858.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )( 
  26859.             IGraphConfig * This,
  26860.             /* [in] */ IBaseFilter *pFilter);
  26861.         
  26862.         HRESULT ( STDMETHODCALLTYPE *GetStartTime )( 
  26863.             IGraphConfig * This,
  26864.             /* [out] */ REFERENCE_TIME *prtStart);
  26865.         
  26866.         HRESULT ( STDMETHODCALLTYPE *PushThroughData )( 
  26867.             IGraphConfig * This,
  26868.             /* [in] */ IPin *pOutputPin,
  26869.             /* [in] */ IPinConnection *pConnection,
  26870.             /* [in] */ HANDLE hEventAbort);
  26871.         
  26872.         HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )( 
  26873.             IGraphConfig * This,
  26874.             /* [in] */ IBaseFilter *pFilter,
  26875.             /* [in] */ DWORD dwFlags);
  26876.         
  26877.         HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )( 
  26878.             IGraphConfig * This,
  26879.             /* [in] */ IBaseFilter *pFilter,
  26880.             /* [out] */ DWORD *pdwFlags);
  26881.         
  26882.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )( 
  26883.             IGraphConfig * This,
  26884.             /* [in] */ IBaseFilter *pFilter,
  26885.             DWORD Flags);
  26886.         
  26887.         END_INTERFACE
  26888.     } IGraphConfigVtbl;
  26889.  
  26890.     interface IGraphConfig
  26891.     {
  26892.         CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  26893.     };
  26894.  
  26895.     
  26896.  
  26897. #ifdef COBJMACROS
  26898.  
  26899.  
  26900. #define IGraphConfig_QueryInterface(This,riid,ppvObject)    \
  26901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26902.  
  26903. #define IGraphConfig_AddRef(This)    \
  26904.     (This)->lpVtbl -> AddRef(This)
  26905.  
  26906. #define IGraphConfig_Release(This)    \
  26907.     (This)->lpVtbl -> Release(This)
  26908.  
  26909.  
  26910. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)    \
  26911.     (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  26912.  
  26913. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)    \
  26914.     (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  26915.  
  26916. #define IGraphConfig_AddFilterToCache(This,pFilter)    \
  26917.     (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  26918.  
  26919. #define IGraphConfig_EnumCacheFilter(This,pEnum)    \
  26920.     (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  26921.  
  26922. #define IGraphConfig_RemoveFilterFromCache(This,pFilter)    \
  26923.     (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  26924.  
  26925. #define IGraphConfig_GetStartTime(This,prtStart)    \
  26926.     (This)->lpVtbl -> GetStartTime(This,prtStart)
  26927.  
  26928. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort)    \
  26929.     (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  26930.  
  26931. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags)    \
  26932.     (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  26933.  
  26934. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags)    \
  26935.     (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  26936.  
  26937. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags)    \
  26938.     (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  26939.  
  26940. #endif /* COBJMACROS */
  26941.  
  26942.  
  26943. #endif     /* C style interface */
  26944.  
  26945.  
  26946.  
  26947. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy( 
  26948.     IGraphConfig * This,
  26949.     /* [in] */ IPin *pOutputPin,
  26950.     /* [in] */ IPin *pInputPin,
  26951.     /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  26952.     /* [in] */ IBaseFilter *pUsingFilter,
  26953.     /* [in] */ HANDLE hAbortEvent,
  26954.     /* [in] */ DWORD dwFlags);
  26955.  
  26956.  
  26957. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  26958.     IRpcStubBuffer *This,
  26959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26960.     PRPC_MESSAGE _pRpcMessage,
  26961.     DWORD *_pdwStubPhase);
  26962.  
  26963.  
  26964. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy( 
  26965.     IGraphConfig * This,
  26966.     /* [in] */ IGraphConfigCallback *pCallback,
  26967.     /* [in] */ PVOID pvContext,
  26968.     /* [in] */ DWORD dwFlags,
  26969.     /* [in] */ HANDLE hAbortEvent);
  26970.  
  26971.  
  26972. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  26973.     IRpcStubBuffer *This,
  26974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26975.     PRPC_MESSAGE _pRpcMessage,
  26976.     DWORD *_pdwStubPhase);
  26977.  
  26978.  
  26979. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy( 
  26980.     IGraphConfig * This,
  26981.     /* [in] */ IBaseFilter *pFilter);
  26982.  
  26983.  
  26984. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  26985.     IRpcStubBuffer *This,
  26986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26987.     PRPC_MESSAGE _pRpcMessage,
  26988.     DWORD *_pdwStubPhase);
  26989.  
  26990.  
  26991. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy( 
  26992.     IGraphConfig * This,
  26993.     /* [out] */ IEnumFilters **pEnum);
  26994.  
  26995.  
  26996. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  26997.     IRpcStubBuffer *This,
  26998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26999.     PRPC_MESSAGE _pRpcMessage,
  27000.     DWORD *_pdwStubPhase);
  27001.  
  27002.  
  27003. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy( 
  27004.     IGraphConfig * This,
  27005.     /* [in] */ IBaseFilter *pFilter);
  27006.  
  27007.  
  27008. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  27009.     IRpcStubBuffer *This,
  27010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27011.     PRPC_MESSAGE _pRpcMessage,
  27012.     DWORD *_pdwStubPhase);
  27013.  
  27014.  
  27015. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy( 
  27016.     IGraphConfig * This,
  27017.     /* [out] */ REFERENCE_TIME *prtStart);
  27018.  
  27019.  
  27020. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  27021.     IRpcStubBuffer *This,
  27022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27023.     PRPC_MESSAGE _pRpcMessage,
  27024.     DWORD *_pdwStubPhase);
  27025.  
  27026.  
  27027. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy( 
  27028.     IGraphConfig * This,
  27029.     /* [in] */ IPin *pOutputPin,
  27030.     /* [in] */ IPinConnection *pConnection,
  27031.     /* [in] */ HANDLE hEventAbort);
  27032.  
  27033.  
  27034. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  27035.     IRpcStubBuffer *This,
  27036.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27037.     PRPC_MESSAGE _pRpcMessage,
  27038.     DWORD *_pdwStubPhase);
  27039.  
  27040.  
  27041. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy( 
  27042.     IGraphConfig * This,
  27043.     /* [in] */ IBaseFilter *pFilter,
  27044.     /* [in] */ DWORD dwFlags);
  27045.  
  27046.  
  27047. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  27048.     IRpcStubBuffer *This,
  27049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27050.     PRPC_MESSAGE _pRpcMessage,
  27051.     DWORD *_pdwStubPhase);
  27052.  
  27053.  
  27054. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy( 
  27055.     IGraphConfig * This,
  27056.     /* [in] */ IBaseFilter *pFilter,
  27057.     /* [out] */ DWORD *pdwFlags);
  27058.  
  27059.  
  27060. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  27061.     IRpcStubBuffer *This,
  27062.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27063.     PRPC_MESSAGE _pRpcMessage,
  27064.     DWORD *_pdwStubPhase);
  27065.  
  27066.  
  27067. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy( 
  27068.     IGraphConfig * This,
  27069.     /* [in] */ IBaseFilter *pFilter,
  27070.     DWORD Flags);
  27071.  
  27072.  
  27073. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  27074.     IRpcStubBuffer *This,
  27075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27076.     PRPC_MESSAGE _pRpcMessage,
  27077.     DWORD *_pdwStubPhase);
  27078.  
  27079.  
  27080.  
  27081. #endif     /* __IGraphConfig_INTERFACE_DEFINED__ */
  27082.  
  27083.  
  27084. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  27085. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  27086.  
  27087. /* interface IGraphConfigCallback */
  27088. /* [unique][uuid][object][local] */ 
  27089.  
  27090.  
  27091. EXTERN_C const IID IID_IGraphConfigCallback;
  27092.  
  27093. #if defined(__cplusplus) && !defined(CINTERFACE)
  27094.     
  27095.     MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  27096.     IGraphConfigCallback : public IUnknown
  27097.     {
  27098.     public:
  27099.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  27100.             PVOID pvContext,
  27101.             DWORD dwFlags) = 0;
  27102.         
  27103.     };
  27104.     
  27105. #else     /* C style interface */
  27106.  
  27107.     typedef struct IGraphConfigCallbackVtbl
  27108.     {
  27109.         BEGIN_INTERFACE
  27110.         
  27111.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27112.             IGraphConfigCallback * This,
  27113.             /* [in] */ REFIID riid,
  27114.             /* [iid_is][out] */ void **ppvObject);
  27115.         
  27116.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27117.             IGraphConfigCallback * This);
  27118.         
  27119.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27120.             IGraphConfigCallback * This);
  27121.         
  27122.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  27123.             IGraphConfigCallback * This,
  27124.             PVOID pvContext,
  27125.             DWORD dwFlags);
  27126.         
  27127.         END_INTERFACE
  27128.     } IGraphConfigCallbackVtbl;
  27129.  
  27130.     interface IGraphConfigCallback
  27131.     {
  27132.         CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  27133.     };
  27134.  
  27135.     
  27136.  
  27137. #ifdef COBJMACROS
  27138.  
  27139.  
  27140. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject)    \
  27141.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27142.  
  27143. #define IGraphConfigCallback_AddRef(This)    \
  27144.     (This)->lpVtbl -> AddRef(This)
  27145.  
  27146. #define IGraphConfigCallback_Release(This)    \
  27147.     (This)->lpVtbl -> Release(This)
  27148.  
  27149.  
  27150. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags)    \
  27151.     (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  27152.  
  27153. #endif /* COBJMACROS */
  27154.  
  27155.  
  27156. #endif     /* C style interface */
  27157.  
  27158.  
  27159.  
  27160. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy( 
  27161.     IGraphConfigCallback * This,
  27162.     PVOID pvContext,
  27163.     DWORD dwFlags);
  27164.  
  27165.  
  27166. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  27167.     IRpcStubBuffer *This,
  27168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27169.     PRPC_MESSAGE _pRpcMessage,
  27170.     DWORD *_pdwStubPhase);
  27171.  
  27172.  
  27173.  
  27174. #endif     /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  27175.  
  27176.  
  27177. #ifndef __IFilterChain_INTERFACE_DEFINED__
  27178. #define __IFilterChain_INTERFACE_DEFINED__
  27179.  
  27180. /* interface IFilterChain */
  27181. /* [unique][uuid][object][local] */ 
  27182.  
  27183.  
  27184. EXTERN_C const IID IID_IFilterChain;
  27185.  
  27186. #if defined(__cplusplus) && !defined(CINTERFACE)
  27187.     
  27188.     MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  27189.     IFilterChain : public IUnknown
  27190.     {
  27191.     public:
  27192.         virtual HRESULT STDMETHODCALLTYPE StartChain( 
  27193.             /* [in] */ IBaseFilter *pStartFilter,
  27194.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27195.         
  27196.         virtual HRESULT STDMETHODCALLTYPE PauseChain( 
  27197.             /* [in] */ IBaseFilter *pStartFilter,
  27198.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27199.         
  27200.         virtual HRESULT STDMETHODCALLTYPE StopChain( 
  27201.             /* [in] */ IBaseFilter *pStartFilter,
  27202.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27203.         
  27204.         virtual HRESULT STDMETHODCALLTYPE RemoveChain( 
  27205.             /* [in] */ IBaseFilter *pStartFilter,
  27206.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  27207.         
  27208.     };
  27209.     
  27210. #else     /* C style interface */
  27211.  
  27212.     typedef struct IFilterChainVtbl
  27213.     {
  27214.         BEGIN_INTERFACE
  27215.         
  27216.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27217.             IFilterChain * This,
  27218.             /* [in] */ REFIID riid,
  27219.             /* [iid_is][out] */ void **ppvObject);
  27220.         
  27221.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27222.             IFilterChain * This);
  27223.         
  27224.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27225.             IFilterChain * This);
  27226.         
  27227.         HRESULT ( STDMETHODCALLTYPE *StartChain )( 
  27228.             IFilterChain * This,
  27229.             /* [in] */ IBaseFilter *pStartFilter,
  27230.             /* [in] */ IBaseFilter *pEndFilter);
  27231.         
  27232.         HRESULT ( STDMETHODCALLTYPE *PauseChain )( 
  27233.             IFilterChain * This,
  27234.             /* [in] */ IBaseFilter *pStartFilter,
  27235.             /* [in] */ IBaseFilter *pEndFilter);
  27236.         
  27237.         HRESULT ( STDMETHODCALLTYPE *StopChain )( 
  27238.             IFilterChain * This,
  27239.             /* [in] */ IBaseFilter *pStartFilter,
  27240.             /* [in] */ IBaseFilter *pEndFilter);
  27241.         
  27242.         HRESULT ( STDMETHODCALLTYPE *RemoveChain )( 
  27243.             IFilterChain * This,
  27244.             /* [in] */ IBaseFilter *pStartFilter,
  27245.             /* [in] */ IBaseFilter *pEndFilter);
  27246.         
  27247.         END_INTERFACE
  27248.     } IFilterChainVtbl;
  27249.  
  27250.     interface IFilterChain
  27251.     {
  27252.         CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  27253.     };
  27254.  
  27255.     
  27256.  
  27257. #ifdef COBJMACROS
  27258.  
  27259.  
  27260. #define IFilterChain_QueryInterface(This,riid,ppvObject)    \
  27261.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27262.  
  27263. #define IFilterChain_AddRef(This)    \
  27264.     (This)->lpVtbl -> AddRef(This)
  27265.  
  27266. #define IFilterChain_Release(This)    \
  27267.     (This)->lpVtbl -> Release(This)
  27268.  
  27269.  
  27270. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter)    \
  27271.     (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  27272.  
  27273. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter)    \
  27274.     (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  27275.  
  27276. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter)    \
  27277.     (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  27278.  
  27279. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter)    \
  27280.     (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  27281.  
  27282. #endif /* COBJMACROS */
  27283.  
  27284.  
  27285. #endif     /* C style interface */
  27286.  
  27287.  
  27288.  
  27289. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy( 
  27290.     IFilterChain * This,
  27291.     /* [in] */ IBaseFilter *pStartFilter,
  27292.     /* [in] */ IBaseFilter *pEndFilter);
  27293.  
  27294.  
  27295. void __RPC_STUB IFilterChain_StartChain_Stub(
  27296.     IRpcStubBuffer *This,
  27297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27298.     PRPC_MESSAGE _pRpcMessage,
  27299.     DWORD *_pdwStubPhase);
  27300.  
  27301.  
  27302. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy( 
  27303.     IFilterChain * This,
  27304.     /* [in] */ IBaseFilter *pStartFilter,
  27305.     /* [in] */ IBaseFilter *pEndFilter);
  27306.  
  27307.  
  27308. void __RPC_STUB IFilterChain_PauseChain_Stub(
  27309.     IRpcStubBuffer *This,
  27310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27311.     PRPC_MESSAGE _pRpcMessage,
  27312.     DWORD *_pdwStubPhase);
  27313.  
  27314.  
  27315. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy( 
  27316.     IFilterChain * This,
  27317.     /* [in] */ IBaseFilter *pStartFilter,
  27318.     /* [in] */ IBaseFilter *pEndFilter);
  27319.  
  27320.  
  27321. void __RPC_STUB IFilterChain_StopChain_Stub(
  27322.     IRpcStubBuffer *This,
  27323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27324.     PRPC_MESSAGE _pRpcMessage,
  27325.     DWORD *_pdwStubPhase);
  27326.  
  27327.  
  27328. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy( 
  27329.     IFilterChain * This,
  27330.     /* [in] */ IBaseFilter *pStartFilter,
  27331.     /* [in] */ IBaseFilter *pEndFilter);
  27332.  
  27333.  
  27334. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  27335.     IRpcStubBuffer *This,
  27336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27337.     PRPC_MESSAGE _pRpcMessage,
  27338.     DWORD *_pdwStubPhase);
  27339.  
  27340.  
  27341.  
  27342. #endif     /* __IFilterChain_INTERFACE_DEFINED__ */
  27343.  
  27344.  
  27345. /* interface __MIDL_itf_strmif_0387 */
  27346. /* [local] */ 
  27347.  
  27348. #if 0
  27349. typedef DWORD *LPDIRECTDRAW7;
  27350.  
  27351. typedef DWORD *LPDIRECTDRAWSURFACE7;
  27352.  
  27353. typedef DWORD *LPDDPIXELFORMAT;
  27354.  
  27355. typedef DWORD *LPBITMAPINFOHEADER;
  27356.  
  27357. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0387_0001
  27358.     {
  27359.     DWORD dw1;
  27360.     DWORD dw2;
  27361.     }     DDCOLORKEY;
  27362.  
  27363. typedef DDCOLORKEY *LPDDCOLORKEY;
  27364.  
  27365. #endif
  27366. #include <ddraw.h>
  27367.  
  27368.  
  27369.  
  27370.  
  27371.  
  27372.  
  27373.  
  27374.  
  27375.  
  27376.  
  27377.  
  27378.  
  27379.  
  27380.  
  27381. typedef /* [public] */ 
  27382. enum __MIDL___MIDL_itf_strmif_0387_0002
  27383.     {    VMRSample_SyncPoint    = 0x1,
  27384.     VMRSample_Preroll    = 0x2,
  27385.     VMRSample_Discontinuity    = 0x4,
  27386.     VMRSample_TimeValid    = 0x8
  27387.     }     VMRPresentationFlags;
  27388.  
  27389. typedef struct tagVMRPRESENTATIONINFO
  27390.     {
  27391.     DWORD dwFlags;
  27392.     LPDIRECTDRAWSURFACE7 lpSurf;
  27393.     REFERENCE_TIME rtStart;
  27394.     REFERENCE_TIME rtEnd;
  27395.     SIZE szAspectRatio;
  27396.     RECT rcSrc;
  27397.     RECT rcDst;
  27398.     DWORD dwTypeSpecificFlags;
  27399.     DWORD dwInterlaceFlags;
  27400.     }     VMRPRESENTATIONINFO;
  27401.  
  27402.  
  27403.  
  27404. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
  27405. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
  27406.  
  27407. #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
  27408. #define __IVMRImagePresenter_INTERFACE_DEFINED__
  27409.  
  27410. /* interface IVMRImagePresenter */
  27411. /* [unique][helpstring][uuid][local][object][local] */ 
  27412.  
  27413.  
  27414. EXTERN_C const IID IID_IVMRImagePresenter;
  27415.  
  27416. #if defined(__cplusplus) && !defined(CINTERFACE)
  27417.     
  27418.     MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
  27419.     IVMRImagePresenter : public IUnknown
  27420.     {
  27421.     public:
  27422.         virtual HRESULT STDMETHODCALLTYPE StartPresenting( 
  27423.             /* [in] */ DWORD_PTR dwUserID) = 0;
  27424.         
  27425.         virtual HRESULT STDMETHODCALLTYPE StopPresenting( 
  27426.             /* [in] */ DWORD_PTR dwUserID) = 0;
  27427.         
  27428.         virtual HRESULT STDMETHODCALLTYPE PresentImage( 
  27429.             /* [in] */ DWORD_PTR dwUserID,
  27430.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
  27431.         
  27432.     };
  27433.     
  27434. #else     /* C style interface */
  27435.  
  27436.     typedef struct IVMRImagePresenterVtbl
  27437.     {
  27438.         BEGIN_INTERFACE
  27439.         
  27440.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27441.             IVMRImagePresenter * This,
  27442.             /* [in] */ REFIID riid,
  27443.             /* [iid_is][out] */ void **ppvObject);
  27444.         
  27445.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27446.             IVMRImagePresenter * This);
  27447.         
  27448.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27449.             IVMRImagePresenter * This);
  27450.         
  27451.         HRESULT ( STDMETHODCALLTYPE *StartPresenting )( 
  27452.             IVMRImagePresenter * This,
  27453.             /* [in] */ DWORD_PTR dwUserID);
  27454.         
  27455.         HRESULT ( STDMETHODCALLTYPE *StopPresenting )( 
  27456.             IVMRImagePresenter * This,
  27457.             /* [in] */ DWORD_PTR dwUserID);
  27458.         
  27459.         HRESULT ( STDMETHODCALLTYPE *PresentImage )( 
  27460.             IVMRImagePresenter * This,
  27461.             /* [in] */ DWORD_PTR dwUserID,
  27462.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  27463.         
  27464.         END_INTERFACE
  27465.     } IVMRImagePresenterVtbl;
  27466.  
  27467.     interface IVMRImagePresenter
  27468.     {
  27469.         CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
  27470.     };
  27471.  
  27472.     
  27473.  
  27474. #ifdef COBJMACROS
  27475.  
  27476.  
  27477. #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject)    \
  27478.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27479.  
  27480. #define IVMRImagePresenter_AddRef(This)    \
  27481.     (This)->lpVtbl -> AddRef(This)
  27482.  
  27483. #define IVMRImagePresenter_Release(This)    \
  27484.     (This)->lpVtbl -> Release(This)
  27485.  
  27486.  
  27487. #define IVMRImagePresenter_StartPresenting(This,dwUserID)    \
  27488.     (This)->lpVtbl -> StartPresenting(This,dwUserID)
  27489.  
  27490. #define IVMRImagePresenter_StopPresenting(This,dwUserID)    \
  27491.     (This)->lpVtbl -> StopPresenting(This,dwUserID)
  27492.  
  27493. #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo)    \
  27494.     (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  27495.  
  27496. #endif /* COBJMACROS */
  27497.  
  27498.  
  27499. #endif     /* C style interface */
  27500.  
  27501.  
  27502.  
  27503. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy( 
  27504.     IVMRImagePresenter * This,
  27505.     /* [in] */ DWORD_PTR dwUserID);
  27506.  
  27507.  
  27508. void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
  27509.     IRpcStubBuffer *This,
  27510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27511.     PRPC_MESSAGE _pRpcMessage,
  27512.     DWORD *_pdwStubPhase);
  27513.  
  27514.  
  27515. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy( 
  27516.     IVMRImagePresenter * This,
  27517.     /* [in] */ DWORD_PTR dwUserID);
  27518.  
  27519.  
  27520. void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
  27521.     IRpcStubBuffer *This,
  27522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27523.     PRPC_MESSAGE _pRpcMessage,
  27524.     DWORD *_pdwStubPhase);
  27525.  
  27526.  
  27527. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy( 
  27528.     IVMRImagePresenter * This,
  27529.     /* [in] */ DWORD_PTR dwUserID,
  27530.     /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  27531.  
  27532.  
  27533. void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
  27534.     IRpcStubBuffer *This,
  27535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27536.     PRPC_MESSAGE _pRpcMessage,
  27537.     DWORD *_pdwStubPhase);
  27538.  
  27539.  
  27540.  
  27541. #endif     /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
  27542.  
  27543.  
  27544. /* interface __MIDL_itf_strmif_0388 */
  27545. /* [local] */ 
  27546.  
  27547. typedef /* [public] */ 
  27548. enum __MIDL___MIDL_itf_strmif_0388_0001
  27549.     {    AMAP_PIXELFORMAT_VALID    = 0x1,
  27550.     AMAP_3D_TARGET    = 0x2,
  27551.     AMAP_ALLOW_SYSMEM    = 0x4,
  27552.     AMAP_FORCE_SYSMEM    = 0x8,
  27553.     AMAP_DIRECTED_FLIP    = 0x10,
  27554.     AMAP_DXVA_TARGET    = 0x20
  27555.     }     VMRSurfaceAllocationFlags;
  27556.  
  27557. typedef struct tagVMRALLOCATIONINFO
  27558.     {
  27559.     DWORD dwFlags;
  27560.     LPBITMAPINFOHEADER lpHdr;
  27561.     LPDDPIXELFORMAT lpPixFmt;
  27562.     SIZE szAspectRatio;
  27563.     DWORD dwMinBuffers;
  27564.     DWORD dwMaxBuffers;
  27565.     DWORD dwInterlaceFlags;
  27566.     SIZE szNativeSize;
  27567.     }     VMRALLOCATIONINFO;
  27568.  
  27569.  
  27570.  
  27571. extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_c_ifspec;
  27572. extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_s_ifspec;
  27573.  
  27574. #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  27575. #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  27576.  
  27577. /* interface IVMRSurfaceAllocator */
  27578. /* [unique][helpstring][uuid][local][object][local] */ 
  27579.  
  27580.  
  27581. EXTERN_C const IID IID_IVMRSurfaceAllocator;
  27582.  
  27583. #if defined(__cplusplus) && !defined(CINTERFACE)
  27584.     
  27585.     MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
  27586.     IVMRSurfaceAllocator : public IUnknown
  27587.     {
  27588.     public:
  27589.         virtual HRESULT STDMETHODCALLTYPE AllocateSurface( 
  27590.             /* [in] */ DWORD_PTR dwUserID,
  27591.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27592.             /* [out][in] */ DWORD *lpdwActualBuffers,
  27593.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  27594.         
  27595.         virtual HRESULT STDMETHODCALLTYPE FreeSurface( 
  27596.             /* [in] */ DWORD_PTR dwID) = 0;
  27597.         
  27598.         virtual HRESULT STDMETHODCALLTYPE PrepareSurface( 
  27599.             /* [in] */ DWORD_PTR dwUserID,
  27600.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27601.             /* [in] */ DWORD dwSurfaceFlags) = 0;
  27602.         
  27603.         virtual HRESULT STDMETHODCALLTYPE AdviseNotify( 
  27604.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
  27605.         
  27606.     };
  27607.     
  27608. #else     /* C style interface */
  27609.  
  27610.     typedef struct IVMRSurfaceAllocatorVtbl
  27611.     {
  27612.         BEGIN_INTERFACE
  27613.         
  27614.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27615.             IVMRSurfaceAllocator * This,
  27616.             /* [in] */ REFIID riid,
  27617.             /* [iid_is][out] */ void **ppvObject);
  27618.         
  27619.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27620.             IVMRSurfaceAllocator * This);
  27621.         
  27622.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27623.             IVMRSurfaceAllocator * This);
  27624.         
  27625.         HRESULT ( STDMETHODCALLTYPE *AllocateSurface )( 
  27626.             IVMRSurfaceAllocator * This,
  27627.             /* [in] */ DWORD_PTR dwUserID,
  27628.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27629.             /* [out][in] */ DWORD *lpdwActualBuffers,
  27630.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  27631.         
  27632.         HRESULT ( STDMETHODCALLTYPE *FreeSurface )( 
  27633.             IVMRSurfaceAllocator * This,
  27634.             /* [in] */ DWORD_PTR dwID);
  27635.         
  27636.         HRESULT ( STDMETHODCALLTYPE *PrepareSurface )( 
  27637.             IVMRSurfaceAllocator * This,
  27638.             /* [in] */ DWORD_PTR dwUserID,
  27639.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27640.             /* [in] */ DWORD dwSurfaceFlags);
  27641.         
  27642.         HRESULT ( STDMETHODCALLTYPE *AdviseNotify )( 
  27643.             IVMRSurfaceAllocator * This,
  27644.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  27645.         
  27646.         END_INTERFACE
  27647.     } IVMRSurfaceAllocatorVtbl;
  27648.  
  27649.     interface IVMRSurfaceAllocator
  27650.     {
  27651.         CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
  27652.     };
  27653.  
  27654.     
  27655.  
  27656. #ifdef COBJMACROS
  27657.  
  27658.  
  27659. #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject)    \
  27660.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27661.  
  27662. #define IVMRSurfaceAllocator_AddRef(This)    \
  27663.     (This)->lpVtbl -> AddRef(This)
  27664.  
  27665. #define IVMRSurfaceAllocator_Release(This)    \
  27666.     (This)->lpVtbl -> Release(This)
  27667.  
  27668.  
  27669. #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)    \
  27670.     (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
  27671.  
  27672. #define IVMRSurfaceAllocator_FreeSurface(This,dwID)    \
  27673.     (This)->lpVtbl -> FreeSurface(This,dwID)
  27674.  
  27675. #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)    \
  27676.     (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
  27677.  
  27678. #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify)    \
  27679.     (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  27680.  
  27681. #endif /* COBJMACROS */
  27682.  
  27683.  
  27684. #endif     /* C style interface */
  27685.  
  27686.  
  27687.  
  27688. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy( 
  27689.     IVMRSurfaceAllocator * This,
  27690.     /* [in] */ DWORD_PTR dwUserID,
  27691.     /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  27692.     /* [out][in] */ DWORD *lpdwActualBuffers,
  27693.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  27694.  
  27695.  
  27696. void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
  27697.     IRpcStubBuffer *This,
  27698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27699.     PRPC_MESSAGE _pRpcMessage,
  27700.     DWORD *_pdwStubPhase);
  27701.  
  27702.  
  27703. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy( 
  27704.     IVMRSurfaceAllocator * This,
  27705.     /* [in] */ DWORD_PTR dwID);
  27706.  
  27707.  
  27708. void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
  27709.     IRpcStubBuffer *This,
  27710.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27711.     PRPC_MESSAGE _pRpcMessage,
  27712.     DWORD *_pdwStubPhase);
  27713.  
  27714.  
  27715. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy( 
  27716.     IVMRSurfaceAllocator * This,
  27717.     /* [in] */ DWORD_PTR dwUserID,
  27718.     /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  27719.     /* [in] */ DWORD dwSurfaceFlags);
  27720.  
  27721.  
  27722. void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
  27723.     IRpcStubBuffer *This,
  27724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27725.     PRPC_MESSAGE _pRpcMessage,
  27726.     DWORD *_pdwStubPhase);
  27727.  
  27728.  
  27729. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy( 
  27730.     IVMRSurfaceAllocator * This,
  27731.     /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  27732.  
  27733.  
  27734. void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
  27735.     IRpcStubBuffer *This,
  27736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27737.     PRPC_MESSAGE _pRpcMessage,
  27738.     DWORD *_pdwStubPhase);
  27739.  
  27740.  
  27741.  
  27742. #endif     /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
  27743.  
  27744.  
  27745. #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  27746. #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  27747.  
  27748. /* interface IVMRSurfaceAllocatorNotify */
  27749. /* [unique][helpstring][uuid][local][object][local] */ 
  27750.  
  27751.  
  27752. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
  27753.  
  27754. #if defined(__cplusplus) && !defined(CINTERFACE)
  27755.     
  27756.     MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
  27757.     IVMRSurfaceAllocatorNotify : public IUnknown
  27758.     {
  27759.     public:
  27760.         virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( 
  27761.             /* [in] */ DWORD_PTR dwUserID,
  27762.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
  27763.         
  27764.         virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice( 
  27765.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27766.             /* [in] */ HMONITOR hMonitor) = 0;
  27767.         
  27768.         virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice( 
  27769.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27770.             /* [in] */ HMONITOR hMonitor) = 0;
  27771.         
  27772.         virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
  27773.         
  27774.         virtual HRESULT STDMETHODCALLTYPE NotifyEvent( 
  27775.             /* [in] */ LONG EventCode,
  27776.             /* [in] */ LONG_PTR Param1,
  27777.             /* [in] */ LONG_PTR Param2) = 0;
  27778.         
  27779.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  27780.             /* [in] */ COLORREF clrBorder) = 0;
  27781.         
  27782.     };
  27783.     
  27784. #else     /* C style interface */
  27785.  
  27786.     typedef struct IVMRSurfaceAllocatorNotifyVtbl
  27787.     {
  27788.         BEGIN_INTERFACE
  27789.         
  27790.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27791.             IVMRSurfaceAllocatorNotify * This,
  27792.             /* [in] */ REFIID riid,
  27793.             /* [iid_is][out] */ void **ppvObject);
  27794.         
  27795.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27796.             IVMRSurfaceAllocatorNotify * This);
  27797.         
  27798.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27799.             IVMRSurfaceAllocatorNotify * This);
  27800.         
  27801.         HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )( 
  27802.             IVMRSurfaceAllocatorNotify * This,
  27803.             /* [in] */ DWORD_PTR dwUserID,
  27804.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  27805.         
  27806.         HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )( 
  27807.             IVMRSurfaceAllocatorNotify * This,
  27808.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27809.             /* [in] */ HMONITOR hMonitor);
  27810.         
  27811.         HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )( 
  27812.             IVMRSurfaceAllocatorNotify * This,
  27813.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27814.             /* [in] */ HMONITOR hMonitor);
  27815.         
  27816.         HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )( 
  27817.             IVMRSurfaceAllocatorNotify * This);
  27818.         
  27819.         HRESULT ( STDMETHODCALLTYPE *NotifyEvent )( 
  27820.             IVMRSurfaceAllocatorNotify * This,
  27821.             /* [in] */ LONG EventCode,
  27822.             /* [in] */ LONG_PTR Param1,
  27823.             /* [in] */ LONG_PTR Param2);
  27824.         
  27825.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  27826.             IVMRSurfaceAllocatorNotify * This,
  27827.             /* [in] */ COLORREF clrBorder);
  27828.         
  27829.         END_INTERFACE
  27830.     } IVMRSurfaceAllocatorNotifyVtbl;
  27831.  
  27832.     interface IVMRSurfaceAllocatorNotify
  27833.     {
  27834.         CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
  27835.     };
  27836.  
  27837.     
  27838.  
  27839. #ifdef COBJMACROS
  27840.  
  27841.  
  27842. #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject)    \
  27843.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27844.  
  27845. #define IVMRSurfaceAllocatorNotify_AddRef(This)    \
  27846.     (This)->lpVtbl -> AddRef(This)
  27847.  
  27848. #define IVMRSurfaceAllocatorNotify_Release(This)    \
  27849.     (This)->lpVtbl -> Release(This)
  27850.  
  27851.  
  27852. #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)    \
  27853.     (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  27854.  
  27855. #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  27856.     (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)
  27857.  
  27858. #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  27859.     (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
  27860.  
  27861. #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This)    \
  27862.     (This)->lpVtbl -> RestoreDDrawSurfaces(This)
  27863.  
  27864. #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2)    \
  27865.     (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  27866.  
  27867. #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder)    \
  27868.     (This)->lpVtbl -> SetBorderColor(This,clrBorder)
  27869.  
  27870. #endif /* COBJMACROS */
  27871.  
  27872.  
  27873. #endif     /* C style interface */
  27874.  
  27875.  
  27876.  
  27877. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy( 
  27878.     IVMRSurfaceAllocatorNotify * This,
  27879.     /* [in] */ DWORD_PTR dwUserID,
  27880.     /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  27881.  
  27882.  
  27883. void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
  27884.     IRpcStubBuffer *This,
  27885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27886.     PRPC_MESSAGE _pRpcMessage,
  27887.     DWORD *_pdwStubPhase);
  27888.  
  27889.  
  27890. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy( 
  27891.     IVMRSurfaceAllocatorNotify * This,
  27892.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27893.     /* [in] */ HMONITOR hMonitor);
  27894.  
  27895.  
  27896. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
  27897.     IRpcStubBuffer *This,
  27898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27899.     PRPC_MESSAGE _pRpcMessage,
  27900.     DWORD *_pdwStubPhase);
  27901.  
  27902.  
  27903. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy( 
  27904.     IVMRSurfaceAllocatorNotify * This,
  27905.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  27906.     /* [in] */ HMONITOR hMonitor);
  27907.  
  27908.  
  27909. void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
  27910.     IRpcStubBuffer *This,
  27911.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27912.     PRPC_MESSAGE _pRpcMessage,
  27913.     DWORD *_pdwStubPhase);
  27914.  
  27915.  
  27916. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy( 
  27917.     IVMRSurfaceAllocatorNotify * This);
  27918.  
  27919.  
  27920. void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
  27921.     IRpcStubBuffer *This,
  27922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27923.     PRPC_MESSAGE _pRpcMessage,
  27924.     DWORD *_pdwStubPhase);
  27925.  
  27926.  
  27927. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy( 
  27928.     IVMRSurfaceAllocatorNotify * This,
  27929.     /* [in] */ LONG EventCode,
  27930.     /* [in] */ LONG_PTR Param1,
  27931.     /* [in] */ LONG_PTR Param2);
  27932.  
  27933.  
  27934. void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
  27935.     IRpcStubBuffer *This,
  27936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27937.     PRPC_MESSAGE _pRpcMessage,
  27938.     DWORD *_pdwStubPhase);
  27939.  
  27940.  
  27941. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy( 
  27942.     IVMRSurfaceAllocatorNotify * This,
  27943.     /* [in] */ COLORREF clrBorder);
  27944.  
  27945.  
  27946. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
  27947.     IRpcStubBuffer *This,
  27948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27949.     PRPC_MESSAGE _pRpcMessage,
  27950.     DWORD *_pdwStubPhase);
  27951.  
  27952.  
  27953.  
  27954. #endif     /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
  27955.  
  27956.  
  27957. /* interface __MIDL_itf_strmif_0390 */
  27958. /* [local] */ 
  27959.  
  27960. typedef /* [public] */ 
  27961. enum __MIDL___MIDL_itf_strmif_0390_0001
  27962.     {    VMR_ARMODE_NONE    = 0,
  27963.     VMR_ARMODE_LETTER_BOX    = VMR_ARMODE_NONE + 1
  27964.     }     VMR_ASPECT_RATIO_MODE;
  27965.  
  27966.  
  27967.  
  27968. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_c_ifspec;
  27969. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_s_ifspec;
  27970.  
  27971. #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
  27972. #define __IVMRWindowlessControl_INTERFACE_DEFINED__
  27973.  
  27974. /* interface IVMRWindowlessControl */
  27975. /* [unique][helpstring][uuid][local][object][local] */ 
  27976.  
  27977.  
  27978. EXTERN_C const IID IID_IVMRWindowlessControl;
  27979.  
  27980. #if defined(__cplusplus) && !defined(CINTERFACE)
  27981.     
  27982.     MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
  27983.     IVMRWindowlessControl : public IUnknown
  27984.     {
  27985.     public:
  27986.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 
  27987.             /* [out] */ LONG *lpWidth,
  27988.             /* [out] */ LONG *lpHeight,
  27989.             /* [out] */ LONG *lpARWidth,
  27990.             /* [out] */ LONG *lpARHeight) = 0;
  27991.         
  27992.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( 
  27993.             /* [out] */ LONG *lpWidth,
  27994.             /* [out] */ LONG *lpHeight) = 0;
  27995.         
  27996.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( 
  27997.             /* [out] */ LONG *lpWidth,
  27998.             /* [out] */ LONG *lpHeight) = 0;
  27999.         
  28000.         virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 
  28001.             /* [in] */ const LPRECT lpSRCRect,
  28002.             /* [in] */ const LPRECT lpDSTRect) = 0;
  28003.         
  28004.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  28005.             /* [out] */ LPRECT lpSRCRect,
  28006.             /* [out] */ LPRECT lpDSTRect) = 0;
  28007.         
  28008.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  28009.             /* [out] */ DWORD *lpAspectRatioMode) = 0;
  28010.         
  28011.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  28012.             /* [in] */ DWORD AspectRatioMode) = 0;
  28013.         
  28014.         virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( 
  28015.             /* [in] */ HWND hwnd) = 0;
  28016.         
  28017.         virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 
  28018.             /* [in] */ HWND hwnd,
  28019.             /* [in] */ HDC hdc) = 0;
  28020.         
  28021.         virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  28022.         
  28023.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  28024.             /* [out] */ BYTE **lpDib) = 0;
  28025.         
  28026.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  28027.             /* [in] */ COLORREF Clr) = 0;
  28028.         
  28029.         virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 
  28030.             /* [out] */ COLORREF *lpClr) = 0;
  28031.         
  28032.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  28033.             /* [in] */ COLORREF Clr) = 0;
  28034.         
  28035.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  28036.             /* [out] */ COLORREF *lpClr) = 0;
  28037.         
  28038.     };
  28039.     
  28040. #else     /* C style interface */
  28041.  
  28042.     typedef struct IVMRWindowlessControlVtbl
  28043.     {
  28044.         BEGIN_INTERFACE
  28045.         
  28046.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28047.             IVMRWindowlessControl * This,
  28048.             /* [in] */ REFIID riid,
  28049.             /* [iid_is][out] */ void **ppvObject);
  28050.         
  28051.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28052.             IVMRWindowlessControl * This);
  28053.         
  28054.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28055.             IVMRWindowlessControl * This);
  28056.         
  28057.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( 
  28058.             IVMRWindowlessControl * This,
  28059.             /* [out] */ LONG *lpWidth,
  28060.             /* [out] */ LONG *lpHeight,
  28061.             /* [out] */ LONG *lpARWidth,
  28062.             /* [out] */ LONG *lpARHeight);
  28063.         
  28064.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )( 
  28065.             IVMRWindowlessControl * This,
  28066.             /* [out] */ LONG *lpWidth,
  28067.             /* [out] */ LONG *lpHeight);
  28068.         
  28069.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )( 
  28070.             IVMRWindowlessControl * This,
  28071.             /* [out] */ LONG *lpWidth,
  28072.             /* [out] */ LONG *lpHeight);
  28073.         
  28074.         HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( 
  28075.             IVMRWindowlessControl * This,
  28076.             /* [in] */ const LPRECT lpSRCRect,
  28077.             /* [in] */ const LPRECT lpDSTRect);
  28078.         
  28079.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  28080.             IVMRWindowlessControl * This,
  28081.             /* [out] */ LPRECT lpSRCRect,
  28082.             /* [out] */ LPRECT lpDSTRect);
  28083.         
  28084.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  28085.             IVMRWindowlessControl * This,
  28086.             /* [out] */ DWORD *lpAspectRatioMode);
  28087.         
  28088.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  28089.             IVMRWindowlessControl * This,
  28090.             /* [in] */ DWORD AspectRatioMode);
  28091.         
  28092.         HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )( 
  28093.             IVMRWindowlessControl * This,
  28094.             /* [in] */ HWND hwnd);
  28095.         
  28096.         HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( 
  28097.             IVMRWindowlessControl * This,
  28098.             /* [in] */ HWND hwnd,
  28099.             /* [in] */ HDC hdc);
  28100.         
  28101.         HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )( 
  28102.             IVMRWindowlessControl * This);
  28103.         
  28104.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  28105.             IVMRWindowlessControl * This,
  28106.             /* [out] */ BYTE **lpDib);
  28107.         
  28108.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  28109.             IVMRWindowlessControl * This,
  28110.             /* [in] */ COLORREF Clr);
  28111.         
  28112.         HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( 
  28113.             IVMRWindowlessControl * This,
  28114.             /* [out] */ COLORREF *lpClr);
  28115.         
  28116.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  28117.             IVMRWindowlessControl * This,
  28118.             /* [in] */ COLORREF Clr);
  28119.         
  28120.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  28121.             IVMRWindowlessControl * This,
  28122.             /* [out] */ COLORREF *lpClr);
  28123.         
  28124.         END_INTERFACE
  28125.     } IVMRWindowlessControlVtbl;
  28126.  
  28127.     interface IVMRWindowlessControl
  28128.     {
  28129.         CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
  28130.     };
  28131.  
  28132.     
  28133.  
  28134. #ifdef COBJMACROS
  28135.  
  28136.  
  28137. #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject)    \
  28138.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28139.  
  28140. #define IVMRWindowlessControl_AddRef(This)    \
  28141.     (This)->lpVtbl -> AddRef(This)
  28142.  
  28143. #define IVMRWindowlessControl_Release(This)    \
  28144.     (This)->lpVtbl -> Release(This)
  28145.  
  28146.  
  28147. #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)    \
  28148.     (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  28149.  
  28150. #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight)    \
  28151.     (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  28152.  
  28153. #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight)    \
  28154.     (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  28155.  
  28156. #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  28157.     (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  28158.  
  28159. #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  28160.     (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  28161.  
  28162. #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode)    \
  28163.     (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  28164.  
  28165. #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode)    \
  28166.     (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  28167.  
  28168. #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd)    \
  28169.     (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  28170.  
  28171. #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc)    \
  28172.     (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  28173.  
  28174. #define IVMRWindowlessControl_DisplayModeChanged(This)    \
  28175.     (This)->lpVtbl -> DisplayModeChanged(This)
  28176.  
  28177. #define IVMRWindowlessControl_GetCurrentImage(This,lpDib)    \
  28178.     (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  28179.  
  28180. #define IVMRWindowlessControl_SetBorderColor(This,Clr)    \
  28181.     (This)->lpVtbl -> SetBorderColor(This,Clr)
  28182.  
  28183. #define IVMRWindowlessControl_GetBorderColor(This,lpClr)    \
  28184.     (This)->lpVtbl -> GetBorderColor(This,lpClr)
  28185.  
  28186. #define IVMRWindowlessControl_SetColorKey(This,Clr)    \
  28187.     (This)->lpVtbl -> SetColorKey(This,Clr)
  28188.  
  28189. #define IVMRWindowlessControl_GetColorKey(This,lpClr)    \
  28190.     (This)->lpVtbl -> GetColorKey(This,lpClr)
  28191.  
  28192. #endif /* COBJMACROS */
  28193.  
  28194.  
  28195. #endif     /* C style interface */
  28196.  
  28197.  
  28198.  
  28199. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy( 
  28200.     IVMRWindowlessControl * This,
  28201.     /* [out] */ LONG *lpWidth,
  28202.     /* [out] */ LONG *lpHeight,
  28203.     /* [out] */ LONG *lpARWidth,
  28204.     /* [out] */ LONG *lpARHeight);
  28205.  
  28206.  
  28207. void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
  28208.     IRpcStubBuffer *This,
  28209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28210.     PRPC_MESSAGE _pRpcMessage,
  28211.     DWORD *_pdwStubPhase);
  28212.  
  28213.  
  28214. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy( 
  28215.     IVMRWindowlessControl * This,
  28216.     /* [out] */ LONG *lpWidth,
  28217.     /* [out] */ LONG *lpHeight);
  28218.  
  28219.  
  28220. void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
  28221.     IRpcStubBuffer *This,
  28222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28223.     PRPC_MESSAGE _pRpcMessage,
  28224.     DWORD *_pdwStubPhase);
  28225.  
  28226.  
  28227. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy( 
  28228.     IVMRWindowlessControl * This,
  28229.     /* [out] */ LONG *lpWidth,
  28230.     /* [out] */ LONG *lpHeight);
  28231.  
  28232.  
  28233. void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
  28234.     IRpcStubBuffer *This,
  28235.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28236.     PRPC_MESSAGE _pRpcMessage,
  28237.     DWORD *_pdwStubPhase);
  28238.  
  28239.  
  28240. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy( 
  28241.     IVMRWindowlessControl * This,
  28242.     /* [in] */ const LPRECT lpSRCRect,
  28243.     /* [in] */ const LPRECT lpDSTRect);
  28244.  
  28245.  
  28246. void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
  28247.     IRpcStubBuffer *This,
  28248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28249.     PRPC_MESSAGE _pRpcMessage,
  28250.     DWORD *_pdwStubPhase);
  28251.  
  28252.  
  28253. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy( 
  28254.     IVMRWindowlessControl * This,
  28255.     /* [out] */ LPRECT lpSRCRect,
  28256.     /* [out] */ LPRECT lpDSTRect);
  28257.  
  28258.  
  28259. void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
  28260.     IRpcStubBuffer *This,
  28261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28262.     PRPC_MESSAGE _pRpcMessage,
  28263.     DWORD *_pdwStubPhase);
  28264.  
  28265.  
  28266. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy( 
  28267.     IVMRWindowlessControl * This,
  28268.     /* [out] */ DWORD *lpAspectRatioMode);
  28269.  
  28270.  
  28271. void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
  28272.     IRpcStubBuffer *This,
  28273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28274.     PRPC_MESSAGE _pRpcMessage,
  28275.     DWORD *_pdwStubPhase);
  28276.  
  28277.  
  28278. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy( 
  28279.     IVMRWindowlessControl * This,
  28280.     /* [in] */ DWORD AspectRatioMode);
  28281.  
  28282.  
  28283. void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
  28284.     IRpcStubBuffer *This,
  28285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28286.     PRPC_MESSAGE _pRpcMessage,
  28287.     DWORD *_pdwStubPhase);
  28288.  
  28289.  
  28290. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy( 
  28291.     IVMRWindowlessControl * This,
  28292.     /* [in] */ HWND hwnd);
  28293.  
  28294.  
  28295. void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
  28296.     IRpcStubBuffer *This,
  28297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28298.     PRPC_MESSAGE _pRpcMessage,
  28299.     DWORD *_pdwStubPhase);
  28300.  
  28301.  
  28302. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy( 
  28303.     IVMRWindowlessControl * This,
  28304.     /* [in] */ HWND hwnd,
  28305.     /* [in] */ HDC hdc);
  28306.  
  28307.  
  28308. void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
  28309.     IRpcStubBuffer *This,
  28310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28311.     PRPC_MESSAGE _pRpcMessage,
  28312.     DWORD *_pdwStubPhase);
  28313.  
  28314.  
  28315. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy( 
  28316.     IVMRWindowlessControl * This);
  28317.  
  28318.  
  28319. void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
  28320.     IRpcStubBuffer *This,
  28321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28322.     PRPC_MESSAGE _pRpcMessage,
  28323.     DWORD *_pdwStubPhase);
  28324.  
  28325.  
  28326. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy( 
  28327.     IVMRWindowlessControl * This,
  28328.     /* [out] */ BYTE **lpDib);
  28329.  
  28330.  
  28331. void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
  28332.     IRpcStubBuffer *This,
  28333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28334.     PRPC_MESSAGE _pRpcMessage,
  28335.     DWORD *_pdwStubPhase);
  28336.  
  28337.  
  28338. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy( 
  28339.     IVMRWindowlessControl * This,
  28340.     /* [in] */ COLORREF Clr);
  28341.  
  28342.  
  28343. void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
  28344.     IRpcStubBuffer *This,
  28345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28346.     PRPC_MESSAGE _pRpcMessage,
  28347.     DWORD *_pdwStubPhase);
  28348.  
  28349.  
  28350. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy( 
  28351.     IVMRWindowlessControl * This,
  28352.     /* [out] */ COLORREF *lpClr);
  28353.  
  28354.  
  28355. void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
  28356.     IRpcStubBuffer *This,
  28357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28358.     PRPC_MESSAGE _pRpcMessage,
  28359.     DWORD *_pdwStubPhase);
  28360.  
  28361.  
  28362. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy( 
  28363.     IVMRWindowlessControl * This,
  28364.     /* [in] */ COLORREF Clr);
  28365.  
  28366.  
  28367. void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
  28368.     IRpcStubBuffer *This,
  28369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28370.     PRPC_MESSAGE _pRpcMessage,
  28371.     DWORD *_pdwStubPhase);
  28372.  
  28373.  
  28374. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy( 
  28375.     IVMRWindowlessControl * This,
  28376.     /* [out] */ COLORREF *lpClr);
  28377.  
  28378.  
  28379. void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
  28380.     IRpcStubBuffer *This,
  28381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28382.     PRPC_MESSAGE _pRpcMessage,
  28383.     DWORD *_pdwStubPhase);
  28384.  
  28385.  
  28386.  
  28387. #endif     /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
  28388.  
  28389.  
  28390. /* interface __MIDL_itf_strmif_0391 */
  28391. /* [local] */ 
  28392.  
  28393. typedef /* [public] */ 
  28394. enum __MIDL___MIDL_itf_strmif_0391_0001
  28395.     {    MixerPref_NoDecimation    = 0x1,
  28396.     MixerPref_DecimateOutput    = 0x2,
  28397.     MixerPref_DecimateMask    = 0xf,
  28398.     MixerPref_BiLinearFiltering    = 0x10,
  28399.     MixerPref_PointFiltering    = 0x20,
  28400.     MixerPref_FilteringMask    = 0xf0,
  28401.     MixerPref_RenderTargetRGB    = 0x100,
  28402.     MixerPref_RenderTargetYUV420    = 0x200,
  28403.     MixerPref_RenderTargetYUV422    = 0x400,
  28404.     MixerPref_RenderTargetYUV444    = 0x800,
  28405.     MixerPref_RenderTargetReserved    = 0xf000,
  28406.     MixerPref_RenderTargetMask    = 0xff00
  28407.     }     VMRMixerPrefs;
  28408.  
  28409. typedef struct _NORMALIZEDRECT
  28410.     {
  28411.     float left;
  28412.     float top;
  28413.     float right;
  28414.     float bottom;
  28415.     }     NORMALIZEDRECT;
  28416.  
  28417. typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  28418.  
  28419.  
  28420.  
  28421. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
  28422. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
  28423.  
  28424. #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
  28425. #define __IVMRMixerControl_INTERFACE_DEFINED__
  28426.  
  28427. /* interface IVMRMixerControl */
  28428. /* [unique][helpstring][uuid][local][object][local] */ 
  28429.  
  28430.  
  28431. EXTERN_C const IID IID_IVMRMixerControl;
  28432.  
  28433. #if defined(__cplusplus) && !defined(CINTERFACE)
  28434.     
  28435.     MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
  28436.     IVMRMixerControl : public IUnknown
  28437.     {
  28438.     public:
  28439.         virtual HRESULT STDMETHODCALLTYPE SetAlpha( 
  28440.             /* [in] */ DWORD dwStreamID,
  28441.             /* [in] */ float Alpha) = 0;
  28442.         
  28443.         virtual HRESULT STDMETHODCALLTYPE GetAlpha( 
  28444.             /* [in] */ DWORD dwStreamID,
  28445.             /* [out] */ float *pAlpha) = 0;
  28446.         
  28447.         virtual HRESULT STDMETHODCALLTYPE SetZOrder( 
  28448.             /* [in] */ DWORD dwStreamID,
  28449.             /* [in] */ DWORD dwZ) = 0;
  28450.         
  28451.         virtual HRESULT STDMETHODCALLTYPE GetZOrder( 
  28452.             /* [in] */ DWORD dwStreamID,
  28453.             /* [out] */ DWORD *pZ) = 0;
  28454.         
  28455.         virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 
  28456.             /* [in] */ DWORD dwStreamID,
  28457.             /* [in] */ const NORMALIZEDRECT *pRect) = 0;
  28458.         
  28459.         virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 
  28460.             /* [in] */ DWORD dwStreamID,
  28461.             /* [out] */ NORMALIZEDRECT *pRect) = 0;
  28462.         
  28463.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( 
  28464.             /* [in] */ COLORREF ClrBkg) = 0;
  28465.         
  28466.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( 
  28467.             /* [in] */ COLORREF *lpClrBkg) = 0;
  28468.         
  28469.         virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 
  28470.             /* [in] */ DWORD dwMixerPrefs) = 0;
  28471.         
  28472.         virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 
  28473.             /* [out] */ DWORD *pdwMixerPrefs) = 0;
  28474.         
  28475.     };
  28476.     
  28477. #else     /* C style interface */
  28478.  
  28479.     typedef struct IVMRMixerControlVtbl
  28480.     {
  28481.         BEGIN_INTERFACE
  28482.         
  28483.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28484.             IVMRMixerControl * This,
  28485.             /* [in] */ REFIID riid,
  28486.             /* [iid_is][out] */ void **ppvObject);
  28487.         
  28488.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28489.             IVMRMixerControl * This);
  28490.         
  28491.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28492.             IVMRMixerControl * This);
  28493.         
  28494.         HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
  28495.             IVMRMixerControl * This,
  28496.             /* [in] */ DWORD dwStreamID,
  28497.             /* [in] */ float Alpha);
  28498.         
  28499.         HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
  28500.             IVMRMixerControl * This,
  28501.             /* [in] */ DWORD dwStreamID,
  28502.             /* [out] */ float *pAlpha);
  28503.         
  28504.         HRESULT ( STDMETHODCALLTYPE *SetZOrder )( 
  28505.             IVMRMixerControl * This,
  28506.             /* [in] */ DWORD dwStreamID,
  28507.             /* [in] */ DWORD dwZ);
  28508.         
  28509.         HRESULT ( STDMETHODCALLTYPE *GetZOrder )( 
  28510.             IVMRMixerControl * This,
  28511.             /* [in] */ DWORD dwStreamID,
  28512.             /* [out] */ DWORD *pZ);
  28513.         
  28514.         HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( 
  28515.             IVMRMixerControl * This,
  28516.             /* [in] */ DWORD dwStreamID,
  28517.             /* [in] */ const NORMALIZEDRECT *pRect);
  28518.         
  28519.         HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( 
  28520.             IVMRMixerControl * This,
  28521.             /* [in] */ DWORD dwStreamID,
  28522.             /* [out] */ NORMALIZEDRECT *pRect);
  28523.         
  28524.         HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )( 
  28525.             IVMRMixerControl * This,
  28526.             /* [in] */ COLORREF ClrBkg);
  28527.         
  28528.         HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )( 
  28529.             IVMRMixerControl * This,
  28530.             /* [in] */ COLORREF *lpClrBkg);
  28531.         
  28532.         HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( 
  28533.             IVMRMixerControl * This,
  28534.             /* [in] */ DWORD dwMixerPrefs);
  28535.         
  28536.         HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( 
  28537.             IVMRMixerControl * This,
  28538.             /* [out] */ DWORD *pdwMixerPrefs);
  28539.         
  28540.         END_INTERFACE
  28541.     } IVMRMixerControlVtbl;
  28542.  
  28543.     interface IVMRMixerControl
  28544.     {
  28545.         CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
  28546.     };
  28547.  
  28548.     
  28549.  
  28550. #ifdef COBJMACROS
  28551.  
  28552.  
  28553. #define IVMRMixerControl_QueryInterface(This,riid,ppvObject)    \
  28554.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28555.  
  28556. #define IVMRMixerControl_AddRef(This)    \
  28557.     (This)->lpVtbl -> AddRef(This)
  28558.  
  28559. #define IVMRMixerControl_Release(This)    \
  28560.     (This)->lpVtbl -> Release(This)
  28561.  
  28562.  
  28563. #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha)    \
  28564.     (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  28565.  
  28566. #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha)    \
  28567.     (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  28568.  
  28569. #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ)    \
  28570.     (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  28571.  
  28572. #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ)    \
  28573.     (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  28574.  
  28575. #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect)    \
  28576.     (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  28577.  
  28578. #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect)    \
  28579.     (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  28580.  
  28581. #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg)    \
  28582.     (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  28583.  
  28584. #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg)    \
  28585.     (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  28586.  
  28587. #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs)    \
  28588.     (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  28589.  
  28590. #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs)    \
  28591.     (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  28592.  
  28593. #endif /* COBJMACROS */
  28594.  
  28595.  
  28596. #endif     /* C style interface */
  28597.  
  28598.  
  28599.  
  28600. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy( 
  28601.     IVMRMixerControl * This,
  28602.     /* [in] */ DWORD dwStreamID,
  28603.     /* [in] */ float Alpha);
  28604.  
  28605.  
  28606. void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
  28607.     IRpcStubBuffer *This,
  28608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28609.     PRPC_MESSAGE _pRpcMessage,
  28610.     DWORD *_pdwStubPhase);
  28611.  
  28612.  
  28613. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy( 
  28614.     IVMRMixerControl * This,
  28615.     /* [in] */ DWORD dwStreamID,
  28616.     /* [out] */ float *pAlpha);
  28617.  
  28618.  
  28619. void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
  28620.     IRpcStubBuffer *This,
  28621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28622.     PRPC_MESSAGE _pRpcMessage,
  28623.     DWORD *_pdwStubPhase);
  28624.  
  28625.  
  28626. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy( 
  28627.     IVMRMixerControl * This,
  28628.     /* [in] */ DWORD dwStreamID,
  28629.     /* [in] */ DWORD dwZ);
  28630.  
  28631.  
  28632. void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
  28633.     IRpcStubBuffer *This,
  28634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28635.     PRPC_MESSAGE _pRpcMessage,
  28636.     DWORD *_pdwStubPhase);
  28637.  
  28638.  
  28639. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy( 
  28640.     IVMRMixerControl * This,
  28641.     /* [in] */ DWORD dwStreamID,
  28642.     /* [out] */ DWORD *pZ);
  28643.  
  28644.  
  28645. void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
  28646.     IRpcStubBuffer *This,
  28647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28648.     PRPC_MESSAGE _pRpcMessage,
  28649.     DWORD *_pdwStubPhase);
  28650.  
  28651.  
  28652. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy( 
  28653.     IVMRMixerControl * This,
  28654.     /* [in] */ DWORD dwStreamID,
  28655.     /* [in] */ const NORMALIZEDRECT *pRect);
  28656.  
  28657.  
  28658. void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
  28659.     IRpcStubBuffer *This,
  28660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28661.     PRPC_MESSAGE _pRpcMessage,
  28662.     DWORD *_pdwStubPhase);
  28663.  
  28664.  
  28665. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy( 
  28666.     IVMRMixerControl * This,
  28667.     /* [in] */ DWORD dwStreamID,
  28668.     /* [out] */ NORMALIZEDRECT *pRect);
  28669.  
  28670.  
  28671. void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
  28672.     IRpcStubBuffer *This,
  28673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28674.     PRPC_MESSAGE _pRpcMessage,
  28675.     DWORD *_pdwStubPhase);
  28676.  
  28677.  
  28678. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy( 
  28679.     IVMRMixerControl * This,
  28680.     /* [in] */ COLORREF ClrBkg);
  28681.  
  28682.  
  28683. void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
  28684.     IRpcStubBuffer *This,
  28685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28686.     PRPC_MESSAGE _pRpcMessage,
  28687.     DWORD *_pdwStubPhase);
  28688.  
  28689.  
  28690. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy( 
  28691.     IVMRMixerControl * This,
  28692.     /* [in] */ COLORREF *lpClrBkg);
  28693.  
  28694.  
  28695. void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
  28696.     IRpcStubBuffer *This,
  28697.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28698.     PRPC_MESSAGE _pRpcMessage,
  28699.     DWORD *_pdwStubPhase);
  28700.  
  28701.  
  28702. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy( 
  28703.     IVMRMixerControl * This,
  28704.     /* [in] */ DWORD dwMixerPrefs);
  28705.  
  28706.  
  28707. void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
  28708.     IRpcStubBuffer *This,
  28709.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28710.     PRPC_MESSAGE _pRpcMessage,
  28711.     DWORD *_pdwStubPhase);
  28712.  
  28713.  
  28714. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy( 
  28715.     IVMRMixerControl * This,
  28716.     /* [out] */ DWORD *pdwMixerPrefs);
  28717.  
  28718.  
  28719. void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
  28720.     IRpcStubBuffer *This,
  28721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28722.     PRPC_MESSAGE _pRpcMessage,
  28723.     DWORD *_pdwStubPhase);
  28724.  
  28725.  
  28726.  
  28727. #endif     /* __IVMRMixerControl_INTERFACE_DEFINED__ */
  28728.  
  28729.  
  28730. /* interface __MIDL_itf_strmif_0392 */
  28731. /* [local] */ 
  28732.  
  28733. typedef struct tagVMRGUID
  28734.     {
  28735.     GUID *pGUID;
  28736.     GUID GUID;
  28737.     }     VMRGUID;
  28738.  
  28739. typedef struct tagVMRMONITORINFO
  28740.     {
  28741.     VMRGUID guid;
  28742.     RECT rcMonitor;
  28743.     HMONITOR hMon;
  28744.     DWORD dwFlags;
  28745.     wchar_t szDevice[ 32 ];
  28746.     wchar_t szDescription[ 256 ];
  28747.     LARGE_INTEGER liDriverVersion;
  28748.     DWORD dwVendorId;
  28749.     DWORD dwDeviceId;
  28750.     DWORD dwSubSysId;
  28751.     DWORD dwRevision;
  28752.     }     VMRMONITORINFO;
  28753.  
  28754.  
  28755.  
  28756. extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_c_ifspec;
  28757. extern RPC_IF_HANDLE __MIDL_itf_strmif_0392_v0_0_s_ifspec;
  28758.  
  28759. #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
  28760. #define __IVMRMonitorConfig_INTERFACE_DEFINED__
  28761.  
  28762. /* interface IVMRMonitorConfig */
  28763. /* [unique][helpstring][uuid][local][object] */ 
  28764.  
  28765.  
  28766. EXTERN_C const IID IID_IVMRMonitorConfig;
  28767.  
  28768. #if defined(__cplusplus) && !defined(CINTERFACE)
  28769.     
  28770.     MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
  28771.     IVMRMonitorConfig : public IUnknown
  28772.     {
  28773.     public:
  28774.         virtual HRESULT STDMETHODCALLTYPE SetMonitor( 
  28775.             /* [in] */ const VMRGUID *pGUID) = 0;
  28776.         
  28777.         virtual HRESULT STDMETHODCALLTYPE GetMonitor( 
  28778.             /* [out] */ VMRGUID *pGUID) = 0;
  28779.         
  28780.         virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( 
  28781.             /* [in] */ const VMRGUID *pGUID) = 0;
  28782.         
  28783.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( 
  28784.             /* [out] */ VMRGUID *pGUID) = 0;
  28785.         
  28786.         virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( 
  28787.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  28788.             /* [in] */ DWORD dwMaxInfoArraySize,
  28789.             /* [out] */ DWORD *pdwNumDevices) = 0;
  28790.         
  28791.     };
  28792.     
  28793. #else     /* C style interface */
  28794.  
  28795.     typedef struct IVMRMonitorConfigVtbl
  28796.     {
  28797.         BEGIN_INTERFACE
  28798.         
  28799.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28800.             IVMRMonitorConfig * This,
  28801.             /* [in] */ REFIID riid,
  28802.             /* [iid_is][out] */ void **ppvObject);
  28803.         
  28804.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28805.             IVMRMonitorConfig * This);
  28806.         
  28807.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28808.             IVMRMonitorConfig * This);
  28809.         
  28810.         HRESULT ( STDMETHODCALLTYPE *SetMonitor )( 
  28811.             IVMRMonitorConfig * This,
  28812.             /* [in] */ const VMRGUID *pGUID);
  28813.         
  28814.         HRESULT ( STDMETHODCALLTYPE *GetMonitor )( 
  28815.             IVMRMonitorConfig * This,
  28816.             /* [out] */ VMRGUID *pGUID);
  28817.         
  28818.         HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )( 
  28819.             IVMRMonitorConfig * This,
  28820.             /* [in] */ const VMRGUID *pGUID);
  28821.         
  28822.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )( 
  28823.             IVMRMonitorConfig * This,
  28824.             /* [out] */ VMRGUID *pGUID);
  28825.         
  28826.         HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )( 
  28827.             IVMRMonitorConfig * This,
  28828.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  28829.             /* [in] */ DWORD dwMaxInfoArraySize,
  28830.             /* [out] */ DWORD *pdwNumDevices);
  28831.         
  28832.         END_INTERFACE
  28833.     } IVMRMonitorConfigVtbl;
  28834.  
  28835.     interface IVMRMonitorConfig
  28836.     {
  28837.         CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
  28838.     };
  28839.  
  28840.     
  28841.  
  28842. #ifdef COBJMACROS
  28843.  
  28844.  
  28845. #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject)    \
  28846.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28847.  
  28848. #define IVMRMonitorConfig_AddRef(This)    \
  28849.     (This)->lpVtbl -> AddRef(This)
  28850.  
  28851. #define IVMRMonitorConfig_Release(This)    \
  28852.     (This)->lpVtbl -> Release(This)
  28853.  
  28854.  
  28855. #define IVMRMonitorConfig_SetMonitor(This,pGUID)    \
  28856.     (This)->lpVtbl -> SetMonitor(This,pGUID)
  28857.  
  28858. #define IVMRMonitorConfig_GetMonitor(This,pGUID)    \
  28859.     (This)->lpVtbl -> GetMonitor(This,pGUID)
  28860.  
  28861. #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID)    \
  28862.     (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)
  28863.  
  28864. #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID)    \
  28865.     (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)
  28866.  
  28867. #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)    \
  28868.     (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  28869.  
  28870. #endif /* COBJMACROS */
  28871.  
  28872.  
  28873. #endif     /* C style interface */
  28874.  
  28875.  
  28876.  
  28877. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy( 
  28878.     IVMRMonitorConfig * This,
  28879.     /* [in] */ const VMRGUID *pGUID);
  28880.  
  28881.  
  28882. void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
  28883.     IRpcStubBuffer *This,
  28884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28885.     PRPC_MESSAGE _pRpcMessage,
  28886.     DWORD *_pdwStubPhase);
  28887.  
  28888.  
  28889. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy( 
  28890.     IVMRMonitorConfig * This,
  28891.     /* [out] */ VMRGUID *pGUID);
  28892.  
  28893.  
  28894. void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
  28895.     IRpcStubBuffer *This,
  28896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28897.     PRPC_MESSAGE _pRpcMessage,
  28898.     DWORD *_pdwStubPhase);
  28899.  
  28900.  
  28901. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy( 
  28902.     IVMRMonitorConfig * This,
  28903.     /* [in] */ const VMRGUID *pGUID);
  28904.  
  28905.  
  28906. void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
  28907.     IRpcStubBuffer *This,
  28908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28909.     PRPC_MESSAGE _pRpcMessage,
  28910.     DWORD *_pdwStubPhase);
  28911.  
  28912.  
  28913. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy( 
  28914.     IVMRMonitorConfig * This,
  28915.     /* [out] */ VMRGUID *pGUID);
  28916.  
  28917.  
  28918. void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
  28919.     IRpcStubBuffer *This,
  28920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28921.     PRPC_MESSAGE _pRpcMessage,
  28922.     DWORD *_pdwStubPhase);
  28923.  
  28924.  
  28925. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy( 
  28926.     IVMRMonitorConfig * This,
  28927.     /* [size_is][out] */ VMRMONITORINFO *pInfo,
  28928.     /* [in] */ DWORD dwMaxInfoArraySize,
  28929.     /* [out] */ DWORD *pdwNumDevices);
  28930.  
  28931.  
  28932. void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
  28933.     IRpcStubBuffer *This,
  28934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28935.     PRPC_MESSAGE _pRpcMessage,
  28936.     DWORD *_pdwStubPhase);
  28937.  
  28938.  
  28939.  
  28940. #endif     /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
  28941.  
  28942.  
  28943. /* interface __MIDL_itf_strmif_0393 */
  28944. /* [local] */ 
  28945.  
  28946. typedef /* [public] */ 
  28947. enum __MIDL___MIDL_itf_strmif_0393_0001
  28948.     {    RenderPrefs_RestrictToInitialMonitor    = 0,
  28949.     RenderPrefs_ForceOffscreen    = 0x1,
  28950.     RenderPrefs_ForceOverlays    = 0x2,
  28951.     RenderPrefs_AllowOverlays    = 0,
  28952.     RenderPrefs_AllowOffscreen    = 0,
  28953.     RenderPrefs_DoNotRenderColorKeyAndBorder    = 0x8,
  28954.     RenderPrefs_Reserved    = 0x10,
  28955.     RenderPrefs_PreferAGPMemWhenMixing    = 0x20,
  28956.     RenderPrefs_Mask    = 0x3f
  28957.     }     VMRRenderPrefs;
  28958.  
  28959. typedef /* [public] */ 
  28960. enum __MIDL___MIDL_itf_strmif_0393_0002
  28961.     {    VMRMode_Windowed    = 0x1,
  28962.     VMRMode_Windowless    = 0x2,
  28963.     VMRMode_Renderless    = 0x4,
  28964.     VMRMode_Mask    = 0x7
  28965.     }     VMRMode;
  28966.  
  28967.  
  28968. enum __MIDL___MIDL_itf_strmif_0393_0003
  28969.     {    MAX_NUMBER_OF_STREAMS    = 16
  28970.     } ;
  28971.  
  28972.  
  28973. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_c_ifspec;
  28974. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_s_ifspec;
  28975.  
  28976. #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
  28977. #define __IVMRFilterConfig_INTERFACE_DEFINED__
  28978.  
  28979. /* interface IVMRFilterConfig */
  28980. /* [unique][helpstring][uuid][local][object] */ 
  28981.  
  28982.  
  28983. EXTERN_C const IID IID_IVMRFilterConfig;
  28984.  
  28985. #if defined(__cplusplus) && !defined(CINTERFACE)
  28986.     
  28987.     MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
  28988.     IVMRFilterConfig : public IUnknown
  28989.     {
  28990.     public:
  28991.         virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( 
  28992.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
  28993.         
  28994.         virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 
  28995.             /* [in] */ DWORD dwMaxStreams) = 0;
  28996.         
  28997.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 
  28998.             /* [out] */ DWORD *pdwMaxStreams) = 0;
  28999.         
  29000.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  29001.             /* [in] */ DWORD dwRenderFlags) = 0;
  29002.         
  29003.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  29004.             /* [out] */ DWORD *pdwRenderFlags) = 0;
  29005.         
  29006.         virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( 
  29007.             /* [in] */ DWORD Mode) = 0;
  29008.         
  29009.         virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( 
  29010.             /* [out] */ DWORD *pMode) = 0;
  29011.         
  29012.     };
  29013.     
  29014. #else     /* C style interface */
  29015.  
  29016.     typedef struct IVMRFilterConfigVtbl
  29017.     {
  29018.         BEGIN_INTERFACE
  29019.         
  29020.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29021.             IVMRFilterConfig * This,
  29022.             /* [in] */ REFIID riid,
  29023.             /* [iid_is][out] */ void **ppvObject);
  29024.         
  29025.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29026.             IVMRFilterConfig * This);
  29027.         
  29028.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29029.             IVMRFilterConfig * This);
  29030.         
  29031.         HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )( 
  29032.             IVMRFilterConfig * This,
  29033.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  29034.         
  29035.         HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( 
  29036.             IVMRFilterConfig * This,
  29037.             /* [in] */ DWORD dwMaxStreams);
  29038.         
  29039.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( 
  29040.             IVMRFilterConfig * This,
  29041.             /* [out] */ DWORD *pdwMaxStreams);
  29042.         
  29043.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  29044.             IVMRFilterConfig * This,
  29045.             /* [in] */ DWORD dwRenderFlags);
  29046.         
  29047.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  29048.             IVMRFilterConfig * This,
  29049.             /* [out] */ DWORD *pdwRenderFlags);
  29050.         
  29051.         HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )( 
  29052.             IVMRFilterConfig * This,
  29053.             /* [in] */ DWORD Mode);
  29054.         
  29055.         HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )( 
  29056.             IVMRFilterConfig * This,
  29057.             /* [out] */ DWORD *pMode);
  29058.         
  29059.         END_INTERFACE
  29060.     } IVMRFilterConfigVtbl;
  29061.  
  29062.     interface IVMRFilterConfig
  29063.     {
  29064.         CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
  29065.     };
  29066.  
  29067.     
  29068.  
  29069. #ifdef COBJMACROS
  29070.  
  29071.  
  29072. #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject)    \
  29073.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29074.  
  29075. #define IVMRFilterConfig_AddRef(This)    \
  29076.     (This)->lpVtbl -> AddRef(This)
  29077.  
  29078. #define IVMRFilterConfig_Release(This)    \
  29079.     (This)->lpVtbl -> Release(This)
  29080.  
  29081.  
  29082. #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor)    \
  29083.     (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  29084.  
  29085. #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams)    \
  29086.     (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  29087.  
  29088. #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams)    \
  29089.     (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  29090.  
  29091. #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  29092.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  29093.  
  29094. #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags)    \
  29095.     (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  29096.  
  29097. #define IVMRFilterConfig_SetRenderingMode(This,Mode)    \
  29098.     (This)->lpVtbl -> SetRenderingMode(This,Mode)
  29099.  
  29100. #define IVMRFilterConfig_GetRenderingMode(This,pMode)    \
  29101.     (This)->lpVtbl -> GetRenderingMode(This,pMode)
  29102.  
  29103. #endif /* COBJMACROS */
  29104.  
  29105.  
  29106. #endif     /* C style interface */
  29107.  
  29108.  
  29109.  
  29110. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy( 
  29111.     IVMRFilterConfig * This,
  29112.     /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  29113.  
  29114.  
  29115. void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
  29116.     IRpcStubBuffer *This,
  29117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29118.     PRPC_MESSAGE _pRpcMessage,
  29119.     DWORD *_pdwStubPhase);
  29120.  
  29121.  
  29122. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy( 
  29123.     IVMRFilterConfig * This,
  29124.     /* [in] */ DWORD dwMaxStreams);
  29125.  
  29126.  
  29127. void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
  29128.     IRpcStubBuffer *This,
  29129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29130.     PRPC_MESSAGE _pRpcMessage,
  29131.     DWORD *_pdwStubPhase);
  29132.  
  29133.  
  29134. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy( 
  29135.     IVMRFilterConfig * This,
  29136.     /* [out] */ DWORD *pdwMaxStreams);
  29137.  
  29138.  
  29139. void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
  29140.     IRpcStubBuffer *This,
  29141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29142.     PRPC_MESSAGE _pRpcMessage,
  29143.     DWORD *_pdwStubPhase);
  29144.  
  29145.  
  29146. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy( 
  29147.     IVMRFilterConfig * This,
  29148.     /* [in] */ DWORD dwRenderFlags);
  29149.  
  29150.  
  29151. void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
  29152.     IRpcStubBuffer *This,
  29153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29154.     PRPC_MESSAGE _pRpcMessage,
  29155.     DWORD *_pdwStubPhase);
  29156.  
  29157.  
  29158. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy( 
  29159.     IVMRFilterConfig * This,
  29160.     /* [out] */ DWORD *pdwRenderFlags);
  29161.  
  29162.  
  29163. void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
  29164.     IRpcStubBuffer *This,
  29165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29166.     PRPC_MESSAGE _pRpcMessage,
  29167.     DWORD *_pdwStubPhase);
  29168.  
  29169.  
  29170. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy( 
  29171.     IVMRFilterConfig * This,
  29172.     /* [in] */ DWORD Mode);
  29173.  
  29174.  
  29175. void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
  29176.     IRpcStubBuffer *This,
  29177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29178.     PRPC_MESSAGE _pRpcMessage,
  29179.     DWORD *_pdwStubPhase);
  29180.  
  29181.  
  29182. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy( 
  29183.     IVMRFilterConfig * This,
  29184.     /* [out] */ DWORD *pMode);
  29185.  
  29186.  
  29187. void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
  29188.     IRpcStubBuffer *This,
  29189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29190.     PRPC_MESSAGE _pRpcMessage,
  29191.     DWORD *_pdwStubPhase);
  29192.  
  29193.  
  29194.  
  29195. #endif     /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
  29196.  
  29197.  
  29198. #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
  29199. #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
  29200.  
  29201. /* interface IVMRAspectRatioControl */
  29202. /* [unique][helpstring][uuid][local][object] */ 
  29203.  
  29204.  
  29205. EXTERN_C const IID IID_IVMRAspectRatioControl;
  29206.  
  29207. #if defined(__cplusplus) && !defined(CINTERFACE)
  29208.     
  29209.     MIDL_INTERFACE("ede80b5c-bad6-4623-b537-65586c9f8dfd")
  29210.     IVMRAspectRatioControl : public IUnknown
  29211.     {
  29212.     public:
  29213.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  29214.             /* [out] */ LPDWORD lpdwARMode) = 0;
  29215.         
  29216.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  29217.             /* [in] */ DWORD dwARMode) = 0;
  29218.         
  29219.     };
  29220.     
  29221. #else     /* C style interface */
  29222.  
  29223.     typedef struct IVMRAspectRatioControlVtbl
  29224.     {
  29225.         BEGIN_INTERFACE
  29226.         
  29227.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29228.             IVMRAspectRatioControl * This,
  29229.             /* [in] */ REFIID riid,
  29230.             /* [iid_is][out] */ void **ppvObject);
  29231.         
  29232.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29233.             IVMRAspectRatioControl * This);
  29234.         
  29235.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29236.             IVMRAspectRatioControl * This);
  29237.         
  29238.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  29239.             IVMRAspectRatioControl * This,
  29240.             /* [out] */ LPDWORD lpdwARMode);
  29241.         
  29242.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  29243.             IVMRAspectRatioControl * This,
  29244.             /* [in] */ DWORD dwARMode);
  29245.         
  29246.         END_INTERFACE
  29247.     } IVMRAspectRatioControlVtbl;
  29248.  
  29249.     interface IVMRAspectRatioControl
  29250.     {
  29251.         CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
  29252.     };
  29253.  
  29254.     
  29255.  
  29256. #ifdef COBJMACROS
  29257.  
  29258.  
  29259. #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject)    \
  29260.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29261.  
  29262. #define IVMRAspectRatioControl_AddRef(This)    \
  29263.     (This)->lpVtbl -> AddRef(This)
  29264.  
  29265. #define IVMRAspectRatioControl_Release(This)    \
  29266.     (This)->lpVtbl -> Release(This)
  29267.  
  29268.  
  29269. #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode)    \
  29270.     (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode)
  29271.  
  29272. #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode)    \
  29273.     (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode)
  29274.  
  29275. #endif /* COBJMACROS */
  29276.  
  29277.  
  29278. #endif     /* C style interface */
  29279.  
  29280.  
  29281.  
  29282. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_GetAspectRatioMode_Proxy( 
  29283.     IVMRAspectRatioControl * This,
  29284.     /* [out] */ LPDWORD lpdwARMode);
  29285.  
  29286.  
  29287. void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(
  29288.     IRpcStubBuffer *This,
  29289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29290.     PRPC_MESSAGE _pRpcMessage,
  29291.     DWORD *_pdwStubPhase);
  29292.  
  29293.  
  29294. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_SetAspectRatioMode_Proxy( 
  29295.     IVMRAspectRatioControl * This,
  29296.     /* [in] */ DWORD dwARMode);
  29297.  
  29298.  
  29299. void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(
  29300.     IRpcStubBuffer *This,
  29301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29302.     PRPC_MESSAGE _pRpcMessage,
  29303.     DWORD *_pdwStubPhase);
  29304.  
  29305.  
  29306.  
  29307. #endif     /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
  29308.  
  29309.  
  29310. /* interface __MIDL_itf_strmif_0395 */
  29311. /* [local] */ 
  29312.  
  29313. typedef /* [public] */ 
  29314. enum __MIDL___MIDL_itf_strmif_0395_0001
  29315.     {    DeinterlacePref_NextBest    = 0x1,
  29316.     DeinterlacePref_BOB    = 0x2,
  29317.     DeinterlacePref_Weave    = 0x4,
  29318.     DeinterlacePref_Mask    = 0x7
  29319.     }     VMRDeinterlacePrefs;
  29320.  
  29321. typedef /* [public][public][public] */ 
  29322. enum __MIDL___MIDL_itf_strmif_0395_0002
  29323.     {    DeinterlaceTech_Unknown    = 0,
  29324.     DeinterlaceTech_BOBLineReplicate    = 0x1,
  29325.     DeinterlaceTech_BOBVerticalStretch    = 0x2,
  29326.     DeinterlaceTech_MedianFiltering    = 0x4,
  29327.     DeinterlaceTech_EdgeFiltering    = 0x10,
  29328.     DeinterlaceTech_FieldAdaptive    = 0x20,
  29329.     DeinterlaceTech_PixelAdaptive    = 0x40,
  29330.     DeinterlaceTech_MotionVectorSteered    = 0x80
  29331.     }     VMRDeinterlaceTech;
  29332.  
  29333. typedef struct _VMRFrequency
  29334.     {
  29335.     DWORD dwNumerator;
  29336.     DWORD dwDenominator;
  29337.     }     VMRFrequency;
  29338.  
  29339. typedef struct _VMRVideoDesc
  29340.     {
  29341.     DWORD dwSize;
  29342.     DWORD dwSampleWidth;
  29343.     DWORD dwSampleHeight;
  29344.     BOOL SingleFieldPerSample;
  29345.     DWORD dwFourCC;
  29346.     VMRFrequency InputSampleFreq;
  29347.     VMRFrequency OutputFrameFreq;
  29348.     }     VMRVideoDesc;
  29349.  
  29350. typedef struct _VMRDeinterlaceCaps
  29351.     {
  29352.     DWORD dwSize;
  29353.     DWORD dwNumPreviousOutputFrames;
  29354.     DWORD dwNumForwardRefSamples;
  29355.     DWORD dwNumBackwardRefSamples;
  29356.     VMRDeinterlaceTech DeinterlaceTechnology;
  29357.     }     VMRDeinterlaceCaps;
  29358.  
  29359.  
  29360.  
  29361. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_c_ifspec;
  29362. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_s_ifspec;
  29363.  
  29364. #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  29365. #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  29366.  
  29367. /* interface IVMRDeinterlaceControl */
  29368. /* [unique][helpstring][uuid][local][object] */ 
  29369.  
  29370.  
  29371. EXTERN_C const IID IID_IVMRDeinterlaceControl;
  29372.  
  29373. #if defined(__cplusplus) && !defined(CINTERFACE)
  29374.     
  29375.     MIDL_INTERFACE("bb057577-0db8-4e6a-87a7-1a8c9a505a0f")
  29376.     IVMRDeinterlaceControl : public IUnknown
  29377.     {
  29378.     public:
  29379.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( 
  29380.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29381.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29382.             /* [out] */ LPGUID lpDeinterlaceModes) = 0;
  29383.         
  29384.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( 
  29385.             /* [in] */ LPGUID lpDeinterlaceMode,
  29386.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29387.             /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
  29388.         
  29389.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( 
  29390.             /* [in] */ DWORD dwStreamID,
  29391.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  29392.         
  29393.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( 
  29394.             /* [in] */ DWORD dwStreamID,
  29395.             /* [in] */ LPGUID lpDeinterlaceMode) = 0;
  29396.         
  29397.         virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( 
  29398.             /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
  29399.         
  29400.         virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( 
  29401.             /* [in] */ DWORD dwDeinterlacePrefs) = 0;
  29402.         
  29403.         virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( 
  29404.             /* [in] */ DWORD dwStreamID,
  29405.             /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  29406.         
  29407.     };
  29408.     
  29409. #else     /* C style interface */
  29410.  
  29411.     typedef struct IVMRDeinterlaceControlVtbl
  29412.     {
  29413.         BEGIN_INTERFACE
  29414.         
  29415.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29416.             IVMRDeinterlaceControl * This,
  29417.             /* [in] */ REFIID riid,
  29418.             /* [iid_is][out] */ void **ppvObject);
  29419.         
  29420.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29421.             IVMRDeinterlaceControl * This);
  29422.         
  29423.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29424.             IVMRDeinterlaceControl * This);
  29425.         
  29426.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )( 
  29427.             IVMRDeinterlaceControl * This,
  29428.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29429.             /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29430.             /* [out] */ LPGUID lpDeinterlaceModes);
  29431.         
  29432.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )( 
  29433.             IVMRDeinterlaceControl * This,
  29434.             /* [in] */ LPGUID lpDeinterlaceMode,
  29435.             /* [in] */ VMRVideoDesc *lpVideoDescription,
  29436.             /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  29437.         
  29438.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )( 
  29439.             IVMRDeinterlaceControl * This,
  29440.             /* [in] */ DWORD dwStreamID,
  29441.             /* [out] */ LPGUID lpDeinterlaceMode);
  29442.         
  29443.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )( 
  29444.             IVMRDeinterlaceControl * This,
  29445.             /* [in] */ DWORD dwStreamID,
  29446.             /* [in] */ LPGUID lpDeinterlaceMode);
  29447.         
  29448.         HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )( 
  29449.             IVMRDeinterlaceControl * This,
  29450.             /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  29451.         
  29452.         HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )( 
  29453.             IVMRDeinterlaceControl * This,
  29454.             /* [in] */ DWORD dwDeinterlacePrefs);
  29455.         
  29456.         HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )( 
  29457.             IVMRDeinterlaceControl * This,
  29458.             /* [in] */ DWORD dwStreamID,
  29459.             /* [out] */ LPGUID lpDeinterlaceMode);
  29460.         
  29461.         END_INTERFACE
  29462.     } IVMRDeinterlaceControlVtbl;
  29463.  
  29464.     interface IVMRDeinterlaceControl
  29465.     {
  29466.         CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
  29467.     };
  29468.  
  29469.     
  29470.  
  29471. #ifdef COBJMACROS
  29472.  
  29473.  
  29474. #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject)    \
  29475.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29476.  
  29477. #define IVMRDeinterlaceControl_AddRef(This)    \
  29478.     (This)->lpVtbl -> AddRef(This)
  29479.  
  29480. #define IVMRDeinterlaceControl_Release(This)    \
  29481.     (This)->lpVtbl -> Release(This)
  29482.  
  29483.  
  29484. #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)    \
  29485.     (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
  29486.  
  29487. #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)    \
  29488.     (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
  29489.  
  29490. #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29491.     (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29492.  
  29493. #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29494.     (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29495.  
  29496. #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)    \
  29497.     (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
  29498.  
  29499. #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs)    \
  29500.     (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs)
  29501.  
  29502. #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)    \
  29503.     (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  29504.  
  29505. #endif /* COBJMACROS */
  29506.  
  29507.  
  29508. #endif     /* C style interface */
  29509.  
  29510.  
  29511.  
  29512. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy( 
  29513.     IVMRDeinterlaceControl * This,
  29514.     /* [in] */ VMRVideoDesc *lpVideoDescription,
  29515.     /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  29516.     /* [out] */ LPGUID lpDeinterlaceModes);
  29517.  
  29518.  
  29519. void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(
  29520.     IRpcStubBuffer *This,
  29521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29522.     PRPC_MESSAGE _pRpcMessage,
  29523.     DWORD *_pdwStubPhase);
  29524.  
  29525.  
  29526. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy( 
  29527.     IVMRDeinterlaceControl * This,
  29528.     /* [in] */ LPGUID lpDeinterlaceMode,
  29529.     /* [in] */ VMRVideoDesc *lpVideoDescription,
  29530.     /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  29531.  
  29532.  
  29533. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(
  29534.     IRpcStubBuffer *This,
  29535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29536.     PRPC_MESSAGE _pRpcMessage,
  29537.     DWORD *_pdwStubPhase);
  29538.  
  29539.  
  29540. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy( 
  29541.     IVMRDeinterlaceControl * This,
  29542.     /* [in] */ DWORD dwStreamID,
  29543.     /* [out] */ LPGUID lpDeinterlaceMode);
  29544.  
  29545.  
  29546. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(
  29547.     IRpcStubBuffer *This,
  29548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29549.     PRPC_MESSAGE _pRpcMessage,
  29550.     DWORD *_pdwStubPhase);
  29551.  
  29552.  
  29553. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy( 
  29554.     IVMRDeinterlaceControl * This,
  29555.     /* [in] */ DWORD dwStreamID,
  29556.     /* [in] */ LPGUID lpDeinterlaceMode);
  29557.  
  29558.  
  29559. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(
  29560.     IRpcStubBuffer *This,
  29561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29562.     PRPC_MESSAGE _pRpcMessage,
  29563.     DWORD *_pdwStubPhase);
  29564.  
  29565.  
  29566. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy( 
  29567.     IVMRDeinterlaceControl * This,
  29568.     /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  29569.  
  29570.  
  29571. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(
  29572.     IRpcStubBuffer *This,
  29573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29574.     PRPC_MESSAGE _pRpcMessage,
  29575.     DWORD *_pdwStubPhase);
  29576.  
  29577.  
  29578. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy( 
  29579.     IVMRDeinterlaceControl * This,
  29580.     /* [in] */ DWORD dwDeinterlacePrefs);
  29581.  
  29582.  
  29583. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(
  29584.     IRpcStubBuffer *This,
  29585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29586.     PRPC_MESSAGE _pRpcMessage,
  29587.     DWORD *_pdwStubPhase);
  29588.  
  29589.  
  29590. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy( 
  29591.     IVMRDeinterlaceControl * This,
  29592.     /* [in] */ DWORD dwStreamID,
  29593.     /* [out] */ LPGUID lpDeinterlaceMode);
  29594.  
  29595.  
  29596. void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(
  29597.     IRpcStubBuffer *This,
  29598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29599.     PRPC_MESSAGE _pRpcMessage,
  29600.     DWORD *_pdwStubPhase);
  29601.  
  29602.  
  29603.  
  29604. #endif     /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
  29605.  
  29606.  
  29607. /* interface __MIDL_itf_strmif_0396 */
  29608. /* [local] */ 
  29609.  
  29610. typedef struct _VMRALPHABITMAP
  29611.     {
  29612.     DWORD dwFlags;
  29613.     HDC hdc;
  29614.     LPDIRECTDRAWSURFACE7 pDDS;
  29615.     RECT rSrc;
  29616.     NORMALIZEDRECT rDest;
  29617.     FLOAT fAlpha;
  29618.     COLORREF clrSrcKey;
  29619.     }     VMRALPHABITMAP;
  29620.  
  29621. typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
  29622.  
  29623. #define VMRBITMAP_DISABLE            0x00000001
  29624. #define VMRBITMAP_HDC                0x00000002
  29625. #define VMRBITMAP_ENTIREDDS          0x00000004
  29626. #define VMRBITMAP_SRCCOLORKEY        0x00000008
  29627. #define VMRBITMAP_SRCRECT            0x00000010
  29628.  
  29629.  
  29630. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_c_ifspec;
  29631. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_s_ifspec;
  29632.  
  29633. #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
  29634. #define __IVMRMixerBitmap_INTERFACE_DEFINED__
  29635.  
  29636. /* interface IVMRMixerBitmap */
  29637. /* [unique][helpstring][uuid][local][object] */ 
  29638.  
  29639.  
  29640. EXTERN_C const IID IID_IVMRMixerBitmap;
  29641.  
  29642. #if defined(__cplusplus) && !defined(CINTERFACE)
  29643.     
  29644.     MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
  29645.     IVMRMixerBitmap : public IUnknown
  29646.     {
  29647.     public:
  29648.         virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( 
  29649.             /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
  29650.         
  29651.         virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( 
  29652.             /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
  29653.         
  29654.         virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( 
  29655.             /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
  29656.         
  29657.     };
  29658.     
  29659. #else     /* C style interface */
  29660.  
  29661.     typedef struct IVMRMixerBitmapVtbl
  29662.     {
  29663.         BEGIN_INTERFACE
  29664.         
  29665.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29666.             IVMRMixerBitmap * This,
  29667.             /* [in] */ REFIID riid,
  29668.             /* [iid_is][out] */ void **ppvObject);
  29669.         
  29670.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29671.             IVMRMixerBitmap * This);
  29672.         
  29673.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29674.             IVMRMixerBitmap * This);
  29675.         
  29676.         HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )( 
  29677.             IVMRMixerBitmap * This,
  29678.             /* [in] */ const VMRALPHABITMAP *pBmpParms);
  29679.         
  29680.         HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )( 
  29681.             IVMRMixerBitmap * This,
  29682.             /* [in] */ PVMRALPHABITMAP pBmpParms);
  29683.         
  29684.         HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )( 
  29685.             IVMRMixerBitmap * This,
  29686.             /* [out] */ PVMRALPHABITMAP pBmpParms);
  29687.         
  29688.         END_INTERFACE
  29689.     } IVMRMixerBitmapVtbl;
  29690.  
  29691.     interface IVMRMixerBitmap
  29692.     {
  29693.         CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
  29694.     };
  29695.  
  29696.     
  29697.  
  29698. #ifdef COBJMACROS
  29699.  
  29700.  
  29701. #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject)    \
  29702.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29703.  
  29704. #define IVMRMixerBitmap_AddRef(This)    \
  29705.     (This)->lpVtbl -> AddRef(This)
  29706.  
  29707. #define IVMRMixerBitmap_Release(This)    \
  29708.     (This)->lpVtbl -> Release(This)
  29709.  
  29710.  
  29711. #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms)    \
  29712.     (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  29713.  
  29714. #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms)    \
  29715.     (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  29716.  
  29717. #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms)    \
  29718.     (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  29719.  
  29720. #endif /* COBJMACROS */
  29721.  
  29722.  
  29723. #endif     /* C style interface */
  29724.  
  29725.  
  29726.  
  29727. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy( 
  29728.     IVMRMixerBitmap * This,
  29729.     /* [in] */ const VMRALPHABITMAP *pBmpParms);
  29730.  
  29731.  
  29732. void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
  29733.     IRpcStubBuffer *This,
  29734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29735.     PRPC_MESSAGE _pRpcMessage,
  29736.     DWORD *_pdwStubPhase);
  29737.  
  29738.  
  29739. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy( 
  29740.     IVMRMixerBitmap * This,
  29741.     /* [in] */ PVMRALPHABITMAP pBmpParms);
  29742.  
  29743.  
  29744. void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
  29745.     IRpcStubBuffer *This,
  29746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29747.     PRPC_MESSAGE _pRpcMessage,
  29748.     DWORD *_pdwStubPhase);
  29749.  
  29750.  
  29751. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy( 
  29752.     IVMRMixerBitmap * This,
  29753.     /* [out] */ PVMRALPHABITMAP pBmpParms);
  29754.  
  29755.  
  29756. void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
  29757.     IRpcStubBuffer *This,
  29758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29759.     PRPC_MESSAGE _pRpcMessage,
  29760.     DWORD *_pdwStubPhase);
  29761.  
  29762.  
  29763.  
  29764. #endif     /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
  29765.  
  29766.  
  29767. /* interface __MIDL_itf_strmif_0397 */
  29768. /* [local] */ 
  29769.  
  29770. typedef struct _VMRVIDEOSTREAMINFO
  29771.     {
  29772.     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
  29773.     DWORD dwWidth;
  29774.     DWORD dwHeight;
  29775.     DWORD dwStrmID;
  29776.     FLOAT fAlpha;
  29777.     DDCOLORKEY ddClrKey;
  29778.     NORMALIZEDRECT rNormal;
  29779.     }     VMRVIDEOSTREAMINFO;
  29780.  
  29781.  
  29782.  
  29783. extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_c_ifspec;
  29784. extern RPC_IF_HANDLE __MIDL_itf_strmif_0397_v0_0_s_ifspec;
  29785.  
  29786. #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
  29787. #define __IVMRImageCompositor_INTERFACE_DEFINED__
  29788.  
  29789. /* interface IVMRImageCompositor */
  29790. /* [unique][helpstring][uuid][local][object][local] */ 
  29791.  
  29792.  
  29793. EXTERN_C const IID IID_IVMRImageCompositor;
  29794.  
  29795. #if defined(__cplusplus) && !defined(CINTERFACE)
  29796.     
  29797.     MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
  29798.     IVMRImageCompositor : public IUnknown
  29799.     {
  29800.     public:
  29801.         virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget( 
  29802.             /* [in] */ IUnknown *pD3DDevice,
  29803.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  29804.         
  29805.         virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget( 
  29806.             /* [in] */ IUnknown *pD3DDevice,
  29807.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  29808.         
  29809.         virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( 
  29810.             /* [in] */ DWORD dwStrmID,
  29811.             /* [in] */ AM_MEDIA_TYPE *pmt,
  29812.             /* [in] */ BOOL fTexture) = 0;
  29813.         
  29814.         virtual HRESULT STDMETHODCALLTYPE CompositeImage( 
  29815.             /* [in] */ IUnknown *pD3DDevice,
  29816.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  29817.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  29818.             /* [in] */ REFERENCE_TIME rtStart,
  29819.             /* [in] */ REFERENCE_TIME rtEnd,
  29820.             /* [in] */ DWORD dwClrBkGnd,
  29821.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  29822.             /* [in] */ UINT cStreams) = 0;
  29823.         
  29824.     };
  29825.     
  29826. #else     /* C style interface */
  29827.  
  29828.     typedef struct IVMRImageCompositorVtbl
  29829.     {
  29830.         BEGIN_INTERFACE
  29831.         
  29832.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29833.             IVMRImageCompositor * This,
  29834.             /* [in] */ REFIID riid,
  29835.             /* [iid_is][out] */ void **ppvObject);
  29836.         
  29837.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29838.             IVMRImageCompositor * This);
  29839.         
  29840.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29841.             IVMRImageCompositor * This);
  29842.         
  29843.         HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )( 
  29844.             IVMRImageCompositor * This,
  29845.             /* [in] */ IUnknown *pD3DDevice,
  29846.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  29847.         
  29848.         HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )( 
  29849.             IVMRImageCompositor * This,
  29850.             /* [in] */ IUnknown *pD3DDevice,
  29851.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  29852.         
  29853.         HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )( 
  29854.             IVMRImageCompositor * This,
  29855.             /* [in] */ DWORD dwStrmID,
  29856.             /* [in] */ AM_MEDIA_TYPE *pmt,
  29857.             /* [in] */ BOOL fTexture);
  29858.         
  29859.         HRESULT ( STDMETHODCALLTYPE *CompositeImage )( 
  29860.             IVMRImageCompositor * This,
  29861.             /* [in] */ IUnknown *pD3DDevice,
  29862.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  29863.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  29864.             /* [in] */ REFERENCE_TIME rtStart,
  29865.             /* [in] */ REFERENCE_TIME rtEnd,
  29866.             /* [in] */ DWORD dwClrBkGnd,
  29867.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  29868.             /* [in] */ UINT cStreams);
  29869.         
  29870.         END_INTERFACE
  29871.     } IVMRImageCompositorVtbl;
  29872.  
  29873.     interface IVMRImageCompositor
  29874.     {
  29875.         CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
  29876.     };
  29877.  
  29878.     
  29879.  
  29880. #ifdef COBJMACROS
  29881.  
  29882.  
  29883. #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject)    \
  29884.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29885.  
  29886. #define IVMRImageCompositor_AddRef(This)    \
  29887.     (This)->lpVtbl -> AddRef(This)
  29888.  
  29889. #define IVMRImageCompositor_Release(This)    \
  29890.     (This)->lpVtbl -> Release(This)
  29891.  
  29892.  
  29893. #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  29894.     (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  29895.  
  29896. #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  29897.     (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  29898.  
  29899. #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture)    \
  29900.     (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  29901.  
  29902. #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)    \
  29903.     (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  29904.  
  29905. #endif /* COBJMACROS */
  29906.  
  29907.  
  29908. #endif     /* C style interface */
  29909.  
  29910.  
  29911.  
  29912. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy( 
  29913.     IVMRImageCompositor * This,
  29914.     /* [in] */ IUnknown *pD3DDevice,
  29915.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  29916.  
  29917.  
  29918. void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
  29919.     IRpcStubBuffer *This,
  29920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29921.     PRPC_MESSAGE _pRpcMessage,
  29922.     DWORD *_pdwStubPhase);
  29923.  
  29924.  
  29925. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy( 
  29926.     IVMRImageCompositor * This,
  29927.     /* [in] */ IUnknown *pD3DDevice,
  29928.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  29929.  
  29930.  
  29931. void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
  29932.     IRpcStubBuffer *This,
  29933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29934.     PRPC_MESSAGE _pRpcMessage,
  29935.     DWORD *_pdwStubPhase);
  29936.  
  29937.  
  29938. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy( 
  29939.     IVMRImageCompositor * This,
  29940.     /* [in] */ DWORD dwStrmID,
  29941.     /* [in] */ AM_MEDIA_TYPE *pmt,
  29942.     /* [in] */ BOOL fTexture);
  29943.  
  29944.  
  29945. void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
  29946.     IRpcStubBuffer *This,
  29947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29948.     PRPC_MESSAGE _pRpcMessage,
  29949.     DWORD *_pdwStubPhase);
  29950.  
  29951.  
  29952. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy( 
  29953.     IVMRImageCompositor * This,
  29954.     /* [in] */ IUnknown *pD3DDevice,
  29955.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  29956.     /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  29957.     /* [in] */ REFERENCE_TIME rtStart,
  29958.     /* [in] */ REFERENCE_TIME rtEnd,
  29959.     /* [in] */ DWORD dwClrBkGnd,
  29960.     /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  29961.     /* [in] */ UINT cStreams);
  29962.  
  29963.  
  29964. void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
  29965.     IRpcStubBuffer *This,
  29966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29967.     PRPC_MESSAGE _pRpcMessage,
  29968.     DWORD *_pdwStubPhase);
  29969.  
  29970.  
  29971.  
  29972. #endif     /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
  29973.  
  29974.  
  29975. #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
  29976. #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
  29977.  
  29978. /* interface IVMRVideoStreamControl */
  29979. /* [unique][helpstring][uuid][local][object] */ 
  29980.  
  29981.  
  29982. EXTERN_C const IID IID_IVMRVideoStreamControl;
  29983.  
  29984. #if defined(__cplusplus) && !defined(CINTERFACE)
  29985.     
  29986.     MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
  29987.     IVMRVideoStreamControl : public IUnknown
  29988.     {
  29989.     public:
  29990.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  29991.             /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
  29992.         
  29993.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  29994.             /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
  29995.         
  29996.         virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( 
  29997.             /* [in] */ BOOL fActive) = 0;
  29998.         
  29999.         virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( 
  30000.             /* [out] */ BOOL *lpfActive) = 0;
  30001.         
  30002.     };
  30003.     
  30004. #else     /* C style interface */
  30005.  
  30006.     typedef struct IVMRVideoStreamControlVtbl
  30007.     {
  30008.         BEGIN_INTERFACE
  30009.         
  30010.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30011.             IVMRVideoStreamControl * This,
  30012.             /* [in] */ REFIID riid,
  30013.             /* [iid_is][out] */ void **ppvObject);
  30014.         
  30015.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30016.             IVMRVideoStreamControl * This);
  30017.         
  30018.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30019.             IVMRVideoStreamControl * This);
  30020.         
  30021.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  30022.             IVMRVideoStreamControl * This,
  30023.             /* [in] */ LPDDCOLORKEY lpClrKey);
  30024.         
  30025.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  30026.             IVMRVideoStreamControl * This,
  30027.             /* [out] */ LPDDCOLORKEY lpClrKey);
  30028.         
  30029.         HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )( 
  30030.             IVMRVideoStreamControl * This,
  30031.             /* [in] */ BOOL fActive);
  30032.         
  30033.         HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )( 
  30034.             IVMRVideoStreamControl * This,
  30035.             /* [out] */ BOOL *lpfActive);
  30036.         
  30037.         END_INTERFACE
  30038.     } IVMRVideoStreamControlVtbl;
  30039.  
  30040.     interface IVMRVideoStreamControl
  30041.     {
  30042.         CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
  30043.     };
  30044.  
  30045.     
  30046.  
  30047. #ifdef COBJMACROS
  30048.  
  30049.  
  30050. #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject)    \
  30051.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30052.  
  30053. #define IVMRVideoStreamControl_AddRef(This)    \
  30054.     (This)->lpVtbl -> AddRef(This)
  30055.  
  30056. #define IVMRVideoStreamControl_Release(This)    \
  30057.     (This)->lpVtbl -> Release(This)
  30058.  
  30059.  
  30060. #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey)    \
  30061.     (This)->lpVtbl -> SetColorKey(This,lpClrKey)
  30062.  
  30063. #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey)    \
  30064.     (This)->lpVtbl -> GetColorKey(This,lpClrKey)
  30065.  
  30066. #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive)    \
  30067.     (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  30068.  
  30069. #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive)    \
  30070.     (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  30071.  
  30072. #endif /* COBJMACROS */
  30073.  
  30074.  
  30075. #endif     /* C style interface */
  30076.  
  30077.  
  30078.  
  30079. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy( 
  30080.     IVMRVideoStreamControl * This,
  30081.     /* [in] */ LPDDCOLORKEY lpClrKey);
  30082.  
  30083.  
  30084. void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
  30085.     IRpcStubBuffer *This,
  30086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30087.     PRPC_MESSAGE _pRpcMessage,
  30088.     DWORD *_pdwStubPhase);
  30089.  
  30090.  
  30091. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy( 
  30092.     IVMRVideoStreamControl * This,
  30093.     /* [out] */ LPDDCOLORKEY lpClrKey);
  30094.  
  30095.  
  30096. void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
  30097.     IRpcStubBuffer *This,
  30098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30099.     PRPC_MESSAGE _pRpcMessage,
  30100.     DWORD *_pdwStubPhase);
  30101.  
  30102.  
  30103. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy( 
  30104.     IVMRVideoStreamControl * This,
  30105.     /* [in] */ BOOL fActive);
  30106.  
  30107.  
  30108. void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
  30109.     IRpcStubBuffer *This,
  30110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30111.     PRPC_MESSAGE _pRpcMessage,
  30112.     DWORD *_pdwStubPhase);
  30113.  
  30114.  
  30115. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy( 
  30116.     IVMRVideoStreamControl * This,
  30117.     /* [out] */ BOOL *lpfActive);
  30118.  
  30119.  
  30120. void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
  30121.     IRpcStubBuffer *This,
  30122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30123.     PRPC_MESSAGE _pRpcMessage,
  30124.     DWORD *_pdwStubPhase);
  30125.  
  30126.  
  30127.  
  30128. #endif     /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
  30129.  
  30130.  
  30131. #ifndef __IVMRSurface_INTERFACE_DEFINED__
  30132. #define __IVMRSurface_INTERFACE_DEFINED__
  30133.  
  30134. /* interface IVMRSurface */
  30135. /* [unique][helpstring][uuid][local][object][local] */ 
  30136.  
  30137.  
  30138. EXTERN_C const IID IID_IVMRSurface;
  30139.  
  30140. #if defined(__cplusplus) && !defined(CINTERFACE)
  30141.     
  30142.     MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
  30143.     IVMRSurface : public IUnknown
  30144.     {
  30145.     public:
  30146.         virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  30147.         
  30148.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  30149.             /* [out] */ BYTE **lpSurface) = 0;
  30150.         
  30151.         virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  30152.         
  30153.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  30154.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  30155.         
  30156.     };
  30157.     
  30158. #else     /* C style interface */
  30159.  
  30160.     typedef struct IVMRSurfaceVtbl
  30161.     {
  30162.         BEGIN_INTERFACE
  30163.         
  30164.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30165.             IVMRSurface * This,
  30166.             /* [in] */ REFIID riid,
  30167.             /* [iid_is][out] */ void **ppvObject);
  30168.         
  30169.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30170.             IVMRSurface * This);
  30171.         
  30172.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30173.             IVMRSurface * This);
  30174.         
  30175.         HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )( 
  30176.             IVMRSurface * This);
  30177.         
  30178.         HRESULT ( STDMETHODCALLTYPE *LockSurface )( 
  30179.             IVMRSurface * This,
  30180.             /* [out] */ BYTE **lpSurface);
  30181.         
  30182.         HRESULT ( STDMETHODCALLTYPE *UnlockSurface )( 
  30183.             IVMRSurface * This);
  30184.         
  30185.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  30186.             IVMRSurface * This,
  30187.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  30188.         
  30189.         END_INTERFACE
  30190.     } IVMRSurfaceVtbl;
  30191.  
  30192.     interface IVMRSurface
  30193.     {
  30194.         CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
  30195.     };
  30196.  
  30197.     
  30198.  
  30199. #ifdef COBJMACROS
  30200.  
  30201.  
  30202. #define IVMRSurface_QueryInterface(This,riid,ppvObject)    \
  30203.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30204.  
  30205. #define IVMRSurface_AddRef(This)    \
  30206.     (This)->lpVtbl -> AddRef(This)
  30207.  
  30208. #define IVMRSurface_Release(This)    \
  30209.     (This)->lpVtbl -> Release(This)
  30210.  
  30211.  
  30212. #define IVMRSurface_IsSurfaceLocked(This)    \
  30213.     (This)->lpVtbl -> IsSurfaceLocked(This)
  30214.  
  30215. #define IVMRSurface_LockSurface(This,lpSurface)    \
  30216.     (This)->lpVtbl -> LockSurface(This,lpSurface)
  30217.  
  30218. #define IVMRSurface_UnlockSurface(This)    \
  30219.     (This)->lpVtbl -> UnlockSurface(This)
  30220.  
  30221. #define IVMRSurface_GetSurface(This,lplpSurface)    \
  30222.     (This)->lpVtbl -> GetSurface(This,lplpSurface)
  30223.  
  30224. #endif /* COBJMACROS */
  30225.  
  30226.  
  30227. #endif     /* C style interface */
  30228.  
  30229.  
  30230.  
  30231. HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy( 
  30232.     IVMRSurface * This);
  30233.  
  30234.  
  30235. void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
  30236.     IRpcStubBuffer *This,
  30237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30238.     PRPC_MESSAGE _pRpcMessage,
  30239.     DWORD *_pdwStubPhase);
  30240.  
  30241.  
  30242. HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy( 
  30243.     IVMRSurface * This,
  30244.     /* [out] */ BYTE **lpSurface);
  30245.  
  30246.  
  30247. void __RPC_STUB IVMRSurface_LockSurface_Stub(
  30248.     IRpcStubBuffer *This,
  30249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30250.     PRPC_MESSAGE _pRpcMessage,
  30251.     DWORD *_pdwStubPhase);
  30252.  
  30253.  
  30254. HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy( 
  30255.     IVMRSurface * This);
  30256.  
  30257.  
  30258. void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
  30259.     IRpcStubBuffer *This,
  30260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30261.     PRPC_MESSAGE _pRpcMessage,
  30262.     DWORD *_pdwStubPhase);
  30263.  
  30264.  
  30265. HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy( 
  30266.     IVMRSurface * This,
  30267.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  30268.  
  30269.  
  30270. void __RPC_STUB IVMRSurface_GetSurface_Stub(
  30271.     IRpcStubBuffer *This,
  30272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30273.     PRPC_MESSAGE _pRpcMessage,
  30274.     DWORD *_pdwStubPhase);
  30275.  
  30276.  
  30277.  
  30278. #endif     /* __IVMRSurface_INTERFACE_DEFINED__ */
  30279.  
  30280.  
  30281. #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  30282. #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  30283.  
  30284. /* interface IVMRImagePresenterConfig */
  30285. /* [unique][helpstring][uuid][local][object][local] */ 
  30286.  
  30287.  
  30288. EXTERN_C const IID IID_IVMRImagePresenterConfig;
  30289.  
  30290. #if defined(__cplusplus) && !defined(CINTERFACE)
  30291.     
  30292.     MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
  30293.     IVMRImagePresenterConfig : public IUnknown
  30294.     {
  30295.     public:
  30296.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  30297.             /* [in] */ DWORD dwRenderFlags) = 0;
  30298.         
  30299.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  30300.             /* [out] */ DWORD *dwRenderFlags) = 0;
  30301.         
  30302.     };
  30303.     
  30304. #else     /* C style interface */
  30305.  
  30306.     typedef struct IVMRImagePresenterConfigVtbl
  30307.     {
  30308.         BEGIN_INTERFACE
  30309.         
  30310.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30311.             IVMRImagePresenterConfig * This,
  30312.             /* [in] */ REFIID riid,
  30313.             /* [iid_is][out] */ void **ppvObject);
  30314.         
  30315.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30316.             IVMRImagePresenterConfig * This);
  30317.         
  30318.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30319.             IVMRImagePresenterConfig * This);
  30320.         
  30321.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  30322.             IVMRImagePresenterConfig * This,
  30323.             /* [in] */ DWORD dwRenderFlags);
  30324.         
  30325.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  30326.             IVMRImagePresenterConfig * This,
  30327.             /* [out] */ DWORD *dwRenderFlags);
  30328.         
  30329.         END_INTERFACE
  30330.     } IVMRImagePresenterConfigVtbl;
  30331.  
  30332.     interface IVMRImagePresenterConfig
  30333.     {
  30334.         CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
  30335.     };
  30336.  
  30337.     
  30338.  
  30339. #ifdef COBJMACROS
  30340.  
  30341.  
  30342. #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject)    \
  30343.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30344.  
  30345. #define IVMRImagePresenterConfig_AddRef(This)    \
  30346.     (This)->lpVtbl -> AddRef(This)
  30347.  
  30348. #define IVMRImagePresenterConfig_Release(This)    \
  30349.     (This)->lpVtbl -> Release(This)
  30350.  
  30351.  
  30352. #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  30353.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  30354.  
  30355. #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  30356.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  30357.  
  30358. #endif /* COBJMACROS */
  30359.  
  30360.  
  30361. #endif     /* C style interface */
  30362.  
  30363.  
  30364.  
  30365. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy( 
  30366.     IVMRImagePresenterConfig * This,
  30367.     /* [in] */ DWORD dwRenderFlags);
  30368.  
  30369.  
  30370. void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
  30371.     IRpcStubBuffer *This,
  30372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30373.     PRPC_MESSAGE _pRpcMessage,
  30374.     DWORD *_pdwStubPhase);
  30375.  
  30376.  
  30377. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy( 
  30378.     IVMRImagePresenterConfig * This,
  30379.     /* [out] */ DWORD *dwRenderFlags);
  30380.  
  30381.  
  30382. void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
  30383.     IRpcStubBuffer *This,
  30384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30385.     PRPC_MESSAGE _pRpcMessage,
  30386.     DWORD *_pdwStubPhase);
  30387.  
  30388.  
  30389.  
  30390. #endif     /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
  30391.  
  30392.  
  30393. #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  30394. #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  30395.  
  30396. /* interface IVMRImagePresenterExclModeConfig */
  30397. /* [unique][helpstring][uuid][local][object][local] */ 
  30398.  
  30399.  
  30400. EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
  30401.  
  30402. #if defined(__cplusplus) && !defined(CINTERFACE)
  30403.     
  30404.     MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
  30405.     IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
  30406.     {
  30407.     public:
  30408.         virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface( 
  30409.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30410.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
  30411.         
  30412.         virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface( 
  30413.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30414.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
  30415.         
  30416.     };
  30417.     
  30418. #else     /* C style interface */
  30419.  
  30420.     typedef struct IVMRImagePresenterExclModeConfigVtbl
  30421.     {
  30422.         BEGIN_INTERFACE
  30423.         
  30424.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30425.             IVMRImagePresenterExclModeConfig * This,
  30426.             /* [in] */ REFIID riid,
  30427.             /* [iid_is][out] */ void **ppvObject);
  30428.         
  30429.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30430.             IVMRImagePresenterExclModeConfig * This);
  30431.         
  30432.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30433.             IVMRImagePresenterExclModeConfig * This);
  30434.         
  30435.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  30436.             IVMRImagePresenterExclModeConfig * This,
  30437.             /* [in] */ DWORD dwRenderFlags);
  30438.         
  30439.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  30440.             IVMRImagePresenterExclModeConfig * This,
  30441.             /* [out] */ DWORD *dwRenderFlags);
  30442.         
  30443.         HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )( 
  30444.             IVMRImagePresenterExclModeConfig * This,
  30445.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30446.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  30447.         
  30448.         HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )( 
  30449.             IVMRImagePresenterExclModeConfig * This,
  30450.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30451.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  30452.         
  30453.         END_INTERFACE
  30454.     } IVMRImagePresenterExclModeConfigVtbl;
  30455.  
  30456.     interface IVMRImagePresenterExclModeConfig
  30457.     {
  30458.         CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
  30459.     };
  30460.  
  30461.     
  30462.  
  30463. #ifdef COBJMACROS
  30464.  
  30465.  
  30466. #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject)    \
  30467.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30468.  
  30469. #define IVMRImagePresenterExclModeConfig_AddRef(This)    \
  30470.     (This)->lpVtbl -> AddRef(This)
  30471.  
  30472. #define IVMRImagePresenterExclModeConfig_Release(This)    \
  30473.     (This)->lpVtbl -> Release(This)
  30474.  
  30475.  
  30476. #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  30477.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  30478.  
  30479. #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  30480.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  30481.  
  30482.  
  30483. #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  30484.     (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  30485.  
  30486. #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  30487.     (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  30488.  
  30489. #endif /* COBJMACROS */
  30490.  
  30491.  
  30492. #endif     /* C style interface */
  30493.  
  30494.  
  30495.  
  30496. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy( 
  30497.     IVMRImagePresenterExclModeConfig * This,
  30498.     /* [in] */ LPDIRECTDRAW7 lpDDObj,
  30499.     /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  30500.  
  30501.  
  30502. void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
  30503.     IRpcStubBuffer *This,
  30504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30505.     PRPC_MESSAGE _pRpcMessage,
  30506.     DWORD *_pdwStubPhase);
  30507.  
  30508.  
  30509. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy( 
  30510.     IVMRImagePresenterExclModeConfig * This,
  30511.     /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  30512.     /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  30513.  
  30514.  
  30515. void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
  30516.     IRpcStubBuffer *This,
  30517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30518.     PRPC_MESSAGE _pRpcMessage,
  30519.     DWORD *_pdwStubPhase);
  30520.  
  30521.  
  30522.  
  30523. #endif     /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
  30524.  
  30525.  
  30526. #ifndef __IVPManager_INTERFACE_DEFINED__
  30527. #define __IVPManager_INTERFACE_DEFINED__
  30528.  
  30529. /* interface IVPManager */
  30530. /* [unique][helpstring][uuid][local][object][local] */ 
  30531.  
  30532.  
  30533. EXTERN_C const IID IID_IVPManager;
  30534.  
  30535. #if defined(__cplusplus) && !defined(CINTERFACE)
  30536.     
  30537.     MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
  30538.     IVPManager : public IUnknown
  30539.     {
  30540.     public:
  30541.         virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex( 
  30542.             /* [in] */ DWORD dwVideoPortIndex) = 0;
  30543.         
  30544.         virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex( 
  30545.             /* [out] */ DWORD *pdwVideoPortIndex) = 0;
  30546.         
  30547.     };
  30548.     
  30549. #else     /* C style interface */
  30550.  
  30551.     typedef struct IVPManagerVtbl
  30552.     {
  30553.         BEGIN_INTERFACE
  30554.         
  30555.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  30556.             IVPManager * This,
  30557.             /* [in] */ REFIID riid,
  30558.             /* [iid_is][out] */ void **ppvObject);
  30559.         
  30560.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  30561.             IVPManager * This);
  30562.         
  30563.         ULONG ( STDMETHODCALLTYPE *Release )( 
  30564.             IVPManager * This);
  30565.         
  30566.         HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )( 
  30567.             IVPManager * This,
  30568.             /* [in] */ DWORD dwVideoPortIndex);
  30569.         
  30570.         HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )( 
  30571.             IVPManager * This,
  30572.             /* [out] */ DWORD *pdwVideoPortIndex);
  30573.         
  30574.         END_INTERFACE
  30575.     } IVPManagerVtbl;
  30576.  
  30577.     interface IVPManager
  30578.     {
  30579.         CONST_VTBL struct IVPManagerVtbl *lpVtbl;
  30580.     };
  30581.  
  30582.     
  30583.  
  30584. #ifdef COBJMACROS
  30585.  
  30586.  
  30587. #define IVPManager_QueryInterface(This,riid,ppvObject)    \
  30588.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  30589.  
  30590. #define IVPManager_AddRef(This)    \
  30591.     (This)->lpVtbl -> AddRef(This)
  30592.  
  30593. #define IVPManager_Release(This)    \
  30594.     (This)->lpVtbl -> Release(This)
  30595.  
  30596.  
  30597. #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex)    \
  30598.     (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)
  30599.  
  30600. #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex)    \
  30601.     (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)
  30602.  
  30603. #endif /* COBJMACROS */
  30604.  
  30605.  
  30606. #endif     /* C style interface */
  30607.  
  30608.  
  30609.  
  30610. HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy( 
  30611.     IVPManager * This,
  30612.     /* [in] */ DWORD dwVideoPortIndex);
  30613.  
  30614.  
  30615. void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
  30616.     IRpcStubBuffer *This,
  30617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30618.     PRPC_MESSAGE _pRpcMessage,
  30619.     DWORD *_pdwStubPhase);
  30620.  
  30621.  
  30622. HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy( 
  30623.     IVPManager * This,
  30624.     /* [out] */ DWORD *pdwVideoPortIndex);
  30625.  
  30626.  
  30627. void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
  30628.     IRpcStubBuffer *This,
  30629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  30630.     PRPC_MESSAGE _pRpcMessage,
  30631.     DWORD *_pdwStubPhase);
  30632.  
  30633.  
  30634.  
  30635. #endif     /* __IVPManager_INTERFACE_DEFINED__ */
  30636.  
  30637.  
  30638. /* interface __MIDL_itf_strmif_0403 */
  30639. /* [local] */ 
  30640.  
  30641. // Restore the previous setting for C4201 compiler warning
  30642. #pragma warning(pop)
  30643.  
  30644.  
  30645. extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_c_ifspec;
  30646. extern RPC_IF_HANDLE __MIDL_itf_strmif_0403_v0_0_s_ifspec;
  30647.  
  30648. /* Additional Prototypes for ALL interfaces */
  30649.  
  30650. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  30651. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  30652. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  30653. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  30654.  
  30655. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy( 
  30656.     ICaptureGraphBuilder * This,
  30657.     /* [unique][in] */ const GUID *pCategory,
  30658.     /* [in] */ IBaseFilter *pf,
  30659.     /* [in] */ REFIID riid,
  30660.     /* [out] */ void **ppint);
  30661.  
  30662.  
  30663. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub( 
  30664.     ICaptureGraphBuilder * This,
  30665.     /* [unique][in] */ const GUID *pCategory,
  30666.     /* [in] */ IBaseFilter *pf,
  30667.     /* [in] */ REFIID riid,
  30668.     /* [out] */ IUnknown **ppint);
  30669.  
  30670. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy( 
  30671.     ICaptureGraphBuilder2 * This,
  30672.     /* [in] */ const GUID *pCategory,
  30673.     /* [in] */ const GUID *pType,
  30674.     /* [in] */ IBaseFilter *pf,
  30675.     /* [in] */ REFIID riid,
  30676.     /* [out] */ void **ppint);
  30677.  
  30678.  
  30679. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub( 
  30680.     ICaptureGraphBuilder2 * This,
  30681.     /* [in] */ const GUID *pCategory,
  30682.     /* [in] */ const GUID *pType,
  30683.     /* [in] */ IBaseFilter *pf,
  30684.     /* [in] */ REFIID riid,
  30685.     /* [out] */ IUnknown **ppint);
  30686.  
  30687. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy( 
  30688.     IKsPropertySet * This,
  30689.     /* [in] */ REFGUID guidPropSet,
  30690.     /* [in] */ DWORD dwPropID,
  30691.     /* [size_is][in] */ LPVOID pInstanceData,
  30692.     /* [in] */ DWORD cbInstanceData,
  30693.     /* [size_is][in] */ LPVOID pPropData,
  30694.     /* [in] */ DWORD cbPropData);
  30695.  
  30696.  
  30697. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub( 
  30698.     IKsPropertySet * This,
  30699.     /* [in] */ REFGUID guidPropSet,
  30700.     /* [in] */ DWORD dwPropID,
  30701.     /* [size_is][in] */ byte *pInstanceData,
  30702.     /* [in] */ DWORD cbInstanceData,
  30703.     /* [size_is][in] */ byte *pPropData,
  30704.     /* [in] */ DWORD cbPropData);
  30705.  
  30706. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy( 
  30707.     IKsPropertySet * This,
  30708.     /* [in] */ REFGUID guidPropSet,
  30709.     /* [in] */ DWORD dwPropID,
  30710.     /* [size_is][in] */ LPVOID pInstanceData,
  30711.     /* [in] */ DWORD cbInstanceData,
  30712.     /* [size_is][out] */ LPVOID pPropData,
  30713.     /* [in] */ DWORD cbPropData,
  30714.     /* [out] */ DWORD *pcbReturned);
  30715.  
  30716.  
  30717. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub( 
  30718.     IKsPropertySet * This,
  30719.     /* [in] */ REFGUID guidPropSet,
  30720.     /* [in] */ DWORD dwPropID,
  30721.     /* [size_is][in] */ byte *pInstanceData,
  30722.     /* [in] */ DWORD cbInstanceData,
  30723.     /* [size_is][out] */ byte *pPropData,
  30724.     /* [in] */ DWORD cbPropData,
  30725.     /* [out] */ DWORD *pcbReturned);
  30726.  
  30727.  
  30728.  
  30729. /* end of Additional Prototypes */
  30730.  
  30731. #ifdef __cplusplus
  30732. }
  30733. #endif
  30734.  
  30735. #endif
  30736.  
  30737.  
  30738.