home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / strmif.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  645.6 KB  |  21,122 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Jul 30 19:38:53 1999
  10.  */
  11. /* Compiler settings for strmif.idl:
  12.     Oicf (OptLev=i2), W0, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __strmif_h__
  39. #define __strmif_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IPin_FWD_DEFINED__
  44. #define __IPin_FWD_DEFINED__
  45. typedef interface IPin IPin;
  46. #endif     /* __IPin_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IEnumPins_FWD_DEFINED__
  50. #define __IEnumPins_FWD_DEFINED__
  51. typedef interface IEnumPins IEnumPins;
  52. #endif     /* __IEnumPins_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  56. #define __IEnumMediaTypes_FWD_DEFINED__
  57. typedef interface IEnumMediaTypes IEnumMediaTypes;
  58. #endif     /* __IEnumMediaTypes_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IFilterGraph_FWD_DEFINED__
  62. #define __IFilterGraph_FWD_DEFINED__
  63. typedef interface IFilterGraph IFilterGraph;
  64. #endif     /* __IFilterGraph_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IEnumFilters_FWD_DEFINED__
  68. #define __IEnumFilters_FWD_DEFINED__
  69. typedef interface IEnumFilters IEnumFilters;
  70. #endif     /* __IEnumFilters_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IMediaFilter_FWD_DEFINED__
  74. #define __IMediaFilter_FWD_DEFINED__
  75. typedef interface IMediaFilter IMediaFilter;
  76. #endif     /* __IMediaFilter_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __IBaseFilter_FWD_DEFINED__
  80. #define __IBaseFilter_FWD_DEFINED__
  81. typedef interface IBaseFilter IBaseFilter;
  82. #endif     /* __IBaseFilter_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __IReferenceClock_FWD_DEFINED__
  86. #define __IReferenceClock_FWD_DEFINED__
  87. typedef interface IReferenceClock IReferenceClock;
  88. #endif     /* __IReferenceClock_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __IReferenceClock2_FWD_DEFINED__
  92. #define __IReferenceClock2_FWD_DEFINED__
  93. typedef interface IReferenceClock2 IReferenceClock2;
  94. #endif     /* __IReferenceClock2_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __IMediaSample_FWD_DEFINED__
  98. #define __IMediaSample_FWD_DEFINED__
  99. typedef interface IMediaSample IMediaSample;
  100. #endif     /* __IMediaSample_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __IMediaSample2_FWD_DEFINED__
  104. #define __IMediaSample2_FWD_DEFINED__
  105. typedef interface IMediaSample2 IMediaSample2;
  106. #endif     /* __IMediaSample2_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __IMemAllocator_FWD_DEFINED__
  110. #define __IMemAllocator_FWD_DEFINED__
  111. typedef interface IMemAllocator IMemAllocator;
  112. #endif     /* __IMemAllocator_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  116. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  117. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  118. #endif     /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  122. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  123. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  124. #endif     /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __IMemInputPin_FWD_DEFINED__
  128. #define __IMemInputPin_FWD_DEFINED__
  129. typedef interface IMemInputPin IMemInputPin;
  130. #endif     /* __IMemInputPin_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __IAMovieSetup_FWD_DEFINED__
  134. #define __IAMovieSetup_FWD_DEFINED__
  135. typedef interface IAMovieSetup IAMovieSetup;
  136. #endif     /* __IAMovieSetup_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __IMediaSeeking_FWD_DEFINED__
  140. #define __IMediaSeeking_FWD_DEFINED__
  141. typedef interface IMediaSeeking IMediaSeeking;
  142. #endif     /* __IMediaSeeking_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IEnumRegFilters_FWD_DEFINED__
  146. #define __IEnumRegFilters_FWD_DEFINED__
  147. typedef interface IEnumRegFilters IEnumRegFilters;
  148. #endif     /* __IEnumRegFilters_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __IFilterMapper_FWD_DEFINED__
  152. #define __IFilterMapper_FWD_DEFINED__
  153. typedef interface IFilterMapper IFilterMapper;
  154. #endif     /* __IFilterMapper_FWD_DEFINED__ */
  155.  
  156.  
  157. #ifndef __IFilterMapper2_FWD_DEFINED__
  158. #define __IFilterMapper2_FWD_DEFINED__
  159. typedef interface IFilterMapper2 IFilterMapper2;
  160. #endif     /* __IFilterMapper2_FWD_DEFINED__ */
  161.  
  162.  
  163. #ifndef __IQualityControl_FWD_DEFINED__
  164. #define __IQualityControl_FWD_DEFINED__
  165. typedef interface IQualityControl IQualityControl;
  166. #endif     /* __IQualityControl_FWD_DEFINED__ */
  167.  
  168.  
  169. #ifndef __IOverlayNotify_FWD_DEFINED__
  170. #define __IOverlayNotify_FWD_DEFINED__
  171. typedef interface IOverlayNotify IOverlayNotify;
  172. #endif     /* __IOverlayNotify_FWD_DEFINED__ */
  173.  
  174.  
  175. #ifndef __IOverlayNotify2_FWD_DEFINED__
  176. #define __IOverlayNotify2_FWD_DEFINED__
  177. typedef interface IOverlayNotify2 IOverlayNotify2;
  178. #endif     /* __IOverlayNotify2_FWD_DEFINED__ */
  179.  
  180.  
  181. #ifndef __IOverlay_FWD_DEFINED__
  182. #define __IOverlay_FWD_DEFINED__
  183. typedef interface IOverlay IOverlay;
  184. #endif     /* __IOverlay_FWD_DEFINED__ */
  185.  
  186.  
  187. #ifndef __IMediaEventSink_FWD_DEFINED__
  188. #define __IMediaEventSink_FWD_DEFINED__
  189. typedef interface IMediaEventSink IMediaEventSink;
  190. #endif     /* __IMediaEventSink_FWD_DEFINED__ */
  191.  
  192.  
  193. #ifndef __IFileSourceFilter_FWD_DEFINED__
  194. #define __IFileSourceFilter_FWD_DEFINED__
  195. typedef interface IFileSourceFilter IFileSourceFilter;
  196. #endif     /* __IFileSourceFilter_FWD_DEFINED__ */
  197.  
  198.  
  199. #ifndef __IFileSinkFilter_FWD_DEFINED__
  200. #define __IFileSinkFilter_FWD_DEFINED__
  201. typedef interface IFileSinkFilter IFileSinkFilter;
  202. #endif     /* __IFileSinkFilter_FWD_DEFINED__ */
  203.  
  204.  
  205. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  206. #define __IFileSinkFilter2_FWD_DEFINED__
  207. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  208. #endif     /* __IFileSinkFilter2_FWD_DEFINED__ */
  209.  
  210.  
  211. #ifndef __IFileAsyncIO_FWD_DEFINED__
  212. #define __IFileAsyncIO_FWD_DEFINED__
  213. typedef interface IFileAsyncIO IFileAsyncIO;
  214. #endif     /* __IFileAsyncIO_FWD_DEFINED__ */
  215.  
  216.  
  217. #ifndef __IGraphBuilder_FWD_DEFINED__
  218. #define __IGraphBuilder_FWD_DEFINED__
  219. typedef interface IGraphBuilder IGraphBuilder;
  220. #endif     /* __IGraphBuilder_FWD_DEFINED__ */
  221.  
  222.  
  223. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  224. #define __ICaptureGraphBuilder_FWD_DEFINED__
  225. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  226. #endif     /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  227.  
  228.  
  229. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  230. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  231. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  232. #endif     /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  233.  
  234.  
  235. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  236. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  237. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  238. #endif     /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  239.  
  240.  
  241. #ifndef __IFilterGraph2_FWD_DEFINED__
  242. #define __IFilterGraph2_FWD_DEFINED__
  243. typedef interface IFilterGraph2 IFilterGraph2;
  244. #endif     /* __IFilterGraph2_FWD_DEFINED__ */
  245.  
  246.  
  247. #ifndef __IStreamBuilder_FWD_DEFINED__
  248. #define __IStreamBuilder_FWD_DEFINED__
  249. typedef interface IStreamBuilder IStreamBuilder;
  250. #endif     /* __IStreamBuilder_FWD_DEFINED__ */
  251.  
  252.  
  253. #ifndef __IAsyncReader_FWD_DEFINED__
  254. #define __IAsyncReader_FWD_DEFINED__
  255. typedef interface IAsyncReader IAsyncReader;
  256. #endif     /* __IAsyncReader_FWD_DEFINED__ */
  257.  
  258.  
  259. #ifndef __IGraphVersion_FWD_DEFINED__
  260. #define __IGraphVersion_FWD_DEFINED__
  261. typedef interface IGraphVersion IGraphVersion;
  262. #endif     /* __IGraphVersion_FWD_DEFINED__ */
  263.  
  264.  
  265. #ifndef __IResourceConsumer_FWD_DEFINED__
  266. #define __IResourceConsumer_FWD_DEFINED__
  267. typedef interface IResourceConsumer IResourceConsumer;
  268. #endif     /* __IResourceConsumer_FWD_DEFINED__ */
  269.  
  270.  
  271. #ifndef __IResourceManager_FWD_DEFINED__
  272. #define __IResourceManager_FWD_DEFINED__
  273. typedef interface IResourceManager IResourceManager;
  274. #endif     /* __IResourceManager_FWD_DEFINED__ */
  275.  
  276.  
  277. #ifndef __IDistributorNotify_FWD_DEFINED__
  278. #define __IDistributorNotify_FWD_DEFINED__
  279. typedef interface IDistributorNotify IDistributorNotify;
  280. #endif     /* __IDistributorNotify_FWD_DEFINED__ */
  281.  
  282.  
  283. #ifndef __IAMStreamControl_FWD_DEFINED__
  284. #define __IAMStreamControl_FWD_DEFINED__
  285. typedef interface IAMStreamControl IAMStreamControl;
  286. #endif     /* __IAMStreamControl_FWD_DEFINED__ */
  287.  
  288.  
  289. #ifndef __ISeekingPassThru_FWD_DEFINED__
  290. #define __ISeekingPassThru_FWD_DEFINED__
  291. typedef interface ISeekingPassThru ISeekingPassThru;
  292. #endif     /* __ISeekingPassThru_FWD_DEFINED__ */
  293.  
  294.  
  295. #ifndef __IAMStreamConfig_FWD_DEFINED__
  296. #define __IAMStreamConfig_FWD_DEFINED__
  297. typedef interface IAMStreamConfig IAMStreamConfig;
  298. #endif     /* __IAMStreamConfig_FWD_DEFINED__ */
  299.  
  300.  
  301. #ifndef __IConfigInterleaving_FWD_DEFINED__
  302. #define __IConfigInterleaving_FWD_DEFINED__
  303. typedef interface IConfigInterleaving IConfigInterleaving;
  304. #endif     /* __IConfigInterleaving_FWD_DEFINED__ */
  305.  
  306.  
  307. #ifndef __IConfigAviMux_FWD_DEFINED__
  308. #define __IConfigAviMux_FWD_DEFINED__
  309. typedef interface IConfigAviMux IConfigAviMux;
  310. #endif     /* __IConfigAviMux_FWD_DEFINED__ */
  311.  
  312.  
  313. #ifndef __IAMVideoCompression_FWD_DEFINED__
  314. #define __IAMVideoCompression_FWD_DEFINED__
  315. typedef interface IAMVideoCompression IAMVideoCompression;
  316. #endif     /* __IAMVideoCompression_FWD_DEFINED__ */
  317.  
  318.  
  319. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  320. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  321. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  322. #endif     /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  323.  
  324.  
  325. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  326. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  327. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  328. #endif     /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  329.  
  330.  
  331. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  332. #define __IAMDroppedFrames_FWD_DEFINED__
  333. typedef interface IAMDroppedFrames IAMDroppedFrames;
  334. #endif     /* __IAMDroppedFrames_FWD_DEFINED__ */
  335.  
  336.  
  337. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  338. #define __IAMAudioInputMixer_FWD_DEFINED__
  339. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  340. #endif     /* __IAMAudioInputMixer_FWD_DEFINED__ */
  341.  
  342.  
  343. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  344. #define __IAMBufferNegotiation_FWD_DEFINED__
  345. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  346. #endif     /* __IAMBufferNegotiation_FWD_DEFINED__ */
  347.  
  348.  
  349. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  350. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  351. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  352. #endif     /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  353.  
  354.  
  355. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  356. #define __IAMVideoProcAmp_FWD_DEFINED__
  357. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  358. #endif     /* __IAMVideoProcAmp_FWD_DEFINED__ */
  359.  
  360.  
  361. #ifndef __IAMCameraControl_FWD_DEFINED__
  362. #define __IAMCameraControl_FWD_DEFINED__
  363. typedef interface IAMCameraControl IAMCameraControl;
  364. #endif     /* __IAMCameraControl_FWD_DEFINED__ */
  365.  
  366.  
  367. #ifndef __IAMVideoControl_FWD_DEFINED__
  368. #define __IAMVideoControl_FWD_DEFINED__
  369. typedef interface IAMVideoControl IAMVideoControl;
  370. #endif     /* __IAMVideoControl_FWD_DEFINED__ */
  371.  
  372.  
  373. #ifndef __IAMCrossbar_FWD_DEFINED__
  374. #define __IAMCrossbar_FWD_DEFINED__
  375. typedef interface IAMCrossbar IAMCrossbar;
  376. #endif     /* __IAMCrossbar_FWD_DEFINED__ */
  377.  
  378.  
  379. #ifndef __IAMTuner_FWD_DEFINED__
  380. #define __IAMTuner_FWD_DEFINED__
  381. typedef interface IAMTuner IAMTuner;
  382. #endif     /* __IAMTuner_FWD_DEFINED__ */
  383.  
  384.  
  385. #ifndef __IAMTunerNotification_FWD_DEFINED__
  386. #define __IAMTunerNotification_FWD_DEFINED__
  387. typedef interface IAMTunerNotification IAMTunerNotification;
  388. #endif     /* __IAMTunerNotification_FWD_DEFINED__ */
  389.  
  390.  
  391. #ifndef __IAMTVTuner_FWD_DEFINED__
  392. #define __IAMTVTuner_FWD_DEFINED__
  393. typedef interface IAMTVTuner IAMTVTuner;
  394. #endif     /* __IAMTVTuner_FWD_DEFINED__ */
  395.  
  396.  
  397. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  398. #define __IBPCSatelliteTuner_FWD_DEFINED__
  399. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  400. #endif     /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  401.  
  402.  
  403. #ifndef __IAMTVAudio_FWD_DEFINED__
  404. #define __IAMTVAudio_FWD_DEFINED__
  405. typedef interface IAMTVAudio IAMTVAudio;
  406. #endif     /* __IAMTVAudio_FWD_DEFINED__ */
  407.  
  408.  
  409. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  410. #define __IAMTVAudioNotification_FWD_DEFINED__
  411. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  412. #endif     /* __IAMTVAudioNotification_FWD_DEFINED__ */
  413.  
  414.  
  415. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  416. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  417. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  418. #endif     /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  419.  
  420.  
  421. #ifndef __IKsPropertySet_FWD_DEFINED__
  422. #define __IKsPropertySet_FWD_DEFINED__
  423. typedef interface IKsPropertySet IKsPropertySet;
  424. #endif     /* __IKsPropertySet_FWD_DEFINED__ */
  425.  
  426.  
  427. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  428. #define __IMediaPropertyBag_FWD_DEFINED__
  429. typedef interface IMediaPropertyBag IMediaPropertyBag;
  430. #endif     /* __IMediaPropertyBag_FWD_DEFINED__ */
  431.  
  432.  
  433. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  434. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  435. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  436. #endif     /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  437.  
  438.  
  439. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  440. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  441. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  442. #endif     /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  443.  
  444.  
  445. #ifndef __IAMExtDevice_FWD_DEFINED__
  446. #define __IAMExtDevice_FWD_DEFINED__
  447. typedef interface IAMExtDevice IAMExtDevice;
  448. #endif     /* __IAMExtDevice_FWD_DEFINED__ */
  449.  
  450.  
  451. #ifndef __IAMExtTransport_FWD_DEFINED__
  452. #define __IAMExtTransport_FWD_DEFINED__
  453. typedef interface IAMExtTransport IAMExtTransport;
  454. #endif     /* __IAMExtTransport_FWD_DEFINED__ */
  455.  
  456.  
  457. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  458. #define __IAMTimecodeReader_FWD_DEFINED__
  459. typedef interface IAMTimecodeReader IAMTimecodeReader;
  460. #endif     /* __IAMTimecodeReader_FWD_DEFINED__ */
  461.  
  462.  
  463. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  464. #define __IAMTimecodeGenerator_FWD_DEFINED__
  465. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  466. #endif     /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  467.  
  468.  
  469. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  470. #define __IAMTimecodeDisplay_FWD_DEFINED__
  471. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  472. #endif     /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  473.  
  474.  
  475. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  476. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  477. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  478. #endif     /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  479.  
  480.  
  481. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  482. #define __IAMDevMemoryControl_FWD_DEFINED__
  483. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  484. #endif     /* __IAMDevMemoryControl_FWD_DEFINED__ */
  485.  
  486.  
  487. #ifndef __IAMStreamSelect_FWD_DEFINED__
  488. #define __IAMStreamSelect_FWD_DEFINED__
  489. typedef interface IAMStreamSelect IAMStreamSelect;
  490. #endif     /* __IAMStreamSelect_FWD_DEFINED__ */
  491.  
  492.  
  493. #ifndef __IAMResourceControl_FWD_DEFINED__
  494. #define __IAMResourceControl_FWD_DEFINED__
  495. typedef interface IAMResourceControl IAMResourceControl;
  496. #endif     /* __IAMResourceControl_FWD_DEFINED__ */
  497.  
  498.  
  499. #ifndef __IAMClockAdjust_FWD_DEFINED__
  500. #define __IAMClockAdjust_FWD_DEFINED__
  501. typedef interface IAMClockAdjust IAMClockAdjust;
  502. #endif     /* __IAMClockAdjust_FWD_DEFINED__ */
  503.  
  504.  
  505. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  506. #define __IAMFilterMiscFlags_FWD_DEFINED__
  507. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  508. #endif     /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  509.  
  510.  
  511. #ifndef __IDrawVideoImage_FWD_DEFINED__
  512. #define __IDrawVideoImage_FWD_DEFINED__
  513. typedef interface IDrawVideoImage IDrawVideoImage;
  514. #endif     /* __IDrawVideoImage_FWD_DEFINED__ */
  515.  
  516.  
  517. #ifndef __IAMPushSource_FWD_DEFINED__
  518. #define __IAMPushSource_FWD_DEFINED__
  519. typedef interface IAMPushSource IAMPushSource;
  520. #endif     /* __IAMPushSource_FWD_DEFINED__ */
  521.  
  522.  
  523. #ifndef __IDVEnc_FWD_DEFINED__
  524. #define __IDVEnc_FWD_DEFINED__
  525. typedef interface IDVEnc IDVEnc;
  526. #endif     /* __IDVEnc_FWD_DEFINED__ */
  527.  
  528.  
  529. #ifndef __IIPDVDec_FWD_DEFINED__
  530. #define __IIPDVDec_FWD_DEFINED__
  531. typedef interface IIPDVDec IIPDVDec;
  532. #endif     /* __IIPDVDec_FWD_DEFINED__ */
  533.  
  534.  
  535. #ifndef __IAMovie_FWD_DEFINED__
  536. #define __IAMovie_FWD_DEFINED__
  537. typedef interface IAMovie IAMovie;
  538. #endif     /* __IAMovie_FWD_DEFINED__ */
  539.  
  540.  
  541. #ifndef __ICreateDevEnum_FWD_DEFINED__
  542. #define __ICreateDevEnum_FWD_DEFINED__
  543. typedef interface ICreateDevEnum ICreateDevEnum;
  544. #endif     /* __ICreateDevEnum_FWD_DEFINED__ */
  545.  
  546.  
  547. #ifndef __IDvdControl_FWD_DEFINED__
  548. #define __IDvdControl_FWD_DEFINED__
  549. typedef interface IDvdControl IDvdControl;
  550. #endif     /* __IDvdControl_FWD_DEFINED__ */
  551.  
  552.  
  553. #ifndef __IDvdInfo_FWD_DEFINED__
  554. #define __IDvdInfo_FWD_DEFINED__
  555. typedef interface IDvdInfo IDvdInfo;
  556. #endif     /* __IDvdInfo_FWD_DEFINED__ */
  557.  
  558.  
  559. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  560. #define __IDvdGraphBuilder_FWD_DEFINED__
  561. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  562. #endif     /* __IDvdGraphBuilder_FWD_DEFINED__ */
  563.  
  564.  
  565. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  566. #define __IDDrawExclModeVideo_FWD_DEFINED__
  567. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  568. #endif     /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  569.  
  570.  
  571. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  572. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  573. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  574. #endif     /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  575.  
  576.  
  577. /* header files for imported files */
  578. #include "unknwn.h"
  579. #include "objidl.h"
  580. #include "ocidl.h"
  581.  
  582. #ifdef __cplusplus
  583. extern "C"{
  584. #endif 
  585.  
  586. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  587. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  588.  
  589. /* interface __MIDL_itf_strmif_0000 */
  590. /* [local] */ 
  591.  
  592. #define CHARS_IN_GUID     39
  593. typedef struct _AMMediaType
  594.     {
  595.     GUID majortype;
  596.     GUID subtype;
  597.     BOOL bFixedSizeSamples;
  598.     BOOL bTemporalCompression;
  599.     ULONG lSampleSize;
  600.     GUID formattype;
  601.     IUnknown __RPC_FAR *pUnk;
  602.     ULONG cbFormat;
  603.     /* [size_is] */ BYTE __RPC_FAR *pbFormat;
  604.     }    AM_MEDIA_TYPE;
  605.  
  606. typedef 
  607. enum _PinDirection
  608.     {    PINDIR_INPUT    = 0,
  609.     PINDIR_OUTPUT    = PINDIR_INPUT + 1
  610.     }    PIN_DIRECTION;
  611.  
  612. #define MAX_PIN_NAME     128
  613. #define MAX_FILTER_NAME  128
  614. typedef LONGLONG REFERENCE_TIME;
  615.  
  616. typedef double REFTIME;
  617.  
  618. typedef DWORD_PTR HSEMAPHORE;
  619.  
  620. typedef DWORD_PTR HEVENT;
  621.  
  622. typedef struct _AllocatorProperties
  623.     {
  624.     long cBuffers;
  625.     long cbBuffer;
  626.     long cbAlign;
  627.     long cbPrefix;
  628.     }    ALLOCATOR_PROPERTIES;
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  647. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  648.  
  649. #ifndef __IPin_INTERFACE_DEFINED__
  650. #define __IPin_INTERFACE_DEFINED__
  651.  
  652. /* interface IPin */
  653. /* [unique][uuid][object] */ 
  654.  
  655. typedef struct _PinInfo
  656.     {
  657.     IBaseFilter __RPC_FAR *pFilter;
  658.     PIN_DIRECTION dir;
  659.     WCHAR achName[ 128 ];
  660.     }    PIN_INFO;
  661.  
  662.  
  663. EXTERN_C const IID IID_IPin;
  664.  
  665. #if defined(__cplusplus) && !defined(CINTERFACE)
  666.     
  667.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  668.     IPin : public IUnknown
  669.     {
  670.     public:
  671.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  672.             /* [in] */ IPin __RPC_FAR *pReceivePin,
  673.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  674.         
  675.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  676.             /* [in] */ IPin __RPC_FAR *pConnector,
  677.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  678.         
  679.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  680.         
  681.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  682.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *pPin) = 0;
  683.         
  684.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  685.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  686.         
  687.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  688.             /* [out] */ PIN_INFO __RPC_FAR *pInfo) = 0;
  689.         
  690.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  691.             /* [out] */ PIN_DIRECTION __RPC_FAR *pPinDir) = 0;
  692.         
  693.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  694.             /* [out] */ LPWSTR __RPC_FAR *Id) = 0;
  695.         
  696.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  697.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  698.         
  699.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  700.             /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  701.         
  702.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  703.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *apPin,
  704.             /* [out][in] */ ULONG __RPC_FAR *nPin) = 0;
  705.         
  706.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  707.         
  708.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  709.         
  710.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  711.         
  712.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  713.             /* [in] */ REFERENCE_TIME tStart,
  714.             /* [in] */ REFERENCE_TIME tStop,
  715.             /* [in] */ double dRate) = 0;
  716.         
  717.     };
  718.     
  719. #else     /* C style interface */
  720.  
  721.     typedef struct IPinVtbl
  722.     {
  723.         BEGIN_INTERFACE
  724.         
  725.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  726.             IPin __RPC_FAR * This,
  727.             /* [in] */ REFIID riid,
  728.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  729.         
  730.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  731.             IPin __RPC_FAR * This);
  732.         
  733.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  734.             IPin __RPC_FAR * This);
  735.         
  736.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  737.             IPin __RPC_FAR * This,
  738.             /* [in] */ IPin __RPC_FAR *pReceivePin,
  739.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  740.         
  741.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReceiveConnection )( 
  742.             IPin __RPC_FAR * This,
  743.             /* [in] */ IPin __RPC_FAR *pConnector,
  744.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  745.         
  746.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  747.             IPin __RPC_FAR * This);
  748.         
  749.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectedTo )( 
  750.             IPin __RPC_FAR * This,
  751.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *pPin);
  752.         
  753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectionMediaType )( 
  754.             IPin __RPC_FAR * This,
  755.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryPinInfo )( 
  758.             IPin __RPC_FAR * This,
  759.             /* [out] */ PIN_INFO __RPC_FAR *pInfo);
  760.         
  761.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryDirection )( 
  762.             IPin __RPC_FAR * This,
  763.             /* [out] */ PIN_DIRECTION __RPC_FAR *pPinDir);
  764.         
  765.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryId )( 
  766.             IPin __RPC_FAR * This,
  767.             /* [out] */ LPWSTR __RPC_FAR *Id);
  768.         
  769.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryAccept )( 
  770.             IPin __RPC_FAR * This,
  771.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  772.         
  773.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMediaTypes )( 
  774.             IPin __RPC_FAR * This,
  775.             /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum);
  776.         
  777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInternalConnections )( 
  778.             IPin __RPC_FAR * This,
  779.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *apPin,
  780.             /* [out][in] */ ULONG __RPC_FAR *nPin);
  781.         
  782.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndOfStream )( 
  783.             IPin __RPC_FAR * This);
  784.         
  785.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginFlush )( 
  786.             IPin __RPC_FAR * This);
  787.         
  788.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndFlush )( 
  789.             IPin __RPC_FAR * This);
  790.         
  791.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NewSegment )( 
  792.             IPin __RPC_FAR * This,
  793.             /* [in] */ REFERENCE_TIME tStart,
  794.             /* [in] */ REFERENCE_TIME tStop,
  795.             /* [in] */ double dRate);
  796.         
  797.         END_INTERFACE
  798.     } IPinVtbl;
  799.  
  800.     interface IPin
  801.     {
  802.         CONST_VTBL struct IPinVtbl __RPC_FAR *lpVtbl;
  803.     };
  804.  
  805.     
  806.  
  807. #ifdef COBJMACROS
  808.  
  809.  
  810. #define IPin_QueryInterface(This,riid,ppvObject)    \
  811.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  812.  
  813. #define IPin_AddRef(This)    \
  814.     (This)->lpVtbl -> AddRef(This)
  815.  
  816. #define IPin_Release(This)    \
  817.     (This)->lpVtbl -> Release(This)
  818.  
  819.  
  820. #define IPin_Connect(This,pReceivePin,pmt)    \
  821.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  822.  
  823. #define IPin_ReceiveConnection(This,pConnector,pmt)    \
  824.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  825.  
  826. #define IPin_Disconnect(This)    \
  827.     (This)->lpVtbl -> Disconnect(This)
  828.  
  829. #define IPin_ConnectedTo(This,pPin)    \
  830.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  831.  
  832. #define IPin_ConnectionMediaType(This,pmt)    \
  833.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  834.  
  835. #define IPin_QueryPinInfo(This,pInfo)    \
  836.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  837.  
  838. #define IPin_QueryDirection(This,pPinDir)    \
  839.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  840.  
  841. #define IPin_QueryId(This,Id)    \
  842.     (This)->lpVtbl -> QueryId(This,Id)
  843.  
  844. #define IPin_QueryAccept(This,pmt)    \
  845.     (This)->lpVtbl -> QueryAccept(This,pmt)
  846.  
  847. #define IPin_EnumMediaTypes(This,ppEnum)    \
  848.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  849.  
  850. #define IPin_QueryInternalConnections(This,apPin,nPin)    \
  851.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  852.  
  853. #define IPin_EndOfStream(This)    \
  854.     (This)->lpVtbl -> EndOfStream(This)
  855.  
  856. #define IPin_BeginFlush(This)    \
  857.     (This)->lpVtbl -> BeginFlush(This)
  858.  
  859. #define IPin_EndFlush(This)    \
  860.     (This)->lpVtbl -> EndFlush(This)
  861.  
  862. #define IPin_NewSegment(This,tStart,tStop,dRate)    \
  863.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  864.  
  865. #endif /* COBJMACROS */
  866.  
  867.  
  868. #endif     /* C style interface */
  869.  
  870.  
  871.  
  872. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  873.     IPin __RPC_FAR * This,
  874.     /* [in] */ IPin __RPC_FAR *pReceivePin,
  875.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  876.  
  877.  
  878. void __RPC_STUB IPin_Connect_Stub(
  879.     IRpcStubBuffer *This,
  880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  881.     PRPC_MESSAGE _pRpcMessage,
  882.     DWORD *_pdwStubPhase);
  883.  
  884.  
  885. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  886.     IPin __RPC_FAR * This,
  887.     /* [in] */ IPin __RPC_FAR *pConnector,
  888.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  889.  
  890.  
  891. void __RPC_STUB IPin_ReceiveConnection_Stub(
  892.     IRpcStubBuffer *This,
  893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  894.     PRPC_MESSAGE _pRpcMessage,
  895.     DWORD *_pdwStubPhase);
  896.  
  897.  
  898. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  899.     IPin __RPC_FAR * This);
  900.  
  901.  
  902. void __RPC_STUB IPin_Disconnect_Stub(
  903.     IRpcStubBuffer *This,
  904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  905.     PRPC_MESSAGE _pRpcMessage,
  906.     DWORD *_pdwStubPhase);
  907.  
  908.  
  909. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  910.     IPin __RPC_FAR * This,
  911.     /* [out] */ IPin __RPC_FAR *__RPC_FAR *pPin);
  912.  
  913.  
  914. void __RPC_STUB IPin_ConnectedTo_Stub(
  915.     IRpcStubBuffer *This,
  916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  917.     PRPC_MESSAGE _pRpcMessage,
  918.     DWORD *_pdwStubPhase);
  919.  
  920.  
  921. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  922.     IPin __RPC_FAR * This,
  923.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  924.  
  925.  
  926. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  927.     IRpcStubBuffer *This,
  928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  929.     PRPC_MESSAGE _pRpcMessage,
  930.     DWORD *_pdwStubPhase);
  931.  
  932.  
  933. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  934.     IPin __RPC_FAR * This,
  935.     /* [out] */ PIN_INFO __RPC_FAR *pInfo);
  936.  
  937.  
  938. void __RPC_STUB IPin_QueryPinInfo_Stub(
  939.     IRpcStubBuffer *This,
  940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  941.     PRPC_MESSAGE _pRpcMessage,
  942.     DWORD *_pdwStubPhase);
  943.  
  944.  
  945. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  946.     IPin __RPC_FAR * This,
  947.     /* [out] */ PIN_DIRECTION __RPC_FAR *pPinDir);
  948.  
  949.  
  950. void __RPC_STUB IPin_QueryDirection_Stub(
  951.     IRpcStubBuffer *This,
  952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  953.     PRPC_MESSAGE _pRpcMessage,
  954.     DWORD *_pdwStubPhase);
  955.  
  956.  
  957. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  958.     IPin __RPC_FAR * This,
  959.     /* [out] */ LPWSTR __RPC_FAR *Id);
  960.  
  961.  
  962. void __RPC_STUB IPin_QueryId_Stub(
  963.     IRpcStubBuffer *This,
  964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  965.     PRPC_MESSAGE _pRpcMessage,
  966.     DWORD *_pdwStubPhase);
  967.  
  968.  
  969. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  970.     IPin __RPC_FAR * This,
  971.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  972.  
  973.  
  974. void __RPC_STUB IPin_QueryAccept_Stub(
  975.     IRpcStubBuffer *This,
  976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  977.     PRPC_MESSAGE _pRpcMessage,
  978.     DWORD *_pdwStubPhase);
  979.  
  980.  
  981. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  982.     IPin __RPC_FAR * This,
  983.     /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum);
  984.  
  985.  
  986. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991.  
  992.  
  993. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  994.     IPin __RPC_FAR * This,
  995.     /* [out] */ IPin __RPC_FAR *__RPC_FAR *apPin,
  996.     /* [out][in] */ ULONG __RPC_FAR *nPin);
  997.  
  998.  
  999. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  1000.     IRpcStubBuffer *This,
  1001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1002.     PRPC_MESSAGE _pRpcMessage,
  1003.     DWORD *_pdwStubPhase);
  1004.  
  1005.  
  1006. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  1007.     IPin __RPC_FAR * This);
  1008.  
  1009.  
  1010. void __RPC_STUB IPin_EndOfStream_Stub(
  1011.     IRpcStubBuffer *This,
  1012.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1013.     PRPC_MESSAGE _pRpcMessage,
  1014.     DWORD *_pdwStubPhase);
  1015.  
  1016.  
  1017. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  1018.     IPin __RPC_FAR * This);
  1019.  
  1020.  
  1021. void __RPC_STUB IPin_BeginFlush_Stub(
  1022.     IRpcStubBuffer *This,
  1023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1024.     PRPC_MESSAGE _pRpcMessage,
  1025.     DWORD *_pdwStubPhase);
  1026.  
  1027.  
  1028. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  1029.     IPin __RPC_FAR * This);
  1030.  
  1031.  
  1032. void __RPC_STUB IPin_EndFlush_Stub(
  1033.     IRpcStubBuffer *This,
  1034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1035.     PRPC_MESSAGE _pRpcMessage,
  1036.     DWORD *_pdwStubPhase);
  1037.  
  1038.  
  1039. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  1040.     IPin __RPC_FAR * This,
  1041.     /* [in] */ REFERENCE_TIME tStart,
  1042.     /* [in] */ REFERENCE_TIME tStop,
  1043.     /* [in] */ double dRate);
  1044.  
  1045.  
  1046. void __RPC_STUB IPin_NewSegment_Stub(
  1047.     IRpcStubBuffer *This,
  1048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1049.     PRPC_MESSAGE _pRpcMessage,
  1050.     DWORD *_pdwStubPhase);
  1051.  
  1052.  
  1053.  
  1054. #endif     /* __IPin_INTERFACE_DEFINED__ */
  1055.  
  1056.  
  1057. /* interface __MIDL_itf_strmif_0084 */
  1058. /* [local] */ 
  1059.  
  1060. typedef IPin __RPC_FAR *PPIN;
  1061.  
  1062.  
  1063.  
  1064. extern RPC_IF_HANDLE __MIDL_itf_strmif_0084_v0_0_c_ifspec;
  1065. extern RPC_IF_HANDLE __MIDL_itf_strmif_0084_v0_0_s_ifspec;
  1066.  
  1067. #ifndef __IEnumPins_INTERFACE_DEFINED__
  1068. #define __IEnumPins_INTERFACE_DEFINED__
  1069.  
  1070. /* interface IEnumPins */
  1071. /* [unique][uuid][object] */ 
  1072.  
  1073.  
  1074. EXTERN_C const IID IID_IEnumPins;
  1075.  
  1076. #if defined(__cplusplus) && !defined(CINTERFACE)
  1077.     
  1078.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  1079.     IEnumPins : public IUnknown
  1080.     {
  1081.     public:
  1082.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1083.             /* [in] */ ULONG cPins,
  1084.             /* [size_is][out] */ IPin __RPC_FAR *__RPC_FAR *ppPins,
  1085.             /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  1086.         
  1087.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1088.             /* [in] */ ULONG cPins) = 0;
  1089.         
  1090.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1091.         
  1092.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1093.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  1094.         
  1095.     };
  1096.     
  1097. #else     /* C style interface */
  1098.  
  1099.     typedef struct IEnumPinsVtbl
  1100.     {
  1101.         BEGIN_INTERFACE
  1102.         
  1103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1104.             IEnumPins __RPC_FAR * This,
  1105.             /* [in] */ REFIID riid,
  1106.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1107.         
  1108.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1109.             IEnumPins __RPC_FAR * This);
  1110.         
  1111.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1112.             IEnumPins __RPC_FAR * This);
  1113.         
  1114.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  1115.             IEnumPins __RPC_FAR * This,
  1116.             /* [in] */ ULONG cPins,
  1117.             /* [size_is][out] */ IPin __RPC_FAR *__RPC_FAR *ppPins,
  1118.             /* [out] */ ULONG __RPC_FAR *pcFetched);
  1119.         
  1120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  1121.             IEnumPins __RPC_FAR * This,
  1122.             /* [in] */ ULONG cPins);
  1123.         
  1124.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  1125.             IEnumPins __RPC_FAR * This);
  1126.         
  1127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  1128.             IEnumPins __RPC_FAR * This,
  1129.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  1130.         
  1131.         END_INTERFACE
  1132.     } IEnumPinsVtbl;
  1133.  
  1134.     interface IEnumPins
  1135.     {
  1136.         CONST_VTBL struct IEnumPinsVtbl __RPC_FAR *lpVtbl;
  1137.     };
  1138.  
  1139.     
  1140.  
  1141. #ifdef COBJMACROS
  1142.  
  1143.  
  1144. #define IEnumPins_QueryInterface(This,riid,ppvObject)    \
  1145.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1146.  
  1147. #define IEnumPins_AddRef(This)    \
  1148.     (This)->lpVtbl -> AddRef(This)
  1149.  
  1150. #define IEnumPins_Release(This)    \
  1151.     (This)->lpVtbl -> Release(This)
  1152.  
  1153.  
  1154. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)    \
  1155.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1156.  
  1157. #define IEnumPins_Skip(This,cPins)    \
  1158.     (This)->lpVtbl -> Skip(This,cPins)
  1159.  
  1160. #define IEnumPins_Reset(This)    \
  1161.     (This)->lpVtbl -> Reset(This)
  1162.  
  1163. #define IEnumPins_Clone(This,ppEnum)    \
  1164.     (This)->lpVtbl -> Clone(This,ppEnum)
  1165.  
  1166. #endif /* COBJMACROS */
  1167.  
  1168.  
  1169. #endif     /* C style interface */
  1170.  
  1171.  
  1172.  
  1173. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1174.     IEnumPins __RPC_FAR * This,
  1175.     /* [in] */ ULONG cPins,
  1176.     /* [size_is][out] */ IPin __RPC_FAR *__RPC_FAR *ppPins,
  1177.     /* [out] */ ULONG __RPC_FAR *pcFetched);
  1178.  
  1179.  
  1180. void __RPC_STUB IEnumPins_Next_Stub(
  1181.     IRpcStubBuffer *This,
  1182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1183.     PRPC_MESSAGE _pRpcMessage,
  1184.     DWORD *_pdwStubPhase);
  1185.  
  1186.  
  1187. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1188.     IEnumPins __RPC_FAR * This,
  1189.     /* [in] */ ULONG cPins);
  1190.  
  1191.  
  1192. void __RPC_STUB IEnumPins_Skip_Stub(
  1193.     IRpcStubBuffer *This,
  1194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1195.     PRPC_MESSAGE _pRpcMessage,
  1196.     DWORD *_pdwStubPhase);
  1197.  
  1198.  
  1199. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1200.     IEnumPins __RPC_FAR * This);
  1201.  
  1202.  
  1203. void __RPC_STUB IEnumPins_Reset_Stub(
  1204.     IRpcStubBuffer *This,
  1205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1206.     PRPC_MESSAGE _pRpcMessage,
  1207.     DWORD *_pdwStubPhase);
  1208.  
  1209.  
  1210. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1211.     IEnumPins __RPC_FAR * This,
  1212.     /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  1213.  
  1214.  
  1215. void __RPC_STUB IEnumPins_Clone_Stub(
  1216.     IRpcStubBuffer *This,
  1217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1218.     PRPC_MESSAGE _pRpcMessage,
  1219.     DWORD *_pdwStubPhase);
  1220.  
  1221.  
  1222.  
  1223. #endif     /* __IEnumPins_INTERFACE_DEFINED__ */
  1224.  
  1225.  
  1226. /* interface __MIDL_itf_strmif_0085 */
  1227. /* [local] */ 
  1228.  
  1229. typedef IEnumPins __RPC_FAR *PENUMPINS;
  1230.  
  1231.  
  1232.  
  1233. extern RPC_IF_HANDLE __MIDL_itf_strmif_0085_v0_0_c_ifspec;
  1234. extern RPC_IF_HANDLE __MIDL_itf_strmif_0085_v0_0_s_ifspec;
  1235.  
  1236. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1237. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1238.  
  1239. /* interface IEnumMediaTypes */
  1240. /* [unique][uuid][object] */ 
  1241.  
  1242.  
  1243. EXTERN_C const IID IID_IEnumMediaTypes;
  1244.  
  1245. #if defined(__cplusplus) && !defined(CINTERFACE)
  1246.     
  1247.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1248.     IEnumMediaTypes : public IUnknown
  1249.     {
  1250.     public:
  1251.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1252.             /* [in] */ ULONG cMediaTypes,
  1253.             /* [size_is][out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaTypes,
  1254.             /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  1255.         
  1256.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1257.             /* [in] */ ULONG cMediaTypes) = 0;
  1258.         
  1259.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1260.         
  1261.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1262.             /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  1263.         
  1264.     };
  1265.     
  1266. #else     /* C style interface */
  1267.  
  1268.     typedef struct IEnumMediaTypesVtbl
  1269.     {
  1270.         BEGIN_INTERFACE
  1271.         
  1272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1273.             IEnumMediaTypes __RPC_FAR * This,
  1274.             /* [in] */ REFIID riid,
  1275.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1276.         
  1277.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1278.             IEnumMediaTypes __RPC_FAR * This);
  1279.         
  1280.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1281.             IEnumMediaTypes __RPC_FAR * This);
  1282.         
  1283.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  1284.             IEnumMediaTypes __RPC_FAR * This,
  1285.             /* [in] */ ULONG cMediaTypes,
  1286.             /* [size_is][out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaTypes,
  1287.             /* [out] */ ULONG __RPC_FAR *pcFetched);
  1288.         
  1289.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  1290.             IEnumMediaTypes __RPC_FAR * This,
  1291.             /* [in] */ ULONG cMediaTypes);
  1292.         
  1293.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  1294.             IEnumMediaTypes __RPC_FAR * This);
  1295.         
  1296.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  1297.             IEnumMediaTypes __RPC_FAR * This,
  1298.             /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum);
  1299.         
  1300.         END_INTERFACE
  1301.     } IEnumMediaTypesVtbl;
  1302.  
  1303.     interface IEnumMediaTypes
  1304.     {
  1305.         CONST_VTBL struct IEnumMediaTypesVtbl __RPC_FAR *lpVtbl;
  1306.     };
  1307.  
  1308.     
  1309.  
  1310. #ifdef COBJMACROS
  1311.  
  1312.  
  1313. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)    \
  1314.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1315.  
  1316. #define IEnumMediaTypes_AddRef(This)    \
  1317.     (This)->lpVtbl -> AddRef(This)
  1318.  
  1319. #define IEnumMediaTypes_Release(This)    \
  1320.     (This)->lpVtbl -> Release(This)
  1321.  
  1322.  
  1323. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)    \
  1324.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1325.  
  1326. #define IEnumMediaTypes_Skip(This,cMediaTypes)    \
  1327.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1328.  
  1329. #define IEnumMediaTypes_Reset(This)    \
  1330.     (This)->lpVtbl -> Reset(This)
  1331.  
  1332. #define IEnumMediaTypes_Clone(This,ppEnum)    \
  1333.     (This)->lpVtbl -> Clone(This,ppEnum)
  1334.  
  1335. #endif /* COBJMACROS */
  1336.  
  1337.  
  1338. #endif     /* C style interface */
  1339.  
  1340.  
  1341.  
  1342. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1343.     IEnumMediaTypes __RPC_FAR * This,
  1344.     /* [in] */ ULONG cMediaTypes,
  1345.     /* [size_is][out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaTypes,
  1346.     /* [out] */ ULONG __RPC_FAR *pcFetched);
  1347.  
  1348.  
  1349. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1350.     IRpcStubBuffer *This,
  1351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1352.     PRPC_MESSAGE _pRpcMessage,
  1353.     DWORD *_pdwStubPhase);
  1354.  
  1355.  
  1356. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1357.     IEnumMediaTypes __RPC_FAR * This,
  1358.     /* [in] */ ULONG cMediaTypes);
  1359.  
  1360.  
  1361. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1362.     IRpcStubBuffer *This,
  1363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1364.     PRPC_MESSAGE _pRpcMessage,
  1365.     DWORD *_pdwStubPhase);
  1366.  
  1367.  
  1368. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1369.     IEnumMediaTypes __RPC_FAR * This);
  1370.  
  1371.  
  1372. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1373.     IRpcStubBuffer *This,
  1374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1375.     PRPC_MESSAGE _pRpcMessage,
  1376.     DWORD *_pdwStubPhase);
  1377.  
  1378.  
  1379. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1380.     IEnumMediaTypes __RPC_FAR * This,
  1381.     /* [out] */ IEnumMediaTypes __RPC_FAR *__RPC_FAR *ppEnum);
  1382.  
  1383.  
  1384. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1385.     IRpcStubBuffer *This,
  1386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1387.     PRPC_MESSAGE _pRpcMessage,
  1388.     DWORD *_pdwStubPhase);
  1389.  
  1390.  
  1391.  
  1392. #endif     /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1393.  
  1394.  
  1395. /* interface __MIDL_itf_strmif_0086 */
  1396. /* [local] */ 
  1397.  
  1398. typedef IEnumMediaTypes __RPC_FAR *PENUMMEDIATYPES;
  1399.  
  1400.  
  1401.  
  1402. extern RPC_IF_HANDLE __MIDL_itf_strmif_0086_v0_0_c_ifspec;
  1403. extern RPC_IF_HANDLE __MIDL_itf_strmif_0086_v0_0_s_ifspec;
  1404.  
  1405. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1406. #define __IFilterGraph_INTERFACE_DEFINED__
  1407.  
  1408. /* interface IFilterGraph */
  1409. /* [unique][uuid][object] */ 
  1410.  
  1411.  
  1412. EXTERN_C const IID IID_IFilterGraph;
  1413.  
  1414. #if defined(__cplusplus) && !defined(CINTERFACE)
  1415.     
  1416.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1417.     IFilterGraph : public IUnknown
  1418.     {
  1419.     public:
  1420.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1421.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  1422.             /* [string][in] */ LPCWSTR pName) = 0;
  1423.         
  1424.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1425.             /* [in] */ IBaseFilter __RPC_FAR *pFilter) = 0;
  1426.         
  1427.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1428.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  1429.         
  1430.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1431.             /* [string][in] */ LPCWSTR pName,
  1432.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter) = 0;
  1433.         
  1434.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1435.             /* [in] */ IPin __RPC_FAR *ppinOut,
  1436.             /* [in] */ IPin __RPC_FAR *ppinIn,
  1437.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  1438.         
  1439.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1440.             /* [in] */ IPin __RPC_FAR *ppin) = 0;
  1441.         
  1442.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1443.             /* [in] */ IPin __RPC_FAR *ppin) = 0;
  1444.         
  1445.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1446.         
  1447.     };
  1448.     
  1449. #else     /* C style interface */
  1450.  
  1451.     typedef struct IFilterGraphVtbl
  1452.     {
  1453.         BEGIN_INTERFACE
  1454.         
  1455.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1456.             IFilterGraph __RPC_FAR * This,
  1457.             /* [in] */ REFIID riid,
  1458.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1459.         
  1460.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1461.             IFilterGraph __RPC_FAR * This);
  1462.         
  1463.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1464.             IFilterGraph __RPC_FAR * This);
  1465.         
  1466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFilter )( 
  1467.             IFilterGraph __RPC_FAR * This,
  1468.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  1469.             /* [string][in] */ LPCWSTR pName);
  1470.         
  1471.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveFilter )( 
  1472.             IFilterGraph __RPC_FAR * This,
  1473.             /* [in] */ IBaseFilter __RPC_FAR *pFilter);
  1474.         
  1475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFilters )( 
  1476.             IFilterGraph __RPC_FAR * This,
  1477.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  1478.         
  1479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFilterByName )( 
  1480.             IFilterGraph __RPC_FAR * This,
  1481.             /* [string][in] */ LPCWSTR pName,
  1482.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  1483.         
  1484.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectDirect )( 
  1485.             IFilterGraph __RPC_FAR * This,
  1486.             /* [in] */ IPin __RPC_FAR *ppinOut,
  1487.             /* [in] */ IPin __RPC_FAR *ppinIn,
  1488.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  1489.         
  1490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reconnect )( 
  1491.             IFilterGraph __RPC_FAR * This,
  1492.             /* [in] */ IPin __RPC_FAR *ppin);
  1493.         
  1494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  1495.             IFilterGraph __RPC_FAR * This,
  1496.             /* [in] */ IPin __RPC_FAR *ppin);
  1497.         
  1498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultSyncSource )( 
  1499.             IFilterGraph __RPC_FAR * This);
  1500.         
  1501.         END_INTERFACE
  1502.     } IFilterGraphVtbl;
  1503.  
  1504.     interface IFilterGraph
  1505.     {
  1506.         CONST_VTBL struct IFilterGraphVtbl __RPC_FAR *lpVtbl;
  1507.     };
  1508.  
  1509.     
  1510.  
  1511. #ifdef COBJMACROS
  1512.  
  1513.  
  1514. #define IFilterGraph_QueryInterface(This,riid,ppvObject)    \
  1515.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1516.  
  1517. #define IFilterGraph_AddRef(This)    \
  1518.     (This)->lpVtbl -> AddRef(This)
  1519.  
  1520. #define IFilterGraph_Release(This)    \
  1521.     (This)->lpVtbl -> Release(This)
  1522.  
  1523.  
  1524. #define IFilterGraph_AddFilter(This,pFilter,pName)    \
  1525.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1526.  
  1527. #define IFilterGraph_RemoveFilter(This,pFilter)    \
  1528.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1529.  
  1530. #define IFilterGraph_EnumFilters(This,ppEnum)    \
  1531.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1532.  
  1533. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)    \
  1534.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1535.  
  1536. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  1537.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1538.  
  1539. #define IFilterGraph_Reconnect(This,ppin)    \
  1540.     (This)->lpVtbl -> Reconnect(This,ppin)
  1541.  
  1542. #define IFilterGraph_Disconnect(This,ppin)    \
  1543.     (This)->lpVtbl -> Disconnect(This,ppin)
  1544.  
  1545. #define IFilterGraph_SetDefaultSyncSource(This)    \
  1546.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1547.  
  1548. #endif /* COBJMACROS */
  1549.  
  1550.  
  1551. #endif     /* C style interface */
  1552.  
  1553.  
  1554.  
  1555. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1556.     IFilterGraph __RPC_FAR * This,
  1557.     /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  1558.     /* [string][in] */ LPCWSTR pName);
  1559.  
  1560.  
  1561. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1562.     IRpcStubBuffer *This,
  1563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1564.     PRPC_MESSAGE _pRpcMessage,
  1565.     DWORD *_pdwStubPhase);
  1566.  
  1567.  
  1568. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1569.     IFilterGraph __RPC_FAR * This,
  1570.     /* [in] */ IBaseFilter __RPC_FAR *pFilter);
  1571.  
  1572.  
  1573. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1574.     IRpcStubBuffer *This,
  1575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1576.     PRPC_MESSAGE _pRpcMessage,
  1577.     DWORD *_pdwStubPhase);
  1578.  
  1579.  
  1580. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1581.     IFilterGraph __RPC_FAR * This,
  1582.     /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  1583.  
  1584.  
  1585. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590.  
  1591.  
  1592. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1593.     IFilterGraph __RPC_FAR * This,
  1594.     /* [string][in] */ LPCWSTR pName,
  1595.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  1596.  
  1597.  
  1598. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1599.     IRpcStubBuffer *This,
  1600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1601.     PRPC_MESSAGE _pRpcMessage,
  1602.     DWORD *_pdwStubPhase);
  1603.  
  1604.  
  1605. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  1606.     IFilterGraph __RPC_FAR * This,
  1607.     /* [in] */ IPin __RPC_FAR *ppinOut,
  1608.     /* [in] */ IPin __RPC_FAR *ppinIn,
  1609.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  1610.  
  1611.  
  1612. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1613.     IRpcStubBuffer *This,
  1614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1615.     PRPC_MESSAGE _pRpcMessage,
  1616.     DWORD *_pdwStubPhase);
  1617.  
  1618.  
  1619. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  1620.     IFilterGraph __RPC_FAR * This,
  1621.     /* [in] */ IPin __RPC_FAR *ppin);
  1622.  
  1623.  
  1624. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1625.     IRpcStubBuffer *This,
  1626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1627.     PRPC_MESSAGE _pRpcMessage,
  1628.     DWORD *_pdwStubPhase);
  1629.  
  1630.  
  1631. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  1632.     IFilterGraph __RPC_FAR * This,
  1633.     /* [in] */ IPin __RPC_FAR *ppin);
  1634.  
  1635.  
  1636. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1637.     IRpcStubBuffer *This,
  1638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1639.     PRPC_MESSAGE _pRpcMessage,
  1640.     DWORD *_pdwStubPhase);
  1641.  
  1642.  
  1643. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  1644.     IFilterGraph __RPC_FAR * This);
  1645.  
  1646.  
  1647. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  1648.     IRpcStubBuffer *This,
  1649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1650.     PRPC_MESSAGE _pRpcMessage,
  1651.     DWORD *_pdwStubPhase);
  1652.  
  1653.  
  1654.  
  1655. #endif     /* __IFilterGraph_INTERFACE_DEFINED__ */
  1656.  
  1657.  
  1658. /* interface __MIDL_itf_strmif_0087 */
  1659. /* [local] */ 
  1660.  
  1661. typedef IFilterGraph __RPC_FAR *PFILTERGRAPH;
  1662.  
  1663.  
  1664.  
  1665. extern RPC_IF_HANDLE __MIDL_itf_strmif_0087_v0_0_c_ifspec;
  1666. extern RPC_IF_HANDLE __MIDL_itf_strmif_0087_v0_0_s_ifspec;
  1667.  
  1668. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  1669. #define __IEnumFilters_INTERFACE_DEFINED__
  1670.  
  1671. /* interface IEnumFilters */
  1672. /* [unique][uuid][object] */ 
  1673.  
  1674.  
  1675. EXTERN_C const IID IID_IEnumFilters;
  1676.  
  1677. #if defined(__cplusplus) && !defined(CINTERFACE)
  1678.     
  1679.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  1680.     IEnumFilters : public IUnknown
  1681.     {
  1682.     public:
  1683.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1684.             /* [in] */ ULONG cFilters,
  1685.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter,
  1686.             /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  1687.         
  1688.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1689.             /* [in] */ ULONG cFilters) = 0;
  1690.         
  1691.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1692.         
  1693.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1694.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  1695.         
  1696.     };
  1697.     
  1698. #else     /* C style interface */
  1699.  
  1700.     typedef struct IEnumFiltersVtbl
  1701.     {
  1702.         BEGIN_INTERFACE
  1703.         
  1704.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1705.             IEnumFilters __RPC_FAR * This,
  1706.             /* [in] */ REFIID riid,
  1707.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1708.         
  1709.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1710.             IEnumFilters __RPC_FAR * This);
  1711.         
  1712.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1713.             IEnumFilters __RPC_FAR * This);
  1714.         
  1715.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  1716.             IEnumFilters __RPC_FAR * This,
  1717.             /* [in] */ ULONG cFilters,
  1718.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter,
  1719.             /* [out] */ ULONG __RPC_FAR *pcFetched);
  1720.         
  1721.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  1722.             IEnumFilters __RPC_FAR * This,
  1723.             /* [in] */ ULONG cFilters);
  1724.         
  1725.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  1726.             IEnumFilters __RPC_FAR * This);
  1727.         
  1728.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  1729.             IEnumFilters __RPC_FAR * This,
  1730.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  1731.         
  1732.         END_INTERFACE
  1733.     } IEnumFiltersVtbl;
  1734.  
  1735.     interface IEnumFilters
  1736.     {
  1737.         CONST_VTBL struct IEnumFiltersVtbl __RPC_FAR *lpVtbl;
  1738.     };
  1739.  
  1740.     
  1741.  
  1742. #ifdef COBJMACROS
  1743.  
  1744.  
  1745. #define IEnumFilters_QueryInterface(This,riid,ppvObject)    \
  1746.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1747.  
  1748. #define IEnumFilters_AddRef(This)    \
  1749.     (This)->lpVtbl -> AddRef(This)
  1750.  
  1751. #define IEnumFilters_Release(This)    \
  1752.     (This)->lpVtbl -> Release(This)
  1753.  
  1754.  
  1755. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)    \
  1756.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  1757.  
  1758. #define IEnumFilters_Skip(This,cFilters)    \
  1759.     (This)->lpVtbl -> Skip(This,cFilters)
  1760.  
  1761. #define IEnumFilters_Reset(This)    \
  1762.     (This)->lpVtbl -> Reset(This)
  1763.  
  1764. #define IEnumFilters_Clone(This,ppEnum)    \
  1765.     (This)->lpVtbl -> Clone(This,ppEnum)
  1766.  
  1767. #endif /* COBJMACROS */
  1768.  
  1769.  
  1770. #endif     /* C style interface */
  1771.  
  1772.  
  1773.  
  1774. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  1775.     IEnumFilters __RPC_FAR * This,
  1776.     /* [in] */ ULONG cFilters,
  1777.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter,
  1778.     /* [out] */ ULONG __RPC_FAR *pcFetched);
  1779.  
  1780.  
  1781. void __RPC_STUB IEnumFilters_Next_Stub(
  1782.     IRpcStubBuffer *This,
  1783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1784.     PRPC_MESSAGE _pRpcMessage,
  1785.     DWORD *_pdwStubPhase);
  1786.  
  1787.  
  1788. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  1789.     IEnumFilters __RPC_FAR * This,
  1790.     /* [in] */ ULONG cFilters);
  1791.  
  1792.  
  1793. void __RPC_STUB IEnumFilters_Skip_Stub(
  1794.     IRpcStubBuffer *This,
  1795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1796.     PRPC_MESSAGE _pRpcMessage,
  1797.     DWORD *_pdwStubPhase);
  1798.  
  1799.  
  1800. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  1801.     IEnumFilters __RPC_FAR * This);
  1802.  
  1803.  
  1804. void __RPC_STUB IEnumFilters_Reset_Stub(
  1805.     IRpcStubBuffer *This,
  1806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1807.     PRPC_MESSAGE _pRpcMessage,
  1808.     DWORD *_pdwStubPhase);
  1809.  
  1810.  
  1811. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  1812.     IEnumFilters __RPC_FAR * This,
  1813.     /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  1814.  
  1815.  
  1816. void __RPC_STUB IEnumFilters_Clone_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821.  
  1822.  
  1823.  
  1824. #endif     /* __IEnumFilters_INTERFACE_DEFINED__ */
  1825.  
  1826.  
  1827. /* interface __MIDL_itf_strmif_0088 */
  1828. /* [local] */ 
  1829.  
  1830. typedef IEnumFilters __RPC_FAR *PENUMFILTERS;
  1831.  
  1832.  
  1833.  
  1834. extern RPC_IF_HANDLE __MIDL_itf_strmif_0088_v0_0_c_ifspec;
  1835. extern RPC_IF_HANDLE __MIDL_itf_strmif_0088_v0_0_s_ifspec;
  1836.  
  1837. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  1838. #define __IMediaFilter_INTERFACE_DEFINED__
  1839.  
  1840. /* interface IMediaFilter */
  1841. /* [unique][uuid][object] */ 
  1842.  
  1843. typedef 
  1844. enum _FilterState
  1845.     {    State_Stopped    = 0,
  1846.     State_Paused    = State_Stopped + 1,
  1847.     State_Running    = State_Paused + 1
  1848.     }    FILTER_STATE;
  1849.  
  1850.  
  1851. EXTERN_C const IID IID_IMediaFilter;
  1852.  
  1853. #if defined(__cplusplus) && !defined(CINTERFACE)
  1854.     
  1855.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  1856.     IMediaFilter : public IPersist
  1857.     {
  1858.     public:
  1859.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1860.         
  1861.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1862.         
  1863.         virtual HRESULT STDMETHODCALLTYPE Run( 
  1864.             REFERENCE_TIME tStart) = 0;
  1865.         
  1866.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  1867.             /* [in] */ DWORD dwMilliSecsTimeout,
  1868.             /* [out] */ FILTER_STATE __RPC_FAR *State) = 0;
  1869.         
  1870.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  1871.             /* [in] */ IReferenceClock __RPC_FAR *pClock) = 0;
  1872.         
  1873.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  1874.             /* [out] */ IReferenceClock __RPC_FAR *__RPC_FAR *pClock) = 0;
  1875.         
  1876.     };
  1877.     
  1878. #else     /* C style interface */
  1879.  
  1880.     typedef struct IMediaFilterVtbl
  1881.     {
  1882.         BEGIN_INTERFACE
  1883.         
  1884.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1885.             IMediaFilter __RPC_FAR * This,
  1886.             /* [in] */ REFIID riid,
  1887.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1888.         
  1889.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1890.             IMediaFilter __RPC_FAR * This);
  1891.         
  1892.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1893.             IMediaFilter __RPC_FAR * This);
  1894.         
  1895.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  1896.             IMediaFilter __RPC_FAR * This,
  1897.             /* [out] */ CLSID __RPC_FAR *pClassID);
  1898.         
  1899.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  1900.             IMediaFilter __RPC_FAR * This);
  1901.         
  1902.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  1903.             IMediaFilter __RPC_FAR * This);
  1904.         
  1905.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  1906.             IMediaFilter __RPC_FAR * This,
  1907.             REFERENCE_TIME tStart);
  1908.         
  1909.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  1910.             IMediaFilter __RPC_FAR * This,
  1911.             /* [in] */ DWORD dwMilliSecsTimeout,
  1912.             /* [out] */ FILTER_STATE __RPC_FAR *State);
  1913.         
  1914.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncSource )( 
  1915.             IMediaFilter __RPC_FAR * This,
  1916.             /* [in] */ IReferenceClock __RPC_FAR *pClock);
  1917.         
  1918.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncSource )( 
  1919.             IMediaFilter __RPC_FAR * This,
  1920.             /* [out] */ IReferenceClock __RPC_FAR *__RPC_FAR *pClock);
  1921.         
  1922.         END_INTERFACE
  1923.     } IMediaFilterVtbl;
  1924.  
  1925.     interface IMediaFilter
  1926.     {
  1927.         CONST_VTBL struct IMediaFilterVtbl __RPC_FAR *lpVtbl;
  1928.     };
  1929.  
  1930.     
  1931.  
  1932. #ifdef COBJMACROS
  1933.  
  1934.  
  1935. #define IMediaFilter_QueryInterface(This,riid,ppvObject)    \
  1936.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1937.  
  1938. #define IMediaFilter_AddRef(This)    \
  1939.     (This)->lpVtbl -> AddRef(This)
  1940.  
  1941. #define IMediaFilter_Release(This)    \
  1942.     (This)->lpVtbl -> Release(This)
  1943.  
  1944.  
  1945. #define IMediaFilter_GetClassID(This,pClassID)    \
  1946.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1947.  
  1948.  
  1949. #define IMediaFilter_Stop(This)    \
  1950.     (This)->lpVtbl -> Stop(This)
  1951.  
  1952. #define IMediaFilter_Pause(This)    \
  1953.     (This)->lpVtbl -> Pause(This)
  1954.  
  1955. #define IMediaFilter_Run(This,tStart)    \
  1956.     (This)->lpVtbl -> Run(This,tStart)
  1957.  
  1958. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)    \
  1959.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1960.  
  1961. #define IMediaFilter_SetSyncSource(This,pClock)    \
  1962.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  1963.  
  1964. #define IMediaFilter_GetSyncSource(This,pClock)    \
  1965.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  1966.  
  1967. #endif /* COBJMACROS */
  1968.  
  1969.  
  1970. #endif     /* C style interface */
  1971.  
  1972.  
  1973.  
  1974. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  1975.     IMediaFilter __RPC_FAR * This);
  1976.  
  1977.  
  1978. void __RPC_STUB IMediaFilter_Stop_Stub(
  1979.     IRpcStubBuffer *This,
  1980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1981.     PRPC_MESSAGE _pRpcMessage,
  1982.     DWORD *_pdwStubPhase);
  1983.  
  1984.  
  1985. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  1986.     IMediaFilter __RPC_FAR * This);
  1987.  
  1988.  
  1989. void __RPC_STUB IMediaFilter_Pause_Stub(
  1990.     IRpcStubBuffer *This,
  1991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1992.     PRPC_MESSAGE _pRpcMessage,
  1993.     DWORD *_pdwStubPhase);
  1994.  
  1995.  
  1996. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  1997.     IMediaFilter __RPC_FAR * This,
  1998.     REFERENCE_TIME tStart);
  1999.  
  2000.  
  2001. void __RPC_STUB IMediaFilter_Run_Stub(
  2002.     IRpcStubBuffer *This,
  2003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2004.     PRPC_MESSAGE _pRpcMessage,
  2005.     DWORD *_pdwStubPhase);
  2006.  
  2007.  
  2008. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  2009.     IMediaFilter __RPC_FAR * This,
  2010.     /* [in] */ DWORD dwMilliSecsTimeout,
  2011.     /* [out] */ FILTER_STATE __RPC_FAR *State);
  2012.  
  2013.  
  2014. void __RPC_STUB IMediaFilter_GetState_Stub(
  2015.     IRpcStubBuffer *This,
  2016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2017.     PRPC_MESSAGE _pRpcMessage,
  2018.     DWORD *_pdwStubPhase);
  2019.  
  2020.  
  2021. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  2022.     IMediaFilter __RPC_FAR * This,
  2023.     /* [in] */ IReferenceClock __RPC_FAR *pClock);
  2024.  
  2025.  
  2026. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  2027.     IRpcStubBuffer *This,
  2028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2029.     PRPC_MESSAGE _pRpcMessage,
  2030.     DWORD *_pdwStubPhase);
  2031.  
  2032.  
  2033. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  2034.     IMediaFilter __RPC_FAR * This,
  2035.     /* [out] */ IReferenceClock __RPC_FAR *__RPC_FAR *pClock);
  2036.  
  2037.  
  2038. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  2039.     IRpcStubBuffer *This,
  2040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2041.     PRPC_MESSAGE _pRpcMessage,
  2042.     DWORD *_pdwStubPhase);
  2043.  
  2044.  
  2045.  
  2046. #endif     /* __IMediaFilter_INTERFACE_DEFINED__ */
  2047.  
  2048.  
  2049. /* interface __MIDL_itf_strmif_0089 */
  2050. /* [local] */ 
  2051.  
  2052. typedef IMediaFilter __RPC_FAR *PMEDIAFILTER;
  2053.  
  2054.  
  2055.  
  2056. extern RPC_IF_HANDLE __MIDL_itf_strmif_0089_v0_0_c_ifspec;
  2057. extern RPC_IF_HANDLE __MIDL_itf_strmif_0089_v0_0_s_ifspec;
  2058.  
  2059. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  2060. #define __IBaseFilter_INTERFACE_DEFINED__
  2061.  
  2062. /* interface IBaseFilter */
  2063. /* [unique][uuid][object] */ 
  2064.  
  2065. typedef struct _FilterInfo
  2066.     {
  2067.     WCHAR achName[ 128 ];
  2068.     IFilterGraph __RPC_FAR *pGraph;
  2069.     }    FILTER_INFO;
  2070.  
  2071.  
  2072. EXTERN_C const IID IID_IBaseFilter;
  2073.  
  2074. #if defined(__cplusplus) && !defined(CINTERFACE)
  2075.     
  2076.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  2077.     IBaseFilter : public IMediaFilter
  2078.     {
  2079.     public:
  2080.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  2081.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  2082.         
  2083.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  2084.             /* [string][in] */ LPCWSTR Id,
  2085.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin) = 0;
  2086.         
  2087.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  2088.             /* [out] */ FILTER_INFO __RPC_FAR *pInfo) = 0;
  2089.         
  2090.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  2091.             /* [in] */ IFilterGraph __RPC_FAR *pGraph,
  2092.             /* [string][in] */ LPCWSTR pName) = 0;
  2093.         
  2094.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  2095.             /* [string][out] */ LPWSTR __RPC_FAR *pVendorInfo) = 0;
  2096.         
  2097.     };
  2098.     
  2099. #else     /* C style interface */
  2100.  
  2101.     typedef struct IBaseFilterVtbl
  2102.     {
  2103.         BEGIN_INTERFACE
  2104.         
  2105.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2106.             IBaseFilter __RPC_FAR * This,
  2107.             /* [in] */ REFIID riid,
  2108.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2109.         
  2110.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2111.             IBaseFilter __RPC_FAR * This);
  2112.         
  2113.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2114.             IBaseFilter __RPC_FAR * This);
  2115.         
  2116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  2117.             IBaseFilter __RPC_FAR * This,
  2118.             /* [out] */ CLSID __RPC_FAR *pClassID);
  2119.         
  2120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  2121.             IBaseFilter __RPC_FAR * This);
  2122.         
  2123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  2124.             IBaseFilter __RPC_FAR * This);
  2125.         
  2126.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  2127.             IBaseFilter __RPC_FAR * This,
  2128.             REFERENCE_TIME tStart);
  2129.         
  2130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  2131.             IBaseFilter __RPC_FAR * This,
  2132.             /* [in] */ DWORD dwMilliSecsTimeout,
  2133.             /* [out] */ FILTER_STATE __RPC_FAR *State);
  2134.         
  2135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncSource )( 
  2136.             IBaseFilter __RPC_FAR * This,
  2137.             /* [in] */ IReferenceClock __RPC_FAR *pClock);
  2138.         
  2139.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncSource )( 
  2140.             IBaseFilter __RPC_FAR * This,
  2141.             /* [out] */ IReferenceClock __RPC_FAR *__RPC_FAR *pClock);
  2142.         
  2143.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumPins )( 
  2144.             IBaseFilter __RPC_FAR * This,
  2145.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  2146.         
  2147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindPin )( 
  2148.             IBaseFilter __RPC_FAR * This,
  2149.             /* [string][in] */ LPCWSTR Id,
  2150.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin);
  2151.         
  2152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryFilterInfo )( 
  2153.             IBaseFilter __RPC_FAR * This,
  2154.             /* [out] */ FILTER_INFO __RPC_FAR *pInfo);
  2155.         
  2156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *JoinFilterGraph )( 
  2157.             IBaseFilter __RPC_FAR * This,
  2158.             /* [in] */ IFilterGraph __RPC_FAR *pGraph,
  2159.             /* [string][in] */ LPCWSTR pName);
  2160.         
  2161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryVendorInfo )( 
  2162.             IBaseFilter __RPC_FAR * This,
  2163.             /* [string][out] */ LPWSTR __RPC_FAR *pVendorInfo);
  2164.         
  2165.         END_INTERFACE
  2166.     } IBaseFilterVtbl;
  2167.  
  2168.     interface IBaseFilter
  2169.     {
  2170.         CONST_VTBL struct IBaseFilterVtbl __RPC_FAR *lpVtbl;
  2171.     };
  2172.  
  2173.     
  2174.  
  2175. #ifdef COBJMACROS
  2176.  
  2177.  
  2178. #define IBaseFilter_QueryInterface(This,riid,ppvObject)    \
  2179.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2180.  
  2181. #define IBaseFilter_AddRef(This)    \
  2182.     (This)->lpVtbl -> AddRef(This)
  2183.  
  2184. #define IBaseFilter_Release(This)    \
  2185.     (This)->lpVtbl -> Release(This)
  2186.  
  2187.  
  2188. #define IBaseFilter_GetClassID(This,pClassID)    \
  2189.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2190.  
  2191.  
  2192. #define IBaseFilter_Stop(This)    \
  2193.     (This)->lpVtbl -> Stop(This)
  2194.  
  2195. #define IBaseFilter_Pause(This)    \
  2196.     (This)->lpVtbl -> Pause(This)
  2197.  
  2198. #define IBaseFilter_Run(This,tStart)    \
  2199.     (This)->lpVtbl -> Run(This,tStart)
  2200.  
  2201. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2202.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2203.  
  2204. #define IBaseFilter_SetSyncSource(This,pClock)    \
  2205.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2206.  
  2207. #define IBaseFilter_GetSyncSource(This,pClock)    \
  2208.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2209.  
  2210.  
  2211. #define IBaseFilter_EnumPins(This,ppEnum)    \
  2212.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  2213.  
  2214. #define IBaseFilter_FindPin(This,Id,ppPin)    \
  2215.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  2216.  
  2217. #define IBaseFilter_QueryFilterInfo(This,pInfo)    \
  2218.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  2219.  
  2220. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)    \
  2221.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  2222.  
  2223. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)    \
  2224.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  2225.  
  2226. #endif /* COBJMACROS */
  2227.  
  2228.  
  2229. #endif     /* C style interface */
  2230.  
  2231.  
  2232.  
  2233. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  2234.     IBaseFilter __RPC_FAR * This,
  2235.     /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  2236.  
  2237.  
  2238. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  2239.     IRpcStubBuffer *This,
  2240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2241.     PRPC_MESSAGE _pRpcMessage,
  2242.     DWORD *_pdwStubPhase);
  2243.  
  2244.  
  2245. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  2246.     IBaseFilter __RPC_FAR * This,
  2247.     /* [string][in] */ LPCWSTR Id,
  2248.     /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin);
  2249.  
  2250.  
  2251. void __RPC_STUB IBaseFilter_FindPin_Stub(
  2252.     IRpcStubBuffer *This,
  2253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2254.     PRPC_MESSAGE _pRpcMessage,
  2255.     DWORD *_pdwStubPhase);
  2256.  
  2257.  
  2258. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  2259.     IBaseFilter __RPC_FAR * This,
  2260.     /* [out] */ FILTER_INFO __RPC_FAR *pInfo);
  2261.  
  2262.  
  2263. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  2264.     IRpcStubBuffer *This,
  2265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2266.     PRPC_MESSAGE _pRpcMessage,
  2267.     DWORD *_pdwStubPhase);
  2268.  
  2269.  
  2270. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  2271.     IBaseFilter __RPC_FAR * This,
  2272.     /* [in] */ IFilterGraph __RPC_FAR *pGraph,
  2273.     /* [string][in] */ LPCWSTR pName);
  2274.  
  2275.  
  2276. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  2277.     IRpcStubBuffer *This,
  2278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2279.     PRPC_MESSAGE _pRpcMessage,
  2280.     DWORD *_pdwStubPhase);
  2281.  
  2282.  
  2283. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  2284.     IBaseFilter __RPC_FAR * This,
  2285.     /* [string][out] */ LPWSTR __RPC_FAR *pVendorInfo);
  2286.  
  2287.  
  2288. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  2289.     IRpcStubBuffer *This,
  2290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2291.     PRPC_MESSAGE _pRpcMessage,
  2292.     DWORD *_pdwStubPhase);
  2293.  
  2294.  
  2295.  
  2296. #endif     /* __IBaseFilter_INTERFACE_DEFINED__ */
  2297.  
  2298.  
  2299. /* interface __MIDL_itf_strmif_0090 */
  2300. /* [local] */ 
  2301.  
  2302. typedef IBaseFilter __RPC_FAR *PFILTER;
  2303.  
  2304.  
  2305.  
  2306. extern RPC_IF_HANDLE __MIDL_itf_strmif_0090_v0_0_c_ifspec;
  2307. extern RPC_IF_HANDLE __MIDL_itf_strmif_0090_v0_0_s_ifspec;
  2308.  
  2309. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  2310. #define __IReferenceClock_INTERFACE_DEFINED__
  2311.  
  2312. /* interface IReferenceClock */
  2313. /* [unique][uuid][object] */ 
  2314.  
  2315.  
  2316. EXTERN_C const IID IID_IReferenceClock;
  2317.  
  2318. #if defined(__cplusplus) && !defined(CINTERFACE)
  2319.     
  2320.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  2321.     IReferenceClock : public IUnknown
  2322.     {
  2323.     public:
  2324.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2325.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTime) = 0;
  2326.         
  2327.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  2328.             /* [in] */ REFERENCE_TIME baseTime,
  2329.             /* [in] */ REFERENCE_TIME streamTime,
  2330.             /* [in] */ HEVENT hEvent,
  2331.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie) = 0;
  2332.         
  2333.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  2334.             /* [in] */ REFERENCE_TIME startTime,
  2335.             /* [in] */ REFERENCE_TIME periodTime,
  2336.             /* [in] */ HSEMAPHORE hSemaphore,
  2337.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie) = 0;
  2338.         
  2339.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  2340.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  2341.         
  2342.     };
  2343.     
  2344. #else     /* C style interface */
  2345.  
  2346.     typedef struct IReferenceClockVtbl
  2347.     {
  2348.         BEGIN_INTERFACE
  2349.         
  2350.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2351.             IReferenceClock __RPC_FAR * This,
  2352.             /* [in] */ REFIID riid,
  2353.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2354.         
  2355.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2356.             IReferenceClock __RPC_FAR * This);
  2357.         
  2358.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2359.             IReferenceClock __RPC_FAR * This);
  2360.         
  2361.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  2362.             IReferenceClock __RPC_FAR * This,
  2363.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTime);
  2364.         
  2365.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AdviseTime )( 
  2366.             IReferenceClock __RPC_FAR * This,
  2367.             /* [in] */ REFERENCE_TIME baseTime,
  2368.             /* [in] */ REFERENCE_TIME streamTime,
  2369.             /* [in] */ HEVENT hEvent,
  2370.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2371.         
  2372.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AdvisePeriodic )( 
  2373.             IReferenceClock __RPC_FAR * This,
  2374.             /* [in] */ REFERENCE_TIME startTime,
  2375.             /* [in] */ REFERENCE_TIME periodTime,
  2376.             /* [in] */ HSEMAPHORE hSemaphore,
  2377.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2378.         
  2379.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )( 
  2380.             IReferenceClock __RPC_FAR * This,
  2381.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2382.         
  2383.         END_INTERFACE
  2384.     } IReferenceClockVtbl;
  2385.  
  2386.     interface IReferenceClock
  2387.     {
  2388.         CONST_VTBL struct IReferenceClockVtbl __RPC_FAR *lpVtbl;
  2389.     };
  2390.  
  2391.     
  2392.  
  2393. #ifdef COBJMACROS
  2394.  
  2395.  
  2396. #define IReferenceClock_QueryInterface(This,riid,ppvObject)    \
  2397.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2398.  
  2399. #define IReferenceClock_AddRef(This)    \
  2400.     (This)->lpVtbl -> AddRef(This)
  2401.  
  2402. #define IReferenceClock_Release(This)    \
  2403.     (This)->lpVtbl -> Release(This)
  2404.  
  2405.  
  2406. #define IReferenceClock_GetTime(This,pTime)    \
  2407.     (This)->lpVtbl -> GetTime(This,pTime)
  2408.  
  2409. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2410.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2411.  
  2412. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2413.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2414.  
  2415. #define IReferenceClock_Unadvise(This,dwAdviseCookie)    \
  2416.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2417.  
  2418. #endif /* COBJMACROS */
  2419.  
  2420.  
  2421. #endif     /* C style interface */
  2422.  
  2423.  
  2424.  
  2425. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  2426.     IReferenceClock __RPC_FAR * This,
  2427.     /* [out] */ REFERENCE_TIME __RPC_FAR *pTime);
  2428.  
  2429.  
  2430. void __RPC_STUB IReferenceClock_GetTime_Stub(
  2431.     IRpcStubBuffer *This,
  2432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2433.     PRPC_MESSAGE _pRpcMessage,
  2434.     DWORD *_pdwStubPhase);
  2435.  
  2436.  
  2437. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  2438.     IReferenceClock __RPC_FAR * This,
  2439.     /* [in] */ REFERENCE_TIME baseTime,
  2440.     /* [in] */ REFERENCE_TIME streamTime,
  2441.     /* [in] */ HEVENT hEvent,
  2442.     /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2443.  
  2444.  
  2445. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2446.     IRpcStubBuffer *This,
  2447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2448.     PRPC_MESSAGE _pRpcMessage,
  2449.     DWORD *_pdwStubPhase);
  2450.  
  2451.  
  2452. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2453.     IReferenceClock __RPC_FAR * This,
  2454.     /* [in] */ REFERENCE_TIME startTime,
  2455.     /* [in] */ REFERENCE_TIME periodTime,
  2456.     /* [in] */ HSEMAPHORE hSemaphore,
  2457.     /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2458.  
  2459.  
  2460. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2461.     IRpcStubBuffer *This,
  2462.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2463.     PRPC_MESSAGE _pRpcMessage,
  2464.     DWORD *_pdwStubPhase);
  2465.  
  2466.  
  2467. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2468.     IReferenceClock __RPC_FAR * This,
  2469.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2470.  
  2471.  
  2472. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2473.     IRpcStubBuffer *This,
  2474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2475.     PRPC_MESSAGE _pRpcMessage,
  2476.     DWORD *_pdwStubPhase);
  2477.  
  2478.  
  2479.  
  2480. #endif     /* __IReferenceClock_INTERFACE_DEFINED__ */
  2481.  
  2482.  
  2483. /* interface __MIDL_itf_strmif_0091 */
  2484. /* [local] */ 
  2485.  
  2486. typedef IReferenceClock __RPC_FAR *PREFERENCECLOCK;
  2487.  
  2488.  
  2489.  
  2490. extern RPC_IF_HANDLE __MIDL_itf_strmif_0091_v0_0_c_ifspec;
  2491. extern RPC_IF_HANDLE __MIDL_itf_strmif_0091_v0_0_s_ifspec;
  2492.  
  2493. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2494. #define __IReferenceClock2_INTERFACE_DEFINED__
  2495.  
  2496. /* interface IReferenceClock2 */
  2497. /* [unique][uuid][object] */ 
  2498.  
  2499.  
  2500. EXTERN_C const IID IID_IReferenceClock2;
  2501.  
  2502. #if defined(__cplusplus) && !defined(CINTERFACE)
  2503.     
  2504.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2505.     IReferenceClock2 : public IReferenceClock
  2506.     {
  2507.     public:
  2508.     };
  2509.     
  2510. #else     /* C style interface */
  2511.  
  2512.     typedef struct IReferenceClock2Vtbl
  2513.     {
  2514.         BEGIN_INTERFACE
  2515.         
  2516.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2517.             IReferenceClock2 __RPC_FAR * This,
  2518.             /* [in] */ REFIID riid,
  2519.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2520.         
  2521.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2522.             IReferenceClock2 __RPC_FAR * This);
  2523.         
  2524.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2525.             IReferenceClock2 __RPC_FAR * This);
  2526.         
  2527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  2528.             IReferenceClock2 __RPC_FAR * This,
  2529.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTime);
  2530.         
  2531.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AdviseTime )( 
  2532.             IReferenceClock2 __RPC_FAR * This,
  2533.             /* [in] */ REFERENCE_TIME baseTime,
  2534.             /* [in] */ REFERENCE_TIME streamTime,
  2535.             /* [in] */ HEVENT hEvent,
  2536.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2537.         
  2538.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AdvisePeriodic )( 
  2539.             IReferenceClock2 __RPC_FAR * This,
  2540.             /* [in] */ REFERENCE_TIME startTime,
  2541.             /* [in] */ REFERENCE_TIME periodTime,
  2542.             /* [in] */ HSEMAPHORE hSemaphore,
  2543.             /* [out] */ DWORD_PTR __RPC_FAR *pdwAdviseCookie);
  2544.         
  2545.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )( 
  2546.             IReferenceClock2 __RPC_FAR * This,
  2547.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2548.         
  2549.         END_INTERFACE
  2550.     } IReferenceClock2Vtbl;
  2551.  
  2552.     interface IReferenceClock2
  2553.     {
  2554.         CONST_VTBL struct IReferenceClock2Vtbl __RPC_FAR *lpVtbl;
  2555.     };
  2556.  
  2557.     
  2558.  
  2559. #ifdef COBJMACROS
  2560.  
  2561.  
  2562. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)    \
  2563.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2564.  
  2565. #define IReferenceClock2_AddRef(This)    \
  2566.     (This)->lpVtbl -> AddRef(This)
  2567.  
  2568. #define IReferenceClock2_Release(This)    \
  2569.     (This)->lpVtbl -> Release(This)
  2570.  
  2571.  
  2572. #define IReferenceClock2_GetTime(This,pTime)    \
  2573.     (This)->lpVtbl -> GetTime(This,pTime)
  2574.  
  2575. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2576.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2577.  
  2578. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2579.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2580.  
  2581. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)    \
  2582.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2583.  
  2584.  
  2585. #endif /* COBJMACROS */
  2586.  
  2587.  
  2588. #endif     /* C style interface */
  2589.  
  2590.  
  2591.  
  2592.  
  2593. #endif     /* __IReferenceClock2_INTERFACE_DEFINED__ */
  2594.  
  2595.  
  2596. /* interface __MIDL_itf_strmif_0092 */
  2597. /* [local] */ 
  2598.  
  2599. typedef IReferenceClock2 __RPC_FAR *PREFERENCECLOCK2;
  2600.  
  2601.  
  2602.  
  2603. extern RPC_IF_HANDLE __MIDL_itf_strmif_0092_v0_0_c_ifspec;
  2604. extern RPC_IF_HANDLE __MIDL_itf_strmif_0092_v0_0_s_ifspec;
  2605.  
  2606. #ifndef __IMediaSample_INTERFACE_DEFINED__
  2607. #define __IMediaSample_INTERFACE_DEFINED__
  2608.  
  2609. /* interface IMediaSample */
  2610. /* [unique][uuid][object][local] */ 
  2611.  
  2612.  
  2613. EXTERN_C const IID IID_IMediaSample;
  2614.  
  2615. #if defined(__cplusplus) && !defined(CINTERFACE)
  2616.     
  2617.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  2618.     IMediaSample : public IUnknown
  2619.     {
  2620.     public:
  2621.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  2622.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer) = 0;
  2623.         
  2624.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  2625.         
  2626.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2627.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2628.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd) = 0;
  2629.         
  2630.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  2631.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2632.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd) = 0;
  2633.         
  2634.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  2635.         
  2636.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  2637.             BOOL bIsSyncPoint) = 0;
  2638.         
  2639.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  2640.         
  2641.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  2642.             BOOL bIsPreroll) = 0;
  2643.         
  2644.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  2645.         
  2646.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  2647.             long __MIDL_0004) = 0;
  2648.         
  2649.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  2650.             AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType) = 0;
  2651.         
  2652.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  2653.             AM_MEDIA_TYPE __RPC_FAR *pMediaType) = 0;
  2654.         
  2655.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  2656.         
  2657.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  2658.             BOOL bDiscontinuity) = 0;
  2659.         
  2660.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  2661.             /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  2662.             /* [out] */ LONGLONG __RPC_FAR *pTimeEnd) = 0;
  2663.         
  2664.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  2665.             /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  2666.             /* [in] */ LONGLONG __RPC_FAR *pTimeEnd) = 0;
  2667.         
  2668.     };
  2669.     
  2670. #else     /* C style interface */
  2671.  
  2672.     typedef struct IMediaSampleVtbl
  2673.     {
  2674.         BEGIN_INTERFACE
  2675.         
  2676.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2677.             IMediaSample __RPC_FAR * This,
  2678.             /* [in] */ REFIID riid,
  2679.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2680.         
  2681.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2682.             IMediaSample __RPC_FAR * This);
  2683.         
  2684.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2685.             IMediaSample __RPC_FAR * This);
  2686.         
  2687.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPointer )( 
  2688.             IMediaSample __RPC_FAR * This,
  2689.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  2690.         
  2691.         long ( STDMETHODCALLTYPE __RPC_FAR *GetSize )( 
  2692.             IMediaSample __RPC_FAR * This);
  2693.         
  2694.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  2695.             IMediaSample __RPC_FAR * This,
  2696.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2697.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2698.         
  2699.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTime )( 
  2700.             IMediaSample __RPC_FAR * This,
  2701.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2702.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2703.         
  2704.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSyncPoint )( 
  2705.             IMediaSample __RPC_FAR * This);
  2706.         
  2707.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncPoint )( 
  2708.             IMediaSample __RPC_FAR * This,
  2709.             BOOL bIsSyncPoint);
  2710.         
  2711.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsPreroll )( 
  2712.             IMediaSample __RPC_FAR * This);
  2713.         
  2714.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPreroll )( 
  2715.             IMediaSample __RPC_FAR * This,
  2716.             BOOL bIsPreroll);
  2717.         
  2718.         long ( STDMETHODCALLTYPE __RPC_FAR *GetActualDataLength )( 
  2719.             IMediaSample __RPC_FAR * This);
  2720.         
  2721.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActualDataLength )( 
  2722.             IMediaSample __RPC_FAR * This,
  2723.             long __MIDL_0004);
  2724.         
  2725.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  2726.             IMediaSample __RPC_FAR * This,
  2727.             AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType);
  2728.         
  2729.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  2730.             IMediaSample __RPC_FAR * This,
  2731.             AM_MEDIA_TYPE __RPC_FAR *pMediaType);
  2732.         
  2733.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDiscontinuity )( 
  2734.             IMediaSample __RPC_FAR * This);
  2735.         
  2736.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDiscontinuity )( 
  2737.             IMediaSample __RPC_FAR * This,
  2738.             BOOL bDiscontinuity);
  2739.         
  2740.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaTime )( 
  2741.             IMediaSample __RPC_FAR * This,
  2742.             /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  2743.             /* [out] */ LONGLONG __RPC_FAR *pTimeEnd);
  2744.         
  2745.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaTime )( 
  2746.             IMediaSample __RPC_FAR * This,
  2747.             /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  2748.             /* [in] */ LONGLONG __RPC_FAR *pTimeEnd);
  2749.         
  2750.         END_INTERFACE
  2751.     } IMediaSampleVtbl;
  2752.  
  2753.     interface IMediaSample
  2754.     {
  2755.         CONST_VTBL struct IMediaSampleVtbl __RPC_FAR *lpVtbl;
  2756.     };
  2757.  
  2758.     
  2759.  
  2760. #ifdef COBJMACROS
  2761.  
  2762.  
  2763. #define IMediaSample_QueryInterface(This,riid,ppvObject)    \
  2764.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2765.  
  2766. #define IMediaSample_AddRef(This)    \
  2767.     (This)->lpVtbl -> AddRef(This)
  2768.  
  2769. #define IMediaSample_Release(This)    \
  2770.     (This)->lpVtbl -> Release(This)
  2771.  
  2772.  
  2773. #define IMediaSample_GetPointer(This,ppBuffer)    \
  2774.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2775.  
  2776. #define IMediaSample_GetSize(This)    \
  2777.     (This)->lpVtbl -> GetSize(This)
  2778.  
  2779. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)    \
  2780.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2781.  
  2782. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)    \
  2783.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2784.  
  2785. #define IMediaSample_IsSyncPoint(This)    \
  2786.     (This)->lpVtbl -> IsSyncPoint(This)
  2787.  
  2788. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)    \
  2789.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2790.  
  2791. #define IMediaSample_IsPreroll(This)    \
  2792.     (This)->lpVtbl -> IsPreroll(This)
  2793.  
  2794. #define IMediaSample_SetPreroll(This,bIsPreroll)    \
  2795.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2796.  
  2797. #define IMediaSample_GetActualDataLength(This)    \
  2798.     (This)->lpVtbl -> GetActualDataLength(This)
  2799.  
  2800. #define IMediaSample_SetActualDataLength(This,__MIDL_0004)    \
  2801.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0004)
  2802.  
  2803. #define IMediaSample_GetMediaType(This,ppMediaType)    \
  2804.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2805.  
  2806. #define IMediaSample_SetMediaType(This,pMediaType)    \
  2807.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2808.  
  2809. #define IMediaSample_IsDiscontinuity(This)    \
  2810.     (This)->lpVtbl -> IsDiscontinuity(This)
  2811.  
  2812. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)    \
  2813.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2814.  
  2815. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  2816.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2817.  
  2818. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  2819.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2820.  
  2821. #endif /* COBJMACROS */
  2822.  
  2823.  
  2824. #endif     /* C style interface */
  2825.  
  2826.  
  2827.  
  2828. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  2829.     IMediaSample __RPC_FAR * This,
  2830.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  2831.  
  2832.  
  2833. void __RPC_STUB IMediaSample_GetPointer_Stub(
  2834.     IRpcStubBuffer *This,
  2835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2836.     PRPC_MESSAGE _pRpcMessage,
  2837.     DWORD *_pdwStubPhase);
  2838.  
  2839.  
  2840. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  2841.     IMediaSample __RPC_FAR * This);
  2842.  
  2843.  
  2844. void __RPC_STUB IMediaSample_GetSize_Stub(
  2845.     IRpcStubBuffer *This,
  2846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2847.     PRPC_MESSAGE _pRpcMessage,
  2848.     DWORD *_pdwStubPhase);
  2849.  
  2850.  
  2851. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  2852.     IMediaSample __RPC_FAR * This,
  2853.     /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2854.     /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2855.  
  2856.  
  2857. void __RPC_STUB IMediaSample_GetTime_Stub(
  2858.     IRpcStubBuffer *This,
  2859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2860.     PRPC_MESSAGE _pRpcMessage,
  2861.     DWORD *_pdwStubPhase);
  2862.  
  2863.  
  2864. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  2865.     IMediaSample __RPC_FAR * This,
  2866.     /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  2867.     /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  2868.  
  2869.  
  2870. void __RPC_STUB IMediaSample_SetTime_Stub(
  2871.     IRpcStubBuffer *This,
  2872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2873.     PRPC_MESSAGE _pRpcMessage,
  2874.     DWORD *_pdwStubPhase);
  2875.  
  2876.  
  2877. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  2878.     IMediaSample __RPC_FAR * This);
  2879.  
  2880.  
  2881. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  2882.     IRpcStubBuffer *This,
  2883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2884.     PRPC_MESSAGE _pRpcMessage,
  2885.     DWORD *_pdwStubPhase);
  2886.  
  2887.  
  2888. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  2889.     IMediaSample __RPC_FAR * This,
  2890.     BOOL bIsSyncPoint);
  2891.  
  2892.  
  2893. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  2894.     IRpcStubBuffer *This,
  2895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2896.     PRPC_MESSAGE _pRpcMessage,
  2897.     DWORD *_pdwStubPhase);
  2898.  
  2899.  
  2900. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  2901.     IMediaSample __RPC_FAR * This);
  2902.  
  2903.  
  2904. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  2905.     IRpcStubBuffer *This,
  2906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2907.     PRPC_MESSAGE _pRpcMessage,
  2908.     DWORD *_pdwStubPhase);
  2909.  
  2910.  
  2911. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  2912.     IMediaSample __RPC_FAR * This,
  2913.     BOOL bIsPreroll);
  2914.  
  2915.  
  2916. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  2917.     IRpcStubBuffer *This,
  2918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2919.     PRPC_MESSAGE _pRpcMessage,
  2920.     DWORD *_pdwStubPhase);
  2921.  
  2922.  
  2923. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  2924.     IMediaSample __RPC_FAR * This);
  2925.  
  2926.  
  2927. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  2928.     IRpcStubBuffer *This,
  2929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2930.     PRPC_MESSAGE _pRpcMessage,
  2931.     DWORD *_pdwStubPhase);
  2932.  
  2933.  
  2934. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  2935.     IMediaSample __RPC_FAR * This,
  2936.     long __MIDL_0004);
  2937.  
  2938.  
  2939. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  2940.     IRpcStubBuffer *This,
  2941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2942.     PRPC_MESSAGE _pRpcMessage,
  2943.     DWORD *_pdwStubPhase);
  2944.  
  2945.  
  2946. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  2947.     IMediaSample __RPC_FAR * This,
  2948.     AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType);
  2949.  
  2950.  
  2951. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  2952.     IRpcStubBuffer *This,
  2953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2954.     PRPC_MESSAGE _pRpcMessage,
  2955.     DWORD *_pdwStubPhase);
  2956.  
  2957.  
  2958. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  2959.     IMediaSample __RPC_FAR * This,
  2960.     AM_MEDIA_TYPE __RPC_FAR *pMediaType);
  2961.  
  2962.  
  2963. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  2964.     IRpcStubBuffer *This,
  2965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2966.     PRPC_MESSAGE _pRpcMessage,
  2967.     DWORD *_pdwStubPhase);
  2968.  
  2969.  
  2970. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  2971.     IMediaSample __RPC_FAR * This);
  2972.  
  2973.  
  2974. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  2975.     IRpcStubBuffer *This,
  2976.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2977.     PRPC_MESSAGE _pRpcMessage,
  2978.     DWORD *_pdwStubPhase);
  2979.  
  2980.  
  2981. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  2982.     IMediaSample __RPC_FAR * This,
  2983.     BOOL bDiscontinuity);
  2984.  
  2985.  
  2986. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  2987.     IRpcStubBuffer *This,
  2988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2989.     PRPC_MESSAGE _pRpcMessage,
  2990.     DWORD *_pdwStubPhase);
  2991.  
  2992.  
  2993. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  2994.     IMediaSample __RPC_FAR * This,
  2995.     /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  2996.     /* [out] */ LONGLONG __RPC_FAR *pTimeEnd);
  2997.  
  2998.  
  2999. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  3000.     IRpcStubBuffer *This,
  3001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3002.     PRPC_MESSAGE _pRpcMessage,
  3003.     DWORD *_pdwStubPhase);
  3004.  
  3005.  
  3006. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  3007.     IMediaSample __RPC_FAR * This,
  3008.     /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  3009.     /* [in] */ LONGLONG __RPC_FAR *pTimeEnd);
  3010.  
  3011.  
  3012. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  3013.     IRpcStubBuffer *This,
  3014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3015.     PRPC_MESSAGE _pRpcMessage,
  3016.     DWORD *_pdwStubPhase);
  3017.  
  3018.  
  3019.  
  3020. #endif     /* __IMediaSample_INTERFACE_DEFINED__ */
  3021.  
  3022.  
  3023. /* interface __MIDL_itf_strmif_0093 */
  3024. /* [local] */ 
  3025.  
  3026. typedef IMediaSample __RPC_FAR *PMEDIASAMPLE;
  3027.  
  3028.  
  3029. enum tagAM_SAMPLE_PROPERTY_FLAGS
  3030.     {    AM_SAMPLE_SPLICEPOINT    = 0x1,
  3031.     AM_SAMPLE_PREROLL    = 0x2,
  3032.     AM_SAMPLE_DATADISCONTINUITY    = 0x4,
  3033.     AM_SAMPLE_TYPECHANGED    = 0x8,
  3034.     AM_SAMPLE_TIMEVALID    = 0x10,
  3035.     AM_SAMPLE_TIMEDISCONTINUITY    = 0x40,
  3036.     AM_SAMPLE_FLUSH_ON_PAUSE    = 0x80,
  3037.     AM_SAMPLE_STOPVALID    = 0x100,
  3038.     AM_SAMPLE_ENDOFSTREAM    = 0x200,
  3039.     AM_STREAM_MEDIA    = 0,
  3040.     AM_STREAM_CONTROL    = 1
  3041.     };
  3042. typedef struct tagAM_SAMPLE2_PROPERTIES
  3043.     {
  3044.     DWORD cbData;
  3045.     DWORD dwTypeSpecificFlags;
  3046.     DWORD dwSampleFlags;
  3047.     LONG lActual;
  3048.     REFERENCE_TIME tStart;
  3049.     REFERENCE_TIME tStop;
  3050.     DWORD dwStreamId;
  3051.     AM_MEDIA_TYPE __RPC_FAR *pMediaType;
  3052.     BYTE __RPC_FAR *pbBuffer;
  3053.     LONG cbBuffer;
  3054.     }    AM_SAMPLE2_PROPERTIES;
  3055.  
  3056.  
  3057.  
  3058. extern RPC_IF_HANDLE __MIDL_itf_strmif_0093_v0_0_c_ifspec;
  3059. extern RPC_IF_HANDLE __MIDL_itf_strmif_0093_v0_0_s_ifspec;
  3060.  
  3061. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  3062. #define __IMediaSample2_INTERFACE_DEFINED__
  3063.  
  3064. /* interface IMediaSample2 */
  3065. /* [unique][uuid][object][local] */ 
  3066.  
  3067.  
  3068. EXTERN_C const IID IID_IMediaSample2;
  3069.  
  3070. #if defined(__cplusplus) && !defined(CINTERFACE)
  3071.     
  3072.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  3073.     IMediaSample2 : public IMediaSample
  3074.     {
  3075.     public:
  3076.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3077.             /* [in] */ DWORD cbProperties,
  3078.             /* [size_is][out] */ BYTE __RPC_FAR *pbProperties) = 0;
  3079.         
  3080.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3081.             /* [in] */ DWORD cbProperties,
  3082.             /* [size_is][in] */ const BYTE __RPC_FAR *pbProperties) = 0;
  3083.         
  3084.     };
  3085.     
  3086. #else     /* C style interface */
  3087.  
  3088.     typedef struct IMediaSample2Vtbl
  3089.     {
  3090.         BEGIN_INTERFACE
  3091.         
  3092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3093.             IMediaSample2 __RPC_FAR * This,
  3094.             /* [in] */ REFIID riid,
  3095.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3096.         
  3097.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3098.             IMediaSample2 __RPC_FAR * This);
  3099.         
  3100.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3101.             IMediaSample2 __RPC_FAR * This);
  3102.         
  3103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPointer )( 
  3104.             IMediaSample2 __RPC_FAR * This,
  3105.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  3106.         
  3107.         long ( STDMETHODCALLTYPE __RPC_FAR *GetSize )( 
  3108.             IMediaSample2 __RPC_FAR * This);
  3109.         
  3110.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  3111.             IMediaSample2 __RPC_FAR * This,
  3112.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  3113.             /* [out] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  3114.         
  3115.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTime )( 
  3116.             IMediaSample2 __RPC_FAR * This,
  3117.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeStart,
  3118.             /* [in] */ REFERENCE_TIME __RPC_FAR *pTimeEnd);
  3119.         
  3120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSyncPoint )( 
  3121.             IMediaSample2 __RPC_FAR * This);
  3122.         
  3123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncPoint )( 
  3124.             IMediaSample2 __RPC_FAR * This,
  3125.             BOOL bIsSyncPoint);
  3126.         
  3127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsPreroll )( 
  3128.             IMediaSample2 __RPC_FAR * This);
  3129.         
  3130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPreroll )( 
  3131.             IMediaSample2 __RPC_FAR * This,
  3132.             BOOL bIsPreroll);
  3133.         
  3134.         long ( STDMETHODCALLTYPE __RPC_FAR *GetActualDataLength )( 
  3135.             IMediaSample2 __RPC_FAR * This);
  3136.         
  3137.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActualDataLength )( 
  3138.             IMediaSample2 __RPC_FAR * This,
  3139.             long __MIDL_0004);
  3140.         
  3141.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  3142.             IMediaSample2 __RPC_FAR * This,
  3143.             AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppMediaType);
  3144.         
  3145.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  3146.             IMediaSample2 __RPC_FAR * This,
  3147.             AM_MEDIA_TYPE __RPC_FAR *pMediaType);
  3148.         
  3149.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDiscontinuity )( 
  3150.             IMediaSample2 __RPC_FAR * This);
  3151.         
  3152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDiscontinuity )( 
  3153.             IMediaSample2 __RPC_FAR * This,
  3154.             BOOL bDiscontinuity);
  3155.         
  3156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaTime )( 
  3157.             IMediaSample2 __RPC_FAR * This,
  3158.             /* [out] */ LONGLONG __RPC_FAR *pTimeStart,
  3159.             /* [out] */ LONGLONG __RPC_FAR *pTimeEnd);
  3160.         
  3161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaTime )( 
  3162.             IMediaSample2 __RPC_FAR * This,
  3163.             /* [in] */ LONGLONG __RPC_FAR *pTimeStart,
  3164.             /* [in] */ LONGLONG __RPC_FAR *pTimeEnd);
  3165.         
  3166.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  3167.             IMediaSample2 __RPC_FAR * This,
  3168.             /* [in] */ DWORD cbProperties,
  3169.             /* [size_is][out] */ BYTE __RPC_FAR *pbProperties);
  3170.         
  3171.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  3172.             IMediaSample2 __RPC_FAR * This,
  3173.             /* [in] */ DWORD cbProperties,
  3174.             /* [size_is][in] */ const BYTE __RPC_FAR *pbProperties);
  3175.         
  3176.         END_INTERFACE
  3177.     } IMediaSample2Vtbl;
  3178.  
  3179.     interface IMediaSample2
  3180.     {
  3181.         CONST_VTBL struct IMediaSample2Vtbl __RPC_FAR *lpVtbl;
  3182.     };
  3183.  
  3184.     
  3185.  
  3186. #ifdef COBJMACROS
  3187.  
  3188.  
  3189. #define IMediaSample2_QueryInterface(This,riid,ppvObject)    \
  3190.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3191.  
  3192. #define IMediaSample2_AddRef(This)    \
  3193.     (This)->lpVtbl -> AddRef(This)
  3194.  
  3195. #define IMediaSample2_Release(This)    \
  3196.     (This)->lpVtbl -> Release(This)
  3197.  
  3198.  
  3199. #define IMediaSample2_GetPointer(This,ppBuffer)    \
  3200.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3201.  
  3202. #define IMediaSample2_GetSize(This)    \
  3203.     (This)->lpVtbl -> GetSize(This)
  3204.  
  3205. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)    \
  3206.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3207.  
  3208. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)    \
  3209.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3210.  
  3211. #define IMediaSample2_IsSyncPoint(This)    \
  3212.     (This)->lpVtbl -> IsSyncPoint(This)
  3213.  
  3214. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)    \
  3215.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3216.  
  3217. #define IMediaSample2_IsPreroll(This)    \
  3218.     (This)->lpVtbl -> IsPreroll(This)
  3219.  
  3220. #define IMediaSample2_SetPreroll(This,bIsPreroll)    \
  3221.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3222.  
  3223. #define IMediaSample2_GetActualDataLength(This)    \
  3224.     (This)->lpVtbl -> GetActualDataLength(This)
  3225.  
  3226. #define IMediaSample2_SetActualDataLength(This,__MIDL_0004)    \
  3227.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0004)
  3228.  
  3229. #define IMediaSample2_GetMediaType(This,ppMediaType)    \
  3230.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3231.  
  3232. #define IMediaSample2_SetMediaType(This,pMediaType)    \
  3233.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3234.  
  3235. #define IMediaSample2_IsDiscontinuity(This)    \
  3236.     (This)->lpVtbl -> IsDiscontinuity(This)
  3237.  
  3238. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)    \
  3239.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3240.  
  3241. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3242.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3243.  
  3244. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3245.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3246.  
  3247.  
  3248. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)    \
  3249.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  3250.  
  3251. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)    \
  3252.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  3253.  
  3254. #endif /* COBJMACROS */
  3255.  
  3256.  
  3257. #endif     /* C style interface */
  3258.  
  3259.  
  3260.  
  3261. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  3262.     IMediaSample2 __RPC_FAR * This,
  3263.     /* [in] */ DWORD cbProperties,
  3264.     /* [size_is][out] */ BYTE __RPC_FAR *pbProperties);
  3265.  
  3266.  
  3267. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  3268.     IRpcStubBuffer *This,
  3269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3270.     PRPC_MESSAGE _pRpcMessage,
  3271.     DWORD *_pdwStubPhase);
  3272.  
  3273.  
  3274. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  3275.     IMediaSample2 __RPC_FAR * This,
  3276.     /* [in] */ DWORD cbProperties,
  3277.     /* [size_is][in] */ const BYTE __RPC_FAR *pbProperties);
  3278.  
  3279.  
  3280. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  3281.     IRpcStubBuffer *This,
  3282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3283.     PRPC_MESSAGE _pRpcMessage,
  3284.     DWORD *_pdwStubPhase);
  3285.  
  3286.  
  3287.  
  3288. #endif     /* __IMediaSample2_INTERFACE_DEFINED__ */
  3289.  
  3290.  
  3291. /* interface __MIDL_itf_strmif_0094 */
  3292. /* [local] */ 
  3293.  
  3294. typedef IMediaSample2 __RPC_FAR *PMEDIASAMPLE2;
  3295.  
  3296. #define AM_GBF_PREVFRAMESKIPPED 1
  3297. #define AM_GBF_NOTASYNCPOINT 2
  3298. #define AM_GBF_NOWAIT 4
  3299.  
  3300.  
  3301. extern RPC_IF_HANDLE __MIDL_itf_strmif_0094_v0_0_c_ifspec;
  3302. extern RPC_IF_HANDLE __MIDL_itf_strmif_0094_v0_0_s_ifspec;
  3303.  
  3304. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  3305. #define __IMemAllocator_INTERFACE_DEFINED__
  3306.  
  3307. /* interface IMemAllocator */
  3308. /* [unique][uuid][object] */ 
  3309.  
  3310.  
  3311. EXTERN_C const IID IID_IMemAllocator;
  3312.  
  3313. #if defined(__cplusplus) && !defined(CINTERFACE)
  3314.     
  3315.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  3316.     IMemAllocator : public IUnknown
  3317.     {
  3318.     public:
  3319.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3320.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pRequest,
  3321.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pActual) = 0;
  3322.         
  3323.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3324.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps) = 0;
  3325.         
  3326.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  3327.         
  3328.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  3329.         
  3330.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  3331.             /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppBuffer,
  3332.             /* [in] */ REFERENCE_TIME __RPC_FAR *pStartTime,
  3333.             /* [in] */ REFERENCE_TIME __RPC_FAR *pEndTime,
  3334.             /* [in] */ DWORD dwFlags) = 0;
  3335.         
  3336.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  3337.             /* [in] */ IMediaSample __RPC_FAR *pBuffer) = 0;
  3338.         
  3339.     };
  3340.     
  3341. #else     /* C style interface */
  3342.  
  3343.     typedef struct IMemAllocatorVtbl
  3344.     {
  3345.         BEGIN_INTERFACE
  3346.         
  3347.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3348.             IMemAllocator __RPC_FAR * This,
  3349.             /* [in] */ REFIID riid,
  3350.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3351.         
  3352.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3353.             IMemAllocator __RPC_FAR * This);
  3354.         
  3355.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3356.             IMemAllocator __RPC_FAR * This);
  3357.         
  3358.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  3359.             IMemAllocator __RPC_FAR * This,
  3360.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pRequest,
  3361.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pActual);
  3362.         
  3363.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  3364.             IMemAllocator __RPC_FAR * This,
  3365.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  3366.         
  3367.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  3368.             IMemAllocator __RPC_FAR * This);
  3369.         
  3370.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Decommit )( 
  3371.             IMemAllocator __RPC_FAR * This);
  3372.         
  3373.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  3374.             IMemAllocator __RPC_FAR * This,
  3375.             /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppBuffer,
  3376.             /* [in] */ REFERENCE_TIME __RPC_FAR *pStartTime,
  3377.             /* [in] */ REFERENCE_TIME __RPC_FAR *pEndTime,
  3378.             /* [in] */ DWORD dwFlags);
  3379.         
  3380.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseBuffer )( 
  3381.             IMemAllocator __RPC_FAR * This,
  3382.             /* [in] */ IMediaSample __RPC_FAR *pBuffer);
  3383.         
  3384.         END_INTERFACE
  3385.     } IMemAllocatorVtbl;
  3386.  
  3387.     interface IMemAllocator
  3388.     {
  3389.         CONST_VTBL struct IMemAllocatorVtbl __RPC_FAR *lpVtbl;
  3390.     };
  3391.  
  3392.     
  3393.  
  3394. #ifdef COBJMACROS
  3395.  
  3396.  
  3397. #define IMemAllocator_QueryInterface(This,riid,ppvObject)    \
  3398.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3399.  
  3400. #define IMemAllocator_AddRef(This)    \
  3401.     (This)->lpVtbl -> AddRef(This)
  3402.  
  3403. #define IMemAllocator_Release(This)    \
  3404.     (This)->lpVtbl -> Release(This)
  3405.  
  3406.  
  3407. #define IMemAllocator_SetProperties(This,pRequest,pActual)    \
  3408.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3409.  
  3410. #define IMemAllocator_GetProperties(This,pProps)    \
  3411.     (This)->lpVtbl -> GetProperties(This,pProps)
  3412.  
  3413. #define IMemAllocator_Commit(This)    \
  3414.     (This)->lpVtbl -> Commit(This)
  3415.  
  3416. #define IMemAllocator_Decommit(This)    \
  3417.     (This)->lpVtbl -> Decommit(This)
  3418.  
  3419. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3420.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3421.  
  3422. #define IMemAllocator_ReleaseBuffer(This,pBuffer)    \
  3423.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3424.  
  3425. #endif /* COBJMACROS */
  3426.  
  3427.  
  3428. #endif     /* C style interface */
  3429.  
  3430.  
  3431.  
  3432. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  3433.     IMemAllocator __RPC_FAR * This,
  3434.     /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pRequest,
  3435.     /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pActual);
  3436.  
  3437.  
  3438. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  3439.     IRpcStubBuffer *This,
  3440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3441.     PRPC_MESSAGE _pRpcMessage,
  3442.     DWORD *_pdwStubPhase);
  3443.  
  3444.  
  3445. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  3446.     IMemAllocator __RPC_FAR * This,
  3447.     /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  3448.  
  3449.  
  3450. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  3451.     IRpcStubBuffer *This,
  3452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3453.     PRPC_MESSAGE _pRpcMessage,
  3454.     DWORD *_pdwStubPhase);
  3455.  
  3456.  
  3457. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  3458.     IMemAllocator __RPC_FAR * This);
  3459.  
  3460.  
  3461. void __RPC_STUB IMemAllocator_Commit_Stub(
  3462.     IRpcStubBuffer *This,
  3463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3464.     PRPC_MESSAGE _pRpcMessage,
  3465.     DWORD *_pdwStubPhase);
  3466.  
  3467.  
  3468. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  3469.     IMemAllocator __RPC_FAR * This);
  3470.  
  3471.  
  3472. void __RPC_STUB IMemAllocator_Decommit_Stub(
  3473.     IRpcStubBuffer *This,
  3474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3475.     PRPC_MESSAGE _pRpcMessage,
  3476.     DWORD *_pdwStubPhase);
  3477.  
  3478.  
  3479. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  3480.     IMemAllocator __RPC_FAR * This,
  3481.     /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppBuffer,
  3482.     /* [in] */ REFERENCE_TIME __RPC_FAR *pStartTime,
  3483.     /* [in] */ REFERENCE_TIME __RPC_FAR *pEndTime,
  3484.     /* [in] */ DWORD dwFlags);
  3485.  
  3486.  
  3487. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  3488.     IRpcStubBuffer *This,
  3489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3490.     PRPC_MESSAGE _pRpcMessage,
  3491.     DWORD *_pdwStubPhase);
  3492.  
  3493.  
  3494. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  3495.     IMemAllocator __RPC_FAR * This,
  3496.     /* [in] */ IMediaSample __RPC_FAR *pBuffer);
  3497.  
  3498.  
  3499. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  3500.     IRpcStubBuffer *This,
  3501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3502.     PRPC_MESSAGE _pRpcMessage,
  3503.     DWORD *_pdwStubPhase);
  3504.  
  3505.  
  3506.  
  3507. #endif     /* __IMemAllocator_INTERFACE_DEFINED__ */
  3508.  
  3509.  
  3510. /* interface __MIDL_itf_strmif_0095 */
  3511. /* [local] */ 
  3512.  
  3513. typedef IMemAllocator __RPC_FAR *PMEMALLOCATOR;
  3514.  
  3515.  
  3516.  
  3517. extern RPC_IF_HANDLE __MIDL_itf_strmif_0095_v0_0_c_ifspec;
  3518. extern RPC_IF_HANDLE __MIDL_itf_strmif_0095_v0_0_s_ifspec;
  3519.  
  3520. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3521. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3522.  
  3523. /* interface IMemAllocatorCallbackTemp */
  3524. /* [unique][uuid][object] */ 
  3525.  
  3526.  
  3527. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  3528.  
  3529. #if defined(__cplusplus) && !defined(CINTERFACE)
  3530.     
  3531.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  3532.     IMemAllocatorCallbackTemp : public IMemAllocator
  3533.     {
  3534.     public:
  3535.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  3536.             /* [in] */ IMemAllocatorNotifyCallbackTemp __RPC_FAR *pNotify) = 0;
  3537.         
  3538.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  3539.             /* [out] */ LONG __RPC_FAR *plBuffersFree) = 0;
  3540.         
  3541.     };
  3542.     
  3543. #else     /* C style interface */
  3544.  
  3545.     typedef struct IMemAllocatorCallbackTempVtbl
  3546.     {
  3547.         BEGIN_INTERFACE
  3548.         
  3549.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3550.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3551.             /* [in] */ REFIID riid,
  3552.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3553.         
  3554.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3555.             IMemAllocatorCallbackTemp __RPC_FAR * This);
  3556.         
  3557.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3558.             IMemAllocatorCallbackTemp __RPC_FAR * This);
  3559.         
  3560.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProperties )( 
  3561.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3562.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pRequest,
  3563.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pActual);
  3564.         
  3565.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperties )( 
  3566.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3567.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  3568.         
  3569.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  3570.             IMemAllocatorCallbackTemp __RPC_FAR * This);
  3571.         
  3572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Decommit )( 
  3573.             IMemAllocatorCallbackTemp __RPC_FAR * This);
  3574.         
  3575.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  3576.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3577.             /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppBuffer,
  3578.             /* [in] */ REFERENCE_TIME __RPC_FAR *pStartTime,
  3579.             /* [in] */ REFERENCE_TIME __RPC_FAR *pEndTime,
  3580.             /* [in] */ DWORD dwFlags);
  3581.         
  3582.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseBuffer )( 
  3583.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3584.             /* [in] */ IMediaSample __RPC_FAR *pBuffer);
  3585.         
  3586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNotify )( 
  3587.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3588.             /* [in] */ IMemAllocatorNotifyCallbackTemp __RPC_FAR *pNotify);
  3589.         
  3590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFreeCount )( 
  3591.             IMemAllocatorCallbackTemp __RPC_FAR * This,
  3592.             /* [out] */ LONG __RPC_FAR *plBuffersFree);
  3593.         
  3594.         END_INTERFACE
  3595.     } IMemAllocatorCallbackTempVtbl;
  3596.  
  3597.     interface IMemAllocatorCallbackTemp
  3598.     {
  3599.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl __RPC_FAR *lpVtbl;
  3600.     };
  3601.  
  3602.     
  3603.  
  3604. #ifdef COBJMACROS
  3605.  
  3606.  
  3607. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  3608.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3609.  
  3610. #define IMemAllocatorCallbackTemp_AddRef(This)    \
  3611.     (This)->lpVtbl -> AddRef(This)
  3612.  
  3613. #define IMemAllocatorCallbackTemp_Release(This)    \
  3614.     (This)->lpVtbl -> Release(This)
  3615.  
  3616.  
  3617. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)    \
  3618.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3619.  
  3620. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)    \
  3621.     (This)->lpVtbl -> GetProperties(This,pProps)
  3622.  
  3623. #define IMemAllocatorCallbackTemp_Commit(This)    \
  3624.     (This)->lpVtbl -> Commit(This)
  3625.  
  3626. #define IMemAllocatorCallbackTemp_Decommit(This)    \
  3627.     (This)->lpVtbl -> Decommit(This)
  3628.  
  3629. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3630.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3631.  
  3632. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)    \
  3633.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3634.  
  3635.  
  3636. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)    \
  3637.     (This)->lpVtbl -> SetNotify(This,pNotify)
  3638.  
  3639. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)    \
  3640.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  3641.  
  3642. #endif /* COBJMACROS */
  3643.  
  3644.  
  3645. #endif     /* C style interface */
  3646.  
  3647.  
  3648.  
  3649. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  3650.     IMemAllocatorCallbackTemp __RPC_FAR * This,
  3651.     /* [in] */ IMemAllocatorNotifyCallbackTemp __RPC_FAR *pNotify);
  3652.  
  3653.  
  3654. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  3655.     IRpcStubBuffer *This,
  3656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3657.     PRPC_MESSAGE _pRpcMessage,
  3658.     DWORD *_pdwStubPhase);
  3659.  
  3660.  
  3661. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  3662.     IMemAllocatorCallbackTemp __RPC_FAR * This,
  3663.     /* [out] */ LONG __RPC_FAR *plBuffersFree);
  3664.  
  3665.  
  3666. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  3667.     IRpcStubBuffer *This,
  3668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3669.     PRPC_MESSAGE _pRpcMessage,
  3670.     DWORD *_pdwStubPhase);
  3671.  
  3672.  
  3673.  
  3674. #endif     /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  3675.  
  3676.  
  3677. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  3678. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  3679.  
  3680. /* interface IMemAllocatorNotifyCallbackTemp */
  3681. /* [unique][uuid][object] */ 
  3682.  
  3683.  
  3684. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  3685.  
  3686. #if defined(__cplusplus) && !defined(CINTERFACE)
  3687.     
  3688.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  3689.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  3690.     {
  3691.     public:
  3692.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  3693.         
  3694.     };
  3695.     
  3696. #else     /* C style interface */
  3697.  
  3698.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  3699.     {
  3700.         BEGIN_INTERFACE
  3701.         
  3702.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3703.             IMemAllocatorNotifyCallbackTemp __RPC_FAR * This,
  3704.             /* [in] */ REFIID riid,
  3705.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3706.         
  3707.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3708.             IMemAllocatorNotifyCallbackTemp __RPC_FAR * This);
  3709.         
  3710.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3711.             IMemAllocatorNotifyCallbackTemp __RPC_FAR * This);
  3712.         
  3713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyRelease )( 
  3714.             IMemAllocatorNotifyCallbackTemp __RPC_FAR * This);
  3715.         
  3716.         END_INTERFACE
  3717.     } IMemAllocatorNotifyCallbackTempVtbl;
  3718.  
  3719.     interface IMemAllocatorNotifyCallbackTemp
  3720.     {
  3721.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl __RPC_FAR *lpVtbl;
  3722.     };
  3723.  
  3724.     
  3725.  
  3726. #ifdef COBJMACROS
  3727.  
  3728.  
  3729. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  3730.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3731.  
  3732. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)    \
  3733.     (This)->lpVtbl -> AddRef(This)
  3734.  
  3735. #define IMemAllocatorNotifyCallbackTemp_Release(This)    \
  3736.     (This)->lpVtbl -> Release(This)
  3737.  
  3738.  
  3739. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)    \
  3740.     (This)->lpVtbl -> NotifyRelease(This)
  3741.  
  3742. #endif /* COBJMACROS */
  3743.  
  3744.  
  3745. #endif     /* C style interface */
  3746.  
  3747.  
  3748.  
  3749. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  3750.     IMemAllocatorNotifyCallbackTemp __RPC_FAR * This);
  3751.  
  3752.  
  3753. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  3754.     IRpcStubBuffer *This,
  3755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3756.     PRPC_MESSAGE _pRpcMessage,
  3757.     DWORD *_pdwStubPhase);
  3758.  
  3759.  
  3760.  
  3761. #endif     /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  3762.  
  3763.  
  3764. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  3765. #define __IMemInputPin_INTERFACE_DEFINED__
  3766.  
  3767. /* interface IMemInputPin */
  3768. /* [unique][uuid][object] */ 
  3769.  
  3770.  
  3771. EXTERN_C const IID IID_IMemInputPin;
  3772.  
  3773. #if defined(__cplusplus) && !defined(CINTERFACE)
  3774.     
  3775.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  3776.     IMemInputPin : public IUnknown
  3777.     {
  3778.     public:
  3779.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  3780.             /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppAllocator) = 0;
  3781.         
  3782.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  3783.             /* [in] */ IMemAllocator __RPC_FAR *pAllocator,
  3784.             /* [in] */ BOOL bReadOnly) = 0;
  3785.         
  3786.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  3787.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps) = 0;
  3788.         
  3789.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  3790.             /* [in] */ IMediaSample __RPC_FAR *pSample) = 0;
  3791.         
  3792.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  3793.             /* [size_is][in] */ IMediaSample __RPC_FAR *__RPC_FAR *pSamples,
  3794.             /* [in] */ long nSamples,
  3795.             /* [out] */ long __RPC_FAR *nSamplesProcessed) = 0;
  3796.         
  3797.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  3798.         
  3799.     };
  3800.     
  3801. #else     /* C style interface */
  3802.  
  3803.     typedef struct IMemInputPinVtbl
  3804.     {
  3805.         BEGIN_INTERFACE
  3806.         
  3807.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3808.             IMemInputPin __RPC_FAR * This,
  3809.             /* [in] */ REFIID riid,
  3810.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3811.         
  3812.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3813.             IMemInputPin __RPC_FAR * This);
  3814.         
  3815.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3816.             IMemInputPin __RPC_FAR * This);
  3817.         
  3818.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocator )( 
  3819.             IMemInputPin __RPC_FAR * This,
  3820.             /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppAllocator);
  3821.         
  3822.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyAllocator )( 
  3823.             IMemInputPin __RPC_FAR * This,
  3824.             /* [in] */ IMemAllocator __RPC_FAR *pAllocator,
  3825.             /* [in] */ BOOL bReadOnly);
  3826.         
  3827.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocatorRequirements )( 
  3828.             IMemInputPin __RPC_FAR * This,
  3829.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  3830.         
  3831.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Receive )( 
  3832.             IMemInputPin __RPC_FAR * This,
  3833.             /* [in] */ IMediaSample __RPC_FAR *pSample);
  3834.         
  3835.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReceiveMultiple )( 
  3836.             IMemInputPin __RPC_FAR * This,
  3837.             /* [size_is][in] */ IMediaSample __RPC_FAR *__RPC_FAR *pSamples,
  3838.             /* [in] */ long nSamples,
  3839.             /* [out] */ long __RPC_FAR *nSamplesProcessed);
  3840.         
  3841.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReceiveCanBlock )( 
  3842.             IMemInputPin __RPC_FAR * This);
  3843.         
  3844.         END_INTERFACE
  3845.     } IMemInputPinVtbl;
  3846.  
  3847.     interface IMemInputPin
  3848.     {
  3849.         CONST_VTBL struct IMemInputPinVtbl __RPC_FAR *lpVtbl;
  3850.     };
  3851.  
  3852.     
  3853.  
  3854. #ifdef COBJMACROS
  3855.  
  3856.  
  3857. #define IMemInputPin_QueryInterface(This,riid,ppvObject)    \
  3858.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3859.  
  3860. #define IMemInputPin_AddRef(This)    \
  3861.     (This)->lpVtbl -> AddRef(This)
  3862.  
  3863. #define IMemInputPin_Release(This)    \
  3864.     (This)->lpVtbl -> Release(This)
  3865.  
  3866.  
  3867. #define IMemInputPin_GetAllocator(This,ppAllocator)    \
  3868.     (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  3869.  
  3870. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)    \
  3871.     (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  3872.  
  3873. #define IMemInputPin_GetAllocatorRequirements(This,pProps)    \
  3874.     (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  3875.  
  3876. #define IMemInputPin_Receive(This,pSample)    \
  3877.     (This)->lpVtbl -> Receive(This,pSample)
  3878.  
  3879. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)    \
  3880.     (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  3881.  
  3882. #define IMemInputPin_ReceiveCanBlock(This)    \
  3883.     (This)->lpVtbl -> ReceiveCanBlock(This)
  3884.  
  3885. #endif /* COBJMACROS */
  3886.  
  3887.  
  3888. #endif     /* C style interface */
  3889.  
  3890.  
  3891.  
  3892. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 
  3893.     IMemInputPin __RPC_FAR * This,
  3894.     /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppAllocator);
  3895.  
  3896.  
  3897. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  3898.     IRpcStubBuffer *This,
  3899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3900.     PRPC_MESSAGE _pRpcMessage,
  3901.     DWORD *_pdwStubPhase);
  3902.  
  3903.  
  3904. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 
  3905.     IMemInputPin __RPC_FAR * This,
  3906.     /* [in] */ IMemAllocator __RPC_FAR *pAllocator,
  3907.     /* [in] */ BOOL bReadOnly);
  3908.  
  3909.  
  3910. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  3911.     IRpcStubBuffer *This,
  3912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3913.     PRPC_MESSAGE _pRpcMessage,
  3914.     DWORD *_pdwStubPhase);
  3915.  
  3916.  
  3917. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 
  3918.     IMemInputPin __RPC_FAR * This,
  3919.     /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps);
  3920.  
  3921.  
  3922. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  3923.     IRpcStubBuffer *This,
  3924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3925.     PRPC_MESSAGE _pRpcMessage,
  3926.     DWORD *_pdwStubPhase);
  3927.  
  3928.  
  3929. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 
  3930.     IMemInputPin __RPC_FAR * This,
  3931.     /* [in] */ IMediaSample __RPC_FAR *pSample);
  3932.  
  3933.  
  3934. void __RPC_STUB IMemInputPin_Receive_Stub(
  3935.     IRpcStubBuffer *This,
  3936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3937.     PRPC_MESSAGE _pRpcMessage,
  3938.     DWORD *_pdwStubPhase);
  3939.  
  3940.  
  3941. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 
  3942.     IMemInputPin __RPC_FAR * This,
  3943.     /* [size_is][in] */ IMediaSample __RPC_FAR *__RPC_FAR *pSamples,
  3944.     /* [in] */ long nSamples,
  3945.     /* [out] */ long __RPC_FAR *nSamplesProcessed);
  3946.  
  3947.  
  3948. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  3949.     IRpcStubBuffer *This,
  3950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3951.     PRPC_MESSAGE _pRpcMessage,
  3952.     DWORD *_pdwStubPhase);
  3953.  
  3954.  
  3955. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 
  3956.     IMemInputPin __RPC_FAR * This);
  3957.  
  3958.  
  3959. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  3960.     IRpcStubBuffer *This,
  3961.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3962.     PRPC_MESSAGE _pRpcMessage,
  3963.     DWORD *_pdwStubPhase);
  3964.  
  3965.  
  3966.  
  3967. #endif     /* __IMemInputPin_INTERFACE_DEFINED__ */
  3968.  
  3969.  
  3970. /* interface __MIDL_itf_strmif_0098 */
  3971. /* [local] */ 
  3972.  
  3973. typedef IMemInputPin __RPC_FAR *PMEMINPUTPIN;
  3974.  
  3975.  
  3976.  
  3977. extern RPC_IF_HANDLE __MIDL_itf_strmif_0098_v0_0_c_ifspec;
  3978. extern RPC_IF_HANDLE __MIDL_itf_strmif_0098_v0_0_s_ifspec;
  3979.  
  3980. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  3981. #define __IAMovieSetup_INTERFACE_DEFINED__
  3982.  
  3983. /* interface IAMovieSetup */
  3984. /* [unique][uuid][object] */ 
  3985.  
  3986.  
  3987. EXTERN_C const IID IID_IAMovieSetup;
  3988.  
  3989. #if defined(__cplusplus) && !defined(CINTERFACE)
  3990.     
  3991.     MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  3992.     IAMovieSetup : public IUnknown
  3993.     {
  3994.     public:
  3995.         virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  3996.         
  3997.         virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  3998.         
  3999.     };
  4000.     
  4001. #else     /* C style interface */
  4002.  
  4003.     typedef struct IAMovieSetupVtbl
  4004.     {
  4005.         BEGIN_INTERFACE
  4006.         
  4007.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4008.             IAMovieSetup __RPC_FAR * This,
  4009.             /* [in] */ REFIID riid,
  4010.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4011.         
  4012.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4013.             IAMovieSetup __RPC_FAR * This);
  4014.         
  4015.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4016.             IAMovieSetup __RPC_FAR * This);
  4017.         
  4018.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Register )( 
  4019.             IAMovieSetup __RPC_FAR * This);
  4020.         
  4021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unregister )( 
  4022.             IAMovieSetup __RPC_FAR * This);
  4023.         
  4024.         END_INTERFACE
  4025.     } IAMovieSetupVtbl;
  4026.  
  4027.     interface IAMovieSetup
  4028.     {
  4029.         CONST_VTBL struct IAMovieSetupVtbl __RPC_FAR *lpVtbl;
  4030.     };
  4031.  
  4032.     
  4033.  
  4034. #ifdef COBJMACROS
  4035.  
  4036.  
  4037. #define IAMovieSetup_QueryInterface(This,riid,ppvObject)    \
  4038.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4039.  
  4040. #define IAMovieSetup_AddRef(This)    \
  4041.     (This)->lpVtbl -> AddRef(This)
  4042.  
  4043. #define IAMovieSetup_Release(This)    \
  4044.     (This)->lpVtbl -> Release(This)
  4045.  
  4046.  
  4047. #define IAMovieSetup_Register(This)    \
  4048.     (This)->lpVtbl -> Register(This)
  4049.  
  4050. #define IAMovieSetup_Unregister(This)    \
  4051.     (This)->lpVtbl -> Unregister(This)
  4052.  
  4053. #endif /* COBJMACROS */
  4054.  
  4055.  
  4056. #endif     /* C style interface */
  4057.  
  4058.  
  4059.  
  4060. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 
  4061.     IAMovieSetup __RPC_FAR * This);
  4062.  
  4063.  
  4064. void __RPC_STUB IAMovieSetup_Register_Stub(
  4065.     IRpcStubBuffer *This,
  4066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4067.     PRPC_MESSAGE _pRpcMessage,
  4068.     DWORD *_pdwStubPhase);
  4069.  
  4070.  
  4071. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 
  4072.     IAMovieSetup __RPC_FAR * This);
  4073.  
  4074.  
  4075. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  4076.     IRpcStubBuffer *This,
  4077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4078.     PRPC_MESSAGE _pRpcMessage,
  4079.     DWORD *_pdwStubPhase);
  4080.  
  4081.  
  4082.  
  4083. #endif     /* __IAMovieSetup_INTERFACE_DEFINED__ */
  4084.  
  4085.  
  4086. /* interface __MIDL_itf_strmif_0099 */
  4087. /* [local] */ 
  4088.  
  4089. typedef IAMovieSetup __RPC_FAR *PAMOVIESETUP;
  4090.  
  4091. typedef 
  4092. enum AM_SEEKING_SeekingFlags
  4093.     {    AM_SEEKING_NoPositioning    = 0,
  4094.     AM_SEEKING_AbsolutePositioning    = 0x1,
  4095.     AM_SEEKING_RelativePositioning    = 0x2,
  4096.     AM_SEEKING_IncrementalPositioning    = 0x3,
  4097.     AM_SEEKING_PositioningBitsMask    = 0x3,
  4098.     AM_SEEKING_SeekToKeyFrame    = 0x4,
  4099.     AM_SEEKING_ReturnTime    = 0x8,
  4100.     AM_SEEKING_Segment    = 0x10,
  4101.     AM_SEEKING_NoFlush    = 0x20
  4102.     }    AM_SEEKING_SEEKING_FLAGS;
  4103.  
  4104. typedef 
  4105. enum AM_SEEKING_SeekingCapabilities
  4106.     {    AM_SEEKING_CanSeekAbsolute    = 0x1,
  4107.     AM_SEEKING_CanSeekForwards    = 0x2,
  4108.     AM_SEEKING_CanSeekBackwards    = 0x4,
  4109.     AM_SEEKING_CanGetCurrentPos    = 0x8,
  4110.     AM_SEEKING_CanGetStopPos    = 0x10,
  4111.     AM_SEEKING_CanGetDuration    = 0x20,
  4112.     AM_SEEKING_CanPlayBackwards    = 0x40,
  4113.     AM_SEEKING_CanDoSegments    = 0x80,
  4114.     AM_SEEKING_Source    = 0x100
  4115.     }    AM_SEEKING_SEEKING_CAPABILITIES;
  4116.  
  4117.  
  4118.  
  4119. extern RPC_IF_HANDLE __MIDL_itf_strmif_0099_v0_0_c_ifspec;
  4120. extern RPC_IF_HANDLE __MIDL_itf_strmif_0099_v0_0_s_ifspec;
  4121.  
  4122. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  4123. #define __IMediaSeeking_INTERFACE_DEFINED__
  4124.  
  4125. /* interface IMediaSeeking */
  4126. /* [unique][uuid][object] */ 
  4127.  
  4128.  
  4129. EXTERN_C const IID IID_IMediaSeeking;
  4130.  
  4131. #if defined(__cplusplus) && !defined(CINTERFACE)
  4132.     
  4133.     MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  4134.     IMediaSeeking : public IUnknown
  4135.     {
  4136.     public:
  4137.         virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 
  4138.             /* [out] */ DWORD __RPC_FAR *pCapabilities) = 0;
  4139.         
  4140.         virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 
  4141.             /* [out][in] */ DWORD __RPC_FAR *pCapabilities) = 0;
  4142.         
  4143.         virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
  4144.             /* [in] */ const GUID __RPC_FAR *pFormat) = 0;
  4145.         
  4146.         virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 
  4147.             /* [out] */ GUID __RPC_FAR *pFormat) = 0;
  4148.         
  4149.         virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 
  4150.             /* [out] */ GUID __RPC_FAR *pFormat) = 0;
  4151.         
  4152.         virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 
  4153.             /* [in] */ const GUID __RPC_FAR *pFormat) = 0;
  4154.         
  4155.         virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 
  4156.             /* [in] */ const GUID __RPC_FAR *pFormat) = 0;
  4157.         
  4158.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  4159.             /* [out] */ LONGLONG __RPC_FAR *pDuration) = 0;
  4160.         
  4161.         virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 
  4162.             /* [out] */ LONGLONG __RPC_FAR *pStop) = 0;
  4163.         
  4164.         virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 
  4165.             /* [out] */ LONGLONG __RPC_FAR *pCurrent) = 0;
  4166.         
  4167.         virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 
  4168.             /* [out] */ LONGLONG __RPC_FAR *pTarget,
  4169.             /* [in] */ const GUID __RPC_FAR *pTargetFormat,
  4170.             /* [in] */ LONGLONG Source,
  4171.             /* [in] */ const GUID __RPC_FAR *pSourceFormat) = 0;
  4172.         
  4173.         virtual HRESULT STDMETHODCALLTYPE SetPositions( 
  4174.             /* [out][in] */ LONGLONG __RPC_FAR *pCurrent,
  4175.             /* [in] */ DWORD dwCurrentFlags,
  4176.             /* [out][in] */ LONGLONG __RPC_FAR *pStop,
  4177.             /* [in] */ DWORD dwStopFlags) = 0;
  4178.         
  4179.         virtual HRESULT STDMETHODCALLTYPE GetPositions( 
  4180.             /* [out] */ LONGLONG __RPC_FAR *pCurrent,
  4181.             /* [out] */ LONGLONG __RPC_FAR *pStop) = 0;
  4182.         
  4183.         virtual HRESULT STDMETHODCALLTYPE GetAvailable( 
  4184.             /* [out] */ LONGLONG __RPC_FAR *pEarliest,
  4185.             /* [out] */ LONGLONG __RPC_FAR *pLatest) = 0;
  4186.         
  4187.         virtual HRESULT STDMETHODCALLTYPE SetRate( 
  4188.             /* [in] */ double dRate) = 0;
  4189.         
  4190.         virtual HRESULT STDMETHODCALLTYPE GetRate( 
  4191.             /* [out] */ double __RPC_FAR *pdRate) = 0;
  4192.         
  4193.         virtual HRESULT STDMETHODCALLTYPE GetPreroll( 
  4194.             /* [out] */ LONGLONG __RPC_FAR *pllPreroll) = 0;
  4195.         
  4196.     };
  4197.     
  4198. #else     /* C style interface */
  4199.  
  4200.     typedef struct IMediaSeekingVtbl
  4201.     {
  4202.         BEGIN_INTERFACE
  4203.         
  4204.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4205.             IMediaSeeking __RPC_FAR * This,
  4206.             /* [in] */ REFIID riid,
  4207.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4208.         
  4209.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4210.             IMediaSeeking __RPC_FAR * This);
  4211.         
  4212.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4213.             IMediaSeeking __RPC_FAR * This);
  4214.         
  4215.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapabilities )( 
  4216.             IMediaSeeking __RPC_FAR * This,
  4217.             /* [out] */ DWORD __RPC_FAR *pCapabilities);
  4218.         
  4219.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CheckCapabilities )( 
  4220.             IMediaSeeking __RPC_FAR * This,
  4221.             /* [out][in] */ DWORD __RPC_FAR *pCapabilities);
  4222.         
  4223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsFormatSupported )( 
  4224.             IMediaSeeking __RPC_FAR * This,
  4225.             /* [in] */ const GUID __RPC_FAR *pFormat);
  4226.         
  4227.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryPreferredFormat )( 
  4228.             IMediaSeeking __RPC_FAR * This,
  4229.             /* [out] */ GUID __RPC_FAR *pFormat);
  4230.         
  4231.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTimeFormat )( 
  4232.             IMediaSeeking __RPC_FAR * This,
  4233.             /* [out] */ GUID __RPC_FAR *pFormat);
  4234.         
  4235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsUsingTimeFormat )( 
  4236.             IMediaSeeking __RPC_FAR * This,
  4237.             /* [in] */ const GUID __RPC_FAR *pFormat);
  4238.         
  4239.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimeFormat )( 
  4240.             IMediaSeeking __RPC_FAR * This,
  4241.             /* [in] */ const GUID __RPC_FAR *pFormat);
  4242.         
  4243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDuration )( 
  4244.             IMediaSeeking __RPC_FAR * This,
  4245.             /* [out] */ LONGLONG __RPC_FAR *pDuration);
  4246.         
  4247.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStopPosition )( 
  4248.             IMediaSeeking __RPC_FAR * This,
  4249.             /* [out] */ LONGLONG __RPC_FAR *pStop);
  4250.         
  4251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentPosition )( 
  4252.             IMediaSeeking __RPC_FAR * This,
  4253.             /* [out] */ LONGLONG __RPC_FAR *pCurrent);
  4254.         
  4255.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertTimeFormat )( 
  4256.             IMediaSeeking __RPC_FAR * This,
  4257.             /* [out] */ LONGLONG __RPC_FAR *pTarget,
  4258.             /* [in] */ const GUID __RPC_FAR *pTargetFormat,
  4259.             /* [in] */ LONGLONG Source,
  4260.             /* [in] */ const GUID __RPC_FAR *pSourceFormat);
  4261.         
  4262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPositions )( 
  4263.             IMediaSeeking __RPC_FAR * This,
  4264.             /* [out][in] */ LONGLONG __RPC_FAR *pCurrent,
  4265.             /* [in] */ DWORD dwCurrentFlags,
  4266.             /* [out][in] */ LONGLONG __RPC_FAR *pStop,
  4267.             /* [in] */ DWORD dwStopFlags);
  4268.         
  4269.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPositions )( 
  4270.             IMediaSeeking __RPC_FAR * This,
  4271.             /* [out] */ LONGLONG __RPC_FAR *pCurrent,
  4272.             /* [out] */ LONGLONG __RPC_FAR *pStop);
  4273.         
  4274.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailable )( 
  4275.             IMediaSeeking __RPC_FAR * This,
  4276.             /* [out] */ LONGLONG __RPC_FAR *pEarliest,
  4277.             /* [out] */ LONGLONG __RPC_FAR *pLatest);
  4278.         
  4279.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRate )( 
  4280.             IMediaSeeking __RPC_FAR * This,
  4281.             /* [in] */ double dRate);
  4282.         
  4283.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRate )( 
  4284.             IMediaSeeking __RPC_FAR * This,
  4285.             /* [out] */ double __RPC_FAR *pdRate);
  4286.         
  4287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPreroll )( 
  4288.             IMediaSeeking __RPC_FAR * This,
  4289.             /* [out] */ LONGLONG __RPC_FAR *pllPreroll);
  4290.         
  4291.         END_INTERFACE
  4292.     } IMediaSeekingVtbl;
  4293.  
  4294.     interface IMediaSeeking
  4295.     {
  4296.         CONST_VTBL struct IMediaSeekingVtbl __RPC_FAR *lpVtbl;
  4297.     };
  4298.  
  4299.     
  4300.  
  4301. #ifdef COBJMACROS
  4302.  
  4303.  
  4304. #define IMediaSeeking_QueryInterface(This,riid,ppvObject)    \
  4305.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4306.  
  4307. #define IMediaSeeking_AddRef(This)    \
  4308.     (This)->lpVtbl -> AddRef(This)
  4309.  
  4310. #define IMediaSeeking_Release(This)    \
  4311.     (This)->lpVtbl -> Release(This)
  4312.  
  4313.  
  4314. #define IMediaSeeking_GetCapabilities(This,pCapabilities)    \
  4315.     (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  4316.  
  4317. #define IMediaSeeking_CheckCapabilities(This,pCapabilities)    \
  4318.     (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  4319.  
  4320. #define IMediaSeeking_IsFormatSupported(This,pFormat)    \
  4321.     (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  4322.  
  4323. #define IMediaSeeking_QueryPreferredFormat(This,pFormat)    \
  4324.     (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  4325.  
  4326. #define IMediaSeeking_GetTimeFormat(This,pFormat)    \
  4327.     (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  4328.  
  4329. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat)    \
  4330.     (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  4331.  
  4332. #define IMediaSeeking_SetTimeFormat(This,pFormat)    \
  4333.     (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  4334.  
  4335. #define IMediaSeeking_GetDuration(This,pDuration)    \
  4336.     (This)->lpVtbl -> GetDuration(This,pDuration)
  4337.  
  4338. #define IMediaSeeking_GetStopPosition(This,pStop)    \
  4339.     (This)->lpVtbl -> GetStopPosition(This,pStop)
  4340.  
  4341. #define IMediaSeeking_GetCurrentPosition(This,pCurrent)    \
  4342.     (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  4343.  
  4344. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)    \
  4345.     (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  4346.  
  4347. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)    \
  4348.     (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  4349.  
  4350. #define IMediaSeeking_GetPositions(This,pCurrent,pStop)    \
  4351.     (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  4352.  
  4353. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)    \
  4354.     (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  4355.  
  4356. #define IMediaSeeking_SetRate(This,dRate)    \
  4357.     (This)->lpVtbl -> SetRate(This,dRate)
  4358.  
  4359. #define IMediaSeeking_GetRate(This,pdRate)    \
  4360.     (This)->lpVtbl -> GetRate(This,pdRate)
  4361.  
  4362. #define IMediaSeeking_GetPreroll(This,pllPreroll)    \
  4363.     (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  4364.  
  4365. #endif /* COBJMACROS */
  4366.  
  4367.  
  4368. #endif     /* C style interface */
  4369.  
  4370.  
  4371.  
  4372. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 
  4373.     IMediaSeeking __RPC_FAR * This,
  4374.     /* [out] */ DWORD __RPC_FAR *pCapabilities);
  4375.  
  4376.  
  4377. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  4378.     IRpcStubBuffer *This,
  4379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4380.     PRPC_MESSAGE _pRpcMessage,
  4381.     DWORD *_pdwStubPhase);
  4382.  
  4383.  
  4384. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 
  4385.     IMediaSeeking __RPC_FAR * This,
  4386.     /* [out][in] */ DWORD __RPC_FAR *pCapabilities);
  4387.  
  4388.  
  4389. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  4390.     IRpcStubBuffer *This,
  4391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4392.     PRPC_MESSAGE _pRpcMessage,
  4393.     DWORD *_pdwStubPhase);
  4394.  
  4395.  
  4396. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 
  4397.     IMediaSeeking __RPC_FAR * This,
  4398.     /* [in] */ const GUID __RPC_FAR *pFormat);
  4399.  
  4400.  
  4401. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  4402.     IRpcStubBuffer *This,
  4403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4404.     PRPC_MESSAGE _pRpcMessage,
  4405.     DWORD *_pdwStubPhase);
  4406.  
  4407.  
  4408. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 
  4409.     IMediaSeeking __RPC_FAR * This,
  4410.     /* [out] */ GUID __RPC_FAR *pFormat);
  4411.  
  4412.  
  4413. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  4414.     IRpcStubBuffer *This,
  4415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4416.     PRPC_MESSAGE _pRpcMessage,
  4417.     DWORD *_pdwStubPhase);
  4418.  
  4419.  
  4420. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 
  4421.     IMediaSeeking __RPC_FAR * This,
  4422.     /* [out] */ GUID __RPC_FAR *pFormat);
  4423.  
  4424.  
  4425. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  4426.     IRpcStubBuffer *This,
  4427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4428.     PRPC_MESSAGE _pRpcMessage,
  4429.     DWORD *_pdwStubPhase);
  4430.  
  4431.  
  4432. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 
  4433.     IMediaSeeking __RPC_FAR * This,
  4434.     /* [in] */ const GUID __RPC_FAR *pFormat);
  4435.  
  4436.  
  4437. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  4438.     IRpcStubBuffer *This,
  4439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4440.     PRPC_MESSAGE _pRpcMessage,
  4441.     DWORD *_pdwStubPhase);
  4442.  
  4443.  
  4444. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 
  4445.     IMediaSeeking __RPC_FAR * This,
  4446.     /* [in] */ const GUID __RPC_FAR *pFormat);
  4447.  
  4448.  
  4449. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  4450.     IRpcStubBuffer *This,
  4451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4452.     PRPC_MESSAGE _pRpcMessage,
  4453.     DWORD *_pdwStubPhase);
  4454.  
  4455.  
  4456. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 
  4457.     IMediaSeeking __RPC_FAR * This,
  4458.     /* [out] */ LONGLONG __RPC_FAR *pDuration);
  4459.  
  4460.  
  4461. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  4462.     IRpcStubBuffer *This,
  4463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4464.     PRPC_MESSAGE _pRpcMessage,
  4465.     DWORD *_pdwStubPhase);
  4466.  
  4467.  
  4468. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 
  4469.     IMediaSeeking __RPC_FAR * This,
  4470.     /* [out] */ LONGLONG __RPC_FAR *pStop);
  4471.  
  4472.  
  4473. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  4474.     IRpcStubBuffer *This,
  4475.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4476.     PRPC_MESSAGE _pRpcMessage,
  4477.     DWORD *_pdwStubPhase);
  4478.  
  4479.  
  4480. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 
  4481.     IMediaSeeking __RPC_FAR * This,
  4482.     /* [out] */ LONGLONG __RPC_FAR *pCurrent);
  4483.  
  4484.  
  4485. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  4486.     IRpcStubBuffer *This,
  4487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4488.     PRPC_MESSAGE _pRpcMessage,
  4489.     DWORD *_pdwStubPhase);
  4490.  
  4491.  
  4492. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 
  4493.     IMediaSeeking __RPC_FAR * This,
  4494.     /* [out] */ LONGLONG __RPC_FAR *pTarget,
  4495.     /* [in] */ const GUID __RPC_FAR *pTargetFormat,
  4496.     /* [in] */ LONGLONG Source,
  4497.     /* [in] */ const GUID __RPC_FAR *pSourceFormat);
  4498.  
  4499.  
  4500. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  4501.     IRpcStubBuffer *This,
  4502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4503.     PRPC_MESSAGE _pRpcMessage,
  4504.     DWORD *_pdwStubPhase);
  4505.  
  4506.  
  4507. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 
  4508.     IMediaSeeking __RPC_FAR * This,
  4509.     /* [out][in] */ LONGLONG __RPC_FAR *pCurrent,
  4510.     /* [in] */ DWORD dwCurrentFlags,
  4511.     /* [out][in] */ LONGLONG __RPC_FAR *pStop,
  4512.     /* [in] */ DWORD dwStopFlags);
  4513.  
  4514.  
  4515. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  4516.     IRpcStubBuffer *This,
  4517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4518.     PRPC_MESSAGE _pRpcMessage,
  4519.     DWORD *_pdwStubPhase);
  4520.  
  4521.  
  4522. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 
  4523.     IMediaSeeking __RPC_FAR * This,
  4524.     /* [out] */ LONGLONG __RPC_FAR *pCurrent,
  4525.     /* [out] */ LONGLONG __RPC_FAR *pStop);
  4526.  
  4527.  
  4528. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  4529.     IRpcStubBuffer *This,
  4530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4531.     PRPC_MESSAGE _pRpcMessage,
  4532.     DWORD *_pdwStubPhase);
  4533.  
  4534.  
  4535. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 
  4536.     IMediaSeeking __RPC_FAR * This,
  4537.     /* [out] */ LONGLONG __RPC_FAR *pEarliest,
  4538.     /* [out] */ LONGLONG __RPC_FAR *pLatest);
  4539.  
  4540.  
  4541. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  4542.     IRpcStubBuffer *This,
  4543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4544.     PRPC_MESSAGE _pRpcMessage,
  4545.     DWORD *_pdwStubPhase);
  4546.  
  4547.  
  4548. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 
  4549.     IMediaSeeking __RPC_FAR * This,
  4550.     /* [in] */ double dRate);
  4551.  
  4552.  
  4553. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  4554.     IRpcStubBuffer *This,
  4555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4556.     PRPC_MESSAGE _pRpcMessage,
  4557.     DWORD *_pdwStubPhase);
  4558.  
  4559.  
  4560. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 
  4561.     IMediaSeeking __RPC_FAR * This,
  4562.     /* [out] */ double __RPC_FAR *pdRate);
  4563.  
  4564.  
  4565. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  4566.     IRpcStubBuffer *This,
  4567.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4568.     PRPC_MESSAGE _pRpcMessage,
  4569.     DWORD *_pdwStubPhase);
  4570.  
  4571.  
  4572. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 
  4573.     IMediaSeeking __RPC_FAR * This,
  4574.     /* [out] */ LONGLONG __RPC_FAR *pllPreroll);
  4575.  
  4576.  
  4577. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  4578.     IRpcStubBuffer *This,
  4579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4580.     PRPC_MESSAGE _pRpcMessage,
  4581.     DWORD *_pdwStubPhase);
  4582.  
  4583.  
  4584.  
  4585. #endif     /* __IMediaSeeking_INTERFACE_DEFINED__ */
  4586.  
  4587.  
  4588. /* interface __MIDL_itf_strmif_0100 */
  4589. /* [local] */ 
  4590.  
  4591. typedef IMediaSeeking __RPC_FAR *PMEDIASEEKING;
  4592.  
  4593. enum tagAM_MEDIAEVENT_FLAGS
  4594. {
  4595.     AM_MEDIAEVENT_NONOTIFY = 0x01
  4596. };
  4597.  
  4598.  
  4599.  
  4600.  
  4601.  
  4602.  
  4603.  
  4604.  
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.  
  4616.  
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.  
  4627.  
  4628.  
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0100_0001
  4640.     {
  4641.     CLSID Clsid;
  4642.     LPWSTR Name;
  4643.     }    REGFILTER;
  4644.  
  4645.  
  4646.  
  4647. extern RPC_IF_HANDLE __MIDL_itf_strmif_0100_v0_0_c_ifspec;
  4648. extern RPC_IF_HANDLE __MIDL_itf_strmif_0100_v0_0_s_ifspec;
  4649.  
  4650. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  4651. #define __IEnumRegFilters_INTERFACE_DEFINED__
  4652.  
  4653. /* interface IEnumRegFilters */
  4654. /* [unique][uuid][object] */ 
  4655.  
  4656.  
  4657. EXTERN_C const IID IID_IEnumRegFilters;
  4658.  
  4659. #if defined(__cplusplus) && !defined(CINTERFACE)
  4660.     
  4661.     MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  4662.     IEnumRegFilters : public IUnknown
  4663.     {
  4664.     public:
  4665.         virtual HRESULT STDMETHODCALLTYPE Next( 
  4666.             /* [in] */ ULONG cFilters,
  4667.             /* [out] */ REGFILTER __RPC_FAR *__RPC_FAR *apRegFilter,
  4668.             /* [out] */ ULONG __RPC_FAR *pcFetched) = 0;
  4669.         
  4670.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  4671.             /* [in] */ ULONG cFilters) = 0;
  4672.         
  4673.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4674.         
  4675.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  4676.             /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  4677.         
  4678.     };
  4679.     
  4680. #else     /* C style interface */
  4681.  
  4682.     typedef struct IEnumRegFiltersVtbl
  4683.     {
  4684.         BEGIN_INTERFACE
  4685.         
  4686.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4687.             IEnumRegFilters __RPC_FAR * This,
  4688.             /* [in] */ REFIID riid,
  4689.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4690.         
  4691.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4692.             IEnumRegFilters __RPC_FAR * This);
  4693.         
  4694.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4695.             IEnumRegFilters __RPC_FAR * This);
  4696.         
  4697.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  4698.             IEnumRegFilters __RPC_FAR * This,
  4699.             /* [in] */ ULONG cFilters,
  4700.             /* [out] */ REGFILTER __RPC_FAR *__RPC_FAR *apRegFilter,
  4701.             /* [out] */ ULONG __RPC_FAR *pcFetched);
  4702.         
  4703.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  4704.             IEnumRegFilters __RPC_FAR * This,
  4705.             /* [in] */ ULONG cFilters);
  4706.         
  4707.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  4708.             IEnumRegFilters __RPC_FAR * This);
  4709.         
  4710.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  4711.             IEnumRegFilters __RPC_FAR * This,
  4712.             /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum);
  4713.         
  4714.         END_INTERFACE
  4715.     } IEnumRegFiltersVtbl;
  4716.  
  4717.     interface IEnumRegFilters
  4718.     {
  4719.         CONST_VTBL struct IEnumRegFiltersVtbl __RPC_FAR *lpVtbl;
  4720.     };
  4721.  
  4722.     
  4723.  
  4724. #ifdef COBJMACROS
  4725.  
  4726.  
  4727. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject)    \
  4728.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4729.  
  4730. #define IEnumRegFilters_AddRef(This)    \
  4731.     (This)->lpVtbl -> AddRef(This)
  4732.  
  4733. #define IEnumRegFilters_Release(This)    \
  4734.     (This)->lpVtbl -> Release(This)
  4735.  
  4736.  
  4737. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)    \
  4738.     (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  4739.  
  4740. #define IEnumRegFilters_Skip(This,cFilters)    \
  4741.     (This)->lpVtbl -> Skip(This,cFilters)
  4742.  
  4743. #define IEnumRegFilters_Reset(This)    \
  4744.     (This)->lpVtbl -> Reset(This)
  4745.  
  4746. #define IEnumRegFilters_Clone(This,ppEnum)    \
  4747.     (This)->lpVtbl -> Clone(This,ppEnum)
  4748.  
  4749. #endif /* COBJMACROS */
  4750.  
  4751.  
  4752. #endif     /* C style interface */
  4753.  
  4754.  
  4755.  
  4756. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 
  4757.     IEnumRegFilters __RPC_FAR * This,
  4758.     /* [in] */ ULONG cFilters,
  4759.     /* [out] */ REGFILTER __RPC_FAR *__RPC_FAR *apRegFilter,
  4760.     /* [out] */ ULONG __RPC_FAR *pcFetched);
  4761.  
  4762.  
  4763. void __RPC_STUB IEnumRegFilters_Next_Stub(
  4764.     IRpcStubBuffer *This,
  4765.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4766.     PRPC_MESSAGE _pRpcMessage,
  4767.     DWORD *_pdwStubPhase);
  4768.  
  4769.  
  4770. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 
  4771.     IEnumRegFilters __RPC_FAR * This,
  4772.     /* [in] */ ULONG cFilters);
  4773.  
  4774.  
  4775. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  4776.     IRpcStubBuffer *This,
  4777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4778.     PRPC_MESSAGE _pRpcMessage,
  4779.     DWORD *_pdwStubPhase);
  4780.  
  4781.  
  4782. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 
  4783.     IEnumRegFilters __RPC_FAR * This);
  4784.  
  4785.  
  4786. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  4787.     IRpcStubBuffer *This,
  4788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4789.     PRPC_MESSAGE _pRpcMessage,
  4790.     DWORD *_pdwStubPhase);
  4791.  
  4792.  
  4793. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 
  4794.     IEnumRegFilters __RPC_FAR * This,
  4795.     /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum);
  4796.  
  4797.  
  4798. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  4799.     IRpcStubBuffer *This,
  4800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4801.     PRPC_MESSAGE _pRpcMessage,
  4802.     DWORD *_pdwStubPhase);
  4803.  
  4804.  
  4805.  
  4806. #endif     /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  4807.  
  4808.  
  4809. /* interface __MIDL_itf_strmif_0102 */
  4810. /* [local] */ 
  4811.  
  4812. typedef IEnumRegFilters __RPC_FAR *PENUMREGFILTERS;
  4813.  
  4814.  
  4815.  
  4816. extern RPC_IF_HANDLE __MIDL_itf_strmif_0102_v0_0_c_ifspec;
  4817. extern RPC_IF_HANDLE __MIDL_itf_strmif_0102_v0_0_s_ifspec;
  4818.  
  4819. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  4820. #define __IFilterMapper_INTERFACE_DEFINED__
  4821.  
  4822. /* interface IFilterMapper */
  4823. /* [unique][uuid][object] */ 
  4824.  
  4825.  
  4826. enum __MIDL_IFilterMapper_0001
  4827.     {    MERIT_PREFERRED    = 0x800000,
  4828.     MERIT_NORMAL    = 0x600000,
  4829.     MERIT_UNLIKELY    = 0x400000,
  4830.     MERIT_DO_NOT_USE    = 0x200000,
  4831.     MERIT_SW_COMPRESSOR    = 0x100000,
  4832.     MERIT_HW_COMPRESSOR    = 0x100050
  4833.     };
  4834.  
  4835. EXTERN_C const IID IID_IFilterMapper;
  4836.  
  4837. #if defined(__cplusplus) && !defined(CINTERFACE)
  4838.     
  4839.     MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  4840.     IFilterMapper : public IUnknown
  4841.     {
  4842.     public:
  4843.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  4844.             /* [in] */ CLSID clsid,
  4845.             /* [in] */ LPCWSTR Name,
  4846.             /* [in] */ DWORD dwMerit) = 0;
  4847.         
  4848.         virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 
  4849.             /* [in] */ CLSID clsid,
  4850.             /* [in] */ LPCWSTR Name,
  4851.             /* [out] */ CLSID __RPC_FAR *MRId) = 0;
  4852.         
  4853.         virtual HRESULT STDMETHODCALLTYPE RegisterPin( 
  4854.             /* [in] */ CLSID Filter,
  4855.             /* [in] */ LPCWSTR Name,
  4856.             /* [in] */ BOOL bRendered,
  4857.             /* [in] */ BOOL bOutput,
  4858.             /* [in] */ BOOL bZero,
  4859.             /* [in] */ BOOL bMany,
  4860.             /* [in] */ CLSID ConnectsToFilter,
  4861.             /* [in] */ LPCWSTR ConnectsToPin) = 0;
  4862.         
  4863.         virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 
  4864.             /* [in] */ CLSID clsFilter,
  4865.             /* [in] */ LPCWSTR strName,
  4866.             /* [in] */ CLSID clsMajorType,
  4867.             /* [in] */ CLSID clsSubType) = 0;
  4868.         
  4869.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  4870.             /* [in] */ CLSID Filter) = 0;
  4871.         
  4872.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 
  4873.             /* [in] */ CLSID MRId) = 0;
  4874.         
  4875.         virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 
  4876.             /* [in] */ CLSID Filter,
  4877.             /* [in] */ LPCWSTR Name) = 0;
  4878.         
  4879.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  4880.             /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum,
  4881.             /* [in] */ DWORD dwMerit,
  4882.             /* [in] */ BOOL bInputNeeded,
  4883.             /* [in] */ CLSID clsInMaj,
  4884.             /* [in] */ CLSID clsInSub,
  4885.             /* [in] */ BOOL bRender,
  4886.             /* [in] */ BOOL bOututNeeded,
  4887.             /* [in] */ CLSID clsOutMaj,
  4888.             /* [in] */ CLSID clsOutSub) = 0;
  4889.         
  4890.     };
  4891.     
  4892. #else     /* C style interface */
  4893.  
  4894.     typedef struct IFilterMapperVtbl
  4895.     {
  4896.         BEGIN_INTERFACE
  4897.         
  4898.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4899.             IFilterMapper __RPC_FAR * This,
  4900.             /* [in] */ REFIID riid,
  4901.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4902.         
  4903.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4904.             IFilterMapper __RPC_FAR * This);
  4905.         
  4906.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4907.             IFilterMapper __RPC_FAR * This);
  4908.         
  4909.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterFilter )( 
  4910.             IFilterMapper __RPC_FAR * This,
  4911.             /* [in] */ CLSID clsid,
  4912.             /* [in] */ LPCWSTR Name,
  4913.             /* [in] */ DWORD dwMerit);
  4914.         
  4915.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterFilterInstance )( 
  4916.             IFilterMapper __RPC_FAR * This,
  4917.             /* [in] */ CLSID clsid,
  4918.             /* [in] */ LPCWSTR Name,
  4919.             /* [out] */ CLSID __RPC_FAR *MRId);
  4920.         
  4921.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterPin )( 
  4922.             IFilterMapper __RPC_FAR * This,
  4923.             /* [in] */ CLSID Filter,
  4924.             /* [in] */ LPCWSTR Name,
  4925.             /* [in] */ BOOL bRendered,
  4926.             /* [in] */ BOOL bOutput,
  4927.             /* [in] */ BOOL bZero,
  4928.             /* [in] */ BOOL bMany,
  4929.             /* [in] */ CLSID ConnectsToFilter,
  4930.             /* [in] */ LPCWSTR ConnectsToPin);
  4931.         
  4932.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterPinType )( 
  4933.             IFilterMapper __RPC_FAR * This,
  4934.             /* [in] */ CLSID clsFilter,
  4935.             /* [in] */ LPCWSTR strName,
  4936.             /* [in] */ CLSID clsMajorType,
  4937.             /* [in] */ CLSID clsSubType);
  4938.         
  4939.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterFilter )( 
  4940.             IFilterMapper __RPC_FAR * This,
  4941.             /* [in] */ CLSID Filter);
  4942.         
  4943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterFilterInstance )( 
  4944.             IFilterMapper __RPC_FAR * This,
  4945.             /* [in] */ CLSID MRId);
  4946.         
  4947.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterPin )( 
  4948.             IFilterMapper __RPC_FAR * This,
  4949.             /* [in] */ CLSID Filter,
  4950.             /* [in] */ LPCWSTR Name);
  4951.         
  4952.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMatchingFilters )( 
  4953.             IFilterMapper __RPC_FAR * This,
  4954.             /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum,
  4955.             /* [in] */ DWORD dwMerit,
  4956.             /* [in] */ BOOL bInputNeeded,
  4957.             /* [in] */ CLSID clsInMaj,
  4958.             /* [in] */ CLSID clsInSub,
  4959.             /* [in] */ BOOL bRender,
  4960.             /* [in] */ BOOL bOututNeeded,
  4961.             /* [in] */ CLSID clsOutMaj,
  4962.             /* [in] */ CLSID clsOutSub);
  4963.         
  4964.         END_INTERFACE
  4965.     } IFilterMapperVtbl;
  4966.  
  4967.     interface IFilterMapper
  4968.     {
  4969.         CONST_VTBL struct IFilterMapperVtbl __RPC_FAR *lpVtbl;
  4970.     };
  4971.  
  4972.     
  4973.  
  4974. #ifdef COBJMACROS
  4975.  
  4976.  
  4977. #define IFilterMapper_QueryInterface(This,riid,ppvObject)    \
  4978.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4979.  
  4980. #define IFilterMapper_AddRef(This)    \
  4981.     (This)->lpVtbl -> AddRef(This)
  4982.  
  4983. #define IFilterMapper_Release(This)    \
  4984.     (This)->lpVtbl -> Release(This)
  4985.  
  4986.  
  4987. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)    \
  4988.     (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  4989.  
  4990. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)    \
  4991.     (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  4992.  
  4993. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)    \
  4994.     (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  4995.  
  4996. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)    \
  4997.     (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  4998.  
  4999. #define IFilterMapper_UnregisterFilter(This,Filter)    \
  5000.     (This)->lpVtbl -> UnregisterFilter(This,Filter)
  5001.  
  5002. #define IFilterMapper_UnregisterFilterInstance(This,MRId)    \
  5003.     (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  5004.  
  5005. #define IFilterMapper_UnregisterPin(This,Filter,Name)    \
  5006.     (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  5007.  
  5008. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)    \
  5009.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  5010.  
  5011. #endif /* COBJMACROS */
  5012.  
  5013.  
  5014. #endif     /* C style interface */
  5015.  
  5016.  
  5017.  
  5018. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 
  5019.     IFilterMapper __RPC_FAR * This,
  5020.     /* [in] */ CLSID clsid,
  5021.     /* [in] */ LPCWSTR Name,
  5022.     /* [in] */ DWORD dwMerit);
  5023.  
  5024.  
  5025. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  5026.     IRpcStubBuffer *This,
  5027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5028.     PRPC_MESSAGE _pRpcMessage,
  5029.     DWORD *_pdwStubPhase);
  5030.  
  5031.  
  5032. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 
  5033.     IFilterMapper __RPC_FAR * This,
  5034.     /* [in] */ CLSID clsid,
  5035.     /* [in] */ LPCWSTR Name,
  5036.     /* [out] */ CLSID __RPC_FAR *MRId);
  5037.  
  5038.  
  5039. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  5040.     IRpcStubBuffer *This,
  5041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5042.     PRPC_MESSAGE _pRpcMessage,
  5043.     DWORD *_pdwStubPhase);
  5044.  
  5045.  
  5046. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 
  5047.     IFilterMapper __RPC_FAR * This,
  5048.     /* [in] */ CLSID Filter,
  5049.     /* [in] */ LPCWSTR Name,
  5050.     /* [in] */ BOOL bRendered,
  5051.     /* [in] */ BOOL bOutput,
  5052.     /* [in] */ BOOL bZero,
  5053.     /* [in] */ BOOL bMany,
  5054.     /* [in] */ CLSID ConnectsToFilter,
  5055.     /* [in] */ LPCWSTR ConnectsToPin);
  5056.  
  5057.  
  5058. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  5059.     IRpcStubBuffer *This,
  5060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5061.     PRPC_MESSAGE _pRpcMessage,
  5062.     DWORD *_pdwStubPhase);
  5063.  
  5064.  
  5065. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 
  5066.     IFilterMapper __RPC_FAR * This,
  5067.     /* [in] */ CLSID clsFilter,
  5068.     /* [in] */ LPCWSTR strName,
  5069.     /* [in] */ CLSID clsMajorType,
  5070.     /* [in] */ CLSID clsSubType);
  5071.  
  5072.  
  5073. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  5074.     IRpcStubBuffer *This,
  5075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5076.     PRPC_MESSAGE _pRpcMessage,
  5077.     DWORD *_pdwStubPhase);
  5078.  
  5079.  
  5080. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 
  5081.     IFilterMapper __RPC_FAR * This,
  5082.     /* [in] */ CLSID Filter);
  5083.  
  5084.  
  5085. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  5086.     IRpcStubBuffer *This,
  5087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5088.     PRPC_MESSAGE _pRpcMessage,
  5089.     DWORD *_pdwStubPhase);
  5090.  
  5091.  
  5092. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 
  5093.     IFilterMapper __RPC_FAR * This,
  5094.     /* [in] */ CLSID MRId);
  5095.  
  5096.  
  5097. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  5098.     IRpcStubBuffer *This,
  5099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5100.     PRPC_MESSAGE _pRpcMessage,
  5101.     DWORD *_pdwStubPhase);
  5102.  
  5103.  
  5104. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 
  5105.     IFilterMapper __RPC_FAR * This,
  5106.     /* [in] */ CLSID Filter,
  5107.     /* [in] */ LPCWSTR Name);
  5108.  
  5109.  
  5110. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  5111.     IRpcStubBuffer *This,
  5112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5113.     PRPC_MESSAGE _pRpcMessage,
  5114.     DWORD *_pdwStubPhase);
  5115.  
  5116.  
  5117. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 
  5118.     IFilterMapper __RPC_FAR * This,
  5119.     /* [out] */ IEnumRegFilters __RPC_FAR *__RPC_FAR *ppEnum,
  5120.     /* [in] */ DWORD dwMerit,
  5121.     /* [in] */ BOOL bInputNeeded,
  5122.     /* [in] */ CLSID clsInMaj,
  5123.     /* [in] */ CLSID clsInSub,
  5124.     /* [in] */ BOOL bRender,
  5125.     /* [in] */ BOOL bOututNeeded,
  5126.     /* [in] */ CLSID clsOutMaj,
  5127.     /* [in] */ CLSID clsOutSub);
  5128.  
  5129.  
  5130. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  5131.     IRpcStubBuffer *This,
  5132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5133.     PRPC_MESSAGE _pRpcMessage,
  5134.     DWORD *_pdwStubPhase);
  5135.  
  5136.  
  5137.  
  5138. #endif     /* __IFilterMapper_INTERFACE_DEFINED__ */
  5139.  
  5140.  
  5141. /* interface __MIDL_itf_strmif_0104 */
  5142. /* [local] */ 
  5143.  
  5144. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0104_0001
  5145.     {
  5146.     const CLSID __RPC_FAR *clsMajorType;
  5147.     const CLSID __RPC_FAR *clsMinorType;
  5148.     }    REGPINTYPES;
  5149.  
  5150. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0104_0002
  5151.     {
  5152.     LPWSTR strName;
  5153.     BOOL bRendered;
  5154.     BOOL bOutput;
  5155.     BOOL bZero;
  5156.     BOOL bMany;
  5157.     const CLSID __RPC_FAR *clsConnectsToFilter;
  5158.     const WCHAR __RPC_FAR *strConnectsToPin;
  5159.     UINT nMediaTypes;
  5160.     const REGPINTYPES __RPC_FAR *lpMediaType;
  5161.     }    REGFILTERPINS;
  5162.  
  5163. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0104_0003
  5164.     {
  5165.     CLSID clsMedium;
  5166.     DWORD dw1;
  5167.     DWORD dw2;
  5168.     }    REGPINMEDIUM;
  5169.  
  5170.  
  5171. enum __MIDL___MIDL_itf_strmif_0104_0004
  5172.     {    REG_PINFLAG_B_ZERO    = 0x1,
  5173.     REG_PINFLAG_B_RENDERER    = 0x2,
  5174.     REG_PINFLAG_B_MANY    = 0x4,
  5175.     REG_PINFLAG_B_OUTPUT    = 0x8
  5176.     };
  5177. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0104_0005
  5178.     {
  5179.     DWORD dwFlags;
  5180.     UINT cInstances;
  5181.     UINT nMediaTypes;
  5182.     /* [size_is] */ const REGPINTYPES __RPC_FAR *lpMediaType;
  5183.     UINT nMediums;
  5184.     /* [size_is] */ const REGPINMEDIUM __RPC_FAR *lpMedium;
  5185.     const CLSID __RPC_FAR *clsPinCategory;
  5186.     }    REGFILTERPINS2;
  5187.  
  5188. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0104_0006
  5189.     {
  5190.     DWORD dwVersion;
  5191.     DWORD dwMerit;
  5192.     /* [switch_type][switch_is] */ union 
  5193.         {
  5194.         /* [case()] */ struct 
  5195.             {
  5196.             ULONG cPins;
  5197.             /* [size_is] */ const REGFILTERPINS __RPC_FAR *rgPins;
  5198.             }    ;
  5199.         /* [case()] */ struct 
  5200.             {
  5201.             ULONG cPins2;
  5202.             /* [size_is] */ const REGFILTERPINS2 __RPC_FAR *rgPins2;
  5203.             }    ;
  5204.         /* [default] */  /* Empty union arm */ 
  5205.         }    ;
  5206.     }    REGFILTER2;
  5207.  
  5208.  
  5209.  
  5210. extern RPC_IF_HANDLE __MIDL_itf_strmif_0104_v0_0_c_ifspec;
  5211. extern RPC_IF_HANDLE __MIDL_itf_strmif_0104_v0_0_s_ifspec;
  5212.  
  5213. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  5214. #define __IFilterMapper2_INTERFACE_DEFINED__
  5215.  
  5216. /* interface IFilterMapper2 */
  5217. /* [unique][uuid][object] */ 
  5218.  
  5219.  
  5220. EXTERN_C const IID IID_IFilterMapper2;
  5221.  
  5222. #if defined(__cplusplus) && !defined(CINTERFACE)
  5223.     
  5224.     MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  5225.     IFilterMapper2 : public IUnknown
  5226.     {
  5227.     public:
  5228.         virtual HRESULT STDMETHODCALLTYPE CreateCategory( 
  5229.             /* [in] */ REFCLSID clsidCategory,
  5230.             /* [in] */ DWORD dwCategoryMerit,
  5231.             /* [in] */ LPCWSTR Description) = 0;
  5232.         
  5233.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5234.             /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5235.             /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5236.             /* [in] */ REFCLSID Filter) = 0;
  5237.         
  5238.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5239.             /* [in] */ REFCLSID clsidFilter,
  5240.             /* [in] */ LPCWSTR Name,
  5241.             /* [out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker,
  5242.             /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5243.             /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5244.             /* [in] */ const REGFILTER2 __RPC_FAR *prf2) = 0;
  5245.         
  5246.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5247.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnum,
  5248.             /* [in] */ DWORD dwFlags,
  5249.             /* [in] */ BOOL bExactMatch,
  5250.             /* [in] */ DWORD dwMerit,
  5251.             /* [in] */ BOOL bInputNeeded,
  5252.             /* [in] */ DWORD cInputTypes,
  5253.             /* [size_is] */ const GUID __RPC_FAR *pInputTypes,
  5254.             /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedIn,
  5255.             /* [in] */ const CLSID __RPC_FAR *pPinCategoryIn,
  5256.             /* [in] */ BOOL bRender,
  5257.             /* [in] */ BOOL bOutputNeeded,
  5258.             /* [in] */ DWORD cOutputTypes,
  5259.             /* [size_is] */ const GUID __RPC_FAR *pOutputTypes,
  5260.             /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedOut,
  5261.             /* [in] */ const CLSID __RPC_FAR *pPinCategoryOut) = 0;
  5262.         
  5263.     };
  5264.     
  5265. #else     /* C style interface */
  5266.  
  5267.     typedef struct IFilterMapper2Vtbl
  5268.     {
  5269.         BEGIN_INTERFACE
  5270.         
  5271.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5272.             IFilterMapper2 __RPC_FAR * This,
  5273.             /* [in] */ REFIID riid,
  5274.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5275.         
  5276.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5277.             IFilterMapper2 __RPC_FAR * This);
  5278.         
  5279.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5280.             IFilterMapper2 __RPC_FAR * This);
  5281.         
  5282.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateCategory )( 
  5283.             IFilterMapper2 __RPC_FAR * This,
  5284.             /* [in] */ REFCLSID clsidCategory,
  5285.             /* [in] */ DWORD dwCategoryMerit,
  5286.             /* [in] */ LPCWSTR Description);
  5287.         
  5288.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterFilter )( 
  5289.             IFilterMapper2 __RPC_FAR * This,
  5290.             /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5291.             /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5292.             /* [in] */ REFCLSID Filter);
  5293.         
  5294.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterFilter )( 
  5295.             IFilterMapper2 __RPC_FAR * This,
  5296.             /* [in] */ REFCLSID clsidFilter,
  5297.             /* [in] */ LPCWSTR Name,
  5298.             /* [out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker,
  5299.             /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5300.             /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5301.             /* [in] */ const REGFILTER2 __RPC_FAR *prf2);
  5302.         
  5303.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumMatchingFilters )( 
  5304.             IFilterMapper2 __RPC_FAR * This,
  5305.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnum,
  5306.             /* [in] */ DWORD dwFlags,
  5307.             /* [in] */ BOOL bExactMatch,
  5308.             /* [in] */ DWORD dwMerit,
  5309.             /* [in] */ BOOL bInputNeeded,
  5310.             /* [in] */ DWORD cInputTypes,
  5311.             /* [size_is] */ const GUID __RPC_FAR *pInputTypes,
  5312.             /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedIn,
  5313.             /* [in] */ const CLSID __RPC_FAR *pPinCategoryIn,
  5314.             /* [in] */ BOOL bRender,
  5315.             /* [in] */ BOOL bOutputNeeded,
  5316.             /* [in] */ DWORD cOutputTypes,
  5317.             /* [size_is] */ const GUID __RPC_FAR *pOutputTypes,
  5318.             /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedOut,
  5319.             /* [in] */ const CLSID __RPC_FAR *pPinCategoryOut);
  5320.         
  5321.         END_INTERFACE
  5322.     } IFilterMapper2Vtbl;
  5323.  
  5324.     interface IFilterMapper2
  5325.     {
  5326.         CONST_VTBL struct IFilterMapper2Vtbl __RPC_FAR *lpVtbl;
  5327.     };
  5328.  
  5329.     
  5330.  
  5331. #ifdef COBJMACROS
  5332.  
  5333.  
  5334. #define IFilterMapper2_QueryInterface(This,riid,ppvObject)    \
  5335.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5336.  
  5337. #define IFilterMapper2_AddRef(This)    \
  5338.     (This)->lpVtbl -> AddRef(This)
  5339.  
  5340. #define IFilterMapper2_Release(This)    \
  5341.     (This)->lpVtbl -> Release(This)
  5342.  
  5343.  
  5344. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5345.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5346.  
  5347. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5348.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5349.  
  5350. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5351.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5352.  
  5353. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5354.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5355.  
  5356. #endif /* COBJMACROS */
  5357.  
  5358.  
  5359. #endif     /* C style interface */
  5360.  
  5361.  
  5362.  
  5363. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 
  5364.     IFilterMapper2 __RPC_FAR * This,
  5365.     /* [in] */ REFCLSID clsidCategory,
  5366.     /* [in] */ DWORD dwCategoryMerit,
  5367.     /* [in] */ LPCWSTR Description);
  5368.  
  5369.  
  5370. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  5371.     IRpcStubBuffer *This,
  5372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5373.     PRPC_MESSAGE _pRpcMessage,
  5374.     DWORD *_pdwStubPhase);
  5375.  
  5376.  
  5377. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 
  5378.     IFilterMapper2 __RPC_FAR * This,
  5379.     /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5380.     /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5381.     /* [in] */ REFCLSID Filter);
  5382.  
  5383.  
  5384. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  5385.     IRpcStubBuffer *This,
  5386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5387.     PRPC_MESSAGE _pRpcMessage,
  5388.     DWORD *_pdwStubPhase);
  5389.  
  5390.  
  5391. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 
  5392.     IFilterMapper2 __RPC_FAR * This,
  5393.     /* [in] */ REFCLSID clsidFilter,
  5394.     /* [in] */ LPCWSTR Name,
  5395.     /* [out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppMoniker,
  5396.     /* [in] */ const CLSID __RPC_FAR *pclsidCategory,
  5397.     /* [in] */ const OLECHAR __RPC_FAR *szInstance,
  5398.     /* [in] */ const REGFILTER2 __RPC_FAR *prf2);
  5399.  
  5400.  
  5401. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  5402.     IRpcStubBuffer *This,
  5403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5404.     PRPC_MESSAGE _pRpcMessage,
  5405.     DWORD *_pdwStubPhase);
  5406.  
  5407.  
  5408. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 
  5409.     IFilterMapper2 __RPC_FAR * This,
  5410.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnum,
  5411.     /* [in] */ DWORD dwFlags,
  5412.     /* [in] */ BOOL bExactMatch,
  5413.     /* [in] */ DWORD dwMerit,
  5414.     /* [in] */ BOOL bInputNeeded,
  5415.     /* [in] */ DWORD cInputTypes,
  5416.     /* [size_is] */ const GUID __RPC_FAR *pInputTypes,
  5417.     /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedIn,
  5418.     /* [in] */ const CLSID __RPC_FAR *pPinCategoryIn,
  5419.     /* [in] */ BOOL bRender,
  5420.     /* [in] */ BOOL bOutputNeeded,
  5421.     /* [in] */ DWORD cOutputTypes,
  5422.     /* [size_is] */ const GUID __RPC_FAR *pOutputTypes,
  5423.     /* [in] */ const REGPINMEDIUM __RPC_FAR *pMedOut,
  5424.     /* [in] */ const CLSID __RPC_FAR *pPinCategoryOut);
  5425.  
  5426.  
  5427. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  5428.     IRpcStubBuffer *This,
  5429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5430.     PRPC_MESSAGE _pRpcMessage,
  5431.     DWORD *_pdwStubPhase);
  5432.  
  5433.  
  5434.  
  5435. #endif     /* __IFilterMapper2_INTERFACE_DEFINED__ */
  5436.  
  5437.  
  5438. /* interface __MIDL_itf_strmif_0106 */
  5439. /* [local] */ 
  5440.  
  5441. typedef 
  5442. enum tagQualityMessageType
  5443.     {    Famine    = 0,
  5444.     Flood    = Famine + 1
  5445.     }    QualityMessageType;
  5446.  
  5447. typedef struct tagQuality
  5448.     {
  5449.     QualityMessageType Type;
  5450.     long Proportion;
  5451.     REFERENCE_TIME Late;
  5452.     REFERENCE_TIME TimeStamp;
  5453.     }    Quality;
  5454.  
  5455. typedef IQualityControl __RPC_FAR *PQUALITYCONTROL;
  5456.  
  5457.  
  5458.  
  5459. extern RPC_IF_HANDLE __MIDL_itf_strmif_0106_v0_0_c_ifspec;
  5460. extern RPC_IF_HANDLE __MIDL_itf_strmif_0106_v0_0_s_ifspec;
  5461.  
  5462. #ifndef __IQualityControl_INTERFACE_DEFINED__
  5463. #define __IQualityControl_INTERFACE_DEFINED__
  5464.  
  5465. /* interface IQualityControl */
  5466. /* [unique][uuid][object] */ 
  5467.  
  5468.  
  5469. EXTERN_C const IID IID_IQualityControl;
  5470.  
  5471. #if defined(__cplusplus) && !defined(CINTERFACE)
  5472.     
  5473.     MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  5474.     IQualityControl : public IUnknown
  5475.     {
  5476.     public:
  5477.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  5478.             /* [in] */ IBaseFilter __RPC_FAR *pSelf,
  5479.             /* [in] */ Quality q) = 0;
  5480.         
  5481.         virtual HRESULT STDMETHODCALLTYPE SetSink( 
  5482.             /* [in] */ IQualityControl __RPC_FAR *piqc) = 0;
  5483.         
  5484.     };
  5485.     
  5486. #else     /* C style interface */
  5487.  
  5488.     typedef struct IQualityControlVtbl
  5489.     {
  5490.         BEGIN_INTERFACE
  5491.         
  5492.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5493.             IQualityControl __RPC_FAR * This,
  5494.             /* [in] */ REFIID riid,
  5495.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5496.         
  5497.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5498.             IQualityControl __RPC_FAR * This);
  5499.         
  5500.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5501.             IQualityControl __RPC_FAR * This);
  5502.         
  5503.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Notify )( 
  5504.             IQualityControl __RPC_FAR * This,
  5505.             /* [in] */ IBaseFilter __RPC_FAR *pSelf,
  5506.             /* [in] */ Quality q);
  5507.         
  5508.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSink )( 
  5509.             IQualityControl __RPC_FAR * This,
  5510.             /* [in] */ IQualityControl __RPC_FAR *piqc);
  5511.         
  5512.         END_INTERFACE
  5513.     } IQualityControlVtbl;
  5514.  
  5515.     interface IQualityControl
  5516.     {
  5517.         CONST_VTBL struct IQualityControlVtbl __RPC_FAR *lpVtbl;
  5518.     };
  5519.  
  5520.     
  5521.  
  5522. #ifdef COBJMACROS
  5523.  
  5524.  
  5525. #define IQualityControl_QueryInterface(This,riid,ppvObject)    \
  5526.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5527.  
  5528. #define IQualityControl_AddRef(This)    \
  5529.     (This)->lpVtbl -> AddRef(This)
  5530.  
  5531. #define IQualityControl_Release(This)    \
  5532.     (This)->lpVtbl -> Release(This)
  5533.  
  5534.  
  5535. #define IQualityControl_Notify(This,pSelf,q)    \
  5536.     (This)->lpVtbl -> Notify(This,pSelf,q)
  5537.  
  5538. #define IQualityControl_SetSink(This,piqc)    \
  5539.     (This)->lpVtbl -> SetSink(This,piqc)
  5540.  
  5541. #endif /* COBJMACROS */
  5542.  
  5543.  
  5544. #endif     /* C style interface */
  5545.  
  5546.  
  5547.  
  5548. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 
  5549.     IQualityControl __RPC_FAR * This,
  5550.     /* [in] */ IBaseFilter __RPC_FAR *pSelf,
  5551.     /* [in] */ Quality q);
  5552.  
  5553.  
  5554. void __RPC_STUB IQualityControl_Notify_Stub(
  5555.     IRpcStubBuffer *This,
  5556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5557.     PRPC_MESSAGE _pRpcMessage,
  5558.     DWORD *_pdwStubPhase);
  5559.  
  5560.  
  5561. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 
  5562.     IQualityControl __RPC_FAR * This,
  5563.     /* [in] */ IQualityControl __RPC_FAR *piqc);
  5564.  
  5565.  
  5566. void __RPC_STUB IQualityControl_SetSink_Stub(
  5567.     IRpcStubBuffer *This,
  5568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5569.     PRPC_MESSAGE _pRpcMessage,
  5570.     DWORD *_pdwStubPhase);
  5571.  
  5572.  
  5573.  
  5574. #endif     /* __IQualityControl_INTERFACE_DEFINED__ */
  5575.  
  5576.  
  5577. /* interface __MIDL_itf_strmif_0107 */
  5578. /* [local] */ 
  5579.  
  5580.  
  5581. enum __MIDL___MIDL_itf_strmif_0107_0001
  5582.     {    CK_NOCOLORKEY    = 0,
  5583.     CK_INDEX    = 0x1,
  5584.     CK_RGB    = 0x2
  5585.     };
  5586. typedef struct tagCOLORKEY
  5587.     {
  5588.     DWORD KeyType;
  5589.     DWORD PaletteIndex;
  5590.     COLORREF LowColorValue;
  5591.     COLORREF HighColorValue;
  5592.     }    COLORKEY;
  5593.  
  5594.  
  5595. enum __MIDL___MIDL_itf_strmif_0107_0002
  5596.     {    ADVISE_NONE    = 0,
  5597.     ADVISE_CLIPPING    = 0x1,
  5598.     ADVISE_PALETTE    = 0x2,
  5599.     ADVISE_COLORKEY    = 0x4,
  5600.     ADVISE_POSITION    = 0x8,
  5601.     ADVISE_DISPLAY_CHANGE    = 0x10
  5602.     };
  5603. #define    ADVISE_ALL    ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  5604.  
  5605. #define    ADVISE_ALL2    ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  5606.  
  5607. #ifndef _WINGDI_
  5608. typedef struct _RGNDATAHEADER
  5609.     {
  5610.     DWORD dwSize;
  5611.     DWORD iType;
  5612.     DWORD nCount;
  5613.     DWORD nRgnSize;
  5614.     RECT rcBound;
  5615.     }    RGNDATAHEADER;
  5616.  
  5617. typedef struct _RGNDATA
  5618.     {
  5619.     RGNDATAHEADER rdh;
  5620.     char Buffer[ 1 ];
  5621.     }    RGNDATA;
  5622.  
  5623. #endif
  5624.  
  5625.  
  5626. extern RPC_IF_HANDLE __MIDL_itf_strmif_0107_v0_0_c_ifspec;
  5627. extern RPC_IF_HANDLE __MIDL_itf_strmif_0107_v0_0_s_ifspec;
  5628.  
  5629. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  5630. #define __IOverlayNotify_INTERFACE_DEFINED__
  5631.  
  5632. /* interface IOverlayNotify */
  5633. /* [unique][uuid][local][object] */ 
  5634.  
  5635.  
  5636. EXTERN_C const IID IID_IOverlayNotify;
  5637.  
  5638. #if defined(__cplusplus) && !defined(CINTERFACE)
  5639.     
  5640.     MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  5641.     IOverlayNotify : public IUnknown
  5642.     {
  5643.     public:
  5644.         virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 
  5645.             /* [in] */ DWORD dwColors,
  5646.             /* [in] */ const PALETTEENTRY __RPC_FAR *pPalette) = 0;
  5647.         
  5648.         virtual HRESULT STDMETHODCALLTYPE OnClipChange( 
  5649.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5650.             /* [in] */ const RECT __RPC_FAR *pDestinationRect,
  5651.             /* [in] */ const RGNDATA __RPC_FAR *pRgnData) = 0;
  5652.         
  5653.         virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 
  5654.             /* [in] */ const COLORKEY __RPC_FAR *pColorKey) = 0;
  5655.         
  5656.         virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 
  5657.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5658.             /* [in] */ const RECT __RPC_FAR *pDestinationRect) = 0;
  5659.         
  5660.     };
  5661.     
  5662. #else     /* C style interface */
  5663.  
  5664.     typedef struct IOverlayNotifyVtbl
  5665.     {
  5666.         BEGIN_INTERFACE
  5667.         
  5668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5669.             IOverlayNotify __RPC_FAR * This,
  5670.             /* [in] */ REFIID riid,
  5671.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5672.         
  5673.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5674.             IOverlayNotify __RPC_FAR * This);
  5675.         
  5676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5677.             IOverlayNotify __RPC_FAR * This);
  5678.         
  5679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPaletteChange )( 
  5680.             IOverlayNotify __RPC_FAR * This,
  5681.             /* [in] */ DWORD dwColors,
  5682.             /* [in] */ const PALETTEENTRY __RPC_FAR *pPalette);
  5683.         
  5684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnClipChange )( 
  5685.             IOverlayNotify __RPC_FAR * This,
  5686.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5687.             /* [in] */ const RECT __RPC_FAR *pDestinationRect,
  5688.             /* [in] */ const RGNDATA __RPC_FAR *pRgnData);
  5689.         
  5690.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnColorKeyChange )( 
  5691.             IOverlayNotify __RPC_FAR * This,
  5692.             /* [in] */ const COLORKEY __RPC_FAR *pColorKey);
  5693.         
  5694.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPositionChange )( 
  5695.             IOverlayNotify __RPC_FAR * This,
  5696.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5697.             /* [in] */ const RECT __RPC_FAR *pDestinationRect);
  5698.         
  5699.         END_INTERFACE
  5700.     } IOverlayNotifyVtbl;
  5701.  
  5702.     interface IOverlayNotify
  5703.     {
  5704.         CONST_VTBL struct IOverlayNotifyVtbl __RPC_FAR *lpVtbl;
  5705.     };
  5706.  
  5707.     
  5708.  
  5709. #ifdef COBJMACROS
  5710.  
  5711.  
  5712. #define IOverlayNotify_QueryInterface(This,riid,ppvObject)    \
  5713.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5714.  
  5715. #define IOverlayNotify_AddRef(This)    \
  5716.     (This)->lpVtbl -> AddRef(This)
  5717.  
  5718. #define IOverlayNotify_Release(This)    \
  5719.     (This)->lpVtbl -> Release(This)
  5720.  
  5721.  
  5722. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)    \
  5723.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  5724.  
  5725. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  5726.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  5727.  
  5728. #define IOverlayNotify_OnColorKeyChange(This,pColorKey)    \
  5729.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  5730.  
  5731. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  5732.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  5733.  
  5734. #endif /* COBJMACROS */
  5735.  
  5736.  
  5737. #endif     /* C style interface */
  5738.  
  5739.  
  5740.  
  5741. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 
  5742.     IOverlayNotify __RPC_FAR * This,
  5743.     /* [in] */ DWORD dwColors,
  5744.     /* [in] */ const PALETTEENTRY __RPC_FAR *pPalette);
  5745.  
  5746.  
  5747. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  5748.     IRpcStubBuffer *This,
  5749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5750.     PRPC_MESSAGE _pRpcMessage,
  5751.     DWORD *_pdwStubPhase);
  5752.  
  5753.  
  5754. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 
  5755.     IOverlayNotify __RPC_FAR * This,
  5756.     /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5757.     /* [in] */ const RECT __RPC_FAR *pDestinationRect,
  5758.     /* [in] */ const RGNDATA __RPC_FAR *pRgnData);
  5759.  
  5760.  
  5761. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  5762.     IRpcStubBuffer *This,
  5763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5764.     PRPC_MESSAGE _pRpcMessage,
  5765.     DWORD *_pdwStubPhase);
  5766.  
  5767.  
  5768. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 
  5769.     IOverlayNotify __RPC_FAR * This,
  5770.     /* [in] */ const COLORKEY __RPC_FAR *pColorKey);
  5771.  
  5772.  
  5773. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  5774.     IRpcStubBuffer *This,
  5775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5776.     PRPC_MESSAGE _pRpcMessage,
  5777.     DWORD *_pdwStubPhase);
  5778.  
  5779.  
  5780. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 
  5781.     IOverlayNotify __RPC_FAR * This,
  5782.     /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5783.     /* [in] */ const RECT __RPC_FAR *pDestinationRect);
  5784.  
  5785.  
  5786. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  5787.     IRpcStubBuffer *This,
  5788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5789.     PRPC_MESSAGE _pRpcMessage,
  5790.     DWORD *_pdwStubPhase);
  5791.  
  5792.  
  5793.  
  5794. #endif     /* __IOverlayNotify_INTERFACE_DEFINED__ */
  5795.  
  5796.  
  5797. /* interface __MIDL_itf_strmif_0108 */
  5798. /* [local] */ 
  5799.  
  5800. typedef IOverlayNotify __RPC_FAR *POVERLAYNOTIFY;
  5801.  
  5802. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  5803. #define HMONITOR_DECLARED
  5804. #if 0
  5805. typedef HANDLE HMONITOR;
  5806.  
  5807. #endif
  5808. DECLARE_HANDLE(HMONITOR);
  5809. #endif
  5810.  
  5811.  
  5812. extern RPC_IF_HANDLE __MIDL_itf_strmif_0108_v0_0_c_ifspec;
  5813. extern RPC_IF_HANDLE __MIDL_itf_strmif_0108_v0_0_s_ifspec;
  5814.  
  5815. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  5816. #define __IOverlayNotify2_INTERFACE_DEFINED__
  5817.  
  5818. /* interface IOverlayNotify2 */
  5819. /* [unique][uuid][local][object] */ 
  5820.  
  5821.  
  5822. EXTERN_C const IID IID_IOverlayNotify2;
  5823.  
  5824. #if defined(__cplusplus) && !defined(CINTERFACE)
  5825.     
  5826.     MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  5827.     IOverlayNotify2 : public IOverlayNotify
  5828.     {
  5829.     public:
  5830.         virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 
  5831.             HMONITOR hMonitor) = 0;
  5832.         
  5833.     };
  5834.     
  5835. #else     /* C style interface */
  5836.  
  5837.     typedef struct IOverlayNotify2Vtbl
  5838.     {
  5839.         BEGIN_INTERFACE
  5840.         
  5841.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5842.             IOverlayNotify2 __RPC_FAR * This,
  5843.             /* [in] */ REFIID riid,
  5844.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5845.         
  5846.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5847.             IOverlayNotify2 __RPC_FAR * This);
  5848.         
  5849.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5850.             IOverlayNotify2 __RPC_FAR * This);
  5851.         
  5852.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPaletteChange )( 
  5853.             IOverlayNotify2 __RPC_FAR * This,
  5854.             /* [in] */ DWORD dwColors,
  5855.             /* [in] */ const PALETTEENTRY __RPC_FAR *pPalette);
  5856.         
  5857.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnClipChange )( 
  5858.             IOverlayNotify2 __RPC_FAR * This,
  5859.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5860.             /* [in] */ const RECT __RPC_FAR *pDestinationRect,
  5861.             /* [in] */ const RGNDATA __RPC_FAR *pRgnData);
  5862.         
  5863.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnColorKeyChange )( 
  5864.             IOverlayNotify2 __RPC_FAR * This,
  5865.             /* [in] */ const COLORKEY __RPC_FAR *pColorKey);
  5866.         
  5867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPositionChange )( 
  5868.             IOverlayNotify2 __RPC_FAR * This,
  5869.             /* [in] */ const RECT __RPC_FAR *pSourceRect,
  5870.             /* [in] */ const RECT __RPC_FAR *pDestinationRect);
  5871.         
  5872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDisplayChange )( 
  5873.             IOverlayNotify2 __RPC_FAR * This,
  5874.             HMONITOR hMonitor);
  5875.         
  5876.         END_INTERFACE
  5877.     } IOverlayNotify2Vtbl;
  5878.  
  5879.     interface IOverlayNotify2
  5880.     {
  5881.         CONST_VTBL struct IOverlayNotify2Vtbl __RPC_FAR *lpVtbl;
  5882.     };
  5883.  
  5884.     
  5885.  
  5886. #ifdef COBJMACROS
  5887.  
  5888.  
  5889. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject)    \
  5890.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5891.  
  5892. #define IOverlayNotify2_AddRef(This)    \
  5893.     (This)->lpVtbl -> AddRef(This)
  5894.  
  5895. #define IOverlayNotify2_Release(This)    \
  5896.     (This)->lpVtbl -> Release(This)
  5897.  
  5898.  
  5899. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)    \
  5900.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  5901.  
  5902. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  5903.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  5904.  
  5905. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey)    \
  5906.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  5907.  
  5908. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  5909.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  5910.  
  5911.  
  5912. #define IOverlayNotify2_OnDisplayChange(This,hMonitor)    \
  5913.     (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  5914.  
  5915. #endif /* COBJMACROS */
  5916.  
  5917.  
  5918. #endif     /* C style interface */
  5919.  
  5920.  
  5921.  
  5922. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 
  5923.     IOverlayNotify2 __RPC_FAR * This,
  5924.     HMONITOR hMonitor);
  5925.  
  5926.  
  5927. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  5928.     IRpcStubBuffer *This,
  5929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5930.     PRPC_MESSAGE _pRpcMessage,
  5931.     DWORD *_pdwStubPhase);
  5932.  
  5933.  
  5934.  
  5935. #endif     /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  5936.  
  5937.  
  5938. /* interface __MIDL_itf_strmif_0109 */
  5939. /* [local] */ 
  5940.  
  5941. typedef IOverlayNotify2 __RPC_FAR *POVERLAYNOTIFY2;
  5942.  
  5943.  
  5944.  
  5945. extern RPC_IF_HANDLE __MIDL_itf_strmif_0109_v0_0_c_ifspec;
  5946. extern RPC_IF_HANDLE __MIDL_itf_strmif_0109_v0_0_s_ifspec;
  5947.  
  5948. #ifndef __IOverlay_INTERFACE_DEFINED__
  5949. #define __IOverlay_INTERFACE_DEFINED__
  5950.  
  5951. /* interface IOverlay */
  5952. /* [unique][uuid][local][object] */ 
  5953.  
  5954.  
  5955. EXTERN_C const IID IID_IOverlay;
  5956.  
  5957. #if defined(__cplusplus) && !defined(CINTERFACE)
  5958.     
  5959.     MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  5960.     IOverlay : public IUnknown
  5961.     {
  5962.     public:
  5963.         virtual HRESULT STDMETHODCALLTYPE GetPalette( 
  5964.             /* [out] */ DWORD __RPC_FAR *pdwColors,
  5965.             /* [out] */ PALETTEENTRY __RPC_FAR *__RPC_FAR *ppPalette) = 0;
  5966.         
  5967.         virtual HRESULT STDMETHODCALLTYPE SetPalette( 
  5968.             /* [in] */ DWORD dwColors,
  5969.             /* [in] */ PALETTEENTRY __RPC_FAR *pPalette) = 0;
  5970.         
  5971.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 
  5972.             /* [out] */ COLORKEY __RPC_FAR *pColorKey) = 0;
  5973.         
  5974.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  5975.             /* [out] */ COLORKEY __RPC_FAR *pColorKey) = 0;
  5976.         
  5977.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  5978.             /* [out][in] */ COLORKEY __RPC_FAR *pColorKey) = 0;
  5979.         
  5980.         virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 
  5981.             /* [out] */ HWND __RPC_FAR *pHwnd) = 0;
  5982.         
  5983.         virtual HRESULT STDMETHODCALLTYPE GetClipList( 
  5984.             /* [out] */ RECT __RPC_FAR *pSourceRect,
  5985.             /* [out] */ RECT __RPC_FAR *pDestinationRect,
  5986.             /* [out] */ RGNDATA __RPC_FAR *__RPC_FAR *ppRgnData) = 0;
  5987.         
  5988.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  5989.             /* [out] */ RECT __RPC_FAR *pSourceRect,
  5990.             /* [out] */ RECT __RPC_FAR *pDestinationRect) = 0;
  5991.         
  5992.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  5993.             /* [in] */ IOverlayNotify __RPC_FAR *pOverlayNotify,
  5994.             /* [in] */ DWORD dwInterests) = 0;
  5995.         
  5996.         virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  5997.         
  5998.     };
  5999.     
  6000. #else     /* C style interface */
  6001.  
  6002.     typedef struct IOverlayVtbl
  6003.     {
  6004.         BEGIN_INTERFACE
  6005.         
  6006.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6007.             IOverlay __RPC_FAR * This,
  6008.             /* [in] */ REFIID riid,
  6009.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6010.         
  6011.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6012.             IOverlay __RPC_FAR * This);
  6013.         
  6014.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6015.             IOverlay __RPC_FAR * This);
  6016.         
  6017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPalette )( 
  6018.             IOverlay __RPC_FAR * This,
  6019.             /* [out] */ DWORD __RPC_FAR *pdwColors,
  6020.             /* [out] */ PALETTEENTRY __RPC_FAR *__RPC_FAR *ppPalette);
  6021.         
  6022.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPalette )( 
  6023.             IOverlay __RPC_FAR * This,
  6024.             /* [in] */ DWORD dwColors,
  6025.             /* [in] */ PALETTEENTRY __RPC_FAR *pPalette);
  6026.         
  6027.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefaultColorKey )( 
  6028.             IOverlay __RPC_FAR * This,
  6029.             /* [out] */ COLORKEY __RPC_FAR *pColorKey);
  6030.         
  6031.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColorKey )( 
  6032.             IOverlay __RPC_FAR * This,
  6033.             /* [out] */ COLORKEY __RPC_FAR *pColorKey);
  6034.         
  6035.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColorKey )( 
  6036.             IOverlay __RPC_FAR * This,
  6037.             /* [out][in] */ COLORKEY __RPC_FAR *pColorKey);
  6038.         
  6039.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindowHandle )( 
  6040.             IOverlay __RPC_FAR * This,
  6041.             /* [out] */ HWND __RPC_FAR *pHwnd);
  6042.         
  6043.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClipList )( 
  6044.             IOverlay __RPC_FAR * This,
  6045.             /* [out] */ RECT __RPC_FAR *pSourceRect,
  6046.             /* [out] */ RECT __RPC_FAR *pDestinationRect,
  6047.             /* [out] */ RGNDATA __RPC_FAR *__RPC_FAR *ppRgnData);
  6048.         
  6049.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVideoPosition )( 
  6050.             IOverlay __RPC_FAR * This,
  6051.             /* [out] */ RECT __RPC_FAR *pSourceRect,
  6052.             /* [out] */ RECT __RPC_FAR *pDestinationRect);
  6053.         
  6054.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Advise )( 
  6055.             IOverlay __RPC_FAR * This,
  6056.             /* [in] */ IOverlayNotify __RPC_FAR *pOverlayNotify,
  6057.             /* [in] */ DWORD dwInterests);
  6058.         
  6059.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )( 
  6060.             IOverlay __RPC_FAR * This);
  6061.         
  6062.         END_INTERFACE
  6063.     } IOverlayVtbl;
  6064.  
  6065.     interface IOverlay
  6066.     {
  6067.         CONST_VTBL struct IOverlayVtbl __RPC_FAR *lpVtbl;
  6068.     };
  6069.  
  6070.     
  6071.  
  6072. #ifdef COBJMACROS
  6073.  
  6074.  
  6075. #define IOverlay_QueryInterface(This,riid,ppvObject)    \
  6076.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6077.  
  6078. #define IOverlay_AddRef(This)    \
  6079.     (This)->lpVtbl -> AddRef(This)
  6080.  
  6081. #define IOverlay_Release(This)    \
  6082.     (This)->lpVtbl -> Release(This)
  6083.  
  6084.  
  6085. #define IOverlay_GetPalette(This,pdwColors,ppPalette)    \
  6086.     (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  6087.  
  6088. #define IOverlay_SetPalette(This,dwColors,pPalette)    \
  6089.     (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  6090.  
  6091. #define IOverlay_GetDefaultColorKey(This,pColorKey)    \
  6092.     (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  6093.  
  6094. #define IOverlay_GetColorKey(This,pColorKey)    \
  6095.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  6096.  
  6097. #define IOverlay_SetColorKey(This,pColorKey)    \
  6098.     (This)->lpVtbl -> SetColorKey(This,pColorKey)
  6099.  
  6100. #define IOverlay_GetWindowHandle(This,pHwnd)    \
  6101.     (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  6102.  
  6103. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)    \
  6104.     (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  6105.  
  6106. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)    \
  6107.     (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  6108.  
  6109. #define IOverlay_Advise(This,pOverlayNotify,dwInterests)    \
  6110.     (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  6111.  
  6112. #define IOverlay_Unadvise(This)    \
  6113.     (This)->lpVtbl -> Unadvise(This)
  6114.  
  6115. #endif /* COBJMACROS */
  6116.  
  6117.  
  6118. #endif     /* C style interface */
  6119.  
  6120.  
  6121.  
  6122. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 
  6123.     IOverlay __RPC_FAR * This,
  6124.     /* [out] */ DWORD __RPC_FAR *pdwColors,
  6125.     /* [out] */ PALETTEENTRY __RPC_FAR *__RPC_FAR *ppPalette);
  6126.  
  6127.  
  6128. void __RPC_STUB IOverlay_GetPalette_Stub(
  6129.     IRpcStubBuffer *This,
  6130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6131.     PRPC_MESSAGE _pRpcMessage,
  6132.     DWORD *_pdwStubPhase);
  6133.  
  6134.  
  6135. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 
  6136.     IOverlay __RPC_FAR * This,
  6137.     /* [in] */ DWORD dwColors,
  6138.     /* [in] */ PALETTEENTRY __RPC_FAR *pPalette);
  6139.  
  6140.  
  6141. void __RPC_STUB IOverlay_SetPalette_Stub(
  6142.     IRpcStubBuffer *This,
  6143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6144.     PRPC_MESSAGE _pRpcMessage,
  6145.     DWORD *_pdwStubPhase);
  6146.  
  6147.  
  6148. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 
  6149.     IOverlay __RPC_FAR * This,
  6150.     /* [out] */ COLORKEY __RPC_FAR *pColorKey);
  6151.  
  6152.  
  6153. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  6154.     IRpcStubBuffer *This,
  6155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6156.     PRPC_MESSAGE _pRpcMessage,
  6157.     DWORD *_pdwStubPhase);
  6158.  
  6159.  
  6160. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 
  6161.     IOverlay __RPC_FAR * This,
  6162.     /* [out] */ COLORKEY __RPC_FAR *pColorKey);
  6163.  
  6164.  
  6165. void __RPC_STUB IOverlay_GetColorKey_Stub(
  6166.     IRpcStubBuffer *This,
  6167.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6168.     PRPC_MESSAGE _pRpcMessage,
  6169.     DWORD *_pdwStubPhase);
  6170.  
  6171.  
  6172. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 
  6173.     IOverlay __RPC_FAR * This,
  6174.     /* [out][in] */ COLORKEY __RPC_FAR *pColorKey);
  6175.  
  6176.  
  6177. void __RPC_STUB IOverlay_SetColorKey_Stub(
  6178.     IRpcStubBuffer *This,
  6179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6180.     PRPC_MESSAGE _pRpcMessage,
  6181.     DWORD *_pdwStubPhase);
  6182.  
  6183.  
  6184. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 
  6185.     IOverlay __RPC_FAR * This,
  6186.     /* [out] */ HWND __RPC_FAR *pHwnd);
  6187.  
  6188.  
  6189. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  6190.     IRpcStubBuffer *This,
  6191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6192.     PRPC_MESSAGE _pRpcMessage,
  6193.     DWORD *_pdwStubPhase);
  6194.  
  6195.  
  6196. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 
  6197.     IOverlay __RPC_FAR * This,
  6198.     /* [out] */ RECT __RPC_FAR *pSourceRect,
  6199.     /* [out] */ RECT __RPC_FAR *pDestinationRect,
  6200.     /* [out] */ RGNDATA __RPC_FAR *__RPC_FAR *ppRgnData);
  6201.  
  6202.  
  6203. void __RPC_STUB IOverlay_GetClipList_Stub(
  6204.     IRpcStubBuffer *This,
  6205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6206.     PRPC_MESSAGE _pRpcMessage,
  6207.     DWORD *_pdwStubPhase);
  6208.  
  6209.  
  6210. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 
  6211.     IOverlay __RPC_FAR * This,
  6212.     /* [out] */ RECT __RPC_FAR *pSourceRect,
  6213.     /* [out] */ RECT __RPC_FAR *pDestinationRect);
  6214.  
  6215.  
  6216. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  6217.     IRpcStubBuffer *This,
  6218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6219.     PRPC_MESSAGE _pRpcMessage,
  6220.     DWORD *_pdwStubPhase);
  6221.  
  6222.  
  6223. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 
  6224.     IOverlay __RPC_FAR * This,
  6225.     /* [in] */ IOverlayNotify __RPC_FAR *pOverlayNotify,
  6226.     /* [in] */ DWORD dwInterests);
  6227.  
  6228.  
  6229. void __RPC_STUB IOverlay_Advise_Stub(
  6230.     IRpcStubBuffer *This,
  6231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6232.     PRPC_MESSAGE _pRpcMessage,
  6233.     DWORD *_pdwStubPhase);
  6234.  
  6235.  
  6236. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 
  6237.     IOverlay __RPC_FAR * This);
  6238.  
  6239.  
  6240. void __RPC_STUB IOverlay_Unadvise_Stub(
  6241.     IRpcStubBuffer *This,
  6242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6243.     PRPC_MESSAGE _pRpcMessage,
  6244.     DWORD *_pdwStubPhase);
  6245.  
  6246.  
  6247.  
  6248. #endif     /* __IOverlay_INTERFACE_DEFINED__ */
  6249.  
  6250.  
  6251. /* interface __MIDL_itf_strmif_0110 */
  6252. /* [local] */ 
  6253.  
  6254. typedef IOverlay __RPC_FAR *POVERLAY;
  6255.  
  6256.  
  6257.  
  6258. extern RPC_IF_HANDLE __MIDL_itf_strmif_0110_v0_0_c_ifspec;
  6259. extern RPC_IF_HANDLE __MIDL_itf_strmif_0110_v0_0_s_ifspec;
  6260.  
  6261. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  6262. #define __IMediaEventSink_INTERFACE_DEFINED__
  6263.  
  6264. /* interface IMediaEventSink */
  6265. /* [unique][uuid][object] */ 
  6266.  
  6267.  
  6268. EXTERN_C const IID IID_IMediaEventSink;
  6269.  
  6270. #if defined(__cplusplus) && !defined(CINTERFACE)
  6271.     
  6272.     MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  6273.     IMediaEventSink : public IUnknown
  6274.     {
  6275.     public:
  6276.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6277.             /* [in] */ long EventCode,
  6278.             /* [in] */ LONG_PTR EventParam1,
  6279.             /* [in] */ LONG_PTR EventParam2) = 0;
  6280.         
  6281.     };
  6282.     
  6283. #else     /* C style interface */
  6284.  
  6285.     typedef struct IMediaEventSinkVtbl
  6286.     {
  6287.         BEGIN_INTERFACE
  6288.         
  6289.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6290.             IMediaEventSink __RPC_FAR * This,
  6291.             /* [in] */ REFIID riid,
  6292.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6293.         
  6294.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6295.             IMediaEventSink __RPC_FAR * This);
  6296.         
  6297.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6298.             IMediaEventSink __RPC_FAR * This);
  6299.         
  6300.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Notify )( 
  6301.             IMediaEventSink __RPC_FAR * This,
  6302.             /* [in] */ long EventCode,
  6303.             /* [in] */ LONG_PTR EventParam1,
  6304.             /* [in] */ LONG_PTR EventParam2);
  6305.         
  6306.         END_INTERFACE
  6307.     } IMediaEventSinkVtbl;
  6308.  
  6309.     interface IMediaEventSink
  6310.     {
  6311.         CONST_VTBL struct IMediaEventSinkVtbl __RPC_FAR *lpVtbl;
  6312.     };
  6313.  
  6314.     
  6315.  
  6316. #ifdef COBJMACROS
  6317.  
  6318.  
  6319. #define IMediaEventSink_QueryInterface(This,riid,ppvObject)    \
  6320.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6321.  
  6322. #define IMediaEventSink_AddRef(This)    \
  6323.     (This)->lpVtbl -> AddRef(This)
  6324.  
  6325. #define IMediaEventSink_Release(This)    \
  6326.     (This)->lpVtbl -> Release(This)
  6327.  
  6328.  
  6329. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)    \
  6330.     (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  6331.  
  6332. #endif /* COBJMACROS */
  6333.  
  6334.  
  6335. #endif     /* C style interface */
  6336.  
  6337.  
  6338.  
  6339. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 
  6340.     IMediaEventSink __RPC_FAR * This,
  6341.     /* [in] */ long EventCode,
  6342.     /* [in] */ LONG_PTR EventParam1,
  6343.     /* [in] */ LONG_PTR EventParam2);
  6344.  
  6345.  
  6346. void __RPC_STUB IMediaEventSink_Notify_Stub(
  6347.     IRpcStubBuffer *This,
  6348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6349.     PRPC_MESSAGE _pRpcMessage,
  6350.     DWORD *_pdwStubPhase);
  6351.  
  6352.  
  6353.  
  6354. #endif     /* __IMediaEventSink_INTERFACE_DEFINED__ */
  6355.  
  6356.  
  6357. /* interface __MIDL_itf_strmif_0111 */
  6358. /* [local] */ 
  6359.  
  6360. typedef IMediaEventSink __RPC_FAR *PMEDIAEVENTSINK;
  6361.  
  6362.  
  6363.  
  6364. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_c_ifspec;
  6365. extern RPC_IF_HANDLE __MIDL_itf_strmif_0111_v0_0_s_ifspec;
  6366.  
  6367. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  6368. #define __IFileSourceFilter_INTERFACE_DEFINED__
  6369.  
  6370. /* interface IFileSourceFilter */
  6371. /* [unique][uuid][object] */ 
  6372.  
  6373.  
  6374. EXTERN_C const IID IID_IFileSourceFilter;
  6375.  
  6376. #if defined(__cplusplus) && !defined(CINTERFACE)
  6377.     
  6378.     MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  6379.     IFileSourceFilter : public IUnknown
  6380.     {
  6381.     public:
  6382.         virtual HRESULT STDMETHODCALLTYPE Load( 
  6383.             /* [in] */ LPCOLESTR pszFileName,
  6384.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  6385.         
  6386.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6387.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6388.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  6389.         
  6390.     };
  6391.     
  6392. #else     /* C style interface */
  6393.  
  6394.     typedef struct IFileSourceFilterVtbl
  6395.     {
  6396.         BEGIN_INTERFACE
  6397.         
  6398.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6399.             IFileSourceFilter __RPC_FAR * This,
  6400.             /* [in] */ REFIID riid,
  6401.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6402.         
  6403.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6404.             IFileSourceFilter __RPC_FAR * This);
  6405.         
  6406.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6407.             IFileSourceFilter __RPC_FAR * This);
  6408.         
  6409.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  6410.             IFileSourceFilter __RPC_FAR * This,
  6411.             /* [in] */ LPCOLESTR pszFileName,
  6412.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  6413.         
  6414.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurFile )( 
  6415.             IFileSourceFilter __RPC_FAR * This,
  6416.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6417.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  6418.         
  6419.         END_INTERFACE
  6420.     } IFileSourceFilterVtbl;
  6421.  
  6422.     interface IFileSourceFilter
  6423.     {
  6424.         CONST_VTBL struct IFileSourceFilterVtbl __RPC_FAR *lpVtbl;
  6425.     };
  6426.  
  6427.     
  6428.  
  6429. #ifdef COBJMACROS
  6430.  
  6431.  
  6432. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject)    \
  6433.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6434.  
  6435. #define IFileSourceFilter_AddRef(This)    \
  6436.     (This)->lpVtbl -> AddRef(This)
  6437.  
  6438. #define IFileSourceFilter_Release(This)    \
  6439.     (This)->lpVtbl -> Release(This)
  6440.  
  6441.  
  6442. #define IFileSourceFilter_Load(This,pszFileName,pmt)    \
  6443.     (This)->lpVtbl -> Load(This,pszFileName,pmt)
  6444.  
  6445. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)    \
  6446.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6447.  
  6448. #endif /* COBJMACROS */
  6449.  
  6450.  
  6451. #endif     /* C style interface */
  6452.  
  6453.  
  6454.  
  6455. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 
  6456.     IFileSourceFilter __RPC_FAR * This,
  6457.     /* [in] */ LPCOLESTR pszFileName,
  6458.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  6459.  
  6460.  
  6461. void __RPC_STUB IFileSourceFilter_Load_Stub(
  6462.     IRpcStubBuffer *This,
  6463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6464.     PRPC_MESSAGE _pRpcMessage,
  6465.     DWORD *_pdwStubPhase);
  6466.  
  6467.  
  6468. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 
  6469.     IFileSourceFilter __RPC_FAR * This,
  6470.     /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6471.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  6472.  
  6473.  
  6474. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  6475.     IRpcStubBuffer *This,
  6476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6477.     PRPC_MESSAGE _pRpcMessage,
  6478.     DWORD *_pdwStubPhase);
  6479.  
  6480.  
  6481.  
  6482. #endif     /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  6483.  
  6484.  
  6485. /* interface __MIDL_itf_strmif_0112 */
  6486. /* [local] */ 
  6487.  
  6488. typedef IFileSourceFilter __RPC_FAR *PFILTERFILESOURCE;
  6489.  
  6490.  
  6491.  
  6492. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_c_ifspec;
  6493. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_s_ifspec;
  6494.  
  6495. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  6496. #define __IFileSinkFilter_INTERFACE_DEFINED__
  6497.  
  6498. /* interface IFileSinkFilter */
  6499. /* [unique][uuid][object] */ 
  6500.  
  6501.  
  6502. EXTERN_C const IID IID_IFileSinkFilter;
  6503.  
  6504. #if defined(__cplusplus) && !defined(CINTERFACE)
  6505.     
  6506.     MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  6507.     IFileSinkFilter : public IUnknown
  6508.     {
  6509.     public:
  6510.         virtual HRESULT STDMETHODCALLTYPE SetFileName( 
  6511.             /* [in] */ LPCOLESTR pszFileName,
  6512.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  6513.         
  6514.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6515.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6516.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  6517.         
  6518.     };
  6519.     
  6520. #else     /* C style interface */
  6521.  
  6522.     typedef struct IFileSinkFilterVtbl
  6523.     {
  6524.         BEGIN_INTERFACE
  6525.         
  6526.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6527.             IFileSinkFilter __RPC_FAR * This,
  6528.             /* [in] */ REFIID riid,
  6529.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6530.         
  6531.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6532.             IFileSinkFilter __RPC_FAR * This);
  6533.         
  6534.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6535.             IFileSinkFilter __RPC_FAR * This);
  6536.         
  6537.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFileName )( 
  6538.             IFileSinkFilter __RPC_FAR * This,
  6539.             /* [in] */ LPCOLESTR pszFileName,
  6540.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  6541.         
  6542.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurFile )( 
  6543.             IFileSinkFilter __RPC_FAR * This,
  6544.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6545.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  6546.         
  6547.         END_INTERFACE
  6548.     } IFileSinkFilterVtbl;
  6549.  
  6550.     interface IFileSinkFilter
  6551.     {
  6552.         CONST_VTBL struct IFileSinkFilterVtbl __RPC_FAR *lpVtbl;
  6553.     };
  6554.  
  6555.     
  6556.  
  6557. #ifdef COBJMACROS
  6558.  
  6559.  
  6560. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject)    \
  6561.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6562.  
  6563. #define IFileSinkFilter_AddRef(This)    \
  6564.     (This)->lpVtbl -> AddRef(This)
  6565.  
  6566. #define IFileSinkFilter_Release(This)    \
  6567.     (This)->lpVtbl -> Release(This)
  6568.  
  6569.  
  6570. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt)    \
  6571.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  6572.  
  6573. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)    \
  6574.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6575.  
  6576. #endif /* COBJMACROS */
  6577.  
  6578.  
  6579. #endif     /* C style interface */
  6580.  
  6581.  
  6582.  
  6583. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 
  6584.     IFileSinkFilter __RPC_FAR * This,
  6585.     /* [in] */ LPCOLESTR pszFileName,
  6586.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  6587.  
  6588.  
  6589. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  6590.     IRpcStubBuffer *This,
  6591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6592.     PRPC_MESSAGE _pRpcMessage,
  6593.     DWORD *_pdwStubPhase);
  6594.  
  6595.  
  6596. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 
  6597.     IFileSinkFilter __RPC_FAR * This,
  6598.     /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6599.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  6600.  
  6601.  
  6602. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  6603.     IRpcStubBuffer *This,
  6604.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6605.     PRPC_MESSAGE _pRpcMessage,
  6606.     DWORD *_pdwStubPhase);
  6607.  
  6608.  
  6609.  
  6610. #endif     /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  6611.  
  6612.  
  6613. /* interface __MIDL_itf_strmif_0113 */
  6614. /* [local] */ 
  6615.  
  6616. typedef IFileSinkFilter __RPC_FAR *PFILTERFILESINK;
  6617.  
  6618.  
  6619.  
  6620. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  6621. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  6622.  
  6623. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  6624. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  6625.  
  6626. /* interface IFileSinkFilter2 */
  6627. /* [unique][uuid][object] */ 
  6628.  
  6629.  
  6630. EXTERN_C const IID IID_IFileSinkFilter2;
  6631.  
  6632. #if defined(__cplusplus) && !defined(CINTERFACE)
  6633.     
  6634.     MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  6635.     IFileSinkFilter2 : public IFileSinkFilter
  6636.     {
  6637.     public:
  6638.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  6639.             /* [in] */ DWORD dwFlags) = 0;
  6640.         
  6641.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  6642.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  6643.         
  6644.     };
  6645.     
  6646. #else     /* C style interface */
  6647.  
  6648.     typedef struct IFileSinkFilter2Vtbl
  6649.     {
  6650.         BEGIN_INTERFACE
  6651.         
  6652.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6653.             IFileSinkFilter2 __RPC_FAR * This,
  6654.             /* [in] */ REFIID riid,
  6655.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6656.         
  6657.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6658.             IFileSinkFilter2 __RPC_FAR * This);
  6659.         
  6660.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6661.             IFileSinkFilter2 __RPC_FAR * This);
  6662.         
  6663.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFileName )( 
  6664.             IFileSinkFilter2 __RPC_FAR * This,
  6665.             /* [in] */ LPCOLESTR pszFileName,
  6666.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  6667.         
  6668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurFile )( 
  6669.             IFileSinkFilter2 __RPC_FAR * This,
  6670.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName,
  6671.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  6672.         
  6673.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMode )( 
  6674.             IFileSinkFilter2 __RPC_FAR * This,
  6675.             /* [in] */ DWORD dwFlags);
  6676.         
  6677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMode )( 
  6678.             IFileSinkFilter2 __RPC_FAR * This,
  6679.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  6680.         
  6681.         END_INTERFACE
  6682.     } IFileSinkFilter2Vtbl;
  6683.  
  6684.     interface IFileSinkFilter2
  6685.     {
  6686.         CONST_VTBL struct IFileSinkFilter2Vtbl __RPC_FAR *lpVtbl;
  6687.     };
  6688.  
  6689.     
  6690.  
  6691. #ifdef COBJMACROS
  6692.  
  6693.  
  6694. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)    \
  6695.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6696.  
  6697. #define IFileSinkFilter2_AddRef(This)    \
  6698.     (This)->lpVtbl -> AddRef(This)
  6699.  
  6700. #define IFileSinkFilter2_Release(This)    \
  6701.     (This)->lpVtbl -> Release(This)
  6702.  
  6703.  
  6704. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)    \
  6705.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  6706.  
  6707. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)    \
  6708.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6709.  
  6710.  
  6711. #define IFileSinkFilter2_SetMode(This,dwFlags)    \
  6712.     (This)->lpVtbl -> SetMode(This,dwFlags)
  6713.  
  6714. #define IFileSinkFilter2_GetMode(This,pdwFlags)    \
  6715.     (This)->lpVtbl -> GetMode(This,pdwFlags)
  6716.  
  6717. #endif /* COBJMACROS */
  6718.  
  6719.  
  6720. #endif     /* C style interface */
  6721.  
  6722.  
  6723.  
  6724. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 
  6725.     IFileSinkFilter2 __RPC_FAR * This,
  6726.     /* [in] */ DWORD dwFlags);
  6727.  
  6728.  
  6729. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  6730.     IRpcStubBuffer *This,
  6731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6732.     PRPC_MESSAGE _pRpcMessage,
  6733.     DWORD *_pdwStubPhase);
  6734.  
  6735.  
  6736. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 
  6737.     IFileSinkFilter2 __RPC_FAR * This,
  6738.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  6739.  
  6740.  
  6741. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  6742.     IRpcStubBuffer *This,
  6743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6744.     PRPC_MESSAGE _pRpcMessage,
  6745.     DWORD *_pdwStubPhase);
  6746.  
  6747.  
  6748.  
  6749. #endif     /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  6750.  
  6751.  
  6752. /* interface __MIDL_itf_strmif_0114 */
  6753. /* [local] */ 
  6754.  
  6755. typedef IFileSinkFilter2 __RPC_FAR *PFILESINKFILTER2;
  6756.  
  6757. typedef /* [public] */ 
  6758. enum __MIDL___MIDL_itf_strmif_0114_0001
  6759.     {    AM_FILE_OVERWRITE    = 0x1
  6760.     }    AM_FILESINK_FLAGS;
  6761.  
  6762. typedef struct _AsyncIOReq
  6763.     {
  6764.     DWORD engine[ 4 ];
  6765.     /* [size_is] */ BYTE __RPC_FAR *lpv;
  6766.     DWORD cb;
  6767.     DWORD dwError;
  6768.     DWORD cbDone;
  6769.     LARGE_INTEGER liPos;
  6770.     DWORD hEvent;
  6771.     DWORD_PTR dwUser;
  6772.     }    AsyncIOReq;
  6773.  
  6774.  
  6775.  
  6776. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  6777. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  6778.  
  6779. #ifndef __IFileAsyncIO_INTERFACE_DEFINED__
  6780. #define __IFileAsyncIO_INTERFACE_DEFINED__
  6781.  
  6782. /* interface IFileAsyncIO */
  6783. /* [unique][uuid][object] */ 
  6784.  
  6785.  
  6786. EXTERN_C const IID IID_IFileAsyncIO;
  6787.  
  6788. #if defined(__cplusplus) && !defined(CINTERFACE)
  6789.     
  6790.     MIDL_INTERFACE("56a868a7-0ad4-11ce-b03a-0020af0ba770")
  6791.     IFileAsyncIO : public IUnknown
  6792.     {
  6793.     public:
  6794.         virtual HRESULT STDMETHODCALLTYPE QueryAlignment( 
  6795.             /* [out] */ LPDWORD pdwAlign) = 0;
  6796.         
  6797.         virtual HRESULT STDMETHODCALLTYPE Read( 
  6798.             /* [in] */ AsyncIOReq __RPC_FAR *pReq) = 0;
  6799.         
  6800.         virtual HRESULT STDMETHODCALLTYPE Write( 
  6801.             /* [in] */ AsyncIOReq __RPC_FAR *pReq) = 0;
  6802.         
  6803.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  6804.             /* [out] */ AsyncIOReq __RPC_FAR *__RPC_FAR *ppReq,
  6805.             /* [in] */ DWORD dwTimeout) = 0;
  6806.         
  6807.         virtual HRESULT STDMETHODCALLTYPE WaitForSpecific( 
  6808.             /* [out] */ AsyncIOReq __RPC_FAR *pReq,
  6809.             /* [in] */ DWORD dwTimeout) = 0;
  6810.         
  6811.         virtual HRESULT STDMETHODCALLTYPE DiscardPending( void) = 0;
  6812.         
  6813.         virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  6814.         
  6815.     };
  6816.     
  6817. #else     /* C style interface */
  6818.  
  6819.     typedef struct IFileAsyncIOVtbl
  6820.     {
  6821.         BEGIN_INTERFACE
  6822.         
  6823.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6824.             IFileAsyncIO __RPC_FAR * This,
  6825.             /* [in] */ REFIID riid,
  6826.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6827.         
  6828.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6829.             IFileAsyncIO __RPC_FAR * This);
  6830.         
  6831.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6832.             IFileAsyncIO __RPC_FAR * This);
  6833.         
  6834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryAlignment )( 
  6835.             IFileAsyncIO __RPC_FAR * This,
  6836.             /* [out] */ LPDWORD pdwAlign);
  6837.         
  6838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  6839.             IFileAsyncIO __RPC_FAR * This,
  6840.             /* [in] */ AsyncIOReq __RPC_FAR *pReq);
  6841.         
  6842.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  6843.             IFileAsyncIO __RPC_FAR * This,
  6844.             /* [in] */ AsyncIOReq __RPC_FAR *pReq);
  6845.         
  6846.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitForNext )( 
  6847.             IFileAsyncIO __RPC_FAR * This,
  6848.             /* [out] */ AsyncIOReq __RPC_FAR *__RPC_FAR *ppReq,
  6849.             /* [in] */ DWORD dwTimeout);
  6850.         
  6851.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitForSpecific )( 
  6852.             IFileAsyncIO __RPC_FAR * This,
  6853.             /* [out] */ AsyncIOReq __RPC_FAR *pReq,
  6854.             /* [in] */ DWORD dwTimeout);
  6855.         
  6856.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DiscardPending )( 
  6857.             IFileAsyncIO __RPC_FAR * This);
  6858.         
  6859.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  6860.             IFileAsyncIO __RPC_FAR * This);
  6861.         
  6862.         END_INTERFACE
  6863.     } IFileAsyncIOVtbl;
  6864.  
  6865.     interface IFileAsyncIO
  6866.     {
  6867.         CONST_VTBL struct IFileAsyncIOVtbl __RPC_FAR *lpVtbl;
  6868.     };
  6869.  
  6870.     
  6871.  
  6872. #ifdef COBJMACROS
  6873.  
  6874.  
  6875. #define IFileAsyncIO_QueryInterface(This,riid,ppvObject)    \
  6876.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6877.  
  6878. #define IFileAsyncIO_AddRef(This)    \
  6879.     (This)->lpVtbl -> AddRef(This)
  6880.  
  6881. #define IFileAsyncIO_Release(This)    \
  6882.     (This)->lpVtbl -> Release(This)
  6883.  
  6884.  
  6885. #define IFileAsyncIO_QueryAlignment(This,pdwAlign)    \
  6886.     (This)->lpVtbl -> QueryAlignment(This,pdwAlign)
  6887.  
  6888. #define IFileAsyncIO_Read(This,pReq)    \
  6889.     (This)->lpVtbl -> Read(This,pReq)
  6890.  
  6891. #define IFileAsyncIO_Write(This,pReq)    \
  6892.     (This)->lpVtbl -> Write(This,pReq)
  6893.  
  6894. #define IFileAsyncIO_WaitForNext(This,ppReq,dwTimeout)    \
  6895.     (This)->lpVtbl -> WaitForNext(This,ppReq,dwTimeout)
  6896.  
  6897. #define IFileAsyncIO_WaitForSpecific(This,pReq,dwTimeout)    \
  6898.     (This)->lpVtbl -> WaitForSpecific(This,pReq,dwTimeout)
  6899.  
  6900. #define IFileAsyncIO_DiscardPending(This)    \
  6901.     (This)->lpVtbl -> DiscardPending(This)
  6902.  
  6903. #define IFileAsyncIO_Flush(This)    \
  6904.     (This)->lpVtbl -> Flush(This)
  6905.  
  6906. #endif /* COBJMACROS */
  6907.  
  6908.  
  6909. #endif     /* C style interface */
  6910.  
  6911.  
  6912.  
  6913. HRESULT STDMETHODCALLTYPE IFileAsyncIO_QueryAlignment_Proxy( 
  6914.     IFileAsyncIO __RPC_FAR * This,
  6915.     /* [out] */ LPDWORD pdwAlign);
  6916.  
  6917.  
  6918. void __RPC_STUB IFileAsyncIO_QueryAlignment_Stub(
  6919.     IRpcStubBuffer *This,
  6920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6921.     PRPC_MESSAGE _pRpcMessage,
  6922.     DWORD *_pdwStubPhase);
  6923.  
  6924.  
  6925. HRESULT STDMETHODCALLTYPE IFileAsyncIO_Read_Proxy( 
  6926.     IFileAsyncIO __RPC_FAR * This,
  6927.     /* [in] */ AsyncIOReq __RPC_FAR *pReq);
  6928.  
  6929.  
  6930. void __RPC_STUB IFileAsyncIO_Read_Stub(
  6931.     IRpcStubBuffer *This,
  6932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6933.     PRPC_MESSAGE _pRpcMessage,
  6934.     DWORD *_pdwStubPhase);
  6935.  
  6936.  
  6937. HRESULT STDMETHODCALLTYPE IFileAsyncIO_Write_Proxy( 
  6938.     IFileAsyncIO __RPC_FAR * This,
  6939.     /* [in] */ AsyncIOReq __RPC_FAR *pReq);
  6940.  
  6941.  
  6942. void __RPC_STUB IFileAsyncIO_Write_Stub(
  6943.     IRpcStubBuffer *This,
  6944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6945.     PRPC_MESSAGE _pRpcMessage,
  6946.     DWORD *_pdwStubPhase);
  6947.  
  6948.  
  6949. HRESULT STDMETHODCALLTYPE IFileAsyncIO_WaitForNext_Proxy( 
  6950.     IFileAsyncIO __RPC_FAR * This,
  6951.     /* [out] */ AsyncIOReq __RPC_FAR *__RPC_FAR *ppReq,
  6952.     /* [in] */ DWORD dwTimeout);
  6953.  
  6954.  
  6955. void __RPC_STUB IFileAsyncIO_WaitForNext_Stub(
  6956.     IRpcStubBuffer *This,
  6957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6958.     PRPC_MESSAGE _pRpcMessage,
  6959.     DWORD *_pdwStubPhase);
  6960.  
  6961.  
  6962. HRESULT STDMETHODCALLTYPE IFileAsyncIO_WaitForSpecific_Proxy( 
  6963.     IFileAsyncIO __RPC_FAR * This,
  6964.     /* [out] */ AsyncIOReq __RPC_FAR *pReq,
  6965.     /* [in] */ DWORD dwTimeout);
  6966.  
  6967.  
  6968. void __RPC_STUB IFileAsyncIO_WaitForSpecific_Stub(
  6969.     IRpcStubBuffer *This,
  6970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6971.     PRPC_MESSAGE _pRpcMessage,
  6972.     DWORD *_pdwStubPhase);
  6973.  
  6974.  
  6975. HRESULT STDMETHODCALLTYPE IFileAsyncIO_DiscardPending_Proxy( 
  6976.     IFileAsyncIO __RPC_FAR * This);
  6977.  
  6978.  
  6979. void __RPC_STUB IFileAsyncIO_DiscardPending_Stub(
  6980.     IRpcStubBuffer *This,
  6981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6982.     PRPC_MESSAGE _pRpcMessage,
  6983.     DWORD *_pdwStubPhase);
  6984.  
  6985.  
  6986. HRESULT STDMETHODCALLTYPE IFileAsyncIO_Flush_Proxy( 
  6987.     IFileAsyncIO __RPC_FAR * This);
  6988.  
  6989.  
  6990. void __RPC_STUB IFileAsyncIO_Flush_Stub(
  6991.     IRpcStubBuffer *This,
  6992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6993.     PRPC_MESSAGE _pRpcMessage,
  6994.     DWORD *_pdwStubPhase);
  6995.  
  6996.  
  6997.  
  6998. #endif     /* __IFileAsyncIO_INTERFACE_DEFINED__ */
  6999.  
  7000.  
  7001. /* interface __MIDL_itf_strmif_0115 */
  7002. /* [local] */ 
  7003.  
  7004. typedef IFileAsyncIO __RPC_FAR *PFILEASYNCIO;
  7005.  
  7006.  
  7007.  
  7008. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  7009. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  7010.  
  7011. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  7012. #define __IGraphBuilder_INTERFACE_DEFINED__
  7013.  
  7014. /* interface IGraphBuilder */
  7015. /* [unique][uuid][local][object] */ 
  7016.  
  7017.  
  7018. EXTERN_C const IID IID_IGraphBuilder;
  7019.  
  7020. #if defined(__cplusplus) && !defined(CINTERFACE)
  7021.     
  7022.     MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  7023.     IGraphBuilder : public IFilterGraph
  7024.     {
  7025.     public:
  7026.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  7027.             /* [in] */ IPin __RPC_FAR *ppinOut,
  7028.             /* [in] */ IPin __RPC_FAR *ppinIn) = 0;
  7029.         
  7030.         virtual HRESULT STDMETHODCALLTYPE Render( 
  7031.             /* [in] */ IPin __RPC_FAR *ppinOut) = 0;
  7032.         
  7033.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  7034.             /* [in] */ LPCWSTR lpcwstrFile,
  7035.             /* [in] */ LPCWSTR lpcwstrPlayList) = 0;
  7036.         
  7037.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  7038.             /* [in] */ LPCWSTR lpcwstrFileName,
  7039.             /* [in] */ LPCWSTR lpcwstrFilterName,
  7040.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter) = 0;
  7041.         
  7042.         virtual HRESULT STDMETHODCALLTYPE SetLogFile( 
  7043.             /* [in] */ HANDLE hFile) = 0;
  7044.         
  7045.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  7046.         
  7047.         virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  7048.         
  7049.     };
  7050.     
  7051. #else     /* C style interface */
  7052.  
  7053.     typedef struct IGraphBuilderVtbl
  7054.     {
  7055.         BEGIN_INTERFACE
  7056.         
  7057.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7058.             IGraphBuilder __RPC_FAR * This,
  7059.             /* [in] */ REFIID riid,
  7060.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7061.         
  7062.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7063.             IGraphBuilder __RPC_FAR * This);
  7064.         
  7065.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7066.             IGraphBuilder __RPC_FAR * This);
  7067.         
  7068.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFilter )( 
  7069.             IGraphBuilder __RPC_FAR * This,
  7070.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7071.             /* [string][in] */ LPCWSTR pName);
  7072.         
  7073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveFilter )( 
  7074.             IGraphBuilder __RPC_FAR * This,
  7075.             /* [in] */ IBaseFilter __RPC_FAR *pFilter);
  7076.         
  7077.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFilters )( 
  7078.             IGraphBuilder __RPC_FAR * This,
  7079.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  7080.         
  7081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFilterByName )( 
  7082.             IGraphBuilder __RPC_FAR * This,
  7083.             /* [string][in] */ LPCWSTR pName,
  7084.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  7085.         
  7086.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectDirect )( 
  7087.             IGraphBuilder __RPC_FAR * This,
  7088.             /* [in] */ IPin __RPC_FAR *ppinOut,
  7089.             /* [in] */ IPin __RPC_FAR *ppinIn,
  7090.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  7091.         
  7092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reconnect )( 
  7093.             IGraphBuilder __RPC_FAR * This,
  7094.             /* [in] */ IPin __RPC_FAR *ppin);
  7095.         
  7096.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  7097.             IGraphBuilder __RPC_FAR * This,
  7098.             /* [in] */ IPin __RPC_FAR *ppin);
  7099.         
  7100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultSyncSource )( 
  7101.             IGraphBuilder __RPC_FAR * This);
  7102.         
  7103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  7104.             IGraphBuilder __RPC_FAR * This,
  7105.             /* [in] */ IPin __RPC_FAR *ppinOut,
  7106.             /* [in] */ IPin __RPC_FAR *ppinIn);
  7107.         
  7108.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
  7109.             IGraphBuilder __RPC_FAR * This,
  7110.             /* [in] */ IPin __RPC_FAR *ppinOut);
  7111.         
  7112.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderFile )( 
  7113.             IGraphBuilder __RPC_FAR * This,
  7114.             /* [in] */ LPCWSTR lpcwstrFile,
  7115.             /* [in] */ LPCWSTR lpcwstrPlayList);
  7116.         
  7117.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSourceFilter )( 
  7118.             IGraphBuilder __RPC_FAR * This,
  7119.             /* [in] */ LPCWSTR lpcwstrFileName,
  7120.             /* [in] */ LPCWSTR lpcwstrFilterName,
  7121.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  7122.         
  7123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogFile )( 
  7124.             IGraphBuilder __RPC_FAR * This,
  7125.             /* [in] */ HANDLE hFile);
  7126.         
  7127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  7128.             IGraphBuilder __RPC_FAR * This);
  7129.         
  7130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShouldOperationContinue )( 
  7131.             IGraphBuilder __RPC_FAR * This);
  7132.         
  7133.         END_INTERFACE
  7134.     } IGraphBuilderVtbl;
  7135.  
  7136.     interface IGraphBuilder
  7137.     {
  7138.         CONST_VTBL struct IGraphBuilderVtbl __RPC_FAR *lpVtbl;
  7139.     };
  7140.  
  7141.     
  7142.  
  7143. #ifdef COBJMACROS
  7144.  
  7145.  
  7146. #define IGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7147.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7148.  
  7149. #define IGraphBuilder_AddRef(This)    \
  7150.     (This)->lpVtbl -> AddRef(This)
  7151.  
  7152. #define IGraphBuilder_Release(This)    \
  7153.     (This)->lpVtbl -> Release(This)
  7154.  
  7155.  
  7156. #define IGraphBuilder_AddFilter(This,pFilter,pName)    \
  7157.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  7158.  
  7159. #define IGraphBuilder_RemoveFilter(This,pFilter)    \
  7160.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  7161.  
  7162. #define IGraphBuilder_EnumFilters(This,ppEnum)    \
  7163.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  7164.  
  7165. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter)    \
  7166.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  7167.  
  7168. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  7169.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  7170.  
  7171. #define IGraphBuilder_Reconnect(This,ppin)    \
  7172.     (This)->lpVtbl -> Reconnect(This,ppin)
  7173.  
  7174. #define IGraphBuilder_Disconnect(This,ppin)    \
  7175.     (This)->lpVtbl -> Disconnect(This,ppin)
  7176.  
  7177. #define IGraphBuilder_SetDefaultSyncSource(This)    \
  7178.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  7179.  
  7180.  
  7181. #define IGraphBuilder_Connect(This,ppinOut,ppinIn)    \
  7182.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  7183.  
  7184. #define IGraphBuilder_Render(This,ppinOut)    \
  7185.     (This)->lpVtbl -> Render(This,ppinOut)
  7186.  
  7187. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  7188.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  7189.  
  7190. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  7191.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  7192.  
  7193. #define IGraphBuilder_SetLogFile(This,hFile)    \
  7194.     (This)->lpVtbl -> SetLogFile(This,hFile)
  7195.  
  7196. #define IGraphBuilder_Abort(This)    \
  7197.     (This)->lpVtbl -> Abort(This)
  7198.  
  7199. #define IGraphBuilder_ShouldOperationContinue(This)    \
  7200.     (This)->lpVtbl -> ShouldOperationContinue(This)
  7201.  
  7202. #endif /* COBJMACROS */
  7203.  
  7204.  
  7205. #endif     /* C style interface */
  7206.  
  7207.  
  7208.  
  7209. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 
  7210.     IGraphBuilder __RPC_FAR * This,
  7211.     /* [in] */ IPin __RPC_FAR *ppinOut,
  7212.     /* [in] */ IPin __RPC_FAR *ppinIn);
  7213.  
  7214.  
  7215. void __RPC_STUB IGraphBuilder_Connect_Stub(
  7216.     IRpcStubBuffer *This,
  7217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7218.     PRPC_MESSAGE _pRpcMessage,
  7219.     DWORD *_pdwStubPhase);
  7220.  
  7221.  
  7222. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 
  7223.     IGraphBuilder __RPC_FAR * This,
  7224.     /* [in] */ IPin __RPC_FAR *ppinOut);
  7225.  
  7226.  
  7227. void __RPC_STUB IGraphBuilder_Render_Stub(
  7228.     IRpcStubBuffer *This,
  7229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7230.     PRPC_MESSAGE _pRpcMessage,
  7231.     DWORD *_pdwStubPhase);
  7232.  
  7233.  
  7234. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 
  7235.     IGraphBuilder __RPC_FAR * This,
  7236.     /* [in] */ LPCWSTR lpcwstrFile,
  7237.     /* [in] */ LPCWSTR lpcwstrPlayList);
  7238.  
  7239.  
  7240. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  7241.     IRpcStubBuffer *This,
  7242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7243.     PRPC_MESSAGE _pRpcMessage,
  7244.     DWORD *_pdwStubPhase);
  7245.  
  7246.  
  7247. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 
  7248.     IGraphBuilder __RPC_FAR * This,
  7249.     /* [in] */ LPCWSTR lpcwstrFileName,
  7250.     /* [in] */ LPCWSTR lpcwstrFilterName,
  7251.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  7252.  
  7253.  
  7254. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  7255.     IRpcStubBuffer *This,
  7256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7257.     PRPC_MESSAGE _pRpcMessage,
  7258.     DWORD *_pdwStubPhase);
  7259.  
  7260.  
  7261. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 
  7262.     IGraphBuilder __RPC_FAR * This,
  7263.     /* [in] */ HANDLE hFile);
  7264.  
  7265.  
  7266. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  7267.     IRpcStubBuffer *This,
  7268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7269.     PRPC_MESSAGE _pRpcMessage,
  7270.     DWORD *_pdwStubPhase);
  7271.  
  7272.  
  7273. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 
  7274.     IGraphBuilder __RPC_FAR * This);
  7275.  
  7276.  
  7277. void __RPC_STUB IGraphBuilder_Abort_Stub(
  7278.     IRpcStubBuffer *This,
  7279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7280.     PRPC_MESSAGE _pRpcMessage,
  7281.     DWORD *_pdwStubPhase);
  7282.  
  7283.  
  7284. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 
  7285.     IGraphBuilder __RPC_FAR * This);
  7286.  
  7287.  
  7288. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  7289.     IRpcStubBuffer *This,
  7290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7291.     PRPC_MESSAGE _pRpcMessage,
  7292.     DWORD *_pdwStubPhase);
  7293.  
  7294.  
  7295.  
  7296. #endif     /* __IGraphBuilder_INTERFACE_DEFINED__ */
  7297.  
  7298.  
  7299. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7300. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7301.  
  7302. /* interface ICaptureGraphBuilder */
  7303. /* [unique][uuid][local][object] */ 
  7304.  
  7305.  
  7306. EXTERN_C const IID IID_ICaptureGraphBuilder;
  7307.  
  7308. #if defined(__cplusplus) && !defined(CINTERFACE)
  7309.     
  7310.     MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  7311.     ICaptureGraphBuilder : public IUnknown
  7312.     {
  7313.     public:
  7314.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7315.             /* [in] */ IGraphBuilder __RPC_FAR *pfg) = 0;
  7316.         
  7317.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7318.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg) = 0;
  7319.         
  7320.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7321.             /* [in] */ const GUID __RPC_FAR *pType,
  7322.             /* [in] */ LPCOLESTR lpstrFile,
  7323.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7324.             /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink) = 0;
  7325.         
  7326.         virtual HRESULT STDMETHODCALLTYPE FindInterface( 
  7327.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7328.             /* [in] */ IBaseFilter __RPC_FAR *pf,
  7329.             /* [in] */ REFIID riid,
  7330.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppint) = 0;
  7331.         
  7332.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7333.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7334.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7335.             /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7336.             /* [in] */ IBaseFilter __RPC_FAR *pfRenderer) = 0;
  7337.         
  7338.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7339.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7340.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7341.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7342.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7343.             /* [in] */ WORD wStartCookie,
  7344.             /* [in] */ WORD wStopCookie) = 0;
  7345.         
  7346.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7347.             /* [in] */ LPCOLESTR lpstr,
  7348.             /* [in] */ DWORDLONG dwlSize) = 0;
  7349.         
  7350.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7351.             /* [in] */ LPOLESTR lpwstrOld,
  7352.             /* [in] */ LPOLESTR lpwstrNew,
  7353.             /* [in] */ int fAllowEscAbort,
  7354.             /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback) = 0;
  7355.         
  7356.     };
  7357.     
  7358. #else     /* C style interface */
  7359.  
  7360.     typedef struct ICaptureGraphBuilderVtbl
  7361.     {
  7362.         BEGIN_INTERFACE
  7363.         
  7364.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7365.             ICaptureGraphBuilder __RPC_FAR * This,
  7366.             /* [in] */ REFIID riid,
  7367.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7368.         
  7369.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7370.             ICaptureGraphBuilder __RPC_FAR * This);
  7371.         
  7372.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7373.             ICaptureGraphBuilder __RPC_FAR * This);
  7374.         
  7375.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFiltergraph )( 
  7376.             ICaptureGraphBuilder __RPC_FAR * This,
  7377.             /* [in] */ IGraphBuilder __RPC_FAR *pfg);
  7378.         
  7379.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFiltergraph )( 
  7380.             ICaptureGraphBuilder __RPC_FAR * This,
  7381.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg);
  7382.         
  7383.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputFileName )( 
  7384.             ICaptureGraphBuilder __RPC_FAR * This,
  7385.             /* [in] */ const GUID __RPC_FAR *pType,
  7386.             /* [in] */ LPCOLESTR lpstrFile,
  7387.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7388.             /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink);
  7389.         
  7390.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindInterface )( 
  7391.             ICaptureGraphBuilder __RPC_FAR * This,
  7392.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7393.             /* [in] */ IBaseFilter __RPC_FAR *pf,
  7394.             /* [in] */ REFIID riid,
  7395.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppint);
  7396.         
  7397.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderStream )( 
  7398.             ICaptureGraphBuilder __RPC_FAR * This,
  7399.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7400.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7401.             /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7402.             /* [in] */ IBaseFilter __RPC_FAR *pfRenderer);
  7403.         
  7404.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ControlStream )( 
  7405.             ICaptureGraphBuilder __RPC_FAR * This,
  7406.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7407.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7408.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7409.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7410.             /* [in] */ WORD wStartCookie,
  7411.             /* [in] */ WORD wStopCookie);
  7412.         
  7413.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocCapFile )( 
  7414.             ICaptureGraphBuilder __RPC_FAR * This,
  7415.             /* [in] */ LPCOLESTR lpstr,
  7416.             /* [in] */ DWORDLONG dwlSize);
  7417.         
  7418.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyCaptureFile )( 
  7419.             ICaptureGraphBuilder __RPC_FAR * This,
  7420.             /* [in] */ LPOLESTR lpwstrOld,
  7421.             /* [in] */ LPOLESTR lpwstrNew,
  7422.             /* [in] */ int fAllowEscAbort,
  7423.             /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback);
  7424.         
  7425.         END_INTERFACE
  7426.     } ICaptureGraphBuilderVtbl;
  7427.  
  7428.     interface ICaptureGraphBuilder
  7429.     {
  7430.         CONST_VTBL struct ICaptureGraphBuilderVtbl __RPC_FAR *lpVtbl;
  7431.     };
  7432.  
  7433.     
  7434.  
  7435. #ifdef COBJMACROS
  7436.  
  7437.  
  7438. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7439.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7440.  
  7441. #define ICaptureGraphBuilder_AddRef(This)    \
  7442.     (This)->lpVtbl -> AddRef(This)
  7443.  
  7444. #define ICaptureGraphBuilder_Release(This)    \
  7445.     (This)->lpVtbl -> Release(This)
  7446.  
  7447.  
  7448. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg)    \
  7449.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7450.  
  7451. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)    \
  7452.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7453.  
  7454. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7455.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7456.  
  7457. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)    \
  7458.     (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  7459.  
  7460. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)    \
  7461.     (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  7462.  
  7463. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7464.     (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7465.  
  7466. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)    \
  7467.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7468.  
  7469. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7470.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7471.  
  7472. #endif /* COBJMACROS */
  7473.  
  7474.  
  7475. #endif     /* C style interface */
  7476.  
  7477.  
  7478.  
  7479. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 
  7480.     ICaptureGraphBuilder __RPC_FAR * This,
  7481.     /* [in] */ IGraphBuilder __RPC_FAR *pfg);
  7482.  
  7483.  
  7484. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  7485.     IRpcStubBuffer *This,
  7486.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7487.     PRPC_MESSAGE _pRpcMessage,
  7488.     DWORD *_pdwStubPhase);
  7489.  
  7490.  
  7491. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 
  7492.     ICaptureGraphBuilder __RPC_FAR * This,
  7493.     /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg);
  7494.  
  7495.  
  7496. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  7497.     IRpcStubBuffer *This,
  7498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7499.     PRPC_MESSAGE _pRpcMessage,
  7500.     DWORD *_pdwStubPhase);
  7501.  
  7502.  
  7503. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 
  7504.     ICaptureGraphBuilder __RPC_FAR * This,
  7505.     /* [in] */ const GUID __RPC_FAR *pType,
  7506.     /* [in] */ LPCOLESTR lpstrFile,
  7507.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7508.     /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink);
  7509.  
  7510.  
  7511. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  7512.     IRpcStubBuffer *This,
  7513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7514.     PRPC_MESSAGE _pRpcMessage,
  7515.     DWORD *_pdwStubPhase);
  7516.  
  7517.  
  7518. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy( 
  7519.     ICaptureGraphBuilder __RPC_FAR * This,
  7520.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7521.     /* [in] */ IBaseFilter __RPC_FAR *pf,
  7522.     /* [in] */ REFIID riid,
  7523.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppint);
  7524.  
  7525.  
  7526. void __RPC_STUB ICaptureGraphBuilder_FindInterface_Stub(
  7527.     IRpcStubBuffer *This,
  7528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7529.     PRPC_MESSAGE _pRpcMessage,
  7530.     DWORD *_pdwStubPhase);
  7531.  
  7532.  
  7533. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 
  7534.     ICaptureGraphBuilder __RPC_FAR * This,
  7535.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7536.     /* [in] */ IUnknown __RPC_FAR *pSource,
  7537.     /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7538.     /* [in] */ IBaseFilter __RPC_FAR *pfRenderer);
  7539.  
  7540.  
  7541. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  7542.     IRpcStubBuffer *This,
  7543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7544.     PRPC_MESSAGE _pRpcMessage,
  7545.     DWORD *_pdwStubPhase);
  7546.  
  7547.  
  7548. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 
  7549.     ICaptureGraphBuilder __RPC_FAR * This,
  7550.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7551.     /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7552.     /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7553.     /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7554.     /* [in] */ WORD wStartCookie,
  7555.     /* [in] */ WORD wStopCookie);
  7556.  
  7557.  
  7558. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  7559.     IRpcStubBuffer *This,
  7560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7561.     PRPC_MESSAGE _pRpcMessage,
  7562.     DWORD *_pdwStubPhase);
  7563.  
  7564.  
  7565. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 
  7566.     ICaptureGraphBuilder __RPC_FAR * This,
  7567.     /* [in] */ LPCOLESTR lpstr,
  7568.     /* [in] */ DWORDLONG dwlSize);
  7569.  
  7570.  
  7571. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  7572.     IRpcStubBuffer *This,
  7573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7574.     PRPC_MESSAGE _pRpcMessage,
  7575.     DWORD *_pdwStubPhase);
  7576.  
  7577.  
  7578. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 
  7579.     ICaptureGraphBuilder __RPC_FAR * This,
  7580.     /* [in] */ LPOLESTR lpwstrOld,
  7581.     /* [in] */ LPOLESTR lpwstrNew,
  7582.     /* [in] */ int fAllowEscAbort,
  7583.     /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback);
  7584.  
  7585.  
  7586. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  7587.     IRpcStubBuffer *This,
  7588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7589.     PRPC_MESSAGE _pRpcMessage,
  7590.     DWORD *_pdwStubPhase);
  7591.  
  7592.  
  7593.  
  7594. #endif     /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  7595.  
  7596.  
  7597. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7598. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7599.  
  7600. /* interface IAMCopyCaptureFileProgress */
  7601. /* [unique][uuid][object] */ 
  7602.  
  7603.  
  7604. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  7605.  
  7606. #if defined(__cplusplus) && !defined(CINTERFACE)
  7607.     
  7608.     MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  7609.     IAMCopyCaptureFileProgress : public IUnknown
  7610.     {
  7611.     public:
  7612.         virtual HRESULT STDMETHODCALLTYPE Progress( 
  7613.             /* [in] */ int iProgress) = 0;
  7614.         
  7615.     };
  7616.     
  7617. #else     /* C style interface */
  7618.  
  7619.     typedef struct IAMCopyCaptureFileProgressVtbl
  7620.     {
  7621.         BEGIN_INTERFACE
  7622.         
  7623.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7624.             IAMCopyCaptureFileProgress __RPC_FAR * This,
  7625.             /* [in] */ REFIID riid,
  7626.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7627.         
  7628.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7629.             IAMCopyCaptureFileProgress __RPC_FAR * This);
  7630.         
  7631.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7632.             IAMCopyCaptureFileProgress __RPC_FAR * This);
  7633.         
  7634.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Progress )( 
  7635.             IAMCopyCaptureFileProgress __RPC_FAR * This,
  7636.             /* [in] */ int iProgress);
  7637.         
  7638.         END_INTERFACE
  7639.     } IAMCopyCaptureFileProgressVtbl;
  7640.  
  7641.     interface IAMCopyCaptureFileProgress
  7642.     {
  7643.         CONST_VTBL struct IAMCopyCaptureFileProgressVtbl __RPC_FAR *lpVtbl;
  7644.     };
  7645.  
  7646.     
  7647.  
  7648. #ifdef COBJMACROS
  7649.  
  7650.  
  7651. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)    \
  7652.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7653.  
  7654. #define IAMCopyCaptureFileProgress_AddRef(This)    \
  7655.     (This)->lpVtbl -> AddRef(This)
  7656.  
  7657. #define IAMCopyCaptureFileProgress_Release(This)    \
  7658.     (This)->lpVtbl -> Release(This)
  7659.  
  7660.  
  7661. #define IAMCopyCaptureFileProgress_Progress(This,iProgress)    \
  7662.     (This)->lpVtbl -> Progress(This,iProgress)
  7663.  
  7664. #endif /* COBJMACROS */
  7665.  
  7666.  
  7667. #endif     /* C style interface */
  7668.  
  7669.  
  7670.  
  7671. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 
  7672.     IAMCopyCaptureFileProgress __RPC_FAR * This,
  7673.     /* [in] */ int iProgress);
  7674.  
  7675.  
  7676. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  7677.     IRpcStubBuffer *This,
  7678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7679.     PRPC_MESSAGE _pRpcMessage,
  7680.     DWORD *_pdwStubPhase);
  7681.  
  7682.  
  7683.  
  7684. #endif     /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  7685.  
  7686.  
  7687. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7688. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7689.  
  7690. /* interface ICaptureGraphBuilder2 */
  7691. /* [unique][uuid][local][object] */ 
  7692.  
  7693.  
  7694. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  7695.  
  7696. #if defined(__cplusplus) && !defined(CINTERFACE)
  7697.     
  7698.     MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  7699.     ICaptureGraphBuilder2 : public IUnknown
  7700.     {
  7701.     public:
  7702.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7703.             /* [in] */ IGraphBuilder __RPC_FAR *pfg) = 0;
  7704.         
  7705.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7706.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg) = 0;
  7707.         
  7708.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7709.             /* [in] */ const GUID __RPC_FAR *pType,
  7710.             /* [in] */ LPCOLESTR lpstrFile,
  7711.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7712.             /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink) = 0;
  7713.         
  7714.         virtual HRESULT STDMETHODCALLTYPE FindInterface( 
  7715.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7716.             /* [in] */ const GUID __RPC_FAR *pType,
  7717.             /* [in] */ IBaseFilter __RPC_FAR *pf,
  7718.             /* [in] */ REFIID riid,
  7719.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppint) = 0;
  7720.         
  7721.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7722.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7723.             /* [in] */ const GUID __RPC_FAR *pType,
  7724.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7725.             /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7726.             /* [in] */ IBaseFilter __RPC_FAR *pfRenderer) = 0;
  7727.         
  7728.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7729.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7730.             /* [in] */ const GUID __RPC_FAR *pType,
  7731.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7732.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7733.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7734.             /* [in] */ WORD wStartCookie,
  7735.             /* [in] */ WORD wStopCookie) = 0;
  7736.         
  7737.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7738.             /* [in] */ LPCOLESTR lpstr,
  7739.             /* [in] */ DWORDLONG dwlSize) = 0;
  7740.         
  7741.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7742.             /* [in] */ LPOLESTR lpwstrOld,
  7743.             /* [in] */ LPOLESTR lpwstrNew,
  7744.             /* [in] */ int fAllowEscAbort,
  7745.             /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback) = 0;
  7746.         
  7747.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  7748.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7749.             /* [in] */ PIN_DIRECTION pindir,
  7750.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7751.             /* [in] */ const GUID __RPC_FAR *pType,
  7752.             /* [in] */ BOOL fUnconnected,
  7753.             /* [in] */ int num,
  7754.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin) = 0;
  7755.         
  7756.     };
  7757.     
  7758. #else     /* C style interface */
  7759.  
  7760.     typedef struct ICaptureGraphBuilder2Vtbl
  7761.     {
  7762.         BEGIN_INTERFACE
  7763.         
  7764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7765.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7766.             /* [in] */ REFIID riid,
  7767.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7768.         
  7769.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7770.             ICaptureGraphBuilder2 __RPC_FAR * This);
  7771.         
  7772.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7773.             ICaptureGraphBuilder2 __RPC_FAR * This);
  7774.         
  7775.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFiltergraph )( 
  7776.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7777.             /* [in] */ IGraphBuilder __RPC_FAR *pfg);
  7778.         
  7779.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFiltergraph )( 
  7780.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7781.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg);
  7782.         
  7783.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputFileName )( 
  7784.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7785.             /* [in] */ const GUID __RPC_FAR *pType,
  7786.             /* [in] */ LPCOLESTR lpstrFile,
  7787.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7788.             /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink);
  7789.         
  7790.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindInterface )( 
  7791.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7792.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7793.             /* [in] */ const GUID __RPC_FAR *pType,
  7794.             /* [in] */ IBaseFilter __RPC_FAR *pf,
  7795.             /* [in] */ REFIID riid,
  7796.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppint);
  7797.         
  7798.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderStream )( 
  7799.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7800.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7801.             /* [in] */ const GUID __RPC_FAR *pType,
  7802.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7803.             /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7804.             /* [in] */ IBaseFilter __RPC_FAR *pfRenderer);
  7805.         
  7806.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ControlStream )( 
  7807.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7808.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7809.             /* [in] */ const GUID __RPC_FAR *pType,
  7810.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7811.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7812.             /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7813.             /* [in] */ WORD wStartCookie,
  7814.             /* [in] */ WORD wStopCookie);
  7815.         
  7816.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocCapFile )( 
  7817.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7818.             /* [in] */ LPCOLESTR lpstr,
  7819.             /* [in] */ DWORDLONG dwlSize);
  7820.         
  7821.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyCaptureFile )( 
  7822.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7823.             /* [in] */ LPOLESTR lpwstrOld,
  7824.             /* [in] */ LPOLESTR lpwstrNew,
  7825.             /* [in] */ int fAllowEscAbort,
  7826.             /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback);
  7827.         
  7828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindPin )( 
  7829.             ICaptureGraphBuilder2 __RPC_FAR * This,
  7830.             /* [in] */ IUnknown __RPC_FAR *pSource,
  7831.             /* [in] */ PIN_DIRECTION pindir,
  7832.             /* [in] */ const GUID __RPC_FAR *pCategory,
  7833.             /* [in] */ const GUID __RPC_FAR *pType,
  7834.             /* [in] */ BOOL fUnconnected,
  7835.             /* [in] */ int num,
  7836.             /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin);
  7837.         
  7838.         END_INTERFACE
  7839.     } ICaptureGraphBuilder2Vtbl;
  7840.  
  7841.     interface ICaptureGraphBuilder2
  7842.     {
  7843.         CONST_VTBL struct ICaptureGraphBuilder2Vtbl __RPC_FAR *lpVtbl;
  7844.     };
  7845.  
  7846.     
  7847.  
  7848. #ifdef COBJMACROS
  7849.  
  7850.  
  7851. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)    \
  7852.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7853.  
  7854. #define ICaptureGraphBuilder2_AddRef(This)    \
  7855.     (This)->lpVtbl -> AddRef(This)
  7856.  
  7857. #define ICaptureGraphBuilder2_Release(This)    \
  7858.     (This)->lpVtbl -> Release(This)
  7859.  
  7860.  
  7861. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)    \
  7862.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7863.  
  7864. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)    \
  7865.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7866.  
  7867. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7868.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7869.  
  7870. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)    \
  7871.     (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  7872.  
  7873. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)    \
  7874.     (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  7875.  
  7876. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7877.     (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7878.  
  7879. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)    \
  7880.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7881.  
  7882. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7883.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7884.  
  7885. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)    \
  7886.     (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  7887.  
  7888. #endif /* COBJMACROS */
  7889.  
  7890.  
  7891. #endif     /* C style interface */
  7892.  
  7893.  
  7894.  
  7895. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 
  7896.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7897.     /* [in] */ IGraphBuilder __RPC_FAR *pfg);
  7898.  
  7899.  
  7900. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  7901.     IRpcStubBuffer *This,
  7902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7903.     PRPC_MESSAGE _pRpcMessage,
  7904.     DWORD *_pdwStubPhase);
  7905.  
  7906.  
  7907. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 
  7908.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7909.     /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppfg);
  7910.  
  7911.  
  7912. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  7913.     IRpcStubBuffer *This,
  7914.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7915.     PRPC_MESSAGE _pRpcMessage,
  7916.     DWORD *_pdwStubPhase);
  7917.  
  7918.  
  7919. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 
  7920.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7921.     /* [in] */ const GUID __RPC_FAR *pType,
  7922.     /* [in] */ LPCOLESTR lpstrFile,
  7923.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppf,
  7924.     /* [out] */ IFileSinkFilter __RPC_FAR *__RPC_FAR *ppSink);
  7925.  
  7926.  
  7927. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  7928.     IRpcStubBuffer *This,
  7929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7930.     PRPC_MESSAGE _pRpcMessage,
  7931.     DWORD *_pdwStubPhase);
  7932.  
  7933.  
  7934. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy( 
  7935.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7936.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7937.     /* [in] */ const GUID __RPC_FAR *pType,
  7938.     /* [in] */ IBaseFilter __RPC_FAR *pf,
  7939.     /* [in] */ REFIID riid,
  7940.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppint);
  7941.  
  7942.  
  7943. void __RPC_STUB ICaptureGraphBuilder2_FindInterface_Stub(
  7944.     IRpcStubBuffer *This,
  7945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7946.     PRPC_MESSAGE _pRpcMessage,
  7947.     DWORD *_pdwStubPhase);
  7948.  
  7949.  
  7950. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 
  7951.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7952.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7953.     /* [in] */ const GUID __RPC_FAR *pType,
  7954.     /* [in] */ IUnknown __RPC_FAR *pSource,
  7955.     /* [in] */ IBaseFilter __RPC_FAR *pfCompressor,
  7956.     /* [in] */ IBaseFilter __RPC_FAR *pfRenderer);
  7957.  
  7958.  
  7959. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  7960.     IRpcStubBuffer *This,
  7961.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7962.     PRPC_MESSAGE _pRpcMessage,
  7963.     DWORD *_pdwStubPhase);
  7964.  
  7965.  
  7966. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 
  7967.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7968.     /* [in] */ const GUID __RPC_FAR *pCategory,
  7969.     /* [in] */ const GUID __RPC_FAR *pType,
  7970.     /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  7971.     /* [in] */ REFERENCE_TIME __RPC_FAR *pstart,
  7972.     /* [in] */ REFERENCE_TIME __RPC_FAR *pstop,
  7973.     /* [in] */ WORD wStartCookie,
  7974.     /* [in] */ WORD wStopCookie);
  7975.  
  7976.  
  7977. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  7978.     IRpcStubBuffer *This,
  7979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7980.     PRPC_MESSAGE _pRpcMessage,
  7981.     DWORD *_pdwStubPhase);
  7982.  
  7983.  
  7984. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 
  7985.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7986.     /* [in] */ LPCOLESTR lpstr,
  7987.     /* [in] */ DWORDLONG dwlSize);
  7988.  
  7989.  
  7990. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  7991.     IRpcStubBuffer *This,
  7992.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7993.     PRPC_MESSAGE _pRpcMessage,
  7994.     DWORD *_pdwStubPhase);
  7995.  
  7996.  
  7997. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 
  7998.     ICaptureGraphBuilder2 __RPC_FAR * This,
  7999.     /* [in] */ LPOLESTR lpwstrOld,
  8000.     /* [in] */ LPOLESTR lpwstrNew,
  8001.     /* [in] */ int fAllowEscAbort,
  8002.     /* [in] */ IAMCopyCaptureFileProgress __RPC_FAR *pCallback);
  8003.  
  8004.  
  8005. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  8006.     IRpcStubBuffer *This,
  8007.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8008.     PRPC_MESSAGE _pRpcMessage,
  8009.     DWORD *_pdwStubPhase);
  8010.  
  8011.  
  8012. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 
  8013.     ICaptureGraphBuilder2 __RPC_FAR * This,
  8014.     /* [in] */ IUnknown __RPC_FAR *pSource,
  8015.     /* [in] */ PIN_DIRECTION pindir,
  8016.     /* [in] */ const GUID __RPC_FAR *pCategory,
  8017.     /* [in] */ const GUID __RPC_FAR *pType,
  8018.     /* [in] */ BOOL fUnconnected,
  8019.     /* [in] */ int num,
  8020.     /* [out] */ IPin __RPC_FAR *__RPC_FAR *ppPin);
  8021.  
  8022.  
  8023. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  8024.     IRpcStubBuffer *This,
  8025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8026.     PRPC_MESSAGE _pRpcMessage,
  8027.     DWORD *_pdwStubPhase);
  8028.  
  8029.  
  8030.  
  8031. #endif     /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  8032.  
  8033.  
  8034. /* interface __MIDL_itf_strmif_0119 */
  8035. /* [local] */ 
  8036.  
  8037.  
  8038. enum _AM_RENSDEREXFLAGS
  8039.     {    AM_RENDEREX_RENDERTOEXISTINGRENDERERS    = 0x1
  8040.     };
  8041.  
  8042.  
  8043. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  8044. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  8045.  
  8046. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  8047. #define __IFilterGraph2_INTERFACE_DEFINED__
  8048.  
  8049. /* interface IFilterGraph2 */
  8050. /* [unique][uuid][local][object] */ 
  8051.  
  8052.  
  8053. EXTERN_C const IID IID_IFilterGraph2;
  8054.  
  8055. #if defined(__cplusplus) && !defined(CINTERFACE)
  8056.     
  8057.     MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  8058.     IFilterGraph2 : public IGraphBuilder
  8059.     {
  8060.     public:
  8061.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 
  8062.             /* [in] */ IMoniker __RPC_FAR *pMoniker,
  8063.             /* [in] */ IBindCtx __RPC_FAR *pCtx,
  8064.             /* [in] */ LPCWSTR lpcwstrFilterName,
  8065.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter) = 0;
  8066.         
  8067.         virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 
  8068.             /* [in] */ IPin __RPC_FAR *ppin,
  8069.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  8070.         
  8071.         virtual HRESULT STDMETHODCALLTYPE RenderEx( 
  8072.             /* [in] */ IPin __RPC_FAR *pPinOut,
  8073.             /* [in] */ DWORD dwFlags,
  8074.             /* [out][in] */ LPVOID pvContext) = 0;
  8075.         
  8076.     };
  8077.     
  8078. #else     /* C style interface */
  8079.  
  8080.     typedef struct IFilterGraph2Vtbl
  8081.     {
  8082.         BEGIN_INTERFACE
  8083.         
  8084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8085.             IFilterGraph2 __RPC_FAR * This,
  8086.             /* [in] */ REFIID riid,
  8087.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8088.         
  8089.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8090.             IFilterGraph2 __RPC_FAR * This);
  8091.         
  8092.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8093.             IFilterGraph2 __RPC_FAR * This);
  8094.         
  8095.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFilter )( 
  8096.             IFilterGraph2 __RPC_FAR * This,
  8097.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  8098.             /* [string][in] */ LPCWSTR pName);
  8099.         
  8100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveFilter )( 
  8101.             IFilterGraph2 __RPC_FAR * This,
  8102.             /* [in] */ IBaseFilter __RPC_FAR *pFilter);
  8103.         
  8104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFilters )( 
  8105.             IFilterGraph2 __RPC_FAR * This,
  8106.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  8107.         
  8108.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFilterByName )( 
  8109.             IFilterGraph2 __RPC_FAR * This,
  8110.             /* [string][in] */ LPCWSTR pName,
  8111.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  8112.         
  8113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectDirect )( 
  8114.             IFilterGraph2 __RPC_FAR * This,
  8115.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8116.             /* [in] */ IPin __RPC_FAR *ppinIn,
  8117.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  8118.         
  8119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reconnect )( 
  8120.             IFilterGraph2 __RPC_FAR * This,
  8121.             /* [in] */ IPin __RPC_FAR *ppin);
  8122.         
  8123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  8124.             IFilterGraph2 __RPC_FAR * This,
  8125.             /* [in] */ IPin __RPC_FAR *ppin);
  8126.         
  8127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultSyncSource )( 
  8128.             IFilterGraph2 __RPC_FAR * This);
  8129.         
  8130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  8131.             IFilterGraph2 __RPC_FAR * This,
  8132.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8133.             /* [in] */ IPin __RPC_FAR *ppinIn);
  8134.         
  8135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
  8136.             IFilterGraph2 __RPC_FAR * This,
  8137.             /* [in] */ IPin __RPC_FAR *ppinOut);
  8138.         
  8139.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderFile )( 
  8140.             IFilterGraph2 __RPC_FAR * This,
  8141.             /* [in] */ LPCWSTR lpcwstrFile,
  8142.             /* [in] */ LPCWSTR lpcwstrPlayList);
  8143.         
  8144.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSourceFilter )( 
  8145.             IFilterGraph2 __RPC_FAR * This,
  8146.             /* [in] */ LPCWSTR lpcwstrFileName,
  8147.             /* [in] */ LPCWSTR lpcwstrFilterName,
  8148.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  8149.         
  8150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogFile )( 
  8151.             IFilterGraph2 __RPC_FAR * This,
  8152.             /* [in] */ HANDLE hFile);
  8153.         
  8154.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  8155.             IFilterGraph2 __RPC_FAR * This);
  8156.         
  8157.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShouldOperationContinue )( 
  8158.             IFilterGraph2 __RPC_FAR * This);
  8159.         
  8160.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSourceFilterForMoniker )( 
  8161.             IFilterGraph2 __RPC_FAR * This,
  8162.             /* [in] */ IMoniker __RPC_FAR *pMoniker,
  8163.             /* [in] */ IBindCtx __RPC_FAR *pCtx,
  8164.             /* [in] */ LPCWSTR lpcwstrFilterName,
  8165.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  8166.         
  8167.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReconnectEx )( 
  8168.             IFilterGraph2 __RPC_FAR * This,
  8169.             /* [in] */ IPin __RPC_FAR *ppin,
  8170.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  8171.         
  8172.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderEx )( 
  8173.             IFilterGraph2 __RPC_FAR * This,
  8174.             /* [in] */ IPin __RPC_FAR *pPinOut,
  8175.             /* [in] */ DWORD dwFlags,
  8176.             /* [out][in] */ LPVOID pvContext);
  8177.         
  8178.         END_INTERFACE
  8179.     } IFilterGraph2Vtbl;
  8180.  
  8181.     interface IFilterGraph2
  8182.     {
  8183.         CONST_VTBL struct IFilterGraph2Vtbl __RPC_FAR *lpVtbl;
  8184.     };
  8185.  
  8186.     
  8187.  
  8188. #ifdef COBJMACROS
  8189.  
  8190.  
  8191. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)    \
  8192.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8193.  
  8194. #define IFilterGraph2_AddRef(This)    \
  8195.     (This)->lpVtbl -> AddRef(This)
  8196.  
  8197. #define IFilterGraph2_Release(This)    \
  8198.     (This)->lpVtbl -> Release(This)
  8199.  
  8200.  
  8201. #define IFilterGraph2_AddFilter(This,pFilter,pName)    \
  8202.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  8203.  
  8204. #define IFilterGraph2_RemoveFilter(This,pFilter)    \
  8205.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  8206.  
  8207. #define IFilterGraph2_EnumFilters(This,ppEnum)    \
  8208.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  8209.  
  8210. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)    \
  8211.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  8212.  
  8213. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  8214.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  8215.  
  8216. #define IFilterGraph2_Reconnect(This,ppin)    \
  8217.     (This)->lpVtbl -> Reconnect(This,ppin)
  8218.  
  8219. #define IFilterGraph2_Disconnect(This,ppin)    \
  8220.     (This)->lpVtbl -> Disconnect(This,ppin)
  8221.  
  8222. #define IFilterGraph2_SetDefaultSyncSource(This)    \
  8223.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  8224.  
  8225.  
  8226. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)    \
  8227.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  8228.  
  8229. #define IFilterGraph2_Render(This,ppinOut)    \
  8230.     (This)->lpVtbl -> Render(This,ppinOut)
  8231.  
  8232. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  8233.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  8234.  
  8235. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  8236.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  8237.  
  8238. #define IFilterGraph2_SetLogFile(This,hFile)    \
  8239.     (This)->lpVtbl -> SetLogFile(This,hFile)
  8240.  
  8241. #define IFilterGraph2_Abort(This)    \
  8242.     (This)->lpVtbl -> Abort(This)
  8243.  
  8244. #define IFilterGraph2_ShouldOperationContinue(This)    \
  8245.     (This)->lpVtbl -> ShouldOperationContinue(This)
  8246.  
  8247.  
  8248. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)    \
  8249.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  8250.  
  8251. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)    \
  8252.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  8253.  
  8254. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)    \
  8255.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  8256.  
  8257. #endif /* COBJMACROS */
  8258.  
  8259.  
  8260. #endif     /* C style interface */
  8261.  
  8262.  
  8263.  
  8264. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  8265.     IFilterGraph2 __RPC_FAR * This,
  8266.     /* [in] */ IMoniker __RPC_FAR *pMoniker,
  8267.     /* [in] */ IBindCtx __RPC_FAR *pCtx,
  8268.     /* [in] */ LPCWSTR lpcwstrFilterName,
  8269.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  8270.  
  8271.  
  8272. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  8273.     IRpcStubBuffer *This,
  8274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8275.     PRPC_MESSAGE _pRpcMessage,
  8276.     DWORD *_pdwStubPhase);
  8277.  
  8278.  
  8279. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  8280.     IFilterGraph2 __RPC_FAR * This,
  8281.     /* [in] */ IPin __RPC_FAR *ppin,
  8282.     /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  8283.  
  8284.  
  8285. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  8286.     IRpcStubBuffer *This,
  8287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8288.     PRPC_MESSAGE _pRpcMessage,
  8289.     DWORD *_pdwStubPhase);
  8290.  
  8291.  
  8292. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  8293.     IFilterGraph2 __RPC_FAR * This,
  8294.     /* [in] */ IPin __RPC_FAR *pPinOut,
  8295.     /* [in] */ DWORD dwFlags,
  8296.     /* [out][in] */ LPVOID pvContext);
  8297.  
  8298.  
  8299. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  8300.     IRpcStubBuffer *This,
  8301.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8302.     PRPC_MESSAGE _pRpcMessage,
  8303.     DWORD *_pdwStubPhase);
  8304.  
  8305.  
  8306.  
  8307. #endif     /* __IFilterGraph2_INTERFACE_DEFINED__ */
  8308.  
  8309.  
  8310. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  8311. #define __IStreamBuilder_INTERFACE_DEFINED__
  8312.  
  8313. /* interface IStreamBuilder */
  8314. /* [unique][uuid][local][object] */ 
  8315.  
  8316.  
  8317. EXTERN_C const IID IID_IStreamBuilder;
  8318.  
  8319. #if defined(__cplusplus) && !defined(CINTERFACE)
  8320.     
  8321.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  8322.     IStreamBuilder : public IUnknown
  8323.     {
  8324.     public:
  8325.         virtual HRESULT STDMETHODCALLTYPE Render( 
  8326.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8327.             /* [in] */ IGraphBuilder __RPC_FAR *pGraph) = 0;
  8328.         
  8329.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  8330.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8331.             /* [in] */ IGraphBuilder __RPC_FAR *pGraph) = 0;
  8332.         
  8333.     };
  8334.     
  8335. #else     /* C style interface */
  8336.  
  8337.     typedef struct IStreamBuilderVtbl
  8338.     {
  8339.         BEGIN_INTERFACE
  8340.         
  8341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8342.             IStreamBuilder __RPC_FAR * This,
  8343.             /* [in] */ REFIID riid,
  8344.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8345.         
  8346.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8347.             IStreamBuilder __RPC_FAR * This);
  8348.         
  8349.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8350.             IStreamBuilder __RPC_FAR * This);
  8351.         
  8352.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
  8353.             IStreamBuilder __RPC_FAR * This,
  8354.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8355.             /* [in] */ IGraphBuilder __RPC_FAR *pGraph);
  8356.         
  8357.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Backout )( 
  8358.             IStreamBuilder __RPC_FAR * This,
  8359.             /* [in] */ IPin __RPC_FAR *ppinOut,
  8360.             /* [in] */ IGraphBuilder __RPC_FAR *pGraph);
  8361.         
  8362.         END_INTERFACE
  8363.     } IStreamBuilderVtbl;
  8364.  
  8365.     interface IStreamBuilder
  8366.     {
  8367.         CONST_VTBL struct IStreamBuilderVtbl __RPC_FAR *lpVtbl;
  8368.     };
  8369.  
  8370.     
  8371.  
  8372. #ifdef COBJMACROS
  8373.  
  8374.  
  8375. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)    \
  8376.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8377.  
  8378. #define IStreamBuilder_AddRef(This)    \
  8379.     (This)->lpVtbl -> AddRef(This)
  8380.  
  8381. #define IStreamBuilder_Release(This)    \
  8382.     (This)->lpVtbl -> Release(This)
  8383.  
  8384.  
  8385. #define IStreamBuilder_Render(This,ppinOut,pGraph)    \
  8386.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  8387.  
  8388. #define IStreamBuilder_Backout(This,ppinOut,pGraph)    \
  8389.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  8390.  
  8391. #endif /* COBJMACROS */
  8392.  
  8393.  
  8394. #endif     /* C style interface */
  8395.  
  8396.  
  8397.  
  8398. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  8399.     IStreamBuilder __RPC_FAR * This,
  8400.     /* [in] */ IPin __RPC_FAR *ppinOut,
  8401.     /* [in] */ IGraphBuilder __RPC_FAR *pGraph);
  8402.  
  8403.  
  8404. void __RPC_STUB IStreamBuilder_Render_Stub(
  8405.     IRpcStubBuffer *This,
  8406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8407.     PRPC_MESSAGE _pRpcMessage,
  8408.     DWORD *_pdwStubPhase);
  8409.  
  8410.  
  8411. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  8412.     IStreamBuilder __RPC_FAR * This,
  8413.     /* [in] */ IPin __RPC_FAR *ppinOut,
  8414.     /* [in] */ IGraphBuilder __RPC_FAR *pGraph);
  8415.  
  8416.  
  8417. void __RPC_STUB IStreamBuilder_Backout_Stub(
  8418.     IRpcStubBuffer *This,
  8419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8420.     PRPC_MESSAGE _pRpcMessage,
  8421.     DWORD *_pdwStubPhase);
  8422.  
  8423.  
  8424.  
  8425. #endif     /* __IStreamBuilder_INTERFACE_DEFINED__ */
  8426.  
  8427.  
  8428. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  8429. #define __IAsyncReader_INTERFACE_DEFINED__
  8430.  
  8431. /* interface IAsyncReader */
  8432. /* [unique][uuid][object] */ 
  8433.  
  8434.  
  8435. EXTERN_C const IID IID_IAsyncReader;
  8436.  
  8437. #if defined(__cplusplus) && !defined(CINTERFACE)
  8438.     
  8439.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  8440.     IAsyncReader : public IUnknown
  8441.     {
  8442.     public:
  8443.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  8444.             /* [in] */ IMemAllocator __RPC_FAR *pPreferred,
  8445.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps,
  8446.             /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppActual) = 0;
  8447.         
  8448.         virtual HRESULT STDMETHODCALLTYPE Request( 
  8449.             /* [in] */ IMediaSample __RPC_FAR *pSample,
  8450.             /* [in] */ DWORD_PTR dwUser) = 0;
  8451.         
  8452.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  8453.             /* [in] */ DWORD dwTimeout,
  8454.             /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppSample,
  8455.             /* [out] */ DWORD_PTR __RPC_FAR *pdwUser) = 0;
  8456.         
  8457.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  8458.             /* [in] */ IMediaSample __RPC_FAR *pSample) = 0;
  8459.         
  8460.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  8461.             /* [in] */ LONGLONG llPosition,
  8462.             /* [in] */ LONG lLength,
  8463.             /* [size_is][out] */ BYTE __RPC_FAR *pBuffer) = 0;
  8464.         
  8465.         virtual HRESULT STDMETHODCALLTYPE Length( 
  8466.             /* [out] */ LONGLONG __RPC_FAR *pTotal,
  8467.             /* [out] */ LONGLONG __RPC_FAR *pAvailable) = 0;
  8468.         
  8469.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  8470.         
  8471.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  8472.         
  8473.     };
  8474.     
  8475. #else     /* C style interface */
  8476.  
  8477.     typedef struct IAsyncReaderVtbl
  8478.     {
  8479.         BEGIN_INTERFACE
  8480.         
  8481.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8482.             IAsyncReader __RPC_FAR * This,
  8483.             /* [in] */ REFIID riid,
  8484.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8485.         
  8486.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8487.             IAsyncReader __RPC_FAR * This);
  8488.         
  8489.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8490.             IAsyncReader __RPC_FAR * This);
  8491.         
  8492.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestAllocator )( 
  8493.             IAsyncReader __RPC_FAR * This,
  8494.             /* [in] */ IMemAllocator __RPC_FAR *pPreferred,
  8495.             /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps,
  8496.             /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppActual);
  8497.         
  8498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Request )( 
  8499.             IAsyncReader __RPC_FAR * This,
  8500.             /* [in] */ IMediaSample __RPC_FAR *pSample,
  8501.             /* [in] */ DWORD_PTR dwUser);
  8502.         
  8503.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitForNext )( 
  8504.             IAsyncReader __RPC_FAR * This,
  8505.             /* [in] */ DWORD dwTimeout,
  8506.             /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppSample,
  8507.             /* [out] */ DWORD_PTR __RPC_FAR *pdwUser);
  8508.         
  8509.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SyncReadAligned )( 
  8510.             IAsyncReader __RPC_FAR * This,
  8511.             /* [in] */ IMediaSample __RPC_FAR *pSample);
  8512.         
  8513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SyncRead )( 
  8514.             IAsyncReader __RPC_FAR * This,
  8515.             /* [in] */ LONGLONG llPosition,
  8516.             /* [in] */ LONG lLength,
  8517.             /* [size_is][out] */ BYTE __RPC_FAR *pBuffer);
  8518.         
  8519.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Length )( 
  8520.             IAsyncReader __RPC_FAR * This,
  8521.             /* [out] */ LONGLONG __RPC_FAR *pTotal,
  8522.             /* [out] */ LONGLONG __RPC_FAR *pAvailable);
  8523.         
  8524.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginFlush )( 
  8525.             IAsyncReader __RPC_FAR * This);
  8526.         
  8527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndFlush )( 
  8528.             IAsyncReader __RPC_FAR * This);
  8529.         
  8530.         END_INTERFACE
  8531.     } IAsyncReaderVtbl;
  8532.  
  8533.     interface IAsyncReader
  8534.     {
  8535.         CONST_VTBL struct IAsyncReaderVtbl __RPC_FAR *lpVtbl;
  8536.     };
  8537.  
  8538.     
  8539.  
  8540. #ifdef COBJMACROS
  8541.  
  8542.  
  8543. #define IAsyncReader_QueryInterface(This,riid,ppvObject)    \
  8544.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8545.  
  8546. #define IAsyncReader_AddRef(This)    \
  8547.     (This)->lpVtbl -> AddRef(This)
  8548.  
  8549. #define IAsyncReader_Release(This)    \
  8550.     (This)->lpVtbl -> Release(This)
  8551.  
  8552.  
  8553. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)    \
  8554.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  8555.  
  8556. #define IAsyncReader_Request(This,pSample,dwUser)    \
  8557.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  8558.  
  8559. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)    \
  8560.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  8561.  
  8562. #define IAsyncReader_SyncReadAligned(This,pSample)    \
  8563.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  8564.  
  8565. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)    \
  8566.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  8567.  
  8568. #define IAsyncReader_Length(This,pTotal,pAvailable)    \
  8569.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  8570.  
  8571. #define IAsyncReader_BeginFlush(This)    \
  8572.     (This)->lpVtbl -> BeginFlush(This)
  8573.  
  8574. #define IAsyncReader_EndFlush(This)    \
  8575.     (This)->lpVtbl -> EndFlush(This)
  8576.  
  8577. #endif /* COBJMACROS */
  8578.  
  8579.  
  8580. #endif     /* C style interface */
  8581.  
  8582.  
  8583.  
  8584. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  8585.     IAsyncReader __RPC_FAR * This,
  8586.     /* [in] */ IMemAllocator __RPC_FAR *pPreferred,
  8587.     /* [in] */ ALLOCATOR_PROPERTIES __RPC_FAR *pProps,
  8588.     /* [out] */ IMemAllocator __RPC_FAR *__RPC_FAR *ppActual);
  8589.  
  8590.  
  8591. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  8592.     IRpcStubBuffer *This,
  8593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8594.     PRPC_MESSAGE _pRpcMessage,
  8595.     DWORD *_pdwStubPhase);
  8596.  
  8597.  
  8598. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  8599.     IAsyncReader __RPC_FAR * This,
  8600.     /* [in] */ IMediaSample __RPC_FAR *pSample,
  8601.     /* [in] */ DWORD_PTR dwUser);
  8602.  
  8603.  
  8604. void __RPC_STUB IAsyncReader_Request_Stub(
  8605.     IRpcStubBuffer *This,
  8606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8607.     PRPC_MESSAGE _pRpcMessage,
  8608.     DWORD *_pdwStubPhase);
  8609.  
  8610.  
  8611. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  8612.     IAsyncReader __RPC_FAR * This,
  8613.     /* [in] */ DWORD dwTimeout,
  8614.     /* [out] */ IMediaSample __RPC_FAR *__RPC_FAR *ppSample,
  8615.     /* [out] */ DWORD_PTR __RPC_FAR *pdwUser);
  8616.  
  8617.  
  8618. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  8619.     IRpcStubBuffer *This,
  8620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8621.     PRPC_MESSAGE _pRpcMessage,
  8622.     DWORD *_pdwStubPhase);
  8623.  
  8624.  
  8625. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  8626.     IAsyncReader __RPC_FAR * This,
  8627.     /* [in] */ IMediaSample __RPC_FAR *pSample);
  8628.  
  8629.  
  8630. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  8631.     IRpcStubBuffer *This,
  8632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8633.     PRPC_MESSAGE _pRpcMessage,
  8634.     DWORD *_pdwStubPhase);
  8635.  
  8636.  
  8637. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  8638.     IAsyncReader __RPC_FAR * This,
  8639.     /* [in] */ LONGLONG llPosition,
  8640.     /* [in] */ LONG lLength,
  8641.     /* [size_is][out] */ BYTE __RPC_FAR *pBuffer);
  8642.  
  8643.  
  8644. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  8645.     IRpcStubBuffer *This,
  8646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8647.     PRPC_MESSAGE _pRpcMessage,
  8648.     DWORD *_pdwStubPhase);
  8649.  
  8650.  
  8651. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  8652.     IAsyncReader __RPC_FAR * This,
  8653.     /* [out] */ LONGLONG __RPC_FAR *pTotal,
  8654.     /* [out] */ LONGLONG __RPC_FAR *pAvailable);
  8655.  
  8656.  
  8657. void __RPC_STUB IAsyncReader_Length_Stub(
  8658.     IRpcStubBuffer *This,
  8659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8660.     PRPC_MESSAGE _pRpcMessage,
  8661.     DWORD *_pdwStubPhase);
  8662.  
  8663.  
  8664. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  8665.     IAsyncReader __RPC_FAR * This);
  8666.  
  8667.  
  8668. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  8669.     IRpcStubBuffer *This,
  8670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8671.     PRPC_MESSAGE _pRpcMessage,
  8672.     DWORD *_pdwStubPhase);
  8673.  
  8674.  
  8675. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  8676.     IAsyncReader __RPC_FAR * This);
  8677.  
  8678.  
  8679. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  8680.     IRpcStubBuffer *This,
  8681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8682.     PRPC_MESSAGE _pRpcMessage,
  8683.     DWORD *_pdwStubPhase);
  8684.  
  8685.  
  8686.  
  8687. #endif     /* __IAsyncReader_INTERFACE_DEFINED__ */
  8688.  
  8689.  
  8690. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  8691. #define __IGraphVersion_INTERFACE_DEFINED__
  8692.  
  8693. /* interface IGraphVersion */
  8694. /* [unique][uuid][object] */ 
  8695.  
  8696.  
  8697. EXTERN_C const IID IID_IGraphVersion;
  8698.  
  8699. #if defined(__cplusplus) && !defined(CINTERFACE)
  8700.     
  8701.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  8702.     IGraphVersion : public IUnknown
  8703.     {
  8704.     public:
  8705.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  8706.             LONG __RPC_FAR *pVersion) = 0;
  8707.         
  8708.     };
  8709.     
  8710. #else     /* C style interface */
  8711.  
  8712.     typedef struct IGraphVersionVtbl
  8713.     {
  8714.         BEGIN_INTERFACE
  8715.         
  8716.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8717.             IGraphVersion __RPC_FAR * This,
  8718.             /* [in] */ REFIID riid,
  8719.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8720.         
  8721.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8722.             IGraphVersion __RPC_FAR * This);
  8723.         
  8724.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8725.             IGraphVersion __RPC_FAR * This);
  8726.         
  8727.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryVersion )( 
  8728.             IGraphVersion __RPC_FAR * This,
  8729.             LONG __RPC_FAR *pVersion);
  8730.         
  8731.         END_INTERFACE
  8732.     } IGraphVersionVtbl;
  8733.  
  8734.     interface IGraphVersion
  8735.     {
  8736.         CONST_VTBL struct IGraphVersionVtbl __RPC_FAR *lpVtbl;
  8737.     };
  8738.  
  8739.     
  8740.  
  8741. #ifdef COBJMACROS
  8742.  
  8743.  
  8744. #define IGraphVersion_QueryInterface(This,riid,ppvObject)    \
  8745.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8746.  
  8747. #define IGraphVersion_AddRef(This)    \
  8748.     (This)->lpVtbl -> AddRef(This)
  8749.  
  8750. #define IGraphVersion_Release(This)    \
  8751.     (This)->lpVtbl -> Release(This)
  8752.  
  8753.  
  8754. #define IGraphVersion_QueryVersion(This,pVersion)    \
  8755.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  8756.  
  8757. #endif /* COBJMACROS */
  8758.  
  8759.  
  8760. #endif     /* C style interface */
  8761.  
  8762.  
  8763.  
  8764. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  8765.     IGraphVersion __RPC_FAR * This,
  8766.     LONG __RPC_FAR *pVersion);
  8767.  
  8768.  
  8769. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  8770.     IRpcStubBuffer *This,
  8771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8772.     PRPC_MESSAGE _pRpcMessage,
  8773.     DWORD *_pdwStubPhase);
  8774.  
  8775.  
  8776.  
  8777. #endif     /* __IGraphVersion_INTERFACE_DEFINED__ */
  8778.  
  8779.  
  8780. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  8781. #define __IResourceConsumer_INTERFACE_DEFINED__
  8782.  
  8783. /* interface IResourceConsumer */
  8784. /* [unique][uuid][object] */ 
  8785.  
  8786.  
  8787. EXTERN_C const IID IID_IResourceConsumer;
  8788.  
  8789. #if defined(__cplusplus) && !defined(CINTERFACE)
  8790.     
  8791.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  8792.     IResourceConsumer : public IUnknown
  8793.     {
  8794.     public:
  8795.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  8796.             /* [in] */ LONG idResource) = 0;
  8797.         
  8798.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  8799.             /* [in] */ LONG idResource) = 0;
  8800.         
  8801.     };
  8802.     
  8803. #else     /* C style interface */
  8804.  
  8805.     typedef struct IResourceConsumerVtbl
  8806.     {
  8807.         BEGIN_INTERFACE
  8808.         
  8809.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8810.             IResourceConsumer __RPC_FAR * This,
  8811.             /* [in] */ REFIID riid,
  8812.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8813.         
  8814.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8815.             IResourceConsumer __RPC_FAR * This);
  8816.         
  8817.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8818.             IResourceConsumer __RPC_FAR * This);
  8819.         
  8820.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AcquireResource )( 
  8821.             IResourceConsumer __RPC_FAR * This,
  8822.             /* [in] */ LONG idResource);
  8823.         
  8824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseResource )( 
  8825.             IResourceConsumer __RPC_FAR * This,
  8826.             /* [in] */ LONG idResource);
  8827.         
  8828.         END_INTERFACE
  8829.     } IResourceConsumerVtbl;
  8830.  
  8831.     interface IResourceConsumer
  8832.     {
  8833.         CONST_VTBL struct IResourceConsumerVtbl __RPC_FAR *lpVtbl;
  8834.     };
  8835.  
  8836.     
  8837.  
  8838. #ifdef COBJMACROS
  8839.  
  8840.  
  8841. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)    \
  8842.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8843.  
  8844. #define IResourceConsumer_AddRef(This)    \
  8845.     (This)->lpVtbl -> AddRef(This)
  8846.  
  8847. #define IResourceConsumer_Release(This)    \
  8848.     (This)->lpVtbl -> Release(This)
  8849.  
  8850.  
  8851. #define IResourceConsumer_AcquireResource(This,idResource)    \
  8852.     (This)->lpVtbl -> AcquireResource(This,idResource)
  8853.  
  8854. #define IResourceConsumer_ReleaseResource(This,idResource)    \
  8855.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  8856.  
  8857. #endif /* COBJMACROS */
  8858.  
  8859.  
  8860. #endif     /* C style interface */
  8861.  
  8862.  
  8863.  
  8864. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  8865.     IResourceConsumer __RPC_FAR * This,
  8866.     /* [in] */ LONG idResource);
  8867.  
  8868.  
  8869. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  8870.     IRpcStubBuffer *This,
  8871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8872.     PRPC_MESSAGE _pRpcMessage,
  8873.     DWORD *_pdwStubPhase);
  8874.  
  8875.  
  8876. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  8877.     IResourceConsumer __RPC_FAR * This,
  8878.     /* [in] */ LONG idResource);
  8879.  
  8880.  
  8881. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  8882.     IRpcStubBuffer *This,
  8883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8884.     PRPC_MESSAGE _pRpcMessage,
  8885.     DWORD *_pdwStubPhase);
  8886.  
  8887.  
  8888.  
  8889. #endif     /* __IResourceConsumer_INTERFACE_DEFINED__ */
  8890.  
  8891.  
  8892. #ifndef __IResourceManager_INTERFACE_DEFINED__
  8893. #define __IResourceManager_INTERFACE_DEFINED__
  8894.  
  8895. /* interface IResourceManager */
  8896. /* [unique][uuid][object] */ 
  8897.  
  8898.  
  8899. EXTERN_C const IID IID_IResourceManager;
  8900.  
  8901. #if defined(__cplusplus) && !defined(CINTERFACE)
  8902.     
  8903.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  8904.     IResourceManager : public IUnknown
  8905.     {
  8906.     public:
  8907.         virtual HRESULT STDMETHODCALLTYPE Register( 
  8908.             /* [in] */ LPCWSTR pName,
  8909.             /* [in] */ LONG cResource,
  8910.             /* [out] */ LONG __RPC_FAR *plToken) = 0;
  8911.         
  8912.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  8913.             /* [in] */ LPCWSTR pName,
  8914.             /* [in] */ LONG cResource,
  8915.             /* [size_is][in] */ LONG __RPC_FAR *palTokens,
  8916.             /* [out] */ LONG __RPC_FAR *plToken) = 0;
  8917.         
  8918.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  8919.             /* [in] */ LONG idResource,
  8920.             /* [in] */ IUnknown __RPC_FAR *pFocusObject,
  8921.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer) = 0;
  8922.         
  8923.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  8924.             /* [in] */ LONG idResource,
  8925.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  8926.             /* [in] */ HRESULT hr) = 0;
  8927.         
  8928.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  8929.             /* [in] */ LONG idResource,
  8930.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  8931.             /* [in] */ BOOL bStillWant) = 0;
  8932.         
  8933.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  8934.             /* [in] */ LONG idResource,
  8935.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer) = 0;
  8936.         
  8937.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  8938.             /* [in] */ IUnknown __RPC_FAR *pFocusObject) = 0;
  8939.         
  8940.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  8941.             /* [in] */ IUnknown __RPC_FAR *pFocusObject) = 0;
  8942.         
  8943.     };
  8944.     
  8945. #else     /* C style interface */
  8946.  
  8947.     typedef struct IResourceManagerVtbl
  8948.     {
  8949.         BEGIN_INTERFACE
  8950.         
  8951.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8952.             IResourceManager __RPC_FAR * This,
  8953.             /* [in] */ REFIID riid,
  8954.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8955.         
  8956.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8957.             IResourceManager __RPC_FAR * This);
  8958.         
  8959.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8960.             IResourceManager __RPC_FAR * This);
  8961.         
  8962.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Register )( 
  8963.             IResourceManager __RPC_FAR * This,
  8964.             /* [in] */ LPCWSTR pName,
  8965.             /* [in] */ LONG cResource,
  8966.             /* [out] */ LONG __RPC_FAR *plToken);
  8967.         
  8968.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterGroup )( 
  8969.             IResourceManager __RPC_FAR * This,
  8970.             /* [in] */ LPCWSTR pName,
  8971.             /* [in] */ LONG cResource,
  8972.             /* [size_is][in] */ LONG __RPC_FAR *palTokens,
  8973.             /* [out] */ LONG __RPC_FAR *plToken);
  8974.         
  8975.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestResource )( 
  8976.             IResourceManager __RPC_FAR * This,
  8977.             /* [in] */ LONG idResource,
  8978.             /* [in] */ IUnknown __RPC_FAR *pFocusObject,
  8979.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer);
  8980.         
  8981.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyAcquire )( 
  8982.             IResourceManager __RPC_FAR * This,
  8983.             /* [in] */ LONG idResource,
  8984.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  8985.             /* [in] */ HRESULT hr);
  8986.         
  8987.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyRelease )( 
  8988.             IResourceManager __RPC_FAR * This,
  8989.             /* [in] */ LONG idResource,
  8990.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  8991.             /* [in] */ BOOL bStillWant);
  8992.         
  8993.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelRequest )( 
  8994.             IResourceManager __RPC_FAR * This,
  8995.             /* [in] */ LONG idResource,
  8996.             /* [in] */ IResourceConsumer __RPC_FAR *pConsumer);
  8997.         
  8998.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFocus )( 
  8999.             IResourceManager __RPC_FAR * This,
  9000.             /* [in] */ IUnknown __RPC_FAR *pFocusObject);
  9001.         
  9002.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseFocus )( 
  9003.             IResourceManager __RPC_FAR * This,
  9004.             /* [in] */ IUnknown __RPC_FAR *pFocusObject);
  9005.         
  9006.         END_INTERFACE
  9007.     } IResourceManagerVtbl;
  9008.  
  9009.     interface IResourceManager
  9010.     {
  9011.         CONST_VTBL struct IResourceManagerVtbl __RPC_FAR *lpVtbl;
  9012.     };
  9013.  
  9014.     
  9015.  
  9016. #ifdef COBJMACROS
  9017.  
  9018.  
  9019. #define IResourceManager_QueryInterface(This,riid,ppvObject)    \
  9020.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9021.  
  9022. #define IResourceManager_AddRef(This)    \
  9023.     (This)->lpVtbl -> AddRef(This)
  9024.  
  9025. #define IResourceManager_Release(This)    \
  9026.     (This)->lpVtbl -> Release(This)
  9027.  
  9028.  
  9029. #define IResourceManager_Register(This,pName,cResource,plToken)    \
  9030.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  9031.  
  9032. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)    \
  9033.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  9034.  
  9035. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)    \
  9036.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  9037.  
  9038. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)    \
  9039.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  9040.  
  9041. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)    \
  9042.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  9043.  
  9044. #define IResourceManager_CancelRequest(This,idResource,pConsumer)    \
  9045.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  9046.  
  9047. #define IResourceManager_SetFocus(This,pFocusObject)    \
  9048.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  9049.  
  9050. #define IResourceManager_ReleaseFocus(This,pFocusObject)    \
  9051.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  9052.  
  9053. #endif /* COBJMACROS */
  9054.  
  9055.  
  9056. #endif     /* C style interface */
  9057.  
  9058.  
  9059.  
  9060. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  9061.     IResourceManager __RPC_FAR * This,
  9062.     /* [in] */ LPCWSTR pName,
  9063.     /* [in] */ LONG cResource,
  9064.     /* [out] */ LONG __RPC_FAR *plToken);
  9065.  
  9066.  
  9067. void __RPC_STUB IResourceManager_Register_Stub(
  9068.     IRpcStubBuffer *This,
  9069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9070.     PRPC_MESSAGE _pRpcMessage,
  9071.     DWORD *_pdwStubPhase);
  9072.  
  9073.  
  9074. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  9075.     IResourceManager __RPC_FAR * This,
  9076.     /* [in] */ LPCWSTR pName,
  9077.     /* [in] */ LONG cResource,
  9078.     /* [size_is][in] */ LONG __RPC_FAR *palTokens,
  9079.     /* [out] */ LONG __RPC_FAR *plToken);
  9080.  
  9081.  
  9082. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  9083.     IRpcStubBuffer *This,
  9084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9085.     PRPC_MESSAGE _pRpcMessage,
  9086.     DWORD *_pdwStubPhase);
  9087.  
  9088.  
  9089. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  9090.     IResourceManager __RPC_FAR * This,
  9091.     /* [in] */ LONG idResource,
  9092.     /* [in] */ IUnknown __RPC_FAR *pFocusObject,
  9093.     /* [in] */ IResourceConsumer __RPC_FAR *pConsumer);
  9094.  
  9095.  
  9096. void __RPC_STUB IResourceManager_RequestResource_Stub(
  9097.     IRpcStubBuffer *This,
  9098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9099.     PRPC_MESSAGE _pRpcMessage,
  9100.     DWORD *_pdwStubPhase);
  9101.  
  9102.  
  9103. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  9104.     IResourceManager __RPC_FAR * This,
  9105.     /* [in] */ LONG idResource,
  9106.     /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  9107.     /* [in] */ HRESULT hr);
  9108.  
  9109.  
  9110. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  9111.     IRpcStubBuffer *This,
  9112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9113.     PRPC_MESSAGE _pRpcMessage,
  9114.     DWORD *_pdwStubPhase);
  9115.  
  9116.  
  9117. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  9118.     IResourceManager __RPC_FAR * This,
  9119.     /* [in] */ LONG idResource,
  9120.     /* [in] */ IResourceConsumer __RPC_FAR *pConsumer,
  9121.     /* [in] */ BOOL bStillWant);
  9122.  
  9123.  
  9124. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  9125.     IRpcStubBuffer *This,
  9126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9127.     PRPC_MESSAGE _pRpcMessage,
  9128.     DWORD *_pdwStubPhase);
  9129.  
  9130.  
  9131. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  9132.     IResourceManager __RPC_FAR * This,
  9133.     /* [in] */ LONG idResource,
  9134.     /* [in] */ IResourceConsumer __RPC_FAR *pConsumer);
  9135.  
  9136.  
  9137. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  9138.     IRpcStubBuffer *This,
  9139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9140.     PRPC_MESSAGE _pRpcMessage,
  9141.     DWORD *_pdwStubPhase);
  9142.  
  9143.  
  9144. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  9145.     IResourceManager __RPC_FAR * This,
  9146.     /* [in] */ IUnknown __RPC_FAR *pFocusObject);
  9147.  
  9148.  
  9149. void __RPC_STUB IResourceManager_SetFocus_Stub(
  9150.     IRpcStubBuffer *This,
  9151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9152.     PRPC_MESSAGE _pRpcMessage,
  9153.     DWORD *_pdwStubPhase);
  9154.  
  9155.  
  9156. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  9157.     IResourceManager __RPC_FAR * This,
  9158.     /* [in] */ IUnknown __RPC_FAR *pFocusObject);
  9159.  
  9160.  
  9161. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  9162.     IRpcStubBuffer *This,
  9163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9164.     PRPC_MESSAGE _pRpcMessage,
  9165.     DWORD *_pdwStubPhase);
  9166.  
  9167.  
  9168.  
  9169. #endif     /* __IResourceManager_INTERFACE_DEFINED__ */
  9170.  
  9171.  
  9172. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  9173. #define __IDistributorNotify_INTERFACE_DEFINED__
  9174.  
  9175. /* interface IDistributorNotify */
  9176. /* [unique][uuid][object] */ 
  9177.  
  9178.  
  9179. EXTERN_C const IID IID_IDistributorNotify;
  9180.  
  9181. #if defined(__cplusplus) && !defined(CINTERFACE)
  9182.     
  9183.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  9184.     IDistributorNotify : public IUnknown
  9185.     {
  9186.     public:
  9187.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  9188.         
  9189.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  9190.         
  9191.         virtual HRESULT STDMETHODCALLTYPE Run( 
  9192.             REFERENCE_TIME tStart) = 0;
  9193.         
  9194.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  9195.             /* [in] */ IReferenceClock __RPC_FAR *pClock) = 0;
  9196.         
  9197.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  9198.         
  9199.     };
  9200.     
  9201. #else     /* C style interface */
  9202.  
  9203.     typedef struct IDistributorNotifyVtbl
  9204.     {
  9205.         BEGIN_INTERFACE
  9206.         
  9207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9208.             IDistributorNotify __RPC_FAR * This,
  9209.             /* [in] */ REFIID riid,
  9210.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9211.         
  9212.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9213.             IDistributorNotify __RPC_FAR * This);
  9214.         
  9215.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9216.             IDistributorNotify __RPC_FAR * This);
  9217.         
  9218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  9219.             IDistributorNotify __RPC_FAR * This);
  9220.         
  9221.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  9222.             IDistributorNotify __RPC_FAR * This);
  9223.         
  9224.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  9225.             IDistributorNotify __RPC_FAR * This,
  9226.             REFERENCE_TIME tStart);
  9227.         
  9228.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncSource )( 
  9229.             IDistributorNotify __RPC_FAR * This,
  9230.             /* [in] */ IReferenceClock __RPC_FAR *pClock);
  9231.         
  9232.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyGraphChange )( 
  9233.             IDistributorNotify __RPC_FAR * This);
  9234.         
  9235.         END_INTERFACE
  9236.     } IDistributorNotifyVtbl;
  9237.  
  9238.     interface IDistributorNotify
  9239.     {
  9240.         CONST_VTBL struct IDistributorNotifyVtbl __RPC_FAR *lpVtbl;
  9241.     };
  9242.  
  9243.     
  9244.  
  9245. #ifdef COBJMACROS
  9246.  
  9247.  
  9248. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)    \
  9249.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9250.  
  9251. #define IDistributorNotify_AddRef(This)    \
  9252.     (This)->lpVtbl -> AddRef(This)
  9253.  
  9254. #define IDistributorNotify_Release(This)    \
  9255.     (This)->lpVtbl -> Release(This)
  9256.  
  9257.  
  9258. #define IDistributorNotify_Stop(This)    \
  9259.     (This)->lpVtbl -> Stop(This)
  9260.  
  9261. #define IDistributorNotify_Pause(This)    \
  9262.     (This)->lpVtbl -> Pause(This)
  9263.  
  9264. #define IDistributorNotify_Run(This,tStart)    \
  9265.     (This)->lpVtbl -> Run(This,tStart)
  9266.  
  9267. #define IDistributorNotify_SetSyncSource(This,pClock)    \
  9268.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  9269.  
  9270. #define IDistributorNotify_NotifyGraphChange(This)    \
  9271.     (This)->lpVtbl -> NotifyGraphChange(This)
  9272.  
  9273. #endif /* COBJMACROS */
  9274.  
  9275.  
  9276. #endif     /* C style interface */
  9277.  
  9278.  
  9279.  
  9280. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  9281.     IDistributorNotify __RPC_FAR * This);
  9282.  
  9283.  
  9284. void __RPC_STUB IDistributorNotify_Stop_Stub(
  9285.     IRpcStubBuffer *This,
  9286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9287.     PRPC_MESSAGE _pRpcMessage,
  9288.     DWORD *_pdwStubPhase);
  9289.  
  9290.  
  9291. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  9292.     IDistributorNotify __RPC_FAR * This);
  9293.  
  9294.  
  9295. void __RPC_STUB IDistributorNotify_Pause_Stub(
  9296.     IRpcStubBuffer *This,
  9297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9298.     PRPC_MESSAGE _pRpcMessage,
  9299.     DWORD *_pdwStubPhase);
  9300.  
  9301.  
  9302. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  9303.     IDistributorNotify __RPC_FAR * This,
  9304.     REFERENCE_TIME tStart);
  9305.  
  9306.  
  9307. void __RPC_STUB IDistributorNotify_Run_Stub(
  9308.     IRpcStubBuffer *This,
  9309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9310.     PRPC_MESSAGE _pRpcMessage,
  9311.     DWORD *_pdwStubPhase);
  9312.  
  9313.  
  9314. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  9315.     IDistributorNotify __RPC_FAR * This,
  9316.     /* [in] */ IReferenceClock __RPC_FAR *pClock);
  9317.  
  9318.  
  9319. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  9320.     IRpcStubBuffer *This,
  9321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9322.     PRPC_MESSAGE _pRpcMessage,
  9323.     DWORD *_pdwStubPhase);
  9324.  
  9325.  
  9326. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  9327.     IDistributorNotify __RPC_FAR * This);
  9328.  
  9329.  
  9330. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  9331.     IRpcStubBuffer *This,
  9332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9333.     PRPC_MESSAGE _pRpcMessage,
  9334.     DWORD *_pdwStubPhase);
  9335.  
  9336.  
  9337.  
  9338. #endif     /* __IDistributorNotify_INTERFACE_DEFINED__ */
  9339.  
  9340.  
  9341. /* interface __MIDL_itf_strmif_0126 */
  9342. /* [local] */ 
  9343.  
  9344. typedef /* [public] */ 
  9345. enum __MIDL___MIDL_itf_strmif_0126_0001
  9346.     {    AM_STREAM_INFO_START_DEFINED    = 0x1,
  9347.     AM_STREAM_INFO_STOP_DEFINED    = 0x2,
  9348.     AM_STREAM_INFO_DISCARDING    = 0x4,
  9349.     AM_STREAM_INFO_STOP_SEND_EXTRA    = 0x10
  9350.     }    AM_STREAM_INFO_FLAGS;
  9351.  
  9352. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0126_0002
  9353.     {
  9354.     REFERENCE_TIME tStart;
  9355.     REFERENCE_TIME tStop;
  9356.     DWORD dwStartCookie;
  9357.     DWORD dwStopCookie;
  9358.     DWORD dwFlags;
  9359.     }    AM_STREAM_INFO;
  9360.  
  9361.  
  9362.  
  9363. extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_c_ifspec;
  9364. extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_s_ifspec;
  9365.  
  9366. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  9367. #define __IAMStreamControl_INTERFACE_DEFINED__
  9368.  
  9369. /* interface IAMStreamControl */
  9370. /* [unique][uuid][object] */ 
  9371.  
  9372.  
  9373. EXTERN_C const IID IID_IAMStreamControl;
  9374.  
  9375. #if defined(__cplusplus) && !defined(CINTERFACE)
  9376.     
  9377.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  9378.     IAMStreamControl : public IUnknown
  9379.     {
  9380.     public:
  9381.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  9382.             /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStart,
  9383.             /* [in] */ DWORD dwCookie) = 0;
  9384.         
  9385.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  9386.             /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStop,
  9387.             /* [in] */ BOOL bSendExtra,
  9388.             /* [in] */ DWORD dwCookie) = 0;
  9389.         
  9390.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  9391.             /* [out] */ AM_STREAM_INFO __RPC_FAR *pInfo) = 0;
  9392.         
  9393.     };
  9394.     
  9395. #else     /* C style interface */
  9396.  
  9397.     typedef struct IAMStreamControlVtbl
  9398.     {
  9399.         BEGIN_INTERFACE
  9400.         
  9401.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9402.             IAMStreamControl __RPC_FAR * This,
  9403.             /* [in] */ REFIID riid,
  9404.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9405.         
  9406.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9407.             IAMStreamControl __RPC_FAR * This);
  9408.         
  9409.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9410.             IAMStreamControl __RPC_FAR * This);
  9411.         
  9412.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartAt )( 
  9413.             IAMStreamControl __RPC_FAR * This,
  9414.             /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStart,
  9415.             /* [in] */ DWORD dwCookie);
  9416.         
  9417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopAt )( 
  9418.             IAMStreamControl __RPC_FAR * This,
  9419.             /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStop,
  9420.             /* [in] */ BOOL bSendExtra,
  9421.             /* [in] */ DWORD dwCookie);
  9422.         
  9423.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( 
  9424.             IAMStreamControl __RPC_FAR * This,
  9425.             /* [out] */ AM_STREAM_INFO __RPC_FAR *pInfo);
  9426.         
  9427.         END_INTERFACE
  9428.     } IAMStreamControlVtbl;
  9429.  
  9430.     interface IAMStreamControl
  9431.     {
  9432.         CONST_VTBL struct IAMStreamControlVtbl __RPC_FAR *lpVtbl;
  9433.     };
  9434.  
  9435.     
  9436.  
  9437. #ifdef COBJMACROS
  9438.  
  9439.  
  9440. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)    \
  9441.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9442.  
  9443. #define IAMStreamControl_AddRef(This)    \
  9444.     (This)->lpVtbl -> AddRef(This)
  9445.  
  9446. #define IAMStreamControl_Release(This)    \
  9447.     (This)->lpVtbl -> Release(This)
  9448.  
  9449.  
  9450. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)    \
  9451.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  9452.  
  9453. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)    \
  9454.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  9455.  
  9456. #define IAMStreamControl_GetInfo(This,pInfo)    \
  9457.     (This)->lpVtbl -> GetInfo(This,pInfo)
  9458.  
  9459. #endif /* COBJMACROS */
  9460.  
  9461.  
  9462. #endif     /* C style interface */
  9463.  
  9464.  
  9465.  
  9466. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  9467.     IAMStreamControl __RPC_FAR * This,
  9468.     /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStart,
  9469.     /* [in] */ DWORD dwCookie);
  9470.  
  9471.  
  9472. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  9473.     IRpcStubBuffer *This,
  9474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9475.     PRPC_MESSAGE _pRpcMessage,
  9476.     DWORD *_pdwStubPhase);
  9477.  
  9478.  
  9479. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  9480.     IAMStreamControl __RPC_FAR * This,
  9481.     /* [in] */ const REFERENCE_TIME __RPC_FAR *ptStop,
  9482.     /* [in] */ BOOL bSendExtra,
  9483.     /* [in] */ DWORD dwCookie);
  9484.  
  9485.  
  9486. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  9487.     IRpcStubBuffer *This,
  9488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9489.     PRPC_MESSAGE _pRpcMessage,
  9490.     DWORD *_pdwStubPhase);
  9491.  
  9492.  
  9493. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  9494.     IAMStreamControl __RPC_FAR * This,
  9495.     /* [out] */ AM_STREAM_INFO __RPC_FAR *pInfo);
  9496.  
  9497.  
  9498. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  9499.     IRpcStubBuffer *This,
  9500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9501.     PRPC_MESSAGE _pRpcMessage,
  9502.     DWORD *_pdwStubPhase);
  9503.  
  9504.  
  9505.  
  9506. #endif     /* __IAMStreamControl_INTERFACE_DEFINED__ */
  9507.  
  9508.  
  9509. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  9510. #define __ISeekingPassThru_INTERFACE_DEFINED__
  9511.  
  9512. /* interface ISeekingPassThru */
  9513. /* [unique][uuid][object] */ 
  9514.  
  9515.  
  9516. EXTERN_C const IID IID_ISeekingPassThru;
  9517.  
  9518. #if defined(__cplusplus) && !defined(CINTERFACE)
  9519.     
  9520.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  9521.     ISeekingPassThru : public IUnknown
  9522.     {
  9523.     public:
  9524.         virtual HRESULT STDMETHODCALLTYPE Init( 
  9525.             /* [in] */ BOOL bSupportRendering,
  9526.             /* [in] */ IPin __RPC_FAR *pPin) = 0;
  9527.         
  9528.     };
  9529.     
  9530. #else     /* C style interface */
  9531.  
  9532.     typedef struct ISeekingPassThruVtbl
  9533.     {
  9534.         BEGIN_INTERFACE
  9535.         
  9536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9537.             ISeekingPassThru __RPC_FAR * This,
  9538.             /* [in] */ REFIID riid,
  9539.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9540.         
  9541.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9542.             ISeekingPassThru __RPC_FAR * This);
  9543.         
  9544.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9545.             ISeekingPassThru __RPC_FAR * This);
  9546.         
  9547.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Init )( 
  9548.             ISeekingPassThru __RPC_FAR * This,
  9549.             /* [in] */ BOOL bSupportRendering,
  9550.             /* [in] */ IPin __RPC_FAR *pPin);
  9551.         
  9552.         END_INTERFACE
  9553.     } ISeekingPassThruVtbl;
  9554.  
  9555.     interface ISeekingPassThru
  9556.     {
  9557.         CONST_VTBL struct ISeekingPassThruVtbl __RPC_FAR *lpVtbl;
  9558.     };
  9559.  
  9560.     
  9561.  
  9562. #ifdef COBJMACROS
  9563.  
  9564.  
  9565. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)    \
  9566.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9567.  
  9568. #define ISeekingPassThru_AddRef(This)    \
  9569.     (This)->lpVtbl -> AddRef(This)
  9570.  
  9571. #define ISeekingPassThru_Release(This)    \
  9572.     (This)->lpVtbl -> Release(This)
  9573.  
  9574.  
  9575. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)    \
  9576.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  9577.  
  9578. #endif /* COBJMACROS */
  9579.  
  9580.  
  9581. #endif     /* C style interface */
  9582.  
  9583.  
  9584.  
  9585. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  9586.     ISeekingPassThru __RPC_FAR * This,
  9587.     /* [in] */ BOOL bSupportRendering,
  9588.     /* [in] */ IPin __RPC_FAR *pPin);
  9589.  
  9590.  
  9591. void __RPC_STUB ISeekingPassThru_Init_Stub(
  9592.     IRpcStubBuffer *This,
  9593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9594.     PRPC_MESSAGE _pRpcMessage,
  9595.     DWORD *_pdwStubPhase);
  9596.  
  9597.  
  9598.  
  9599. #endif     /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  9600.  
  9601.  
  9602. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  9603. #define __IAMStreamConfig_INTERFACE_DEFINED__
  9604.  
  9605. /* interface IAMStreamConfig */
  9606. /* [unique][uuid][object] */ 
  9607.  
  9608. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  9609.     {
  9610.     GUID guid;
  9611.     ULONG VideoStandard;
  9612.     SIZE InputSize;
  9613.     SIZE MinCroppingSize;
  9614.     SIZE MaxCroppingSize;
  9615.     int CropGranularityX;
  9616.     int CropGranularityY;
  9617.     int CropAlignX;
  9618.     int CropAlignY;
  9619.     SIZE MinOutputSize;
  9620.     SIZE MaxOutputSize;
  9621.     int OutputGranularityX;
  9622.     int OutputGranularityY;
  9623.     int StretchTapsX;
  9624.     int StretchTapsY;
  9625.     int ShrinkTapsX;
  9626.     int ShrinkTapsY;
  9627.     LONGLONG MinFrameInterval;
  9628.     LONGLONG MaxFrameInterval;
  9629.     LONG MinBitsPerSecond;
  9630.     LONG MaxBitsPerSecond;
  9631.     }    VIDEO_STREAM_CONFIG_CAPS;
  9632.  
  9633. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  9634.     {
  9635.     GUID guid;
  9636.     ULONG MinimumChannels;
  9637.     ULONG MaximumChannels;
  9638.     ULONG ChannelsGranularity;
  9639.     ULONG MinimumBitsPerSample;
  9640.     ULONG MaximumBitsPerSample;
  9641.     ULONG BitsPerSampleGranularity;
  9642.     ULONG MinimumSampleFrequency;
  9643.     ULONG MaximumSampleFrequency;
  9644.     ULONG SampleFrequencyGranularity;
  9645.     }    AUDIO_STREAM_CONFIG_CAPS;
  9646.  
  9647.  
  9648. EXTERN_C const IID IID_IAMStreamConfig;
  9649.  
  9650. #if defined(__cplusplus) && !defined(CINTERFACE)
  9651.     
  9652.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  9653.     IAMStreamConfig : public IUnknown
  9654.     {
  9655.     public:
  9656.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  9657.             /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pmt) = 0;
  9658.         
  9659.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  9660.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt) = 0;
  9661.         
  9662.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  9663.             /* [out] */ int __RPC_FAR *piCount,
  9664.             /* [out] */ int __RPC_FAR *piSize) = 0;
  9665.         
  9666.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  9667.             /* [in] */ int iIndex,
  9668.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  9669.             /* [out] */ BYTE __RPC_FAR *pSCC) = 0;
  9670.         
  9671.     };
  9672.     
  9673. #else     /* C style interface */
  9674.  
  9675.     typedef struct IAMStreamConfigVtbl
  9676.     {
  9677.         BEGIN_INTERFACE
  9678.         
  9679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9680.             IAMStreamConfig __RPC_FAR * This,
  9681.             /* [in] */ REFIID riid,
  9682.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9683.         
  9684.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9685.             IAMStreamConfig __RPC_FAR * This);
  9686.         
  9687.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9688.             IAMStreamConfig __RPC_FAR * This);
  9689.         
  9690.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
  9691.             IAMStreamConfig __RPC_FAR * This,
  9692.             /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  9693.         
  9694.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
  9695.             IAMStreamConfig __RPC_FAR * This,
  9696.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt);
  9697.         
  9698.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumberOfCapabilities )( 
  9699.             IAMStreamConfig __RPC_FAR * This,
  9700.             /* [out] */ int __RPC_FAR *piCount,
  9701.             /* [out] */ int __RPC_FAR *piSize);
  9702.         
  9703.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamCaps )( 
  9704.             IAMStreamConfig __RPC_FAR * This,
  9705.             /* [in] */ int iIndex,
  9706.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  9707.             /* [out] */ BYTE __RPC_FAR *pSCC);
  9708.         
  9709.         END_INTERFACE
  9710.     } IAMStreamConfigVtbl;
  9711.  
  9712.     interface IAMStreamConfig
  9713.     {
  9714.         CONST_VTBL struct IAMStreamConfigVtbl __RPC_FAR *lpVtbl;
  9715.     };
  9716.  
  9717.     
  9718.  
  9719. #ifdef COBJMACROS
  9720.  
  9721.  
  9722. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  9723.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9724.  
  9725. #define IAMStreamConfig_AddRef(This)    \
  9726.     (This)->lpVtbl -> AddRef(This)
  9727.  
  9728. #define IAMStreamConfig_Release(This)    \
  9729.     (This)->lpVtbl -> Release(This)
  9730.  
  9731.  
  9732. #define IAMStreamConfig_SetFormat(This,pmt)    \
  9733.     (This)->lpVtbl -> SetFormat(This,pmt)
  9734.  
  9735. #define IAMStreamConfig_GetFormat(This,ppmt)    \
  9736.     (This)->lpVtbl -> GetFormat(This,ppmt)
  9737.  
  9738. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)    \
  9739.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  9740.  
  9741. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)    \
  9742.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  9743.  
  9744. #endif /* COBJMACROS */
  9745.  
  9746.  
  9747. #endif     /* C style interface */
  9748.  
  9749.  
  9750.  
  9751. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  9752.     IAMStreamConfig __RPC_FAR * This,
  9753.     /* [in] */ AM_MEDIA_TYPE __RPC_FAR *pmt);
  9754.  
  9755.  
  9756. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  9757.     IRpcStubBuffer *This,
  9758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9759.     PRPC_MESSAGE _pRpcMessage,
  9760.     DWORD *_pdwStubPhase);
  9761.  
  9762.  
  9763. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  9764.     IAMStreamConfig __RPC_FAR * This,
  9765.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt);
  9766.  
  9767.  
  9768. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  9769.     IRpcStubBuffer *This,
  9770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9771.     PRPC_MESSAGE _pRpcMessage,
  9772.     DWORD *_pdwStubPhase);
  9773.  
  9774.  
  9775. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  9776.     IAMStreamConfig __RPC_FAR * This,
  9777.     /* [out] */ int __RPC_FAR *piCount,
  9778.     /* [out] */ int __RPC_FAR *piSize);
  9779.  
  9780.  
  9781. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  9782.     IRpcStubBuffer *This,
  9783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9784.     PRPC_MESSAGE _pRpcMessage,
  9785.     DWORD *_pdwStubPhase);
  9786.  
  9787.  
  9788. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  9789.     IAMStreamConfig __RPC_FAR * This,
  9790.     /* [in] */ int iIndex,
  9791.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  9792.     /* [out] */ BYTE __RPC_FAR *pSCC);
  9793.  
  9794.  
  9795. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  9796.     IRpcStubBuffer *This,
  9797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9798.     PRPC_MESSAGE _pRpcMessage,
  9799.     DWORD *_pdwStubPhase);
  9800.  
  9801.  
  9802.  
  9803. #endif     /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  9804.  
  9805.  
  9806. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  9807. #define __IConfigInterleaving_INTERFACE_DEFINED__
  9808.  
  9809. /* interface IConfigInterleaving */
  9810. /* [unique][uuid][object] */ 
  9811.  
  9812. typedef /* [public][public][public] */ 
  9813. enum __MIDL_IConfigInterleaving_0001
  9814.     {    INTERLEAVE_NONE    = 0,
  9815.     INTERLEAVE_CAPTURE    = INTERLEAVE_NONE + 1,
  9816.     INTERLEAVE_FULL    = INTERLEAVE_CAPTURE + 1
  9817.     }    InterleavingMode;
  9818.  
  9819.  
  9820. EXTERN_C const IID IID_IConfigInterleaving;
  9821.  
  9822. #if defined(__cplusplus) && !defined(CINTERFACE)
  9823.     
  9824.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  9825.     IConfigInterleaving : public IUnknown
  9826.     {
  9827.     public:
  9828.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  9829.             /* [in] */ InterleavingMode mode) = 0;
  9830.         
  9831.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  9832.             /* [out] */ InterleavingMode __RPC_FAR *pMode) = 0;
  9833.         
  9834.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  9835.             /* [in] */ const REFERENCE_TIME __RPC_FAR *prtInterleave,
  9836.             /* [in] */ const REFERENCE_TIME __RPC_FAR *prtPreroll) = 0;
  9837.         
  9838.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  9839.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtInterleave,
  9840.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtPreroll) = 0;
  9841.         
  9842.     };
  9843.     
  9844. #else     /* C style interface */
  9845.  
  9846.     typedef struct IConfigInterleavingVtbl
  9847.     {
  9848.         BEGIN_INTERFACE
  9849.         
  9850.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9851.             IConfigInterleaving __RPC_FAR * This,
  9852.             /* [in] */ REFIID riid,
  9853.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9854.         
  9855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9856.             IConfigInterleaving __RPC_FAR * This);
  9857.         
  9858.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9859.             IConfigInterleaving __RPC_FAR * This);
  9860.         
  9861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  9862.             IConfigInterleaving __RPC_FAR * This,
  9863.             /* [in] */ InterleavingMode mode);
  9864.         
  9865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  9866.             IConfigInterleaving __RPC_FAR * This,
  9867.             /* [out] */ InterleavingMode __RPC_FAR *pMode);
  9868.         
  9869.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Interleaving )( 
  9870.             IConfigInterleaving __RPC_FAR * This,
  9871.             /* [in] */ const REFERENCE_TIME __RPC_FAR *prtInterleave,
  9872.             /* [in] */ const REFERENCE_TIME __RPC_FAR *prtPreroll);
  9873.         
  9874.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Interleaving )( 
  9875.             IConfigInterleaving __RPC_FAR * This,
  9876.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtInterleave,
  9877.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtPreroll);
  9878.         
  9879.         END_INTERFACE
  9880.     } IConfigInterleavingVtbl;
  9881.  
  9882.     interface IConfigInterleaving
  9883.     {
  9884.         CONST_VTBL struct IConfigInterleavingVtbl __RPC_FAR *lpVtbl;
  9885.     };
  9886.  
  9887.     
  9888.  
  9889. #ifdef COBJMACROS
  9890.  
  9891.  
  9892. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)    \
  9893.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9894.  
  9895. #define IConfigInterleaving_AddRef(This)    \
  9896.     (This)->lpVtbl -> AddRef(This)
  9897.  
  9898. #define IConfigInterleaving_Release(This)    \
  9899.     (This)->lpVtbl -> Release(This)
  9900.  
  9901.  
  9902. #define IConfigInterleaving_put_Mode(This,mode)    \
  9903.     (This)->lpVtbl -> put_Mode(This,mode)
  9904.  
  9905. #define IConfigInterleaving_get_Mode(This,pMode)    \
  9906.     (This)->lpVtbl -> get_Mode(This,pMode)
  9907.  
  9908. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)    \
  9909.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  9910.  
  9911. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)    \
  9912.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  9913.  
  9914. #endif /* COBJMACROS */
  9915.  
  9916.  
  9917. #endif     /* C style interface */
  9918.  
  9919.  
  9920.  
  9921. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  9922.     IConfigInterleaving __RPC_FAR * This,
  9923.     /* [in] */ InterleavingMode mode);
  9924.  
  9925.  
  9926. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  9927.     IRpcStubBuffer *This,
  9928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9929.     PRPC_MESSAGE _pRpcMessage,
  9930.     DWORD *_pdwStubPhase);
  9931.  
  9932.  
  9933. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  9934.     IConfigInterleaving __RPC_FAR * This,
  9935.     /* [out] */ InterleavingMode __RPC_FAR *pMode);
  9936.  
  9937.  
  9938. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  9939.     IRpcStubBuffer *This,
  9940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9941.     PRPC_MESSAGE _pRpcMessage,
  9942.     DWORD *_pdwStubPhase);
  9943.  
  9944.  
  9945. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  9946.     IConfigInterleaving __RPC_FAR * This,
  9947.     /* [in] */ const REFERENCE_TIME __RPC_FAR *prtInterleave,
  9948.     /* [in] */ const REFERENCE_TIME __RPC_FAR *prtPreroll);
  9949.  
  9950.  
  9951. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  9952.     IRpcStubBuffer *This,
  9953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9954.     PRPC_MESSAGE _pRpcMessage,
  9955.     DWORD *_pdwStubPhase);
  9956.  
  9957.  
  9958. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  9959.     IConfigInterleaving __RPC_FAR * This,
  9960.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtInterleave,
  9961.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtPreroll);
  9962.  
  9963.  
  9964. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  9965.     IRpcStubBuffer *This,
  9966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9967.     PRPC_MESSAGE _pRpcMessage,
  9968.     DWORD *_pdwStubPhase);
  9969.  
  9970.  
  9971.  
  9972. #endif     /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  9973.  
  9974.  
  9975. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  9976. #define __IConfigAviMux_INTERFACE_DEFINED__
  9977.  
  9978. /* interface IConfigAviMux */
  9979. /* [unique][uuid][object] */ 
  9980.  
  9981.  
  9982. EXTERN_C const IID IID_IConfigAviMux;
  9983.  
  9984. #if defined(__cplusplus) && !defined(CINTERFACE)
  9985.     
  9986.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  9987.     IConfigAviMux : public IUnknown
  9988.     {
  9989.     public:
  9990.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  9991.             /* [in] */ LONG iStream) = 0;
  9992.         
  9993.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  9994.             /* [out] */ LONG __RPC_FAR *pStream) = 0;
  9995.         
  9996.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  9997.             /* [in] */ BOOL fOldIndex) = 0;
  9998.         
  9999.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  10000.             /* [out] */ BOOL __RPC_FAR *pfOldIndex) = 0;
  10001.         
  10002.     };
  10003.     
  10004. #else     /* C style interface */
  10005.  
  10006.     typedef struct IConfigAviMuxVtbl
  10007.     {
  10008.         BEGIN_INTERFACE
  10009.         
  10010.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10011.             IConfigAviMux __RPC_FAR * This,
  10012.             /* [in] */ REFIID riid,
  10013.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10014.         
  10015.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10016.             IConfigAviMux __RPC_FAR * This);
  10017.         
  10018.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10019.             IConfigAviMux __RPC_FAR * This);
  10020.         
  10021.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMasterStream )( 
  10022.             IConfigAviMux __RPC_FAR * This,
  10023.             /* [in] */ LONG iStream);
  10024.         
  10025.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMasterStream )( 
  10026.             IConfigAviMux __RPC_FAR * This,
  10027.             /* [out] */ LONG __RPC_FAR *pStream);
  10028.         
  10029.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputCompatibilityIndex )( 
  10030.             IConfigAviMux __RPC_FAR * This,
  10031.             /* [in] */ BOOL fOldIndex);
  10032.         
  10033.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputCompatibilityIndex )( 
  10034.             IConfigAviMux __RPC_FAR * This,
  10035.             /* [out] */ BOOL __RPC_FAR *pfOldIndex);
  10036.         
  10037.         END_INTERFACE
  10038.     } IConfigAviMuxVtbl;
  10039.  
  10040.     interface IConfigAviMux
  10041.     {
  10042.         CONST_VTBL struct IConfigAviMuxVtbl __RPC_FAR *lpVtbl;
  10043.     };
  10044.  
  10045.     
  10046.  
  10047. #ifdef COBJMACROS
  10048.  
  10049.  
  10050. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)    \
  10051.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10052.  
  10053. #define IConfigAviMux_AddRef(This)    \
  10054.     (This)->lpVtbl -> AddRef(This)
  10055.  
  10056. #define IConfigAviMux_Release(This)    \
  10057.     (This)->lpVtbl -> Release(This)
  10058.  
  10059.  
  10060. #define IConfigAviMux_SetMasterStream(This,iStream)    \
  10061.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  10062.  
  10063. #define IConfigAviMux_GetMasterStream(This,pStream)    \
  10064.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  10065.  
  10066. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)    \
  10067.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  10068.  
  10069. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)    \
  10070.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  10071.  
  10072. #endif /* COBJMACROS */
  10073.  
  10074.  
  10075. #endif     /* C style interface */
  10076.  
  10077.  
  10078.  
  10079. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  10080.     IConfigAviMux __RPC_FAR * This,
  10081.     /* [in] */ LONG iStream);
  10082.  
  10083.  
  10084. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  10085.     IRpcStubBuffer *This,
  10086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10087.     PRPC_MESSAGE _pRpcMessage,
  10088.     DWORD *_pdwStubPhase);
  10089.  
  10090.  
  10091. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  10092.     IConfigAviMux __RPC_FAR * This,
  10093.     /* [out] */ LONG __RPC_FAR *pStream);
  10094.  
  10095.  
  10096. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  10097.     IRpcStubBuffer *This,
  10098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10099.     PRPC_MESSAGE _pRpcMessage,
  10100.     DWORD *_pdwStubPhase);
  10101.  
  10102.  
  10103. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  10104.     IConfigAviMux __RPC_FAR * This,
  10105.     /* [in] */ BOOL fOldIndex);
  10106.  
  10107.  
  10108. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  10109.     IRpcStubBuffer *This,
  10110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10111.     PRPC_MESSAGE _pRpcMessage,
  10112.     DWORD *_pdwStubPhase);
  10113.  
  10114.  
  10115. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  10116.     IConfigAviMux __RPC_FAR * This,
  10117.     /* [out] */ BOOL __RPC_FAR *pfOldIndex);
  10118.  
  10119.  
  10120. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  10121.     IRpcStubBuffer *This,
  10122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10123.     PRPC_MESSAGE _pRpcMessage,
  10124.     DWORD *_pdwStubPhase);
  10125.  
  10126.  
  10127.  
  10128. #endif     /* __IConfigAviMux_INTERFACE_DEFINED__ */
  10129.  
  10130.  
  10131. /* interface __MIDL_itf_strmif_0133 */
  10132. /* [local] */ 
  10133.  
  10134. typedef /* [public] */ 
  10135. enum __MIDL___MIDL_itf_strmif_0133_0001
  10136.     {    CompressionCaps_CanQuality    = 0x1,
  10137.     CompressionCaps_CanCrunch    = 0x2,
  10138.     CompressionCaps_CanKeyFrame    = 0x4,
  10139.     CompressionCaps_CanBFrame    = 0x8,
  10140.     CompressionCaps_CanWindow    = 0x10
  10141.     }    CompressionCaps;
  10142.  
  10143.  
  10144.  
  10145. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
  10146. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
  10147.  
  10148. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  10149. #define __IAMVideoCompression_INTERFACE_DEFINED__
  10150.  
  10151. /* interface IAMVideoCompression */
  10152. /* [unique][uuid][object] */ 
  10153.  
  10154.  
  10155. EXTERN_C const IID IID_IAMVideoCompression;
  10156.  
  10157. #if defined(__cplusplus) && !defined(CINTERFACE)
  10158.     
  10159.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  10160.     IAMVideoCompression : public IUnknown
  10161.     {
  10162.     public:
  10163.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  10164.             /* [in] */ long KeyFrameRate) = 0;
  10165.         
  10166.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  10167.             /* [out] */ long __RPC_FAR *pKeyFrameRate) = 0;
  10168.         
  10169.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  10170.             /* [in] */ long PFramesPerKeyFrame) = 0;
  10171.         
  10172.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  10173.             /* [out] */ long __RPC_FAR *pPFramesPerKeyFrame) = 0;
  10174.         
  10175.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  10176.             /* [in] */ double Quality) = 0;
  10177.         
  10178.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  10179.             /* [out] */ double __RPC_FAR *pQuality) = 0;
  10180.         
  10181.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  10182.             /* [in] */ DWORDLONG WindowSize) = 0;
  10183.         
  10184.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  10185.             /* [out] */ DWORDLONG __RPC_FAR *pWindowSize) = 0;
  10186.         
  10187.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  10188.             /* [size_is][out] */ WCHAR __RPC_FAR *pszVersion,
  10189.             /* [out][in] */ int __RPC_FAR *pcbVersion,
  10190.             /* [size_is][out] */ LPWSTR pszDescription,
  10191.             /* [out][in] */ int __RPC_FAR *pcbDescription,
  10192.             /* [out] */ long __RPC_FAR *pDefaultKeyFrameRate,
  10193.             /* [out] */ long __RPC_FAR *pDefaultPFramesPerKey,
  10194.             /* [out] */ double __RPC_FAR *pDefaultQuality,
  10195.             /* [out] */ long __RPC_FAR *pCapabilities) = 0;
  10196.         
  10197.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  10198.             /* [in] */ long FrameNumber) = 0;
  10199.         
  10200.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  10201.             /* [in] */ long FrameNumber,
  10202.             /* [in] */ long Size) = 0;
  10203.         
  10204.     };
  10205.     
  10206. #else     /* C style interface */
  10207.  
  10208.     typedef struct IAMVideoCompressionVtbl
  10209.     {
  10210.         BEGIN_INTERFACE
  10211.         
  10212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10213.             IAMVideoCompression __RPC_FAR * This,
  10214.             /* [in] */ REFIID riid,
  10215.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10216.         
  10217.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10218.             IAMVideoCompression __RPC_FAR * This);
  10219.         
  10220.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10221.             IAMVideoCompression __RPC_FAR * This);
  10222.         
  10223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_KeyFrameRate )( 
  10224.             IAMVideoCompression __RPC_FAR * This,
  10225.             /* [in] */ long KeyFrameRate);
  10226.         
  10227.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KeyFrameRate )( 
  10228.             IAMVideoCompression __RPC_FAR * This,
  10229.             /* [out] */ long __RPC_FAR *pKeyFrameRate);
  10230.         
  10231.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PFramesPerKeyFrame )( 
  10232.             IAMVideoCompression __RPC_FAR * This,
  10233.             /* [in] */ long PFramesPerKeyFrame);
  10234.         
  10235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PFramesPerKeyFrame )( 
  10236.             IAMVideoCompression __RPC_FAR * This,
  10237.             /* [out] */ long __RPC_FAR *pPFramesPerKeyFrame);
  10238.         
  10239.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Quality )( 
  10240.             IAMVideoCompression __RPC_FAR * This,
  10241.             /* [in] */ double Quality);
  10242.         
  10243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Quality )( 
  10244.             IAMVideoCompression __RPC_FAR * This,
  10245.             /* [out] */ double __RPC_FAR *pQuality);
  10246.         
  10247.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WindowSize )( 
  10248.             IAMVideoCompression __RPC_FAR * This,
  10249.             /* [in] */ DWORDLONG WindowSize);
  10250.         
  10251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WindowSize )( 
  10252.             IAMVideoCompression __RPC_FAR * This,
  10253.             /* [out] */ DWORDLONG __RPC_FAR *pWindowSize);
  10254.         
  10255.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( 
  10256.             IAMVideoCompression __RPC_FAR * This,
  10257.             /* [size_is][out] */ WCHAR __RPC_FAR *pszVersion,
  10258.             /* [out][in] */ int __RPC_FAR *pcbVersion,
  10259.             /* [size_is][out] */ LPWSTR pszDescription,
  10260.             /* [out][in] */ int __RPC_FAR *pcbDescription,
  10261.             /* [out] */ long __RPC_FAR *pDefaultKeyFrameRate,
  10262.             /* [out] */ long __RPC_FAR *pDefaultPFramesPerKey,
  10263.             /* [out] */ double __RPC_FAR *pDefaultQuality,
  10264.             /* [out] */ long __RPC_FAR *pCapabilities);
  10265.         
  10266.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OverrideKeyFrame )( 
  10267.             IAMVideoCompression __RPC_FAR * This,
  10268.             /* [in] */ long FrameNumber);
  10269.         
  10270.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OverrideFrameSize )( 
  10271.             IAMVideoCompression __RPC_FAR * This,
  10272.             /* [in] */ long FrameNumber,
  10273.             /* [in] */ long Size);
  10274.         
  10275.         END_INTERFACE
  10276.     } IAMVideoCompressionVtbl;
  10277.  
  10278.     interface IAMVideoCompression
  10279.     {
  10280.         CONST_VTBL struct IAMVideoCompressionVtbl __RPC_FAR *lpVtbl;
  10281.     };
  10282.  
  10283.     
  10284.  
  10285. #ifdef COBJMACROS
  10286.  
  10287.  
  10288. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)    \
  10289.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10290.  
  10291. #define IAMVideoCompression_AddRef(This)    \
  10292.     (This)->lpVtbl -> AddRef(This)
  10293.  
  10294. #define IAMVideoCompression_Release(This)    \
  10295.     (This)->lpVtbl -> Release(This)
  10296.  
  10297.  
  10298. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)    \
  10299.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  10300.  
  10301. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)    \
  10302.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  10303.  
  10304. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)    \
  10305.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  10306.  
  10307. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)    \
  10308.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  10309.  
  10310. #define IAMVideoCompression_put_Quality(This,Quality)    \
  10311.     (This)->lpVtbl -> put_Quality(This,Quality)
  10312.  
  10313. #define IAMVideoCompression_get_Quality(This,pQuality)    \
  10314.     (This)->lpVtbl -> get_Quality(This,pQuality)
  10315.  
  10316. #define IAMVideoCompression_put_WindowSize(This,WindowSize)    \
  10317.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  10318.  
  10319. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)    \
  10320.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  10321.  
  10322. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)    \
  10323.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  10324.  
  10325. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)    \
  10326.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  10327.  
  10328. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)    \
  10329.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  10330.  
  10331. #endif /* COBJMACROS */
  10332.  
  10333.  
  10334. #endif     /* C style interface */
  10335.  
  10336.  
  10337.  
  10338. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  10339.     IAMVideoCompression __RPC_FAR * This,
  10340.     /* [in] */ long KeyFrameRate);
  10341.  
  10342.  
  10343. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  10344.     IRpcStubBuffer *This,
  10345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10346.     PRPC_MESSAGE _pRpcMessage,
  10347.     DWORD *_pdwStubPhase);
  10348.  
  10349.  
  10350. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  10351.     IAMVideoCompression __RPC_FAR * This,
  10352.     /* [out] */ long __RPC_FAR *pKeyFrameRate);
  10353.  
  10354.  
  10355. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  10356.     IRpcStubBuffer *This,
  10357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10358.     PRPC_MESSAGE _pRpcMessage,
  10359.     DWORD *_pdwStubPhase);
  10360.  
  10361.  
  10362. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  10363.     IAMVideoCompression __RPC_FAR * This,
  10364.     /* [in] */ long PFramesPerKeyFrame);
  10365.  
  10366.  
  10367. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  10368.     IRpcStubBuffer *This,
  10369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10370.     PRPC_MESSAGE _pRpcMessage,
  10371.     DWORD *_pdwStubPhase);
  10372.  
  10373.  
  10374. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  10375.     IAMVideoCompression __RPC_FAR * This,
  10376.     /* [out] */ long __RPC_FAR *pPFramesPerKeyFrame);
  10377.  
  10378.  
  10379. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  10380.     IRpcStubBuffer *This,
  10381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10382.     PRPC_MESSAGE _pRpcMessage,
  10383.     DWORD *_pdwStubPhase);
  10384.  
  10385.  
  10386. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  10387.     IAMVideoCompression __RPC_FAR * This,
  10388.     /* [in] */ double Quality);
  10389.  
  10390.  
  10391. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  10392.     IRpcStubBuffer *This,
  10393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10394.     PRPC_MESSAGE _pRpcMessage,
  10395.     DWORD *_pdwStubPhase);
  10396.  
  10397.  
  10398. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  10399.     IAMVideoCompression __RPC_FAR * This,
  10400.     /* [out] */ double __RPC_FAR *pQuality);
  10401.  
  10402.  
  10403. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  10404.     IRpcStubBuffer *This,
  10405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10406.     PRPC_MESSAGE _pRpcMessage,
  10407.     DWORD *_pdwStubPhase);
  10408.  
  10409.  
  10410. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  10411.     IAMVideoCompression __RPC_FAR * This,
  10412.     /* [in] */ DWORDLONG WindowSize);
  10413.  
  10414.  
  10415. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  10416.     IRpcStubBuffer *This,
  10417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10418.     PRPC_MESSAGE _pRpcMessage,
  10419.     DWORD *_pdwStubPhase);
  10420.  
  10421.  
  10422. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  10423.     IAMVideoCompression __RPC_FAR * This,
  10424.     /* [out] */ DWORDLONG __RPC_FAR *pWindowSize);
  10425.  
  10426.  
  10427. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  10428.     IRpcStubBuffer *This,
  10429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10430.     PRPC_MESSAGE _pRpcMessage,
  10431.     DWORD *_pdwStubPhase);
  10432.  
  10433.  
  10434. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  10435.     IAMVideoCompression __RPC_FAR * This,
  10436.     /* [size_is][out] */ WCHAR __RPC_FAR *pszVersion,
  10437.     /* [out][in] */ int __RPC_FAR *pcbVersion,
  10438.     /* [size_is][out] */ LPWSTR pszDescription,
  10439.     /* [out][in] */ int __RPC_FAR *pcbDescription,
  10440.     /* [out] */ long __RPC_FAR *pDefaultKeyFrameRate,
  10441.     /* [out] */ long __RPC_FAR *pDefaultPFramesPerKey,
  10442.     /* [out] */ double __RPC_FAR *pDefaultQuality,
  10443.     /* [out] */ long __RPC_FAR *pCapabilities);
  10444.  
  10445.  
  10446. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  10447.     IRpcStubBuffer *This,
  10448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10449.     PRPC_MESSAGE _pRpcMessage,
  10450.     DWORD *_pdwStubPhase);
  10451.  
  10452.  
  10453. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  10454.     IAMVideoCompression __RPC_FAR * This,
  10455.     /* [in] */ long FrameNumber);
  10456.  
  10457.  
  10458. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  10459.     IRpcStubBuffer *This,
  10460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10461.     PRPC_MESSAGE _pRpcMessage,
  10462.     DWORD *_pdwStubPhase);
  10463.  
  10464.  
  10465. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  10466.     IAMVideoCompression __RPC_FAR * This,
  10467.     /* [in] */ long FrameNumber,
  10468.     /* [in] */ long Size);
  10469.  
  10470.  
  10471. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  10472.     IRpcStubBuffer *This,
  10473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10474.     PRPC_MESSAGE _pRpcMessage,
  10475.     DWORD *_pdwStubPhase);
  10476.  
  10477.  
  10478.  
  10479. #endif     /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  10480.  
  10481.  
  10482. /* interface __MIDL_itf_strmif_0134 */
  10483. /* [local] */ 
  10484.  
  10485. typedef /* [public] */ 
  10486. enum __MIDL___MIDL_itf_strmif_0134_0001
  10487.     {    VfwCaptureDialog_Source    = 0x1,
  10488.     VfwCaptureDialog_Format    = 0x2,
  10489.     VfwCaptureDialog_Display    = 0x4
  10490.     }    VfwCaptureDialogs;
  10491.  
  10492. typedef /* [public] */ 
  10493. enum __MIDL___MIDL_itf_strmif_0134_0002
  10494.     {    VfwCompressDialog_Config    = 0x1,
  10495.     VfwCompressDialog_About    = 0x2,
  10496.     VfwCompressDialog_QueryConfig    = 0x4,
  10497.     VfwCompressDialog_QueryAbout    = 0x8
  10498.     }    VfwCompressDialogs;
  10499.  
  10500.  
  10501.  
  10502. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  10503. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  10504.  
  10505. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10506. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10507.  
  10508. /* interface IAMVfwCaptureDialogs */
  10509. /* [unique][uuid][local][object] */ 
  10510.  
  10511.  
  10512. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  10513.  
  10514. #if defined(__cplusplus) && !defined(CINTERFACE)
  10515.     
  10516.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  10517.     IAMVfwCaptureDialogs : public IUnknown
  10518.     {
  10519.     public:
  10520.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  10521.             /* [in] */ int iDialog) = 0;
  10522.         
  10523.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10524.             /* [in] */ int iDialog,
  10525.             /* [in] */ HWND hwnd) = 0;
  10526.         
  10527.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10528.             /* [in] */ int iDialog,
  10529.             /* [in] */ int uMsg,
  10530.             /* [in] */ long dw1,
  10531.             /* [in] */ long dw2) = 0;
  10532.         
  10533.     };
  10534.     
  10535. #else     /* C style interface */
  10536.  
  10537.     typedef struct IAMVfwCaptureDialogsVtbl
  10538.     {
  10539.         BEGIN_INTERFACE
  10540.         
  10541.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10542.             IAMVfwCaptureDialogs __RPC_FAR * This,
  10543.             /* [in] */ REFIID riid,
  10544.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10545.         
  10546.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10547.             IAMVfwCaptureDialogs __RPC_FAR * This);
  10548.         
  10549.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10550.             IAMVfwCaptureDialogs __RPC_FAR * This);
  10551.         
  10552.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HasDialog )( 
  10553.             IAMVfwCaptureDialogs __RPC_FAR * This,
  10554.             /* [in] */ int iDialog);
  10555.         
  10556.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowDialog )( 
  10557.             IAMVfwCaptureDialogs __RPC_FAR * This,
  10558.             /* [in] */ int iDialog,
  10559.             /* [in] */ HWND hwnd);
  10560.         
  10561.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendDriverMessage )( 
  10562.             IAMVfwCaptureDialogs __RPC_FAR * This,
  10563.             /* [in] */ int iDialog,
  10564.             /* [in] */ int uMsg,
  10565.             /* [in] */ long dw1,
  10566.             /* [in] */ long dw2);
  10567.         
  10568.         END_INTERFACE
  10569.     } IAMVfwCaptureDialogsVtbl;
  10570.  
  10571.     interface IAMVfwCaptureDialogs
  10572.     {
  10573.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl __RPC_FAR *lpVtbl;
  10574.     };
  10575.  
  10576.     
  10577.  
  10578. #ifdef COBJMACROS
  10579.  
  10580.  
  10581. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)    \
  10582.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10583.  
  10584. #define IAMVfwCaptureDialogs_AddRef(This)    \
  10585.     (This)->lpVtbl -> AddRef(This)
  10586.  
  10587. #define IAMVfwCaptureDialogs_Release(This)    \
  10588.     (This)->lpVtbl -> Release(This)
  10589.  
  10590.  
  10591. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)    \
  10592.     (This)->lpVtbl -> HasDialog(This,iDialog)
  10593.  
  10594. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)    \
  10595.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10596.  
  10597. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)    \
  10598.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  10599.  
  10600. #endif /* COBJMACROS */
  10601.  
  10602.  
  10603. #endif     /* C style interface */
  10604.  
  10605.  
  10606.  
  10607. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  10608.     IAMVfwCaptureDialogs __RPC_FAR * This,
  10609.     /* [in] */ int iDialog);
  10610.  
  10611.  
  10612. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  10613.     IRpcStubBuffer *This,
  10614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10615.     PRPC_MESSAGE _pRpcMessage,
  10616.     DWORD *_pdwStubPhase);
  10617.  
  10618.  
  10619. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  10620.     IAMVfwCaptureDialogs __RPC_FAR * This,
  10621.     /* [in] */ int iDialog,
  10622.     /* [in] */ HWND hwnd);
  10623.  
  10624.  
  10625. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  10626.     IRpcStubBuffer *This,
  10627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10628.     PRPC_MESSAGE _pRpcMessage,
  10629.     DWORD *_pdwStubPhase);
  10630.  
  10631.  
  10632. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  10633.     IAMVfwCaptureDialogs __RPC_FAR * This,
  10634.     /* [in] */ int iDialog,
  10635.     /* [in] */ int uMsg,
  10636.     /* [in] */ long dw1,
  10637.     /* [in] */ long dw2);
  10638.  
  10639.  
  10640. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  10641.     IRpcStubBuffer *This,
  10642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10643.     PRPC_MESSAGE _pRpcMessage,
  10644.     DWORD *_pdwStubPhase);
  10645.  
  10646.  
  10647.  
  10648. #endif     /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  10649.  
  10650.  
  10651. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10652. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10653.  
  10654. /* interface IAMVfwCompressDialogs */
  10655. /* [unique][uuid][local][object] */ 
  10656.  
  10657.  
  10658. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  10659.  
  10660. #if defined(__cplusplus) && !defined(CINTERFACE)
  10661.     
  10662.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  10663.     IAMVfwCompressDialogs : public IUnknown
  10664.     {
  10665.     public:
  10666.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10667.             /* [in] */ int iDialog,
  10668.             /* [in] */ HWND hwnd) = 0;
  10669.         
  10670.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  10671.             /* [size_is][out] */ LPVOID pState,
  10672.             /* [out][in] */ int __RPC_FAR *pcbState) = 0;
  10673.         
  10674.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  10675.             /* [size_is][in] */ LPVOID pState,
  10676.             /* [in] */ int cbState) = 0;
  10677.         
  10678.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10679.             /* [in] */ int uMsg,
  10680.             /* [in] */ long dw1,
  10681.             /* [in] */ long dw2) = 0;
  10682.         
  10683.     };
  10684.     
  10685. #else     /* C style interface */
  10686.  
  10687.     typedef struct IAMVfwCompressDialogsVtbl
  10688.     {
  10689.         BEGIN_INTERFACE
  10690.         
  10691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10692.             IAMVfwCompressDialogs __RPC_FAR * This,
  10693.             /* [in] */ REFIID riid,
  10694.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10695.         
  10696.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10697.             IAMVfwCompressDialogs __RPC_FAR * This);
  10698.         
  10699.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10700.             IAMVfwCompressDialogs __RPC_FAR * This);
  10701.         
  10702.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowDialog )( 
  10703.             IAMVfwCompressDialogs __RPC_FAR * This,
  10704.             /* [in] */ int iDialog,
  10705.             /* [in] */ HWND hwnd);
  10706.         
  10707.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  10708.             IAMVfwCompressDialogs __RPC_FAR * This,
  10709.             /* [size_is][out] */ LPVOID pState,
  10710.             /* [out][in] */ int __RPC_FAR *pcbState);
  10711.         
  10712.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetState )( 
  10713.             IAMVfwCompressDialogs __RPC_FAR * This,
  10714.             /* [size_is][in] */ LPVOID pState,
  10715.             /* [in] */ int cbState);
  10716.         
  10717.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendDriverMessage )( 
  10718.             IAMVfwCompressDialogs __RPC_FAR * This,
  10719.             /* [in] */ int uMsg,
  10720.             /* [in] */ long dw1,
  10721.             /* [in] */ long dw2);
  10722.         
  10723.         END_INTERFACE
  10724.     } IAMVfwCompressDialogsVtbl;
  10725.  
  10726.     interface IAMVfwCompressDialogs
  10727.     {
  10728.         CONST_VTBL struct IAMVfwCompressDialogsVtbl __RPC_FAR *lpVtbl;
  10729.     };
  10730.  
  10731.     
  10732.  
  10733. #ifdef COBJMACROS
  10734.  
  10735.  
  10736. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)    \
  10737.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10738.  
  10739. #define IAMVfwCompressDialogs_AddRef(This)    \
  10740.     (This)->lpVtbl -> AddRef(This)
  10741.  
  10742. #define IAMVfwCompressDialogs_Release(This)    \
  10743.     (This)->lpVtbl -> Release(This)
  10744.  
  10745.  
  10746. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)    \
  10747.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10748.  
  10749. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)    \
  10750.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  10751.  
  10752. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)    \
  10753.     (This)->lpVtbl -> SetState(This,pState,cbState)
  10754.  
  10755. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)    \
  10756.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  10757.  
  10758. #endif /* COBJMACROS */
  10759.  
  10760.  
  10761. #endif     /* C style interface */
  10762.  
  10763.  
  10764.  
  10765. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  10766.     IAMVfwCompressDialogs __RPC_FAR * This,
  10767.     /* [in] */ int iDialog,
  10768.     /* [in] */ HWND hwnd);
  10769.  
  10770.  
  10771. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  10772.     IRpcStubBuffer *This,
  10773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10774.     PRPC_MESSAGE _pRpcMessage,
  10775.     DWORD *_pdwStubPhase);
  10776.  
  10777.  
  10778. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  10779.     IAMVfwCompressDialogs __RPC_FAR * This,
  10780.     /* [size_is][out] */ LPVOID pState,
  10781.     /* [out][in] */ int __RPC_FAR *pcbState);
  10782.  
  10783.  
  10784. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  10785.     IRpcStubBuffer *This,
  10786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10787.     PRPC_MESSAGE _pRpcMessage,
  10788.     DWORD *_pdwStubPhase);
  10789.  
  10790.  
  10791. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  10792.     IAMVfwCompressDialogs __RPC_FAR * This,
  10793.     /* [size_is][in] */ LPVOID pState,
  10794.     /* [in] */ int cbState);
  10795.  
  10796.  
  10797. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  10798.     IRpcStubBuffer *This,
  10799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10800.     PRPC_MESSAGE _pRpcMessage,
  10801.     DWORD *_pdwStubPhase);
  10802.  
  10803.  
  10804. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  10805.     IAMVfwCompressDialogs __RPC_FAR * This,
  10806.     /* [in] */ int uMsg,
  10807.     /* [in] */ long dw1,
  10808.     /* [in] */ long dw2);
  10809.  
  10810.  
  10811. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  10812.     IRpcStubBuffer *This,
  10813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10814.     PRPC_MESSAGE _pRpcMessage,
  10815.     DWORD *_pdwStubPhase);
  10816.  
  10817.  
  10818.  
  10819. #endif     /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  10820.  
  10821.  
  10822. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  10823. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  10824.  
  10825. /* interface IAMDroppedFrames */
  10826. /* [unique][uuid][object] */ 
  10827.  
  10828.  
  10829. EXTERN_C const IID IID_IAMDroppedFrames;
  10830.  
  10831. #if defined(__cplusplus) && !defined(CINTERFACE)
  10832.     
  10833.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  10834.     IAMDroppedFrames : public IUnknown
  10835.     {
  10836.     public:
  10837.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  10838.             /* [out] */ long __RPC_FAR *plDropped) = 0;
  10839.         
  10840.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  10841.             /* [out] */ long __RPC_FAR *plNotDropped) = 0;
  10842.         
  10843.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  10844.             /* [in] */ long lSize,
  10845.             /* [out] */ long __RPC_FAR *plArray,
  10846.             /* [out] */ long __RPC_FAR *plNumCopied) = 0;
  10847.         
  10848.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  10849.             /* [out] */ long __RPC_FAR *plAverageSize) = 0;
  10850.         
  10851.     };
  10852.     
  10853. #else     /* C style interface */
  10854.  
  10855.     typedef struct IAMDroppedFramesVtbl
  10856.     {
  10857.         BEGIN_INTERFACE
  10858.         
  10859.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10860.             IAMDroppedFrames __RPC_FAR * This,
  10861.             /* [in] */ REFIID riid,
  10862.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10863.         
  10864.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10865.             IAMDroppedFrames __RPC_FAR * This);
  10866.         
  10867.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10868.             IAMDroppedFrames __RPC_FAR * This);
  10869.         
  10870.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumDropped )( 
  10871.             IAMDroppedFrames __RPC_FAR * This,
  10872.             /* [out] */ long __RPC_FAR *plDropped);
  10873.         
  10874.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumNotDropped )( 
  10875.             IAMDroppedFrames __RPC_FAR * This,
  10876.             /* [out] */ long __RPC_FAR *plNotDropped);
  10877.         
  10878.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDroppedInfo )( 
  10879.             IAMDroppedFrames __RPC_FAR * This,
  10880.             /* [in] */ long lSize,
  10881.             /* [out] */ long __RPC_FAR *plArray,
  10882.             /* [out] */ long __RPC_FAR *plNumCopied);
  10883.         
  10884.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAverageFrameSize )( 
  10885.             IAMDroppedFrames __RPC_FAR * This,
  10886.             /* [out] */ long __RPC_FAR *plAverageSize);
  10887.         
  10888.         END_INTERFACE
  10889.     } IAMDroppedFramesVtbl;
  10890.  
  10891.     interface IAMDroppedFrames
  10892.     {
  10893.         CONST_VTBL struct IAMDroppedFramesVtbl __RPC_FAR *lpVtbl;
  10894.     };
  10895.  
  10896.     
  10897.  
  10898. #ifdef COBJMACROS
  10899.  
  10900.  
  10901. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)    \
  10902.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10903.  
  10904. #define IAMDroppedFrames_AddRef(This)    \
  10905.     (This)->lpVtbl -> AddRef(This)
  10906.  
  10907. #define IAMDroppedFrames_Release(This)    \
  10908.     (This)->lpVtbl -> Release(This)
  10909.  
  10910.  
  10911. #define IAMDroppedFrames_GetNumDropped(This,plDropped)    \
  10912.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  10913.  
  10914. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)    \
  10915.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  10916.  
  10917. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)    \
  10918.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  10919.  
  10920. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)    \
  10921.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  10922.  
  10923. #endif /* COBJMACROS */
  10924.  
  10925.  
  10926. #endif     /* C style interface */
  10927.  
  10928.  
  10929.  
  10930. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  10931.     IAMDroppedFrames __RPC_FAR * This,
  10932.     /* [out] */ long __RPC_FAR *plDropped);
  10933.  
  10934.  
  10935. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  10936.     IRpcStubBuffer *This,
  10937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10938.     PRPC_MESSAGE _pRpcMessage,
  10939.     DWORD *_pdwStubPhase);
  10940.  
  10941.  
  10942. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  10943.     IAMDroppedFrames __RPC_FAR * This,
  10944.     /* [out] */ long __RPC_FAR *plNotDropped);
  10945.  
  10946.  
  10947. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  10948.     IRpcStubBuffer *This,
  10949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10950.     PRPC_MESSAGE _pRpcMessage,
  10951.     DWORD *_pdwStubPhase);
  10952.  
  10953.  
  10954. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  10955.     IAMDroppedFrames __RPC_FAR * This,
  10956.     /* [in] */ long lSize,
  10957.     /* [out] */ long __RPC_FAR *plArray,
  10958.     /* [out] */ long __RPC_FAR *plNumCopied);
  10959.  
  10960.  
  10961. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  10962.     IRpcStubBuffer *This,
  10963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10964.     PRPC_MESSAGE _pRpcMessage,
  10965.     DWORD *_pdwStubPhase);
  10966.  
  10967.  
  10968. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  10969.     IAMDroppedFrames __RPC_FAR * This,
  10970.     /* [out] */ long __RPC_FAR *plAverageSize);
  10971.  
  10972.  
  10973. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  10974.     IRpcStubBuffer *This,
  10975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10976.     PRPC_MESSAGE _pRpcMessage,
  10977.     DWORD *_pdwStubPhase);
  10978.  
  10979.  
  10980.  
  10981. #endif     /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  10982.  
  10983.  
  10984. /* interface __MIDL_itf_strmif_0137 */
  10985. /* [local] */ 
  10986.  
  10987. #define AMF_AUTOMATICGAIN -1.0
  10988.  
  10989.  
  10990. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  10991. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  10992.  
  10993. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  10994. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  10995.  
  10996. /* interface IAMAudioInputMixer */
  10997. /* [unique][uuid][object] */ 
  10998.  
  10999.  
  11000. EXTERN_C const IID IID_IAMAudioInputMixer;
  11001.  
  11002. #if defined(__cplusplus) && !defined(CINTERFACE)
  11003.     
  11004.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  11005.     IAMAudioInputMixer : public IUnknown
  11006.     {
  11007.     public:
  11008.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  11009.             /* [in] */ BOOL fEnable) = 0;
  11010.         
  11011.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  11012.             /* [out] */ BOOL __RPC_FAR *pfEnable) = 0;
  11013.         
  11014.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  11015.             /* [in] */ BOOL fMono) = 0;
  11016.         
  11017.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  11018.             /* [out] */ BOOL __RPC_FAR *pfMono) = 0;
  11019.         
  11020.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  11021.             /* [in] */ double Level) = 0;
  11022.         
  11023.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  11024.             /* [out] */ double __RPC_FAR *pLevel) = 0;
  11025.         
  11026.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  11027.             /* [in] */ double Pan) = 0;
  11028.         
  11029.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  11030.             /* [out] */ double __RPC_FAR *pPan) = 0;
  11031.         
  11032.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  11033.             /* [in] */ BOOL fLoudness) = 0;
  11034.         
  11035.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  11036.             /* [out] */ BOOL __RPC_FAR *pfLoudness) = 0;
  11037.         
  11038.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  11039.             /* [in] */ double Treble) = 0;
  11040.         
  11041.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  11042.             /* [out] */ double __RPC_FAR *pTreble) = 0;
  11043.         
  11044.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  11045.             /* [out] */ double __RPC_FAR *pRange) = 0;
  11046.         
  11047.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  11048.             /* [in] */ double Bass) = 0;
  11049.         
  11050.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  11051.             /* [out] */ double __RPC_FAR *pBass) = 0;
  11052.         
  11053.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  11054.             /* [out] */ double __RPC_FAR *pRange) = 0;
  11055.         
  11056.     };
  11057.     
  11058. #else     /* C style interface */
  11059.  
  11060.     typedef struct IAMAudioInputMixerVtbl
  11061.     {
  11062.         BEGIN_INTERFACE
  11063.         
  11064.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11065.             IAMAudioInputMixer __RPC_FAR * This,
  11066.             /* [in] */ REFIID riid,
  11067.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11068.         
  11069.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11070.             IAMAudioInputMixer __RPC_FAR * This);
  11071.         
  11072.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11073.             IAMAudioInputMixer __RPC_FAR * This);
  11074.         
  11075.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enable )( 
  11076.             IAMAudioInputMixer __RPC_FAR * This,
  11077.             /* [in] */ BOOL fEnable);
  11078.         
  11079.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enable )( 
  11080.             IAMAudioInputMixer __RPC_FAR * This,
  11081.             /* [out] */ BOOL __RPC_FAR *pfEnable);
  11082.         
  11083.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mono )( 
  11084.             IAMAudioInputMixer __RPC_FAR * This,
  11085.             /* [in] */ BOOL fMono);
  11086.         
  11087.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mono )( 
  11088.             IAMAudioInputMixer __RPC_FAR * This,
  11089.             /* [out] */ BOOL __RPC_FAR *pfMono);
  11090.         
  11091.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MixLevel )( 
  11092.             IAMAudioInputMixer __RPC_FAR * This,
  11093.             /* [in] */ double Level);
  11094.         
  11095.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MixLevel )( 
  11096.             IAMAudioInputMixer __RPC_FAR * This,
  11097.             /* [out] */ double __RPC_FAR *pLevel);
  11098.         
  11099.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Pan )( 
  11100.             IAMAudioInputMixer __RPC_FAR * This,
  11101.             /* [in] */ double Pan);
  11102.         
  11103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Pan )( 
  11104.             IAMAudioInputMixer __RPC_FAR * This,
  11105.             /* [out] */ double __RPC_FAR *pPan);
  11106.         
  11107.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Loudness )( 
  11108.             IAMAudioInputMixer __RPC_FAR * This,
  11109.             /* [in] */ BOOL fLoudness);
  11110.         
  11111.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Loudness )( 
  11112.             IAMAudioInputMixer __RPC_FAR * This,
  11113.             /* [out] */ BOOL __RPC_FAR *pfLoudness);
  11114.         
  11115.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Treble )( 
  11116.             IAMAudioInputMixer __RPC_FAR * This,
  11117.             /* [in] */ double Treble);
  11118.         
  11119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Treble )( 
  11120.             IAMAudioInputMixer __RPC_FAR * This,
  11121.             /* [out] */ double __RPC_FAR *pTreble);
  11122.         
  11123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrebleRange )( 
  11124.             IAMAudioInputMixer __RPC_FAR * This,
  11125.             /* [out] */ double __RPC_FAR *pRange);
  11126.         
  11127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bass )( 
  11128.             IAMAudioInputMixer __RPC_FAR * This,
  11129.             /* [in] */ double Bass);
  11130.         
  11131.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bass )( 
  11132.             IAMAudioInputMixer __RPC_FAR * This,
  11133.             /* [out] */ double __RPC_FAR *pBass);
  11134.         
  11135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BassRange )( 
  11136.             IAMAudioInputMixer __RPC_FAR * This,
  11137.             /* [out] */ double __RPC_FAR *pRange);
  11138.         
  11139.         END_INTERFACE
  11140.     } IAMAudioInputMixerVtbl;
  11141.  
  11142.     interface IAMAudioInputMixer
  11143.     {
  11144.         CONST_VTBL struct IAMAudioInputMixerVtbl __RPC_FAR *lpVtbl;
  11145.     };
  11146.  
  11147.     
  11148.  
  11149. #ifdef COBJMACROS
  11150.  
  11151.  
  11152. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)    \
  11153.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11154.  
  11155. #define IAMAudioInputMixer_AddRef(This)    \
  11156.     (This)->lpVtbl -> AddRef(This)
  11157.  
  11158. #define IAMAudioInputMixer_Release(This)    \
  11159.     (This)->lpVtbl -> Release(This)
  11160.  
  11161.  
  11162. #define IAMAudioInputMixer_put_Enable(This,fEnable)    \
  11163.     (This)->lpVtbl -> put_Enable(This,fEnable)
  11164.  
  11165. #define IAMAudioInputMixer_get_Enable(This,pfEnable)    \
  11166.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  11167.  
  11168. #define IAMAudioInputMixer_put_Mono(This,fMono)    \
  11169.     (This)->lpVtbl -> put_Mono(This,fMono)
  11170.  
  11171. #define IAMAudioInputMixer_get_Mono(This,pfMono)    \
  11172.     (This)->lpVtbl -> get_Mono(This,pfMono)
  11173.  
  11174. #define IAMAudioInputMixer_put_MixLevel(This,Level)    \
  11175.     (This)->lpVtbl -> put_MixLevel(This,Level)
  11176.  
  11177. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)    \
  11178.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  11179.  
  11180. #define IAMAudioInputMixer_put_Pan(This,Pan)    \
  11181.     (This)->lpVtbl -> put_Pan(This,Pan)
  11182.  
  11183. #define IAMAudioInputMixer_get_Pan(This,pPan)    \
  11184.     (This)->lpVtbl -> get_Pan(This,pPan)
  11185.  
  11186. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)    \
  11187.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  11188.  
  11189. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)    \
  11190.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  11191.  
  11192. #define IAMAudioInputMixer_put_Treble(This,Treble)    \
  11193.     (This)->lpVtbl -> put_Treble(This,Treble)
  11194.  
  11195. #define IAMAudioInputMixer_get_Treble(This,pTreble)    \
  11196.     (This)->lpVtbl -> get_Treble(This,pTreble)
  11197.  
  11198. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)    \
  11199.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  11200.  
  11201. #define IAMAudioInputMixer_put_Bass(This,Bass)    \
  11202.     (This)->lpVtbl -> put_Bass(This,Bass)
  11203.  
  11204. #define IAMAudioInputMixer_get_Bass(This,pBass)    \
  11205.     (This)->lpVtbl -> get_Bass(This,pBass)
  11206.  
  11207. #define IAMAudioInputMixer_get_BassRange(This,pRange)    \
  11208.     (This)->lpVtbl -> get_BassRange(This,pRange)
  11209.  
  11210. #endif /* COBJMACROS */
  11211.  
  11212.  
  11213. #endif     /* C style interface */
  11214.  
  11215.  
  11216.  
  11217. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  11218.     IAMAudioInputMixer __RPC_FAR * This,
  11219.     /* [in] */ BOOL fEnable);
  11220.  
  11221.  
  11222. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  11223.     IRpcStubBuffer *This,
  11224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11225.     PRPC_MESSAGE _pRpcMessage,
  11226.     DWORD *_pdwStubPhase);
  11227.  
  11228.  
  11229. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  11230.     IAMAudioInputMixer __RPC_FAR * This,
  11231.     /* [out] */ BOOL __RPC_FAR *pfEnable);
  11232.  
  11233.  
  11234. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  11235.     IRpcStubBuffer *This,
  11236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11237.     PRPC_MESSAGE _pRpcMessage,
  11238.     DWORD *_pdwStubPhase);
  11239.  
  11240.  
  11241. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  11242.     IAMAudioInputMixer __RPC_FAR * This,
  11243.     /* [in] */ BOOL fMono);
  11244.  
  11245.  
  11246. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  11247.     IRpcStubBuffer *This,
  11248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11249.     PRPC_MESSAGE _pRpcMessage,
  11250.     DWORD *_pdwStubPhase);
  11251.  
  11252.  
  11253. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  11254.     IAMAudioInputMixer __RPC_FAR * This,
  11255.     /* [out] */ BOOL __RPC_FAR *pfMono);
  11256.  
  11257.  
  11258. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  11259.     IRpcStubBuffer *This,
  11260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11261.     PRPC_MESSAGE _pRpcMessage,
  11262.     DWORD *_pdwStubPhase);
  11263.  
  11264.  
  11265. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  11266.     IAMAudioInputMixer __RPC_FAR * This,
  11267.     /* [in] */ double Level);
  11268.  
  11269.  
  11270. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  11271.     IRpcStubBuffer *This,
  11272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11273.     PRPC_MESSAGE _pRpcMessage,
  11274.     DWORD *_pdwStubPhase);
  11275.  
  11276.  
  11277. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  11278.     IAMAudioInputMixer __RPC_FAR * This,
  11279.     /* [out] */ double __RPC_FAR *pLevel);
  11280.  
  11281.  
  11282. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  11283.     IRpcStubBuffer *This,
  11284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11285.     PRPC_MESSAGE _pRpcMessage,
  11286.     DWORD *_pdwStubPhase);
  11287.  
  11288.  
  11289. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  11290.     IAMAudioInputMixer __RPC_FAR * This,
  11291.     /* [in] */ double Pan);
  11292.  
  11293.  
  11294. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  11295.     IRpcStubBuffer *This,
  11296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11297.     PRPC_MESSAGE _pRpcMessage,
  11298.     DWORD *_pdwStubPhase);
  11299.  
  11300.  
  11301. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  11302.     IAMAudioInputMixer __RPC_FAR * This,
  11303.     /* [out] */ double __RPC_FAR *pPan);
  11304.  
  11305.  
  11306. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  11307.     IRpcStubBuffer *This,
  11308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11309.     PRPC_MESSAGE _pRpcMessage,
  11310.     DWORD *_pdwStubPhase);
  11311.  
  11312.  
  11313. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  11314.     IAMAudioInputMixer __RPC_FAR * This,
  11315.     /* [in] */ BOOL fLoudness);
  11316.  
  11317.  
  11318. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  11319.     IRpcStubBuffer *This,
  11320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11321.     PRPC_MESSAGE _pRpcMessage,
  11322.     DWORD *_pdwStubPhase);
  11323.  
  11324.  
  11325. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  11326.     IAMAudioInputMixer __RPC_FAR * This,
  11327.     /* [out] */ BOOL __RPC_FAR *pfLoudness);
  11328.  
  11329.  
  11330. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  11331.     IRpcStubBuffer *This,
  11332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11333.     PRPC_MESSAGE _pRpcMessage,
  11334.     DWORD *_pdwStubPhase);
  11335.  
  11336.  
  11337. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  11338.     IAMAudioInputMixer __RPC_FAR * This,
  11339.     /* [in] */ double Treble);
  11340.  
  11341.  
  11342. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  11343.     IRpcStubBuffer *This,
  11344.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11345.     PRPC_MESSAGE _pRpcMessage,
  11346.     DWORD *_pdwStubPhase);
  11347.  
  11348.  
  11349. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  11350.     IAMAudioInputMixer __RPC_FAR * This,
  11351.     /* [out] */ double __RPC_FAR *pTreble);
  11352.  
  11353.  
  11354. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  11355.     IRpcStubBuffer *This,
  11356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11357.     PRPC_MESSAGE _pRpcMessage,
  11358.     DWORD *_pdwStubPhase);
  11359.  
  11360.  
  11361. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  11362.     IAMAudioInputMixer __RPC_FAR * This,
  11363.     /* [out] */ double __RPC_FAR *pRange);
  11364.  
  11365.  
  11366. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  11367.     IRpcStubBuffer *This,
  11368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11369.     PRPC_MESSAGE _pRpcMessage,
  11370.     DWORD *_pdwStubPhase);
  11371.  
  11372.  
  11373. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  11374.     IAMAudioInputMixer __RPC_FAR * This,
  11375.     /* [in] */ double Bass);
  11376.  
  11377.  
  11378. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  11379.     IRpcStubBuffer *This,
  11380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11381.     PRPC_MESSAGE _pRpcMessage,
  11382.     DWORD *_pdwStubPhase);
  11383.  
  11384.  
  11385. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  11386.     IAMAudioInputMixer __RPC_FAR * This,
  11387.     /* [out] */ double __RPC_FAR *pBass);
  11388.  
  11389.  
  11390. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  11391.     IRpcStubBuffer *This,
  11392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11393.     PRPC_MESSAGE _pRpcMessage,
  11394.     DWORD *_pdwStubPhase);
  11395.  
  11396.  
  11397. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  11398.     IAMAudioInputMixer __RPC_FAR * This,
  11399.     /* [out] */ double __RPC_FAR *pRange);
  11400.  
  11401.  
  11402. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  11403.     IRpcStubBuffer *This,
  11404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11405.     PRPC_MESSAGE _pRpcMessage,
  11406.     DWORD *_pdwStubPhase);
  11407.  
  11408.  
  11409.  
  11410. #endif     /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  11411.  
  11412.  
  11413. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  11414. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  11415.  
  11416. /* interface IAMBufferNegotiation */
  11417. /* [unique][uuid][object] */ 
  11418.  
  11419.  
  11420. EXTERN_C const IID IID_IAMBufferNegotiation;
  11421.  
  11422. #if defined(__cplusplus) && !defined(CINTERFACE)
  11423.     
  11424.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  11425.     IAMBufferNegotiation : public IUnknown
  11426.     {
  11427.     public:
  11428.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  11429.             /* [in] */ const ALLOCATOR_PROPERTIES __RPC_FAR *pprop) = 0;
  11430.         
  11431.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  11432.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pprop) = 0;
  11433.         
  11434.     };
  11435.     
  11436. #else     /* C style interface */
  11437.  
  11438.     typedef struct IAMBufferNegotiationVtbl
  11439.     {
  11440.         BEGIN_INTERFACE
  11441.         
  11442.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11443.             IAMBufferNegotiation __RPC_FAR * This,
  11444.             /* [in] */ REFIID riid,
  11445.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11446.         
  11447.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11448.             IAMBufferNegotiation __RPC_FAR * This);
  11449.         
  11450.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11451.             IAMBufferNegotiation __RPC_FAR * This);
  11452.         
  11453.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SuggestAllocatorProperties )( 
  11454.             IAMBufferNegotiation __RPC_FAR * This,
  11455.             /* [in] */ const ALLOCATOR_PROPERTIES __RPC_FAR *pprop);
  11456.         
  11457.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocatorProperties )( 
  11458.             IAMBufferNegotiation __RPC_FAR * This,
  11459.             /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pprop);
  11460.         
  11461.         END_INTERFACE
  11462.     } IAMBufferNegotiationVtbl;
  11463.  
  11464.     interface IAMBufferNegotiation
  11465.     {
  11466.         CONST_VTBL struct IAMBufferNegotiationVtbl __RPC_FAR *lpVtbl;
  11467.     };
  11468.  
  11469.     
  11470.  
  11471. #ifdef COBJMACROS
  11472.  
  11473.  
  11474. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)    \
  11475.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11476.  
  11477. #define IAMBufferNegotiation_AddRef(This)    \
  11478.     (This)->lpVtbl -> AddRef(This)
  11479.  
  11480. #define IAMBufferNegotiation_Release(This)    \
  11481.     (This)->lpVtbl -> Release(This)
  11482.  
  11483.  
  11484. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)    \
  11485.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  11486.  
  11487. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)    \
  11488.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  11489.  
  11490. #endif /* COBJMACROS */
  11491.  
  11492.  
  11493. #endif     /* C style interface */
  11494.  
  11495.  
  11496.  
  11497. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  11498.     IAMBufferNegotiation __RPC_FAR * This,
  11499.     /* [in] */ const ALLOCATOR_PROPERTIES __RPC_FAR *pprop);
  11500.  
  11501.  
  11502. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  11503.     IRpcStubBuffer *This,
  11504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11505.     PRPC_MESSAGE _pRpcMessage,
  11506.     DWORD *_pdwStubPhase);
  11507.  
  11508.  
  11509. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  11510.     IAMBufferNegotiation __RPC_FAR * This,
  11511.     /* [out] */ ALLOCATOR_PROPERTIES __RPC_FAR *pprop);
  11512.  
  11513.  
  11514. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  11515.     IRpcStubBuffer *This,
  11516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11517.     PRPC_MESSAGE _pRpcMessage,
  11518.     DWORD *_pdwStubPhase);
  11519.  
  11520.  
  11521.  
  11522. #endif     /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  11523.  
  11524.  
  11525. /* interface __MIDL_itf_strmif_0139 */
  11526. /* [local] */ 
  11527.  
  11528. typedef 
  11529. enum tagAnalogVideoStandard
  11530.     {    AnalogVideo_None    = 0,
  11531.     AnalogVideo_NTSC_M    = 0x1,
  11532.     AnalogVideo_NTSC_M_J    = 0x2,
  11533.     AnalogVideo_NTSC_433    = 0x4,
  11534.     AnalogVideo_PAL_B    = 0x10,
  11535.     AnalogVideo_PAL_D    = 0x20,
  11536.     AnalogVideo_PAL_G    = 0x40,
  11537.     AnalogVideo_PAL_H    = 0x80,
  11538.     AnalogVideo_PAL_I    = 0x100,
  11539.     AnalogVideo_PAL_M    = 0x200,
  11540.     AnalogVideo_PAL_N    = 0x400,
  11541.     AnalogVideo_PAL_60    = 0x800,
  11542.     AnalogVideo_SECAM_B    = 0x1000,
  11543.     AnalogVideo_SECAM_D    = 0x2000,
  11544.     AnalogVideo_SECAM_G    = 0x4000,
  11545.     AnalogVideo_SECAM_H    = 0x8000,
  11546.     AnalogVideo_SECAM_K    = 0x10000,
  11547.     AnalogVideo_SECAM_K1    = 0x20000,
  11548.     AnalogVideo_SECAM_L    = 0x40000,
  11549.     AnalogVideo_SECAM_L1    = 0x80000
  11550.     }    AnalogVideoStandard;
  11551.  
  11552. #define AnalogVideo_NTSC_Mask  0x00000007
  11553. #define AnalogVideo_PAL_Mask   0x00000FF0
  11554. #define AnalogVideo_SECAM_Mask 0x000FF000
  11555. typedef 
  11556. enum tagTunerInputType
  11557.     {    TunerInputCable    = 0,
  11558.     TunerInputAntenna    = TunerInputCable + 1
  11559.     }    TunerInputType;
  11560.  
  11561. typedef /* [public] */ 
  11562. enum __MIDL___MIDL_itf_strmif_0139_0001
  11563.     {    VideoCopyProtectionMacrovisionBasic    = 0,
  11564.     VideoCopyProtectionMacrovisionCBI    = VideoCopyProtectionMacrovisionBasic + 1
  11565.     }    VideoCopyProtectionType;
  11566.  
  11567. typedef 
  11568. enum tagPhysicalConnectorType
  11569.     {    PhysConn_Video_Tuner    = 1,
  11570.     PhysConn_Video_Composite    = PhysConn_Video_Tuner + 1,
  11571.     PhysConn_Video_SVideo    = PhysConn_Video_Composite + 1,
  11572.     PhysConn_Video_RGB    = PhysConn_Video_SVideo + 1,
  11573.     PhysConn_Video_YRYBY    = PhysConn_Video_RGB + 1,
  11574.     PhysConn_Video_SerialDigital    = PhysConn_Video_YRYBY + 1,
  11575.     PhysConn_Video_ParallelDigital    = PhysConn_Video_SerialDigital + 1,
  11576.     PhysConn_Video_SCSI    = PhysConn_Video_ParallelDigital + 1,
  11577.     PhysConn_Video_AUX    = PhysConn_Video_SCSI + 1,
  11578.     PhysConn_Video_1394    = PhysConn_Video_AUX + 1,
  11579.     PhysConn_Video_USB    = PhysConn_Video_1394 + 1,
  11580.     PhysConn_Video_VideoDecoder    = PhysConn_Video_USB + 1,
  11581.     PhysConn_Video_VideoEncoder    = PhysConn_Video_VideoDecoder + 1,
  11582.     PhysConn_Video_SCART    = PhysConn_Video_VideoEncoder + 1,
  11583.     PhysConn_Video_Black    = PhysConn_Video_SCART + 1,
  11584.     PhysConn_Audio_Tuner    = 0x1000,
  11585.     PhysConn_Audio_Line    = PhysConn_Audio_Tuner + 1,
  11586.     PhysConn_Audio_Mic    = PhysConn_Audio_Line + 1,
  11587.     PhysConn_Audio_AESDigital    = PhysConn_Audio_Mic + 1,
  11588.     PhysConn_Audio_SPDIFDigital    = PhysConn_Audio_AESDigital + 1,
  11589.     PhysConn_Audio_SCSI    = PhysConn_Audio_SPDIFDigital + 1,
  11590.     PhysConn_Audio_AUX    = PhysConn_Audio_SCSI + 1,
  11591.     PhysConn_Audio_1394    = PhysConn_Audio_AUX + 1,
  11592.     PhysConn_Audio_USB    = PhysConn_Audio_1394 + 1,
  11593.     PhysConn_Audio_AudioDecoder    = PhysConn_Audio_USB + 1
  11594.     }    PhysicalConnectorType;
  11595.  
  11596.  
  11597.  
  11598. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  11599. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  11600.  
  11601. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11602. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11603.  
  11604. /* interface IAMAnalogVideoDecoder */
  11605. /* [unique][uuid][object] */ 
  11606.  
  11607.  
  11608. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  11609.  
  11610. #if defined(__cplusplus) && !defined(CINTERFACE)
  11611.     
  11612.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  11613.     IAMAnalogVideoDecoder : public IUnknown
  11614.     {
  11615.     public:
  11616.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  11617.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard) = 0;
  11618.         
  11619.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  11620.             /* [in] */ long lAnalogVideoStandard) = 0;
  11621.         
  11622.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  11623.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard) = 0;
  11624.         
  11625.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  11626.             /* [out] */ long __RPC_FAR *plLocked) = 0;
  11627.         
  11628.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  11629.             /* [in] */ long lVCRHorizontalLocking) = 0;
  11630.         
  11631.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  11632.             /* [out] */ long __RPC_FAR *plVCRHorizontalLocking) = 0;
  11633.         
  11634.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  11635.             /* [out] */ long __RPC_FAR *plNumberOfLines) = 0;
  11636.         
  11637.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  11638.             /* [in] */ long lOutputEnable) = 0;
  11639.         
  11640.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  11641.             /* [out] */ long __RPC_FAR *plOutputEnable) = 0;
  11642.         
  11643.     };
  11644.     
  11645. #else     /* C style interface */
  11646.  
  11647.     typedef struct IAMAnalogVideoDecoderVtbl
  11648.     {
  11649.         BEGIN_INTERFACE
  11650.         
  11651.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11652.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11653.             /* [in] */ REFIID riid,
  11654.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11655.         
  11656.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11657.             IAMAnalogVideoDecoder __RPC_FAR * This);
  11658.         
  11659.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11660.             IAMAnalogVideoDecoder __RPC_FAR * This);
  11661.         
  11662.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AvailableTVFormats )( 
  11663.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11664.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  11665.         
  11666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TVFormat )( 
  11667.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11668.             /* [in] */ long lAnalogVideoStandard);
  11669.         
  11670.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TVFormat )( 
  11671.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11672.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  11673.         
  11674.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HorizontalLocked )( 
  11675.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11676.             /* [out] */ long __RPC_FAR *plLocked);
  11677.         
  11678.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VCRHorizontalLocking )( 
  11679.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11680.             /* [in] */ long lVCRHorizontalLocking);
  11681.         
  11682.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VCRHorizontalLocking )( 
  11683.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11684.             /* [out] */ long __RPC_FAR *plVCRHorizontalLocking);
  11685.         
  11686.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumberOfLines )( 
  11687.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11688.             /* [out] */ long __RPC_FAR *plNumberOfLines);
  11689.         
  11690.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_OutputEnable )( 
  11691.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11692.             /* [in] */ long lOutputEnable);
  11693.         
  11694.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OutputEnable )( 
  11695.             IAMAnalogVideoDecoder __RPC_FAR * This,
  11696.             /* [out] */ long __RPC_FAR *plOutputEnable);
  11697.         
  11698.         END_INTERFACE
  11699.     } IAMAnalogVideoDecoderVtbl;
  11700.  
  11701.     interface IAMAnalogVideoDecoder
  11702.     {
  11703.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl __RPC_FAR *lpVtbl;
  11704.     };
  11705.  
  11706.     
  11707.  
  11708. #ifdef COBJMACROS
  11709.  
  11710.  
  11711. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)    \
  11712.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11713.  
  11714. #define IAMAnalogVideoDecoder_AddRef(This)    \
  11715.     (This)->lpVtbl -> AddRef(This)
  11716.  
  11717. #define IAMAnalogVideoDecoder_Release(This)    \
  11718.     (This)->lpVtbl -> Release(This)
  11719.  
  11720.  
  11721. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  11722.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  11723.  
  11724. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)    \
  11725.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  11726.  
  11727. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)    \
  11728.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  11729.  
  11730. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)    \
  11731.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  11732.  
  11733. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)    \
  11734.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  11735.  
  11736. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)    \
  11737.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  11738.  
  11739. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)    \
  11740.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  11741.  
  11742. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)    \
  11743.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  11744.  
  11745. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)    \
  11746.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  11747.  
  11748. #endif /* COBJMACROS */
  11749.  
  11750.  
  11751. #endif     /* C style interface */
  11752.  
  11753.  
  11754.  
  11755. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  11756.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11757.     /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  11758.  
  11759.  
  11760. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  11761.     IRpcStubBuffer *This,
  11762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11763.     PRPC_MESSAGE _pRpcMessage,
  11764.     DWORD *_pdwStubPhase);
  11765.  
  11766.  
  11767. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  11768.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11769.     /* [in] */ long lAnalogVideoStandard);
  11770.  
  11771.  
  11772. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  11773.     IRpcStubBuffer *This,
  11774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11775.     PRPC_MESSAGE _pRpcMessage,
  11776.     DWORD *_pdwStubPhase);
  11777.  
  11778.  
  11779. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  11780.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11781.     /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  11782.  
  11783.  
  11784. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  11785.     IRpcStubBuffer *This,
  11786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11787.     PRPC_MESSAGE _pRpcMessage,
  11788.     DWORD *_pdwStubPhase);
  11789.  
  11790.  
  11791. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  11792.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11793.     /* [out] */ long __RPC_FAR *plLocked);
  11794.  
  11795.  
  11796. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  11797.     IRpcStubBuffer *This,
  11798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11799.     PRPC_MESSAGE _pRpcMessage,
  11800.     DWORD *_pdwStubPhase);
  11801.  
  11802.  
  11803. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  11804.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11805.     /* [in] */ long lVCRHorizontalLocking);
  11806.  
  11807.  
  11808. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  11809.     IRpcStubBuffer *This,
  11810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11811.     PRPC_MESSAGE _pRpcMessage,
  11812.     DWORD *_pdwStubPhase);
  11813.  
  11814.  
  11815. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  11816.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11817.     /* [out] */ long __RPC_FAR *plVCRHorizontalLocking);
  11818.  
  11819.  
  11820. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  11821.     IRpcStubBuffer *This,
  11822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11823.     PRPC_MESSAGE _pRpcMessage,
  11824.     DWORD *_pdwStubPhase);
  11825.  
  11826.  
  11827. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  11828.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11829.     /* [out] */ long __RPC_FAR *plNumberOfLines);
  11830.  
  11831.  
  11832. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  11833.     IRpcStubBuffer *This,
  11834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11835.     PRPC_MESSAGE _pRpcMessage,
  11836.     DWORD *_pdwStubPhase);
  11837.  
  11838.  
  11839. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  11840.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11841.     /* [in] */ long lOutputEnable);
  11842.  
  11843.  
  11844. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  11845.     IRpcStubBuffer *This,
  11846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11847.     PRPC_MESSAGE _pRpcMessage,
  11848.     DWORD *_pdwStubPhase);
  11849.  
  11850.  
  11851. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  11852.     IAMAnalogVideoDecoder __RPC_FAR * This,
  11853.     /* [out] */ long __RPC_FAR *plOutputEnable);
  11854.  
  11855.  
  11856. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  11857.     IRpcStubBuffer *This,
  11858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11859.     PRPC_MESSAGE _pRpcMessage,
  11860.     DWORD *_pdwStubPhase);
  11861.  
  11862.  
  11863.  
  11864. #endif     /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  11865.  
  11866.  
  11867. /* interface __MIDL_itf_strmif_0140 */
  11868. /* [local] */ 
  11869.  
  11870. typedef 
  11871. enum tagVideoProcAmpProperty
  11872.     {    VideoProcAmp_Brightness    = 0,
  11873.     VideoProcAmp_Contrast    = VideoProcAmp_Brightness + 1,
  11874.     VideoProcAmp_Hue    = VideoProcAmp_Contrast + 1,
  11875.     VideoProcAmp_Saturation    = VideoProcAmp_Hue + 1,
  11876.     VideoProcAmp_Sharpness    = VideoProcAmp_Saturation + 1,
  11877.     VideoProcAmp_Gamma    = VideoProcAmp_Sharpness + 1,
  11878.     VideoProcAmp_ColorEnable    = VideoProcAmp_Gamma + 1,
  11879.     VideoProcAmp_WhiteBalance    = VideoProcAmp_ColorEnable + 1,
  11880.     VideoProcAmp_BacklightCompensation    = VideoProcAmp_WhiteBalance + 1
  11881.     }    VideoProcAmpProperty;
  11882.  
  11883. typedef 
  11884. enum tagVideoProcAmpFlags
  11885.     {    VideoProcAmp_Flags_Auto    = 0x1,
  11886.     VideoProcAmp_Flags_Manual    = 0x2
  11887.     }    VideoProcAmpFlags;
  11888.  
  11889.  
  11890.  
  11891. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  11892. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  11893.  
  11894. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  11895. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  11896.  
  11897. /* interface IAMVideoProcAmp */
  11898. /* [unique][uuid][object] */ 
  11899.  
  11900.  
  11901. EXTERN_C const IID IID_IAMVideoProcAmp;
  11902.  
  11903. #if defined(__cplusplus) && !defined(CINTERFACE)
  11904.     
  11905.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  11906.     IAMVideoProcAmp : public IUnknown
  11907.     {
  11908.     public:
  11909.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  11910.             /* [in] */ long Property,
  11911.             /* [out] */ long __RPC_FAR *pMin,
  11912.             /* [out] */ long __RPC_FAR *pMax,
  11913.             /* [out] */ long __RPC_FAR *pSteppingDelta,
  11914.             /* [out] */ long __RPC_FAR *pDefault,
  11915.             /* [out] */ long __RPC_FAR *pCapsFlags) = 0;
  11916.         
  11917.         virtual HRESULT STDMETHODCALLTYPE Set( 
  11918.             /* [in] */ long Property,
  11919.             /* [in] */ long lValue,
  11920.             /* [in] */ long Flags) = 0;
  11921.         
  11922.         virtual HRESULT STDMETHODCALLTYPE Get( 
  11923.             /* [in] */ long Property,
  11924.             /* [out] */ long __RPC_FAR *lValue,
  11925.             /* [out] */ long __RPC_FAR *Flags) = 0;
  11926.         
  11927.     };
  11928.     
  11929. #else     /* C style interface */
  11930.  
  11931.     typedef struct IAMVideoProcAmpVtbl
  11932.     {
  11933.         BEGIN_INTERFACE
  11934.         
  11935.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11936.             IAMVideoProcAmp __RPC_FAR * This,
  11937.             /* [in] */ REFIID riid,
  11938.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11939.         
  11940.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11941.             IAMVideoProcAmp __RPC_FAR * This);
  11942.         
  11943.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11944.             IAMVideoProcAmp __RPC_FAR * This);
  11945.         
  11946.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRange )( 
  11947.             IAMVideoProcAmp __RPC_FAR * This,
  11948.             /* [in] */ long Property,
  11949.             /* [out] */ long __RPC_FAR *pMin,
  11950.             /* [out] */ long __RPC_FAR *pMax,
  11951.             /* [out] */ long __RPC_FAR *pSteppingDelta,
  11952.             /* [out] */ long __RPC_FAR *pDefault,
  11953.             /* [out] */ long __RPC_FAR *pCapsFlags);
  11954.         
  11955.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Set )( 
  11956.             IAMVideoProcAmp __RPC_FAR * This,
  11957.             /* [in] */ long Property,
  11958.             /* [in] */ long lValue,
  11959.             /* [in] */ long Flags);
  11960.         
  11961.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Get )( 
  11962.             IAMVideoProcAmp __RPC_FAR * This,
  11963.             /* [in] */ long Property,
  11964.             /* [out] */ long __RPC_FAR *lValue,
  11965.             /* [out] */ long __RPC_FAR *Flags);
  11966.         
  11967.         END_INTERFACE
  11968.     } IAMVideoProcAmpVtbl;
  11969.  
  11970.     interface IAMVideoProcAmp
  11971.     {
  11972.         CONST_VTBL struct IAMVideoProcAmpVtbl __RPC_FAR *lpVtbl;
  11973.     };
  11974.  
  11975.     
  11976.  
  11977. #ifdef COBJMACROS
  11978.  
  11979.  
  11980. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)    \
  11981.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11982.  
  11983. #define IAMVideoProcAmp_AddRef(This)    \
  11984.     (This)->lpVtbl -> AddRef(This)
  11985.  
  11986. #define IAMVideoProcAmp_Release(This)    \
  11987.     (This)->lpVtbl -> Release(This)
  11988.  
  11989.  
  11990. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  11991.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  11992.  
  11993. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)    \
  11994.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  11995.  
  11996. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)    \
  11997.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  11998.  
  11999. #endif /* COBJMACROS */
  12000.  
  12001.  
  12002. #endif     /* C style interface */
  12003.  
  12004.  
  12005.  
  12006. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  12007.     IAMVideoProcAmp __RPC_FAR * This,
  12008.     /* [in] */ long Property,
  12009.     /* [out] */ long __RPC_FAR *pMin,
  12010.     /* [out] */ long __RPC_FAR *pMax,
  12011.     /* [out] */ long __RPC_FAR *pSteppingDelta,
  12012.     /* [out] */ long __RPC_FAR *pDefault,
  12013.     /* [out] */ long __RPC_FAR *pCapsFlags);
  12014.  
  12015.  
  12016. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  12017.     IRpcStubBuffer *This,
  12018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12019.     PRPC_MESSAGE _pRpcMessage,
  12020.     DWORD *_pdwStubPhase);
  12021.  
  12022.  
  12023. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  12024.     IAMVideoProcAmp __RPC_FAR * This,
  12025.     /* [in] */ long Property,
  12026.     /* [in] */ long lValue,
  12027.     /* [in] */ long Flags);
  12028.  
  12029.  
  12030. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  12031.     IRpcStubBuffer *This,
  12032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12033.     PRPC_MESSAGE _pRpcMessage,
  12034.     DWORD *_pdwStubPhase);
  12035.  
  12036.  
  12037. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  12038.     IAMVideoProcAmp __RPC_FAR * This,
  12039.     /* [in] */ long Property,
  12040.     /* [out] */ long __RPC_FAR *lValue,
  12041.     /* [out] */ long __RPC_FAR *Flags);
  12042.  
  12043.  
  12044. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  12045.     IRpcStubBuffer *This,
  12046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12047.     PRPC_MESSAGE _pRpcMessage,
  12048.     DWORD *_pdwStubPhase);
  12049.  
  12050.  
  12051.  
  12052. #endif     /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  12053.  
  12054.  
  12055. /* interface __MIDL_itf_strmif_0141 */
  12056. /* [local] */ 
  12057.  
  12058. typedef 
  12059. enum tagCameraControlProperty
  12060.     {    CameraControl_Pan    = 0,
  12061.     CameraControl_Tilt    = CameraControl_Pan + 1,
  12062.     CameraControl_Roll    = CameraControl_Tilt + 1,
  12063.     CameraControl_Zoom    = CameraControl_Roll + 1,
  12064.     CameraControl_Exposure    = CameraControl_Zoom + 1,
  12065.     CameraControl_Iris    = CameraControl_Exposure + 1,
  12066.     CameraControl_Focus    = CameraControl_Iris + 1
  12067.     }    CameraControlProperty;
  12068.  
  12069. typedef 
  12070. enum tagCameraControlFlags
  12071.     {    CameraControl_Flags_Auto    = 0x1,
  12072.     CameraControl_Flags_Manual    = 0x2
  12073.     }    CameraControlFlags;
  12074.  
  12075.  
  12076.  
  12077. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  12078. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  12079.  
  12080. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  12081. #define __IAMCameraControl_INTERFACE_DEFINED__
  12082.  
  12083. /* interface IAMCameraControl */
  12084. /* [unique][uuid][object] */ 
  12085.  
  12086.  
  12087. EXTERN_C const IID IID_IAMCameraControl;
  12088.  
  12089. #if defined(__cplusplus) && !defined(CINTERFACE)
  12090.     
  12091.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  12092.     IAMCameraControl : public IUnknown
  12093.     {
  12094.     public:
  12095.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12096.             /* [in] */ long Property,
  12097.             /* [out] */ long __RPC_FAR *pMin,
  12098.             /* [out] */ long __RPC_FAR *pMax,
  12099.             /* [out] */ long __RPC_FAR *pSteppingDelta,
  12100.             /* [out] */ long __RPC_FAR *pDefault,
  12101.             /* [out] */ long __RPC_FAR *pCapsFlags) = 0;
  12102.         
  12103.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12104.             /* [in] */ long Property,
  12105.             /* [in] */ long lValue,
  12106.             /* [in] */ long Flags) = 0;
  12107.         
  12108.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12109.             /* [in] */ long Property,
  12110.             /* [out] */ long __RPC_FAR *lValue,
  12111.             /* [out] */ long __RPC_FAR *Flags) = 0;
  12112.         
  12113.     };
  12114.     
  12115. #else     /* C style interface */
  12116.  
  12117.     typedef struct IAMCameraControlVtbl
  12118.     {
  12119.         BEGIN_INTERFACE
  12120.         
  12121.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12122.             IAMCameraControl __RPC_FAR * This,
  12123.             /* [in] */ REFIID riid,
  12124.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12125.         
  12126.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12127.             IAMCameraControl __RPC_FAR * This);
  12128.         
  12129.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12130.             IAMCameraControl __RPC_FAR * This);
  12131.         
  12132.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRange )( 
  12133.             IAMCameraControl __RPC_FAR * This,
  12134.             /* [in] */ long Property,
  12135.             /* [out] */ long __RPC_FAR *pMin,
  12136.             /* [out] */ long __RPC_FAR *pMax,
  12137.             /* [out] */ long __RPC_FAR *pSteppingDelta,
  12138.             /* [out] */ long __RPC_FAR *pDefault,
  12139.             /* [out] */ long __RPC_FAR *pCapsFlags);
  12140.         
  12141.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Set )( 
  12142.             IAMCameraControl __RPC_FAR * This,
  12143.             /* [in] */ long Property,
  12144.             /* [in] */ long lValue,
  12145.             /* [in] */ long Flags);
  12146.         
  12147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Get )( 
  12148.             IAMCameraControl __RPC_FAR * This,
  12149.             /* [in] */ long Property,
  12150.             /* [out] */ long __RPC_FAR *lValue,
  12151.             /* [out] */ long __RPC_FAR *Flags);
  12152.         
  12153.         END_INTERFACE
  12154.     } IAMCameraControlVtbl;
  12155.  
  12156.     interface IAMCameraControl
  12157.     {
  12158.         CONST_VTBL struct IAMCameraControlVtbl __RPC_FAR *lpVtbl;
  12159.     };
  12160.  
  12161.     
  12162.  
  12163. #ifdef COBJMACROS
  12164.  
  12165.  
  12166. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)    \
  12167.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12168.  
  12169. #define IAMCameraControl_AddRef(This)    \
  12170.     (This)->lpVtbl -> AddRef(This)
  12171.  
  12172. #define IAMCameraControl_Release(This)    \
  12173.     (This)->lpVtbl -> Release(This)
  12174.  
  12175.  
  12176. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12177.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12178.  
  12179. #define IAMCameraControl_Set(This,Property,lValue,Flags)    \
  12180.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12181.  
  12182. #define IAMCameraControl_Get(This,Property,lValue,Flags)    \
  12183.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12184.  
  12185. #endif /* COBJMACROS */
  12186.  
  12187.  
  12188. #endif     /* C style interface */
  12189.  
  12190.  
  12191.  
  12192. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  12193.     IAMCameraControl __RPC_FAR * This,
  12194.     /* [in] */ long Property,
  12195.     /* [out] */ long __RPC_FAR *pMin,
  12196.     /* [out] */ long __RPC_FAR *pMax,
  12197.     /* [out] */ long __RPC_FAR *pSteppingDelta,
  12198.     /* [out] */ long __RPC_FAR *pDefault,
  12199.     /* [out] */ long __RPC_FAR *pCapsFlags);
  12200.  
  12201.  
  12202. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  12203.     IRpcStubBuffer *This,
  12204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12205.     PRPC_MESSAGE _pRpcMessage,
  12206.     DWORD *_pdwStubPhase);
  12207.  
  12208.  
  12209. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  12210.     IAMCameraControl __RPC_FAR * This,
  12211.     /* [in] */ long Property,
  12212.     /* [in] */ long lValue,
  12213.     /* [in] */ long Flags);
  12214.  
  12215.  
  12216. void __RPC_STUB IAMCameraControl_Set_Stub(
  12217.     IRpcStubBuffer *This,
  12218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12219.     PRPC_MESSAGE _pRpcMessage,
  12220.     DWORD *_pdwStubPhase);
  12221.  
  12222.  
  12223. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  12224.     IAMCameraControl __RPC_FAR * This,
  12225.     /* [in] */ long Property,
  12226.     /* [out] */ long __RPC_FAR *lValue,
  12227.     /* [out] */ long __RPC_FAR *Flags);
  12228.  
  12229.  
  12230. void __RPC_STUB IAMCameraControl_Get_Stub(
  12231.     IRpcStubBuffer *This,
  12232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12233.     PRPC_MESSAGE _pRpcMessage,
  12234.     DWORD *_pdwStubPhase);
  12235.  
  12236.  
  12237.  
  12238. #endif     /* __IAMCameraControl_INTERFACE_DEFINED__ */
  12239.  
  12240.  
  12241. /* interface __MIDL_itf_strmif_0142 */
  12242. /* [local] */ 
  12243.  
  12244. typedef 
  12245. enum tagVideoControlFlags
  12246.     {    VideoControlFlag_FlipHorizontal    = 0x1,
  12247.     VideoControlFlag_FlipVertical    = 0x2,
  12248.     VideoControlFlag_ExternalTriggerEnable    = 0x4,
  12249.     VideoControlFlag_Trigger    = 0x8
  12250.     }    VideoControlFlags;
  12251.  
  12252.  
  12253.  
  12254. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  12255. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  12256.  
  12257. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  12258. #define __IAMVideoControl_INTERFACE_DEFINED__
  12259.  
  12260. /* interface IAMVideoControl */
  12261. /* [unique][uuid][object] */ 
  12262.  
  12263.  
  12264. EXTERN_C const IID IID_IAMVideoControl;
  12265.  
  12266. #if defined(__cplusplus) && !defined(CINTERFACE)
  12267.     
  12268.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  12269.     IAMVideoControl : public IUnknown
  12270.     {
  12271.     public:
  12272.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  12273.             /* [in] */ IPin __RPC_FAR *pPin,
  12274.             /* [out] */ long __RPC_FAR *pCapsFlags) = 0;
  12275.         
  12276.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  12277.             /* [in] */ IPin __RPC_FAR *pPin,
  12278.             /* [in] */ long Mode) = 0;
  12279.         
  12280.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  12281.             /* [in] */ IPin __RPC_FAR *pPin,
  12282.             /* [out] */ long __RPC_FAR *Mode) = 0;
  12283.         
  12284.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  12285.             /* [in] */ IPin __RPC_FAR *pPin,
  12286.             /* [out] */ LONGLONG __RPC_FAR *ActualFrameRate) = 0;
  12287.         
  12288.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  12289.             /* [in] */ IPin __RPC_FAR *pPin,
  12290.             /* [in] */ long iIndex,
  12291.             /* [in] */ SIZE Dimensions,
  12292.             /* [out] */ LONGLONG __RPC_FAR *MaxAvailableFrameRate) = 0;
  12293.         
  12294.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  12295.             /* [in] */ IPin __RPC_FAR *pPin,
  12296.             /* [in] */ long iIndex,
  12297.             /* [in] */ SIZE Dimensions,
  12298.             /* [out] */ long __RPC_FAR *ListSize,
  12299.             /* [out] */ LONGLONG __RPC_FAR *__RPC_FAR *FrameRates) = 0;
  12300.         
  12301.     };
  12302.     
  12303. #else     /* C style interface */
  12304.  
  12305.     typedef struct IAMVideoControlVtbl
  12306.     {
  12307.         BEGIN_INTERFACE
  12308.         
  12309.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12310.             IAMVideoControl __RPC_FAR * This,
  12311.             /* [in] */ REFIID riid,
  12312.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12313.         
  12314.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12315.             IAMVideoControl __RPC_FAR * This);
  12316.         
  12317.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12318.             IAMVideoControl __RPC_FAR * This);
  12319.         
  12320.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCaps )( 
  12321.             IAMVideoControl __RPC_FAR * This,
  12322.             /* [in] */ IPin __RPC_FAR *pPin,
  12323.             /* [out] */ long __RPC_FAR *pCapsFlags);
  12324.         
  12325.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMode )( 
  12326.             IAMVideoControl __RPC_FAR * This,
  12327.             /* [in] */ IPin __RPC_FAR *pPin,
  12328.             /* [in] */ long Mode);
  12329.         
  12330.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMode )( 
  12331.             IAMVideoControl __RPC_FAR * This,
  12332.             /* [in] */ IPin __RPC_FAR *pPin,
  12333.             /* [out] */ long __RPC_FAR *Mode);
  12334.         
  12335.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentActualFrameRate )( 
  12336.             IAMVideoControl __RPC_FAR * This,
  12337.             /* [in] */ IPin __RPC_FAR *pPin,
  12338.             /* [out] */ LONGLONG __RPC_FAR *ActualFrameRate);
  12339.         
  12340.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxAvailableFrameRate )( 
  12341.             IAMVideoControl __RPC_FAR * This,
  12342.             /* [in] */ IPin __RPC_FAR *pPin,
  12343.             /* [in] */ long iIndex,
  12344.             /* [in] */ SIZE Dimensions,
  12345.             /* [out] */ LONGLONG __RPC_FAR *MaxAvailableFrameRate);
  12346.         
  12347.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFrameRateList )( 
  12348.             IAMVideoControl __RPC_FAR * This,
  12349.             /* [in] */ IPin __RPC_FAR *pPin,
  12350.             /* [in] */ long iIndex,
  12351.             /* [in] */ SIZE Dimensions,
  12352.             /* [out] */ long __RPC_FAR *ListSize,
  12353.             /* [out] */ LONGLONG __RPC_FAR *__RPC_FAR *FrameRates);
  12354.         
  12355.         END_INTERFACE
  12356.     } IAMVideoControlVtbl;
  12357.  
  12358.     interface IAMVideoControl
  12359.     {
  12360.         CONST_VTBL struct IAMVideoControlVtbl __RPC_FAR *lpVtbl;
  12361.     };
  12362.  
  12363.     
  12364.  
  12365. #ifdef COBJMACROS
  12366.  
  12367.  
  12368. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)    \
  12369.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12370.  
  12371. #define IAMVideoControl_AddRef(This)    \
  12372.     (This)->lpVtbl -> AddRef(This)
  12373.  
  12374. #define IAMVideoControl_Release(This)    \
  12375.     (This)->lpVtbl -> Release(This)
  12376.  
  12377.  
  12378. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)    \
  12379.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  12380.  
  12381. #define IAMVideoControl_SetMode(This,pPin,Mode)    \
  12382.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  12383.  
  12384. #define IAMVideoControl_GetMode(This,pPin,Mode)    \
  12385.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  12386.  
  12387. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)    \
  12388.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  12389.  
  12390. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)    \
  12391.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  12392.  
  12393. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)    \
  12394.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  12395.  
  12396. #endif /* COBJMACROS */
  12397.  
  12398.  
  12399. #endif     /* C style interface */
  12400.  
  12401.  
  12402.  
  12403. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  12404.     IAMVideoControl __RPC_FAR * This,
  12405.     /* [in] */ IPin __RPC_FAR *pPin,
  12406.     /* [out] */ long __RPC_FAR *pCapsFlags);
  12407.  
  12408.  
  12409. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  12410.     IRpcStubBuffer *This,
  12411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12412.     PRPC_MESSAGE _pRpcMessage,
  12413.     DWORD *_pdwStubPhase);
  12414.  
  12415.  
  12416. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  12417.     IAMVideoControl __RPC_FAR * This,
  12418.     /* [in] */ IPin __RPC_FAR *pPin,
  12419.     /* [in] */ long Mode);
  12420.  
  12421.  
  12422. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  12423.     IRpcStubBuffer *This,
  12424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12425.     PRPC_MESSAGE _pRpcMessage,
  12426.     DWORD *_pdwStubPhase);
  12427.  
  12428.  
  12429. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  12430.     IAMVideoControl __RPC_FAR * This,
  12431.     /* [in] */ IPin __RPC_FAR *pPin,
  12432.     /* [out] */ long __RPC_FAR *Mode);
  12433.  
  12434.  
  12435. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  12436.     IRpcStubBuffer *This,
  12437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12438.     PRPC_MESSAGE _pRpcMessage,
  12439.     DWORD *_pdwStubPhase);
  12440.  
  12441.  
  12442. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  12443.     IAMVideoControl __RPC_FAR * This,
  12444.     /* [in] */ IPin __RPC_FAR *pPin,
  12445.     /* [out] */ LONGLONG __RPC_FAR *ActualFrameRate);
  12446.  
  12447.  
  12448. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  12449.     IRpcStubBuffer *This,
  12450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12451.     PRPC_MESSAGE _pRpcMessage,
  12452.     DWORD *_pdwStubPhase);
  12453.  
  12454.  
  12455. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  12456.     IAMVideoControl __RPC_FAR * This,
  12457.     /* [in] */ IPin __RPC_FAR *pPin,
  12458.     /* [in] */ long iIndex,
  12459.     /* [in] */ SIZE Dimensions,
  12460.     /* [out] */ LONGLONG __RPC_FAR *MaxAvailableFrameRate);
  12461.  
  12462.  
  12463. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  12464.     IRpcStubBuffer *This,
  12465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12466.     PRPC_MESSAGE _pRpcMessage,
  12467.     DWORD *_pdwStubPhase);
  12468.  
  12469.  
  12470. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  12471.     IAMVideoControl __RPC_FAR * This,
  12472.     /* [in] */ IPin __RPC_FAR *pPin,
  12473.     /* [in] */ long iIndex,
  12474.     /* [in] */ SIZE Dimensions,
  12475.     /* [out] */ long __RPC_FAR *ListSize,
  12476.     /* [out] */ LONGLONG __RPC_FAR *__RPC_FAR *FrameRates);
  12477.  
  12478.  
  12479. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  12480.     IRpcStubBuffer *This,
  12481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12482.     PRPC_MESSAGE _pRpcMessage,
  12483.     DWORD *_pdwStubPhase);
  12484.  
  12485.  
  12486.  
  12487. #endif     /* __IAMVideoControl_INTERFACE_DEFINED__ */
  12488.  
  12489.  
  12490. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  12491. #define __IAMCrossbar_INTERFACE_DEFINED__
  12492.  
  12493. /* interface IAMCrossbar */
  12494. /* [unique][uuid][object] */ 
  12495.  
  12496.  
  12497. EXTERN_C const IID IID_IAMCrossbar;
  12498.  
  12499. #if defined(__cplusplus) && !defined(CINTERFACE)
  12500.     
  12501.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  12502.     IAMCrossbar : public IUnknown
  12503.     {
  12504.     public:
  12505.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  12506.             /* [out] */ long __RPC_FAR *OutputPinCount,
  12507.             /* [out] */ long __RPC_FAR *InputPinCount) = 0;
  12508.         
  12509.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  12510.             /* [in] */ long OutputPinIndex,
  12511.             /* [in] */ long InputPinIndex) = 0;
  12512.         
  12513.         virtual HRESULT STDMETHODCALLTYPE Route( 
  12514.             /* [in] */ long OutputPinIndex,
  12515.             /* [in] */ long InputPinIndex) = 0;
  12516.         
  12517.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  12518.             /* [in] */ long OutputPinIndex,
  12519.             /* [out] */ long __RPC_FAR *InputPinIndex) = 0;
  12520.         
  12521.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  12522.             /* [in] */ BOOL IsInputPin,
  12523.             /* [in] */ long PinIndex,
  12524.             /* [out] */ long __RPC_FAR *PinIndexRelated,
  12525.             /* [out] */ long __RPC_FAR *PhysicalType) = 0;
  12526.         
  12527.     };
  12528.     
  12529. #else     /* C style interface */
  12530.  
  12531.     typedef struct IAMCrossbarVtbl
  12532.     {
  12533.         BEGIN_INTERFACE
  12534.         
  12535.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12536.             IAMCrossbar __RPC_FAR * This,
  12537.             /* [in] */ REFIID riid,
  12538.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12539.         
  12540.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12541.             IAMCrossbar __RPC_FAR * This);
  12542.         
  12543.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12544.             IAMCrossbar __RPC_FAR * This);
  12545.         
  12546.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PinCounts )( 
  12547.             IAMCrossbar __RPC_FAR * This,
  12548.             /* [out] */ long __RPC_FAR *OutputPinCount,
  12549.             /* [out] */ long __RPC_FAR *InputPinCount);
  12550.         
  12551.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanRoute )( 
  12552.             IAMCrossbar __RPC_FAR * This,
  12553.             /* [in] */ long OutputPinIndex,
  12554.             /* [in] */ long InputPinIndex);
  12555.         
  12556.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Route )( 
  12557.             IAMCrossbar __RPC_FAR * This,
  12558.             /* [in] */ long OutputPinIndex,
  12559.             /* [in] */ long InputPinIndex);
  12560.         
  12561.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsRoutedTo )( 
  12562.             IAMCrossbar __RPC_FAR * This,
  12563.             /* [in] */ long OutputPinIndex,
  12564.             /* [out] */ long __RPC_FAR *InputPinIndex);
  12565.         
  12566.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CrossbarPinInfo )( 
  12567.             IAMCrossbar __RPC_FAR * This,
  12568.             /* [in] */ BOOL IsInputPin,
  12569.             /* [in] */ long PinIndex,
  12570.             /* [out] */ long __RPC_FAR *PinIndexRelated,
  12571.             /* [out] */ long __RPC_FAR *PhysicalType);
  12572.         
  12573.         END_INTERFACE
  12574.     } IAMCrossbarVtbl;
  12575.  
  12576.     interface IAMCrossbar
  12577.     {
  12578.         CONST_VTBL struct IAMCrossbarVtbl __RPC_FAR *lpVtbl;
  12579.     };
  12580.  
  12581.     
  12582.  
  12583. #ifdef COBJMACROS
  12584.  
  12585.  
  12586. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)    \
  12587.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12588.  
  12589. #define IAMCrossbar_AddRef(This)    \
  12590.     (This)->lpVtbl -> AddRef(This)
  12591.  
  12592. #define IAMCrossbar_Release(This)    \
  12593.     (This)->lpVtbl -> Release(This)
  12594.  
  12595.  
  12596. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)    \
  12597.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  12598.  
  12599. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)    \
  12600.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  12601.  
  12602. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)    \
  12603.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  12604.  
  12605. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)    \
  12606.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  12607.  
  12608. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)    \
  12609.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  12610.  
  12611. #endif /* COBJMACROS */
  12612.  
  12613.  
  12614. #endif     /* C style interface */
  12615.  
  12616.  
  12617.  
  12618. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  12619.     IAMCrossbar __RPC_FAR * This,
  12620.     /* [out] */ long __RPC_FAR *OutputPinCount,
  12621.     /* [out] */ long __RPC_FAR *InputPinCount);
  12622.  
  12623.  
  12624. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  12625.     IRpcStubBuffer *This,
  12626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12627.     PRPC_MESSAGE _pRpcMessage,
  12628.     DWORD *_pdwStubPhase);
  12629.  
  12630.  
  12631. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  12632.     IAMCrossbar __RPC_FAR * This,
  12633.     /* [in] */ long OutputPinIndex,
  12634.     /* [in] */ long InputPinIndex);
  12635.  
  12636.  
  12637. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  12638.     IRpcStubBuffer *This,
  12639.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12640.     PRPC_MESSAGE _pRpcMessage,
  12641.     DWORD *_pdwStubPhase);
  12642.  
  12643.  
  12644. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  12645.     IAMCrossbar __RPC_FAR * This,
  12646.     /* [in] */ long OutputPinIndex,
  12647.     /* [in] */ long InputPinIndex);
  12648.  
  12649.  
  12650. void __RPC_STUB IAMCrossbar_Route_Stub(
  12651.     IRpcStubBuffer *This,
  12652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12653.     PRPC_MESSAGE _pRpcMessage,
  12654.     DWORD *_pdwStubPhase);
  12655.  
  12656.  
  12657. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  12658.     IAMCrossbar __RPC_FAR * This,
  12659.     /* [in] */ long OutputPinIndex,
  12660.     /* [out] */ long __RPC_FAR *InputPinIndex);
  12661.  
  12662.  
  12663. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  12664.     IRpcStubBuffer *This,
  12665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12666.     PRPC_MESSAGE _pRpcMessage,
  12667.     DWORD *_pdwStubPhase);
  12668.  
  12669.  
  12670. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  12671.     IAMCrossbar __RPC_FAR * This,
  12672.     /* [in] */ BOOL IsInputPin,
  12673.     /* [in] */ long PinIndex,
  12674.     /* [out] */ long __RPC_FAR *PinIndexRelated,
  12675.     /* [out] */ long __RPC_FAR *PhysicalType);
  12676.  
  12677.  
  12678. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  12679.     IRpcStubBuffer *This,
  12680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12681.     PRPC_MESSAGE _pRpcMessage,
  12682.     DWORD *_pdwStubPhase);
  12683.  
  12684.  
  12685.  
  12686. #endif     /* __IAMCrossbar_INTERFACE_DEFINED__ */
  12687.  
  12688.  
  12689. /* interface __MIDL_itf_strmif_0144 */
  12690. /* [local] */ 
  12691.  
  12692. typedef 
  12693. enum tagAMTunerSubChannel
  12694.     {    AMTUNER_SUBCHAN_NO_TUNE    = -2,
  12695.     AMTUNER_SUBCHAN_DEFAULT    = -1
  12696.     }    AMTunerSubChannel;
  12697.  
  12698. typedef 
  12699. enum tagAMTunerSignalStrength
  12700.     {    AMTUNER_HASNOSIGNALSTRENGTH    = -1,
  12701.     AMTUNER_NOSIGNAL    = 0,
  12702.     AMTUNER_SIGNALPRESENT    = 1
  12703.     }    AMTunerSignalStrength;
  12704.  
  12705. typedef 
  12706. enum tagAMTunerModeType
  12707.     {    AMTUNER_MODE_DEFAULT    = 0,
  12708.     AMTUNER_MODE_TV    = 0x1,
  12709.     AMTUNER_MODE_FM_RADIO    = 0x2,
  12710.     AMTUNER_MODE_AM_RADIO    = 0x4,
  12711.     AMTUNER_MODE_DSS    = 0x8
  12712.     }    AMTunerModeType;
  12713.  
  12714. typedef 
  12715. enum tagAMTunerEventType
  12716.     {    AMTUNER_EVENT_CHANGED    = 0x1
  12717.     }    AMTunerEventType;
  12718.  
  12719.  
  12720.  
  12721.  
  12722. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  12723. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  12724.  
  12725. #ifndef __IAMTuner_INTERFACE_DEFINED__
  12726. #define __IAMTuner_INTERFACE_DEFINED__
  12727.  
  12728. /* interface IAMTuner */
  12729. /* [unique][uuid][local][object] */ 
  12730.  
  12731.  
  12732. EXTERN_C const IID IID_IAMTuner;
  12733.  
  12734. #if defined(__cplusplus) && !defined(CINTERFACE)
  12735.     
  12736.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  12737.     IAMTuner : public IUnknown
  12738.     {
  12739.     public:
  12740.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  12741.             /* [in] */ long lChannel,
  12742.             /* [in] */ long lVideoSubChannel,
  12743.             /* [in] */ long lAudioSubChannel) = 0;
  12744.         
  12745.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  12746.             /* [out] */ long __RPC_FAR *plChannel,
  12747.             /* [out] */ long __RPC_FAR *plVideoSubChannel,
  12748.             /* [out] */ long __RPC_FAR *plAudioSubChannel) = 0;
  12749.         
  12750.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  12751.             /* [out] */ long __RPC_FAR *lChannelMin,
  12752.             /* [out] */ long __RPC_FAR *lChannelMax) = 0;
  12753.         
  12754.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  12755.             /* [in] */ long lCountryCode) = 0;
  12756.         
  12757.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  12758.             /* [out] */ long __RPC_FAR *plCountryCode) = 0;
  12759.         
  12760.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  12761.             /* [in] */ long lTuningSpace) = 0;
  12762.         
  12763.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  12764.             /* [out] */ long __RPC_FAR *plTuningSpace) = 0;
  12765.         
  12766.         virtual HRESULT STDMETHODCALLTYPE Logon( 
  12767.             /* [in] */ HANDLE hCurrentUser) = 0;
  12768.         
  12769.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  12770.         
  12771.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  12772.             /* [out] */ long __RPC_FAR *plSignalStrength) = 0;
  12773.         
  12774.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  12775.             /* [in] */ AMTunerModeType lMode) = 0;
  12776.         
  12777.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  12778.             /* [out] */ AMTunerModeType __RPC_FAR *plMode) = 0;
  12779.         
  12780.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  12781.             /* [out] */ long __RPC_FAR *plModes) = 0;
  12782.         
  12783.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  12784.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  12785.             /* [in] */ long lEvents) = 0;
  12786.         
  12787.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  12788.             IAMTunerNotification __RPC_FAR *pNotify) = 0;
  12789.         
  12790.     };
  12791.     
  12792. #else     /* C style interface */
  12793.  
  12794.     typedef struct IAMTunerVtbl
  12795.     {
  12796.         BEGIN_INTERFACE
  12797.         
  12798.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12799.             IAMTuner __RPC_FAR * This,
  12800.             /* [in] */ REFIID riid,
  12801.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12802.         
  12803.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12804.             IAMTuner __RPC_FAR * This);
  12805.         
  12806.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12807.             IAMTuner __RPC_FAR * This);
  12808.         
  12809.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Channel )( 
  12810.             IAMTuner __RPC_FAR * This,
  12811.             /* [in] */ long lChannel,
  12812.             /* [in] */ long lVideoSubChannel,
  12813.             /* [in] */ long lAudioSubChannel);
  12814.         
  12815.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Channel )( 
  12816.             IAMTuner __RPC_FAR * This,
  12817.             /* [out] */ long __RPC_FAR *plChannel,
  12818.             /* [out] */ long __RPC_FAR *plVideoSubChannel,
  12819.             /* [out] */ long __RPC_FAR *plAudioSubChannel);
  12820.         
  12821.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChannelMinMax )( 
  12822.             IAMTuner __RPC_FAR * This,
  12823.             /* [out] */ long __RPC_FAR *lChannelMin,
  12824.             /* [out] */ long __RPC_FAR *lChannelMax);
  12825.         
  12826.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CountryCode )( 
  12827.             IAMTuner __RPC_FAR * This,
  12828.             /* [in] */ long lCountryCode);
  12829.         
  12830.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CountryCode )( 
  12831.             IAMTuner __RPC_FAR * This,
  12832.             /* [out] */ long __RPC_FAR *plCountryCode);
  12833.         
  12834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TuningSpace )( 
  12835.             IAMTuner __RPC_FAR * This,
  12836.             /* [in] */ long lTuningSpace);
  12837.         
  12838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TuningSpace )( 
  12839.             IAMTuner __RPC_FAR * This,
  12840.             /* [out] */ long __RPC_FAR *plTuningSpace);
  12841.         
  12842.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logon )( 
  12843.             IAMTuner __RPC_FAR * This,
  12844.             /* [in] */ HANDLE hCurrentUser);
  12845.         
  12846.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logout )( 
  12847.             IAMTuner __RPC_FAR * This);
  12848.         
  12849.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalPresent )( 
  12850.             IAMTuner __RPC_FAR * This,
  12851.             /* [out] */ long __RPC_FAR *plSignalStrength);
  12852.         
  12853.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  12854.             IAMTuner __RPC_FAR * This,
  12855.             /* [in] */ AMTunerModeType lMode);
  12856.         
  12857.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  12858.             IAMTuner __RPC_FAR * This,
  12859.             /* [out] */ AMTunerModeType __RPC_FAR *plMode);
  12860.         
  12861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableModes )( 
  12862.             IAMTuner __RPC_FAR * This,
  12863.             /* [out] */ long __RPC_FAR *plModes);
  12864.         
  12865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterNotificationCallBack )( 
  12866.             IAMTuner __RPC_FAR * This,
  12867.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  12868.             /* [in] */ long lEvents);
  12869.         
  12870.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnRegisterNotificationCallBack )( 
  12871.             IAMTuner __RPC_FAR * This,
  12872.             IAMTunerNotification __RPC_FAR *pNotify);
  12873.         
  12874.         END_INTERFACE
  12875.     } IAMTunerVtbl;
  12876.  
  12877.     interface IAMTuner
  12878.     {
  12879.         CONST_VTBL struct IAMTunerVtbl __RPC_FAR *lpVtbl;
  12880.     };
  12881.  
  12882.     
  12883.  
  12884. #ifdef COBJMACROS
  12885.  
  12886.  
  12887. #define IAMTuner_QueryInterface(This,riid,ppvObject)    \
  12888.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12889.  
  12890. #define IAMTuner_AddRef(This)    \
  12891.     (This)->lpVtbl -> AddRef(This)
  12892.  
  12893. #define IAMTuner_Release(This)    \
  12894.     (This)->lpVtbl -> Release(This)
  12895.  
  12896.  
  12897. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  12898.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  12899.  
  12900. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  12901.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  12902.  
  12903. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  12904.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  12905.  
  12906. #define IAMTuner_put_CountryCode(This,lCountryCode)    \
  12907.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  12908.  
  12909. #define IAMTuner_get_CountryCode(This,plCountryCode)    \
  12910.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  12911.  
  12912. #define IAMTuner_put_TuningSpace(This,lTuningSpace)    \
  12913.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  12914.  
  12915. #define IAMTuner_get_TuningSpace(This,plTuningSpace)    \
  12916.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  12917.  
  12918. #define IAMTuner_Logon(This,hCurrentUser)    \
  12919.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  12920.  
  12921. #define IAMTuner_Logout(This)    \
  12922.     (This)->lpVtbl -> Logout(This)
  12923.  
  12924. #define IAMTuner_SignalPresent(This,plSignalStrength)    \
  12925.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  12926.  
  12927. #define IAMTuner_put_Mode(This,lMode)    \
  12928.     (This)->lpVtbl -> put_Mode(This,lMode)
  12929.  
  12930. #define IAMTuner_get_Mode(This,plMode)    \
  12931.     (This)->lpVtbl -> get_Mode(This,plMode)
  12932.  
  12933. #define IAMTuner_GetAvailableModes(This,plModes)    \
  12934.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  12935.  
  12936. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  12937.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  12938.  
  12939. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  12940.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  12941.  
  12942. #endif /* COBJMACROS */
  12943.  
  12944.  
  12945. #endif     /* C style interface */
  12946.  
  12947.  
  12948.  
  12949. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  12950.     IAMTuner __RPC_FAR * This,
  12951.     /* [in] */ long lChannel,
  12952.     /* [in] */ long lVideoSubChannel,
  12953.     /* [in] */ long lAudioSubChannel);
  12954.  
  12955.  
  12956. void __RPC_STUB IAMTuner_put_Channel_Stub(
  12957.     IRpcStubBuffer *This,
  12958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12959.     PRPC_MESSAGE _pRpcMessage,
  12960.     DWORD *_pdwStubPhase);
  12961.  
  12962.  
  12963. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  12964.     IAMTuner __RPC_FAR * This,
  12965.     /* [out] */ long __RPC_FAR *plChannel,
  12966.     /* [out] */ long __RPC_FAR *plVideoSubChannel,
  12967.     /* [out] */ long __RPC_FAR *plAudioSubChannel);
  12968.  
  12969.  
  12970. void __RPC_STUB IAMTuner_get_Channel_Stub(
  12971.     IRpcStubBuffer *This,
  12972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12973.     PRPC_MESSAGE _pRpcMessage,
  12974.     DWORD *_pdwStubPhase);
  12975.  
  12976.  
  12977. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  12978.     IAMTuner __RPC_FAR * This,
  12979.     /* [out] */ long __RPC_FAR *lChannelMin,
  12980.     /* [out] */ long __RPC_FAR *lChannelMax);
  12981.  
  12982.  
  12983. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  12984.     IRpcStubBuffer *This,
  12985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12986.     PRPC_MESSAGE _pRpcMessage,
  12987.     DWORD *_pdwStubPhase);
  12988.  
  12989.  
  12990. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  12991.     IAMTuner __RPC_FAR * This,
  12992.     /* [in] */ long lCountryCode);
  12993.  
  12994.  
  12995. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  12996.     IRpcStubBuffer *This,
  12997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12998.     PRPC_MESSAGE _pRpcMessage,
  12999.     DWORD *_pdwStubPhase);
  13000.  
  13001.  
  13002. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  13003.     IAMTuner __RPC_FAR * This,
  13004.     /* [out] */ long __RPC_FAR *plCountryCode);
  13005.  
  13006.  
  13007. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  13008.     IRpcStubBuffer *This,
  13009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13010.     PRPC_MESSAGE _pRpcMessage,
  13011.     DWORD *_pdwStubPhase);
  13012.  
  13013.  
  13014. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  13015.     IAMTuner __RPC_FAR * This,
  13016.     /* [in] */ long lTuningSpace);
  13017.  
  13018.  
  13019. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  13020.     IRpcStubBuffer *This,
  13021.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13022.     PRPC_MESSAGE _pRpcMessage,
  13023.     DWORD *_pdwStubPhase);
  13024.  
  13025.  
  13026. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  13027.     IAMTuner __RPC_FAR * This,
  13028.     /* [out] */ long __RPC_FAR *plTuningSpace);
  13029.  
  13030.  
  13031. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  13032.     IRpcStubBuffer *This,
  13033.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13034.     PRPC_MESSAGE _pRpcMessage,
  13035.     DWORD *_pdwStubPhase);
  13036.  
  13037.  
  13038. HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  13039.     IAMTuner __RPC_FAR * This,
  13040.     /* [in] */ HANDLE hCurrentUser);
  13041.  
  13042.  
  13043. void __RPC_STUB IAMTuner_Logon_Stub(
  13044.     IRpcStubBuffer *This,
  13045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13046.     PRPC_MESSAGE _pRpcMessage,
  13047.     DWORD *_pdwStubPhase);
  13048.  
  13049.  
  13050. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  13051.     IAMTuner __RPC_FAR * This);
  13052.  
  13053.  
  13054. void __RPC_STUB IAMTuner_Logout_Stub(
  13055.     IRpcStubBuffer *This,
  13056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13057.     PRPC_MESSAGE _pRpcMessage,
  13058.     DWORD *_pdwStubPhase);
  13059.  
  13060.  
  13061. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  13062.     IAMTuner __RPC_FAR * This,
  13063.     /* [out] */ long __RPC_FAR *plSignalStrength);
  13064.  
  13065.  
  13066. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  13067.     IRpcStubBuffer *This,
  13068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13069.     PRPC_MESSAGE _pRpcMessage,
  13070.     DWORD *_pdwStubPhase);
  13071.  
  13072.  
  13073. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  13074.     IAMTuner __RPC_FAR * This,
  13075.     /* [in] */ AMTunerModeType lMode);
  13076.  
  13077.  
  13078. void __RPC_STUB IAMTuner_put_Mode_Stub(
  13079.     IRpcStubBuffer *This,
  13080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13081.     PRPC_MESSAGE _pRpcMessage,
  13082.     DWORD *_pdwStubPhase);
  13083.  
  13084.  
  13085. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  13086.     IAMTuner __RPC_FAR * This,
  13087.     /* [out] */ AMTunerModeType __RPC_FAR *plMode);
  13088.  
  13089.  
  13090. void __RPC_STUB IAMTuner_get_Mode_Stub(
  13091.     IRpcStubBuffer *This,
  13092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13093.     PRPC_MESSAGE _pRpcMessage,
  13094.     DWORD *_pdwStubPhase);
  13095.  
  13096.  
  13097. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  13098.     IAMTuner __RPC_FAR * This,
  13099.     /* [out] */ long __RPC_FAR *plModes);
  13100.  
  13101.  
  13102. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  13103.     IRpcStubBuffer *This,
  13104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13105.     PRPC_MESSAGE _pRpcMessage,
  13106.     DWORD *_pdwStubPhase);
  13107.  
  13108.  
  13109. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  13110.     IAMTuner __RPC_FAR * This,
  13111.     /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  13112.     /* [in] */ long lEvents);
  13113.  
  13114.  
  13115. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  13116.     IRpcStubBuffer *This,
  13117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13118.     PRPC_MESSAGE _pRpcMessage,
  13119.     DWORD *_pdwStubPhase);
  13120.  
  13121.  
  13122. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  13123.     IAMTuner __RPC_FAR * This,
  13124.     IAMTunerNotification __RPC_FAR *pNotify);
  13125.  
  13126.  
  13127. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  13128.     IRpcStubBuffer *This,
  13129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13130.     PRPC_MESSAGE _pRpcMessage,
  13131.     DWORD *_pdwStubPhase);
  13132.  
  13133.  
  13134.  
  13135. #endif     /* __IAMTuner_INTERFACE_DEFINED__ */
  13136.  
  13137.  
  13138. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  13139. #define __IAMTunerNotification_INTERFACE_DEFINED__
  13140.  
  13141. /* interface IAMTunerNotification */
  13142. /* [unique][uuid][local][object] */ 
  13143.  
  13144.  
  13145. EXTERN_C const IID IID_IAMTunerNotification;
  13146.  
  13147. #if defined(__cplusplus) && !defined(CINTERFACE)
  13148.     
  13149.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  13150.     IAMTunerNotification : public IUnknown
  13151.     {
  13152.     public:
  13153.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  13154.             /* [in] */ AMTunerEventType Event) = 0;
  13155.         
  13156.     };
  13157.     
  13158. #else     /* C style interface */
  13159.  
  13160.     typedef struct IAMTunerNotificationVtbl
  13161.     {
  13162.         BEGIN_INTERFACE
  13163.         
  13164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13165.             IAMTunerNotification __RPC_FAR * This,
  13166.             /* [in] */ REFIID riid,
  13167.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13168.         
  13169.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13170.             IAMTunerNotification __RPC_FAR * This);
  13171.         
  13172.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13173.             IAMTunerNotification __RPC_FAR * This);
  13174.         
  13175.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEvent )( 
  13176.             IAMTunerNotification __RPC_FAR * This,
  13177.             /* [in] */ AMTunerEventType Event);
  13178.         
  13179.         END_INTERFACE
  13180.     } IAMTunerNotificationVtbl;
  13181.  
  13182.     interface IAMTunerNotification
  13183.     {
  13184.         CONST_VTBL struct IAMTunerNotificationVtbl __RPC_FAR *lpVtbl;
  13185.     };
  13186.  
  13187.     
  13188.  
  13189. #ifdef COBJMACROS
  13190.  
  13191.  
  13192. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)    \
  13193.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13194.  
  13195. #define IAMTunerNotification_AddRef(This)    \
  13196.     (This)->lpVtbl -> AddRef(This)
  13197.  
  13198. #define IAMTunerNotification_Release(This)    \
  13199.     (This)->lpVtbl -> Release(This)
  13200.  
  13201.  
  13202. #define IAMTunerNotification_OnEvent(This,Event)    \
  13203.     (This)->lpVtbl -> OnEvent(This,Event)
  13204.  
  13205. #endif /* COBJMACROS */
  13206.  
  13207.  
  13208. #endif     /* C style interface */
  13209.  
  13210.  
  13211.  
  13212. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  13213.     IAMTunerNotification __RPC_FAR * This,
  13214.     /* [in] */ AMTunerEventType Event);
  13215.  
  13216.  
  13217. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  13218.     IRpcStubBuffer *This,
  13219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13220.     PRPC_MESSAGE _pRpcMessage,
  13221.     DWORD *_pdwStubPhase);
  13222.  
  13223.  
  13224.  
  13225. #endif     /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  13226.  
  13227.  
  13228. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  13229. #define __IAMTVTuner_INTERFACE_DEFINED__
  13230.  
  13231. /* interface IAMTVTuner */
  13232. /* [unique][uuid][local][object] */ 
  13233.  
  13234.  
  13235. EXTERN_C const IID IID_IAMTVTuner;
  13236.  
  13237. #if defined(__cplusplus) && !defined(CINTERFACE)
  13238.     
  13239.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  13240.     IAMTVTuner : public IAMTuner
  13241.     {
  13242.     public:
  13243.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  13244.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard) = 0;
  13245.         
  13246.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  13247.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard) = 0;
  13248.         
  13249.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  13250.             /* [in] */ long lChannel,
  13251.             /* [out] */ long __RPC_FAR *plFoundSignal) = 0;
  13252.         
  13253.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  13254.         
  13255.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  13256.             /* [out] */ long __RPC_FAR *plNumInputConnections) = 0;
  13257.         
  13258.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  13259.             /* [in] */ long lIndex,
  13260.             /* [in] */ TunerInputType InputType) = 0;
  13261.         
  13262.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  13263.             /* [in] */ long lIndex,
  13264.             /* [out] */ TunerInputType __RPC_FAR *pInputType) = 0;
  13265.         
  13266.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  13267.             /* [in] */ long lIndex) = 0;
  13268.         
  13269.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  13270.             /* [out] */ long __RPC_FAR *plIndex) = 0;
  13271.         
  13272.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  13273.             /* [out] */ long __RPC_FAR *lFreq) = 0;
  13274.         
  13275.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  13276.             /* [out] */ long __RPC_FAR *lFreq) = 0;
  13277.         
  13278.     };
  13279.     
  13280. #else     /* C style interface */
  13281.  
  13282.     typedef struct IAMTVTunerVtbl
  13283.     {
  13284.         BEGIN_INTERFACE
  13285.         
  13286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13287.             IAMTVTuner __RPC_FAR * This,
  13288.             /* [in] */ REFIID riid,
  13289.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13290.         
  13291.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13292.             IAMTVTuner __RPC_FAR * This);
  13293.         
  13294.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13295.             IAMTVTuner __RPC_FAR * This);
  13296.         
  13297.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Channel )( 
  13298.             IAMTVTuner __RPC_FAR * This,
  13299.             /* [in] */ long lChannel,
  13300.             /* [in] */ long lVideoSubChannel,
  13301.             /* [in] */ long lAudioSubChannel);
  13302.         
  13303.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Channel )( 
  13304.             IAMTVTuner __RPC_FAR * This,
  13305.             /* [out] */ long __RPC_FAR *plChannel,
  13306.             /* [out] */ long __RPC_FAR *plVideoSubChannel,
  13307.             /* [out] */ long __RPC_FAR *plAudioSubChannel);
  13308.         
  13309.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChannelMinMax )( 
  13310.             IAMTVTuner __RPC_FAR * This,
  13311.             /* [out] */ long __RPC_FAR *lChannelMin,
  13312.             /* [out] */ long __RPC_FAR *lChannelMax);
  13313.         
  13314.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CountryCode )( 
  13315.             IAMTVTuner __RPC_FAR * This,
  13316.             /* [in] */ long lCountryCode);
  13317.         
  13318.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CountryCode )( 
  13319.             IAMTVTuner __RPC_FAR * This,
  13320.             /* [out] */ long __RPC_FAR *plCountryCode);
  13321.         
  13322.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TuningSpace )( 
  13323.             IAMTVTuner __RPC_FAR * This,
  13324.             /* [in] */ long lTuningSpace);
  13325.         
  13326.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TuningSpace )( 
  13327.             IAMTVTuner __RPC_FAR * This,
  13328.             /* [out] */ long __RPC_FAR *plTuningSpace);
  13329.         
  13330.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logon )( 
  13331.             IAMTVTuner __RPC_FAR * This,
  13332.             /* [in] */ HANDLE hCurrentUser);
  13333.         
  13334.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logout )( 
  13335.             IAMTVTuner __RPC_FAR * This);
  13336.         
  13337.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalPresent )( 
  13338.             IAMTVTuner __RPC_FAR * This,
  13339.             /* [out] */ long __RPC_FAR *plSignalStrength);
  13340.         
  13341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  13342.             IAMTVTuner __RPC_FAR * This,
  13343.             /* [in] */ AMTunerModeType lMode);
  13344.         
  13345.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  13346.             IAMTVTuner __RPC_FAR * This,
  13347.             /* [out] */ AMTunerModeType __RPC_FAR *plMode);
  13348.         
  13349.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableModes )( 
  13350.             IAMTVTuner __RPC_FAR * This,
  13351.             /* [out] */ long __RPC_FAR *plModes);
  13352.         
  13353.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterNotificationCallBack )( 
  13354.             IAMTVTuner __RPC_FAR * This,
  13355.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  13356.             /* [in] */ long lEvents);
  13357.         
  13358.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnRegisterNotificationCallBack )( 
  13359.             IAMTVTuner __RPC_FAR * This,
  13360.             IAMTunerNotification __RPC_FAR *pNotify);
  13361.         
  13362.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AvailableTVFormats )( 
  13363.             IAMTVTuner __RPC_FAR * This,
  13364.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  13365.         
  13366.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TVFormat )( 
  13367.             IAMTVTuner __RPC_FAR * This,
  13368.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  13369.         
  13370.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AutoTune )( 
  13371.             IAMTVTuner __RPC_FAR * This,
  13372.             /* [in] */ long lChannel,
  13373.             /* [out] */ long __RPC_FAR *plFoundSignal);
  13374.         
  13375.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StoreAutoTune )( 
  13376.             IAMTVTuner __RPC_FAR * This);
  13377.         
  13378.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_NumInputConnections )( 
  13379.             IAMTVTuner __RPC_FAR * This,
  13380.             /* [out] */ long __RPC_FAR *plNumInputConnections);
  13381.         
  13382.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InputType )( 
  13383.             IAMTVTuner __RPC_FAR * This,
  13384.             /* [in] */ long lIndex,
  13385.             /* [in] */ TunerInputType InputType);
  13386.         
  13387.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputType )( 
  13388.             IAMTVTuner __RPC_FAR * This,
  13389.             /* [in] */ long lIndex,
  13390.             /* [out] */ TunerInputType __RPC_FAR *pInputType);
  13391.         
  13392.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConnectInput )( 
  13393.             IAMTVTuner __RPC_FAR * This,
  13394.             /* [in] */ long lIndex);
  13395.         
  13396.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConnectInput )( 
  13397.             IAMTVTuner __RPC_FAR * This,
  13398.             /* [out] */ long __RPC_FAR *plIndex);
  13399.         
  13400.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VideoFrequency )( 
  13401.             IAMTVTuner __RPC_FAR * This,
  13402.             /* [out] */ long __RPC_FAR *lFreq);
  13403.         
  13404.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AudioFrequency )( 
  13405.             IAMTVTuner __RPC_FAR * This,
  13406.             /* [out] */ long __RPC_FAR *lFreq);
  13407.         
  13408.         END_INTERFACE
  13409.     } IAMTVTunerVtbl;
  13410.  
  13411.     interface IAMTVTuner
  13412.     {
  13413.         CONST_VTBL struct IAMTVTunerVtbl __RPC_FAR *lpVtbl;
  13414.     };
  13415.  
  13416.     
  13417.  
  13418. #ifdef COBJMACROS
  13419.  
  13420.  
  13421. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)    \
  13422.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13423.  
  13424. #define IAMTVTuner_AddRef(This)    \
  13425.     (This)->lpVtbl -> AddRef(This)
  13426.  
  13427. #define IAMTVTuner_Release(This)    \
  13428.     (This)->lpVtbl -> Release(This)
  13429.  
  13430.  
  13431. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13432.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13433.  
  13434. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13435.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13436.  
  13437. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13438.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13439.  
  13440. #define IAMTVTuner_put_CountryCode(This,lCountryCode)    \
  13441.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13442.  
  13443. #define IAMTVTuner_get_CountryCode(This,plCountryCode)    \
  13444.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13445.  
  13446. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)    \
  13447.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13448.  
  13449. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)    \
  13450.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13451.  
  13452. #define IAMTVTuner_Logon(This,hCurrentUser)    \
  13453.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13454.  
  13455. #define IAMTVTuner_Logout(This)    \
  13456.     (This)->lpVtbl -> Logout(This)
  13457.  
  13458. #define IAMTVTuner_SignalPresent(This,plSignalStrength)    \
  13459.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13460.  
  13461. #define IAMTVTuner_put_Mode(This,lMode)    \
  13462.     (This)->lpVtbl -> put_Mode(This,lMode)
  13463.  
  13464. #define IAMTVTuner_get_Mode(This,plMode)    \
  13465.     (This)->lpVtbl -> get_Mode(This,plMode)
  13466.  
  13467. #define IAMTVTuner_GetAvailableModes(This,plModes)    \
  13468.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13469.  
  13470. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13471.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13472.  
  13473. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13474.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13475.  
  13476.  
  13477. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  13478.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  13479.  
  13480. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)    \
  13481.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  13482.  
  13483. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)    \
  13484.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  13485.  
  13486. #define IAMTVTuner_StoreAutoTune(This)    \
  13487.     (This)->lpVtbl -> StoreAutoTune(This)
  13488.  
  13489. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)    \
  13490.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  13491.  
  13492. #define IAMTVTuner_put_InputType(This,lIndex,InputType)    \
  13493.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  13494.  
  13495. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)    \
  13496.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  13497.  
  13498. #define IAMTVTuner_put_ConnectInput(This,lIndex)    \
  13499.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  13500.  
  13501. #define IAMTVTuner_get_ConnectInput(This,plIndex)    \
  13502.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  13503.  
  13504. #define IAMTVTuner_get_VideoFrequency(This,lFreq)    \
  13505.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  13506.  
  13507. #define IAMTVTuner_get_AudioFrequency(This,lFreq)    \
  13508.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  13509.  
  13510. #endif /* COBJMACROS */
  13511.  
  13512.  
  13513. #endif     /* C style interface */
  13514.  
  13515.  
  13516.  
  13517. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  13518.     IAMTVTuner __RPC_FAR * This,
  13519.     /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  13520.  
  13521.  
  13522. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  13523.     IRpcStubBuffer *This,
  13524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13525.     PRPC_MESSAGE _pRpcMessage,
  13526.     DWORD *_pdwStubPhase);
  13527.  
  13528.  
  13529. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  13530.     IAMTVTuner __RPC_FAR * This,
  13531.     /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  13532.  
  13533.  
  13534. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  13535.     IRpcStubBuffer *This,
  13536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13537.     PRPC_MESSAGE _pRpcMessage,
  13538.     DWORD *_pdwStubPhase);
  13539.  
  13540.  
  13541. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  13542.     IAMTVTuner __RPC_FAR * This,
  13543.     /* [in] */ long lChannel,
  13544.     /* [out] */ long __RPC_FAR *plFoundSignal);
  13545.  
  13546.  
  13547. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  13548.     IRpcStubBuffer *This,
  13549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13550.     PRPC_MESSAGE _pRpcMessage,
  13551.     DWORD *_pdwStubPhase);
  13552.  
  13553.  
  13554. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  13555.     IAMTVTuner __RPC_FAR * This);
  13556.  
  13557.  
  13558. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  13559.     IRpcStubBuffer *This,
  13560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13561.     PRPC_MESSAGE _pRpcMessage,
  13562.     DWORD *_pdwStubPhase);
  13563.  
  13564.  
  13565. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  13566.     IAMTVTuner __RPC_FAR * This,
  13567.     /* [out] */ long __RPC_FAR *plNumInputConnections);
  13568.  
  13569.  
  13570. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  13571.     IRpcStubBuffer *This,
  13572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13573.     PRPC_MESSAGE _pRpcMessage,
  13574.     DWORD *_pdwStubPhase);
  13575.  
  13576.  
  13577. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  13578.     IAMTVTuner __RPC_FAR * This,
  13579.     /* [in] */ long lIndex,
  13580.     /* [in] */ TunerInputType InputType);
  13581.  
  13582.  
  13583. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  13584.     IRpcStubBuffer *This,
  13585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13586.     PRPC_MESSAGE _pRpcMessage,
  13587.     DWORD *_pdwStubPhase);
  13588.  
  13589.  
  13590. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  13591.     IAMTVTuner __RPC_FAR * This,
  13592.     /* [in] */ long lIndex,
  13593.     /* [out] */ TunerInputType __RPC_FAR *pInputType);
  13594.  
  13595.  
  13596. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  13597.     IRpcStubBuffer *This,
  13598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13599.     PRPC_MESSAGE _pRpcMessage,
  13600.     DWORD *_pdwStubPhase);
  13601.  
  13602.  
  13603. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  13604.     IAMTVTuner __RPC_FAR * This,
  13605.     /* [in] */ long lIndex);
  13606.  
  13607.  
  13608. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  13609.     IRpcStubBuffer *This,
  13610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13611.     PRPC_MESSAGE _pRpcMessage,
  13612.     DWORD *_pdwStubPhase);
  13613.  
  13614.  
  13615. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  13616.     IAMTVTuner __RPC_FAR * This,
  13617.     /* [out] */ long __RPC_FAR *plIndex);
  13618.  
  13619.  
  13620. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  13621.     IRpcStubBuffer *This,
  13622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13623.     PRPC_MESSAGE _pRpcMessage,
  13624.     DWORD *_pdwStubPhase);
  13625.  
  13626.  
  13627. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  13628.     IAMTVTuner __RPC_FAR * This,
  13629.     /* [out] */ long __RPC_FAR *lFreq);
  13630.  
  13631.  
  13632. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  13633.     IRpcStubBuffer *This,
  13634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13635.     PRPC_MESSAGE _pRpcMessage,
  13636.     DWORD *_pdwStubPhase);
  13637.  
  13638.  
  13639. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  13640.     IAMTVTuner __RPC_FAR * This,
  13641.     /* [out] */ long __RPC_FAR *lFreq);
  13642.  
  13643.  
  13644. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  13645.     IRpcStubBuffer *This,
  13646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13647.     PRPC_MESSAGE _pRpcMessage,
  13648.     DWORD *_pdwStubPhase);
  13649.  
  13650.  
  13651.  
  13652. #endif     /* __IAMTVTuner_INTERFACE_DEFINED__ */
  13653.  
  13654.  
  13655. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13656. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13657.  
  13658. /* interface IBPCSatelliteTuner */
  13659. /* [unique][uuid][local][object] */ 
  13660.  
  13661.  
  13662. EXTERN_C const IID IID_IBPCSatelliteTuner;
  13663.  
  13664. #if defined(__cplusplus) && !defined(CINTERFACE)
  13665.     
  13666.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  13667.     IBPCSatelliteTuner : public IAMTuner
  13668.     {
  13669.     public:
  13670.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  13671.             /* [out] */ long __RPC_FAR *plDefaultVideoType,
  13672.             /* [out] */ long __RPC_FAR *plDefaultAudioType) = 0;
  13673.         
  13674.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  13675.             /* [in] */ long lDefaultVideoType,
  13676.             /* [in] */ long lDefaultAudioType) = 0;
  13677.         
  13678.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  13679.         
  13680.     };
  13681.     
  13682. #else     /* C style interface */
  13683.  
  13684.     typedef struct IBPCSatelliteTunerVtbl
  13685.     {
  13686.         BEGIN_INTERFACE
  13687.         
  13688.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13689.             IBPCSatelliteTuner __RPC_FAR * This,
  13690.             /* [in] */ REFIID riid,
  13691.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13692.         
  13693.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13694.             IBPCSatelliteTuner __RPC_FAR * This);
  13695.         
  13696.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13697.             IBPCSatelliteTuner __RPC_FAR * This);
  13698.         
  13699.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Channel )( 
  13700.             IBPCSatelliteTuner __RPC_FAR * This,
  13701.             /* [in] */ long lChannel,
  13702.             /* [in] */ long lVideoSubChannel,
  13703.             /* [in] */ long lAudioSubChannel);
  13704.         
  13705.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Channel )( 
  13706.             IBPCSatelliteTuner __RPC_FAR * This,
  13707.             /* [out] */ long __RPC_FAR *plChannel,
  13708.             /* [out] */ long __RPC_FAR *plVideoSubChannel,
  13709.             /* [out] */ long __RPC_FAR *plAudioSubChannel);
  13710.         
  13711.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChannelMinMax )( 
  13712.             IBPCSatelliteTuner __RPC_FAR * This,
  13713.             /* [out] */ long __RPC_FAR *lChannelMin,
  13714.             /* [out] */ long __RPC_FAR *lChannelMax);
  13715.         
  13716.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CountryCode )( 
  13717.             IBPCSatelliteTuner __RPC_FAR * This,
  13718.             /* [in] */ long lCountryCode);
  13719.         
  13720.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CountryCode )( 
  13721.             IBPCSatelliteTuner __RPC_FAR * This,
  13722.             /* [out] */ long __RPC_FAR *plCountryCode);
  13723.         
  13724.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TuningSpace )( 
  13725.             IBPCSatelliteTuner __RPC_FAR * This,
  13726.             /* [in] */ long lTuningSpace);
  13727.         
  13728.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TuningSpace )( 
  13729.             IBPCSatelliteTuner __RPC_FAR * This,
  13730.             /* [out] */ long __RPC_FAR *plTuningSpace);
  13731.         
  13732.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logon )( 
  13733.             IBPCSatelliteTuner __RPC_FAR * This,
  13734.             /* [in] */ HANDLE hCurrentUser);
  13735.         
  13736.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Logout )( 
  13737.             IBPCSatelliteTuner __RPC_FAR * This);
  13738.         
  13739.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalPresent )( 
  13740.             IBPCSatelliteTuner __RPC_FAR * This,
  13741.             /* [out] */ long __RPC_FAR *plSignalStrength);
  13742.         
  13743.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  13744.             IBPCSatelliteTuner __RPC_FAR * This,
  13745.             /* [in] */ AMTunerModeType lMode);
  13746.         
  13747.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  13748.             IBPCSatelliteTuner __RPC_FAR * This,
  13749.             /* [out] */ AMTunerModeType __RPC_FAR *plMode);
  13750.         
  13751.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableModes )( 
  13752.             IBPCSatelliteTuner __RPC_FAR * This,
  13753.             /* [out] */ long __RPC_FAR *plModes);
  13754.         
  13755.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterNotificationCallBack )( 
  13756.             IBPCSatelliteTuner __RPC_FAR * This,
  13757.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  13758.             /* [in] */ long lEvents);
  13759.         
  13760.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnRegisterNotificationCallBack )( 
  13761.             IBPCSatelliteTuner __RPC_FAR * This,
  13762.             IAMTunerNotification __RPC_FAR *pNotify);
  13763.         
  13764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultSubChannelTypes )( 
  13765.             IBPCSatelliteTuner __RPC_FAR * This,
  13766.             /* [out] */ long __RPC_FAR *plDefaultVideoType,
  13767.             /* [out] */ long __RPC_FAR *plDefaultAudioType);
  13768.         
  13769.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DefaultSubChannelTypes )( 
  13770.             IBPCSatelliteTuner __RPC_FAR * This,
  13771.             /* [in] */ long lDefaultVideoType,
  13772.             /* [in] */ long lDefaultAudioType);
  13773.         
  13774.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsTapingPermitted )( 
  13775.             IBPCSatelliteTuner __RPC_FAR * This);
  13776.         
  13777.         END_INTERFACE
  13778.     } IBPCSatelliteTunerVtbl;
  13779.  
  13780.     interface IBPCSatelliteTuner
  13781.     {
  13782.         CONST_VTBL struct IBPCSatelliteTunerVtbl __RPC_FAR *lpVtbl;
  13783.     };
  13784.  
  13785.     
  13786.  
  13787. #ifdef COBJMACROS
  13788.  
  13789.  
  13790. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)    \
  13791.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13792.  
  13793. #define IBPCSatelliteTuner_AddRef(This)    \
  13794.     (This)->lpVtbl -> AddRef(This)
  13795.  
  13796. #define IBPCSatelliteTuner_Release(This)    \
  13797.     (This)->lpVtbl -> Release(This)
  13798.  
  13799.  
  13800. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13801.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13802.  
  13803. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13804.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13805.  
  13806. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13807.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13808.  
  13809. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)    \
  13810.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13811.  
  13812. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)    \
  13813.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13814.  
  13815. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)    \
  13816.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13817.  
  13818. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)    \
  13819.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13820.  
  13821. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)    \
  13822.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13823.  
  13824. #define IBPCSatelliteTuner_Logout(This)    \
  13825.     (This)->lpVtbl -> Logout(This)
  13826.  
  13827. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)    \
  13828.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13829.  
  13830. #define IBPCSatelliteTuner_put_Mode(This,lMode)    \
  13831.     (This)->lpVtbl -> put_Mode(This,lMode)
  13832.  
  13833. #define IBPCSatelliteTuner_get_Mode(This,plMode)    \
  13834.     (This)->lpVtbl -> get_Mode(This,plMode)
  13835.  
  13836. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)    \
  13837.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13838.  
  13839. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13840.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13841.  
  13842. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13843.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13844.  
  13845.  
  13846. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)    \
  13847.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  13848.  
  13849. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)    \
  13850.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  13851.  
  13852. #define IBPCSatelliteTuner_IsTapingPermitted(This)    \
  13853.     (This)->lpVtbl -> IsTapingPermitted(This)
  13854.  
  13855. #endif /* COBJMACROS */
  13856.  
  13857.  
  13858. #endif     /* C style interface */
  13859.  
  13860.  
  13861.  
  13862. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  13863.     IBPCSatelliteTuner __RPC_FAR * This,
  13864.     /* [out] */ long __RPC_FAR *plDefaultVideoType,
  13865.     /* [out] */ long __RPC_FAR *plDefaultAudioType);
  13866.  
  13867.  
  13868. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  13869.     IRpcStubBuffer *This,
  13870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13871.     PRPC_MESSAGE _pRpcMessage,
  13872.     DWORD *_pdwStubPhase);
  13873.  
  13874.  
  13875. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  13876.     IBPCSatelliteTuner __RPC_FAR * This,
  13877.     /* [in] */ long lDefaultVideoType,
  13878.     /* [in] */ long lDefaultAudioType);
  13879.  
  13880.  
  13881. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  13882.     IRpcStubBuffer *This,
  13883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13884.     PRPC_MESSAGE _pRpcMessage,
  13885.     DWORD *_pdwStubPhase);
  13886.  
  13887.  
  13888. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  13889.     IBPCSatelliteTuner __RPC_FAR * This);
  13890.  
  13891.  
  13892. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  13893.     IRpcStubBuffer *This,
  13894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13895.     PRPC_MESSAGE _pRpcMessage,
  13896.     DWORD *_pdwStubPhase);
  13897.  
  13898.  
  13899.  
  13900. #endif     /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  13901.  
  13902.  
  13903. /* interface __MIDL_itf_strmif_0148 */
  13904. /* [local] */ 
  13905.  
  13906. typedef 
  13907. enum tagTVAudioMode
  13908.     {    AMTVAUDIO_MODE_MONO    = 0x1,
  13909.     AMTVAUDIO_MODE_STEREO    = 0x2,
  13910.     AMTVAUDIO_MODE_LANG_A    = 0x10,
  13911.     AMTVAUDIO_MODE_LANG_B    = 0x20,
  13912.     AMTVAUDIO_MODE_LANG_C    = 0x40
  13913.     }    TVAudioMode;
  13914.  
  13915. typedef 
  13916. enum tagAMTVAudioEventType
  13917.     {    AMTVAUDIO_EVENT_CHANGED    = 0x1
  13918.     }    AMTVAudioEventType;
  13919.  
  13920.  
  13921.  
  13922.  
  13923. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;
  13924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;
  13925.  
  13926. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  13927. #define __IAMTVAudio_INTERFACE_DEFINED__
  13928.  
  13929. /* interface IAMTVAudio */
  13930. /* [unique][uuid][local][object] */ 
  13931.  
  13932.  
  13933. EXTERN_C const IID IID_IAMTVAudio;
  13934.  
  13935. #if defined(__cplusplus) && !defined(CINTERFACE)
  13936.     
  13937.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  13938.     IAMTVAudio : public IUnknown
  13939.     {
  13940.     public:
  13941.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  13942.             /* [out] */ long __RPC_FAR *plModes) = 0;
  13943.         
  13944.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  13945.             /* [out] */ long __RPC_FAR *plModes) = 0;
  13946.         
  13947.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  13948.             /* [out] */ long __RPC_FAR *plMode) = 0;
  13949.         
  13950.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  13951.             /* [in] */ long lMode) = 0;
  13952.         
  13953.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  13954.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  13955.             /* [in] */ long lEvents) = 0;
  13956.         
  13957.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  13958.             IAMTunerNotification __RPC_FAR *pNotify) = 0;
  13959.         
  13960.     };
  13961.     
  13962. #else     /* C style interface */
  13963.  
  13964.     typedef struct IAMTVAudioVtbl
  13965.     {
  13966.         BEGIN_INTERFACE
  13967.         
  13968.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13969.             IAMTVAudio __RPC_FAR * This,
  13970.             /* [in] */ REFIID riid,
  13971.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13972.         
  13973.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13974.             IAMTVAudio __RPC_FAR * This);
  13975.         
  13976.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13977.             IAMTVAudio __RPC_FAR * This);
  13978.         
  13979.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHardwareSupportedTVAudioModes )( 
  13980.             IAMTVAudio __RPC_FAR * This,
  13981.             /* [out] */ long __RPC_FAR *plModes);
  13982.         
  13983.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAvailableTVAudioModes )( 
  13984.             IAMTVAudio __RPC_FAR * This,
  13985.             /* [out] */ long __RPC_FAR *plModes);
  13986.         
  13987.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TVAudioMode )( 
  13988.             IAMTVAudio __RPC_FAR * This,
  13989.             /* [out] */ long __RPC_FAR *plMode);
  13990.         
  13991.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TVAudioMode )( 
  13992.             IAMTVAudio __RPC_FAR * This,
  13993.             /* [in] */ long lMode);
  13994.         
  13995.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterNotificationCallBack )( 
  13996.             IAMTVAudio __RPC_FAR * This,
  13997.             /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  13998.             /* [in] */ long lEvents);
  13999.         
  14000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnRegisterNotificationCallBack )( 
  14001.             IAMTVAudio __RPC_FAR * This,
  14002.             IAMTunerNotification __RPC_FAR *pNotify);
  14003.         
  14004.         END_INTERFACE
  14005.     } IAMTVAudioVtbl;
  14006.  
  14007.     interface IAMTVAudio
  14008.     {
  14009.         CONST_VTBL struct IAMTVAudioVtbl __RPC_FAR *lpVtbl;
  14010.     };
  14011.  
  14012.     
  14013.  
  14014. #ifdef COBJMACROS
  14015.  
  14016.  
  14017. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)    \
  14018.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14019.  
  14020. #define IAMTVAudio_AddRef(This)    \
  14021.     (This)->lpVtbl -> AddRef(This)
  14022.  
  14023. #define IAMTVAudio_Release(This)    \
  14024.     (This)->lpVtbl -> Release(This)
  14025.  
  14026.  
  14027. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)    \
  14028.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  14029.  
  14030. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)    \
  14031.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  14032.  
  14033. #define IAMTVAudio_get_TVAudioMode(This,plMode)    \
  14034.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  14035.  
  14036. #define IAMTVAudio_put_TVAudioMode(This,lMode)    \
  14037.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  14038.  
  14039. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14040.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14041.  
  14042. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)    \
  14043.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14044.  
  14045. #endif /* COBJMACROS */
  14046.  
  14047.  
  14048. #endif     /* C style interface */
  14049.  
  14050.  
  14051.  
  14052. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  14053.     IAMTVAudio __RPC_FAR * This,
  14054.     /* [out] */ long __RPC_FAR *plModes);
  14055.  
  14056.  
  14057. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  14058.     IRpcStubBuffer *This,
  14059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14060.     PRPC_MESSAGE _pRpcMessage,
  14061.     DWORD *_pdwStubPhase);
  14062.  
  14063.  
  14064. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  14065.     IAMTVAudio __RPC_FAR * This,
  14066.     /* [out] */ long __RPC_FAR *plModes);
  14067.  
  14068.  
  14069. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  14070.     IRpcStubBuffer *This,
  14071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14072.     PRPC_MESSAGE _pRpcMessage,
  14073.     DWORD *_pdwStubPhase);
  14074.  
  14075.  
  14076. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  14077.     IAMTVAudio __RPC_FAR * This,
  14078.     /* [out] */ long __RPC_FAR *plMode);
  14079.  
  14080.  
  14081. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  14082.     IRpcStubBuffer *This,
  14083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14084.     PRPC_MESSAGE _pRpcMessage,
  14085.     DWORD *_pdwStubPhase);
  14086.  
  14087.  
  14088. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  14089.     IAMTVAudio __RPC_FAR * This,
  14090.     /* [in] */ long lMode);
  14091.  
  14092.  
  14093. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  14094.     IRpcStubBuffer *This,
  14095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14096.     PRPC_MESSAGE _pRpcMessage,
  14097.     DWORD *_pdwStubPhase);
  14098.  
  14099.  
  14100. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  14101.     IAMTVAudio __RPC_FAR * This,
  14102.     /* [in] */ IAMTunerNotification __RPC_FAR *pNotify,
  14103.     /* [in] */ long lEvents);
  14104.  
  14105.  
  14106. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  14107.     IRpcStubBuffer *This,
  14108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14109.     PRPC_MESSAGE _pRpcMessage,
  14110.     DWORD *_pdwStubPhase);
  14111.  
  14112.  
  14113. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  14114.     IAMTVAudio __RPC_FAR * This,
  14115.     IAMTunerNotification __RPC_FAR *pNotify);
  14116.  
  14117.  
  14118. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  14119.     IRpcStubBuffer *This,
  14120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14121.     PRPC_MESSAGE _pRpcMessage,
  14122.     DWORD *_pdwStubPhase);
  14123.  
  14124.  
  14125.  
  14126. #endif     /* __IAMTVAudio_INTERFACE_DEFINED__ */
  14127.  
  14128.  
  14129. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  14130. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  14131.  
  14132. /* interface IAMTVAudioNotification */
  14133. /* [unique][uuid][local][object] */ 
  14134.  
  14135.  
  14136. EXTERN_C const IID IID_IAMTVAudioNotification;
  14137.  
  14138. #if defined(__cplusplus) && !defined(CINTERFACE)
  14139.     
  14140.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  14141.     IAMTVAudioNotification : public IUnknown
  14142.     {
  14143.     public:
  14144.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  14145.             /* [in] */ AMTVAudioEventType Event) = 0;
  14146.         
  14147.     };
  14148.     
  14149. #else     /* C style interface */
  14150.  
  14151.     typedef struct IAMTVAudioNotificationVtbl
  14152.     {
  14153.         BEGIN_INTERFACE
  14154.         
  14155.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14156.             IAMTVAudioNotification __RPC_FAR * This,
  14157.             /* [in] */ REFIID riid,
  14158.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14159.         
  14160.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14161.             IAMTVAudioNotification __RPC_FAR * This);
  14162.         
  14163.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14164.             IAMTVAudioNotification __RPC_FAR * This);
  14165.         
  14166.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEvent )( 
  14167.             IAMTVAudioNotification __RPC_FAR * This,
  14168.             /* [in] */ AMTVAudioEventType Event);
  14169.         
  14170.         END_INTERFACE
  14171.     } IAMTVAudioNotificationVtbl;
  14172.  
  14173.     interface IAMTVAudioNotification
  14174.     {
  14175.         CONST_VTBL struct IAMTVAudioNotificationVtbl __RPC_FAR *lpVtbl;
  14176.     };
  14177.  
  14178.     
  14179.  
  14180. #ifdef COBJMACROS
  14181.  
  14182.  
  14183. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)    \
  14184.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14185.  
  14186. #define IAMTVAudioNotification_AddRef(This)    \
  14187.     (This)->lpVtbl -> AddRef(This)
  14188.  
  14189. #define IAMTVAudioNotification_Release(This)    \
  14190.     (This)->lpVtbl -> Release(This)
  14191.  
  14192.  
  14193. #define IAMTVAudioNotification_OnEvent(This,Event)    \
  14194.     (This)->lpVtbl -> OnEvent(This,Event)
  14195.  
  14196. #endif /* COBJMACROS */
  14197.  
  14198.  
  14199. #endif     /* C style interface */
  14200.  
  14201.  
  14202.  
  14203. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  14204.     IAMTVAudioNotification __RPC_FAR * This,
  14205.     /* [in] */ AMTVAudioEventType Event);
  14206.  
  14207.  
  14208. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  14209.     IRpcStubBuffer *This,
  14210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14211.     PRPC_MESSAGE _pRpcMessage,
  14212.     DWORD *_pdwStubPhase);
  14213.  
  14214.  
  14215.  
  14216. #endif     /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  14217.  
  14218.  
  14219. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14220. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14221.  
  14222. /* interface IAMAnalogVideoEncoder */
  14223. /* [unique][uuid][object] */ 
  14224.  
  14225.  
  14226. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  14227.  
  14228. #if defined(__cplusplus) && !defined(CINTERFACE)
  14229.     
  14230.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  14231.     IAMAnalogVideoEncoder : public IUnknown
  14232.     {
  14233.     public:
  14234.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  14235.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard) = 0;
  14236.         
  14237.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  14238.             /* [in] */ long lAnalogVideoStandard) = 0;
  14239.         
  14240.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  14241.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard) = 0;
  14242.         
  14243.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  14244.             /* [in] */ long lVideoCopyProtection) = 0;
  14245.         
  14246.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  14247.             /* [out] */ long __RPC_FAR *lVideoCopyProtection) = 0;
  14248.         
  14249.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  14250.             /* [in] */ long lCCEnable) = 0;
  14251.         
  14252.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  14253.             /* [out] */ long __RPC_FAR *lCCEnable) = 0;
  14254.         
  14255.     };
  14256.     
  14257. #else     /* C style interface */
  14258.  
  14259.     typedef struct IAMAnalogVideoEncoderVtbl
  14260.     {
  14261.         BEGIN_INTERFACE
  14262.         
  14263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14264.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14265.             /* [in] */ REFIID riid,
  14266.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14267.         
  14268.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14269.             IAMAnalogVideoEncoder __RPC_FAR * This);
  14270.         
  14271.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14272.             IAMAnalogVideoEncoder __RPC_FAR * This);
  14273.         
  14274.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AvailableTVFormats )( 
  14275.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14276.             /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  14277.         
  14278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TVFormat )( 
  14279.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14280.             /* [in] */ long lAnalogVideoStandard);
  14281.         
  14282.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TVFormat )( 
  14283.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14284.             /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  14285.         
  14286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CopyProtection )( 
  14287.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14288.             /* [in] */ long lVideoCopyProtection);
  14289.         
  14290.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CopyProtection )( 
  14291.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14292.             /* [out] */ long __RPC_FAR *lVideoCopyProtection);
  14293.         
  14294.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CCEnable )( 
  14295.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14296.             /* [in] */ long lCCEnable);
  14297.         
  14298.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CCEnable )( 
  14299.             IAMAnalogVideoEncoder __RPC_FAR * This,
  14300.             /* [out] */ long __RPC_FAR *lCCEnable);
  14301.         
  14302.         END_INTERFACE
  14303.     } IAMAnalogVideoEncoderVtbl;
  14304.  
  14305.     interface IAMAnalogVideoEncoder
  14306.     {
  14307.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl __RPC_FAR *lpVtbl;
  14308.     };
  14309.  
  14310.     
  14311.  
  14312. #ifdef COBJMACROS
  14313.  
  14314.  
  14315. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  14316.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14317.  
  14318. #define IAMAnalogVideoEncoder_AddRef(This)    \
  14319.     (This)->lpVtbl -> AddRef(This)
  14320.  
  14321. #define IAMAnalogVideoEncoder_Release(This)    \
  14322.     (This)->lpVtbl -> Release(This)
  14323.  
  14324.  
  14325. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  14326.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  14327.  
  14328. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)    \
  14329.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  14330.  
  14331. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)    \
  14332.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  14333.  
  14334. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)    \
  14335.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  14336.  
  14337. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)    \
  14338.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  14339.  
  14340. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)    \
  14341.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  14342.  
  14343. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)    \
  14344.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  14345.  
  14346. #endif /* COBJMACROS */
  14347.  
  14348.  
  14349. #endif     /* C style interface */
  14350.  
  14351.  
  14352.  
  14353. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  14354.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14355.     /* [out] */ long __RPC_FAR *lAnalogVideoStandard);
  14356.  
  14357.  
  14358. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  14359.     IRpcStubBuffer *This,
  14360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14361.     PRPC_MESSAGE _pRpcMessage,
  14362.     DWORD *_pdwStubPhase);
  14363.  
  14364.  
  14365. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  14366.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14367.     /* [in] */ long lAnalogVideoStandard);
  14368.  
  14369.  
  14370. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  14371.     IRpcStubBuffer *This,
  14372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14373.     PRPC_MESSAGE _pRpcMessage,
  14374.     DWORD *_pdwStubPhase);
  14375.  
  14376.  
  14377. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  14378.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14379.     /* [out] */ long __RPC_FAR *plAnalogVideoStandard);
  14380.  
  14381.  
  14382. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  14383.     IRpcStubBuffer *This,
  14384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14385.     PRPC_MESSAGE _pRpcMessage,
  14386.     DWORD *_pdwStubPhase);
  14387.  
  14388.  
  14389. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  14390.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14391.     /* [in] */ long lVideoCopyProtection);
  14392.  
  14393.  
  14394. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  14395.     IRpcStubBuffer *This,
  14396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14397.     PRPC_MESSAGE _pRpcMessage,
  14398.     DWORD *_pdwStubPhase);
  14399.  
  14400.  
  14401. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  14402.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14403.     /* [out] */ long __RPC_FAR *lVideoCopyProtection);
  14404.  
  14405.  
  14406. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  14407.     IRpcStubBuffer *This,
  14408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14409.     PRPC_MESSAGE _pRpcMessage,
  14410.     DWORD *_pdwStubPhase);
  14411.  
  14412.  
  14413. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  14414.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14415.     /* [in] */ long lCCEnable);
  14416.  
  14417.  
  14418. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  14419.     IRpcStubBuffer *This,
  14420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14421.     PRPC_MESSAGE _pRpcMessage,
  14422.     DWORD *_pdwStubPhase);
  14423.  
  14424.  
  14425. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  14426.     IAMAnalogVideoEncoder __RPC_FAR * This,
  14427.     /* [out] */ long __RPC_FAR *lCCEnable);
  14428.  
  14429.  
  14430. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  14431.     IRpcStubBuffer *This,
  14432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14433.     PRPC_MESSAGE _pRpcMessage,
  14434.     DWORD *_pdwStubPhase);
  14435.  
  14436.  
  14437.  
  14438. #endif     /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  14439.  
  14440.  
  14441. /* interface __MIDL_itf_strmif_0151 */
  14442. /* [local] */ 
  14443.  
  14444. typedef /* [public] */ 
  14445. enum __MIDL___MIDL_itf_strmif_0151_0001
  14446.     {    AMPROPERTY_PIN_CATEGORY    = 0,
  14447.     AMPROPERTY_PIN_MEDIUM    = AMPROPERTY_PIN_CATEGORY + 1
  14448.     }    AMPROPERTY_PIN;
  14449.  
  14450. #ifndef _IKsPropertySet_
  14451. #define _IKsPropertySet_
  14452. #define KSPROPERTY_SUPPORT_GET  1
  14453. #define KSPROPERTY_SUPPORT_SET  2
  14454.  
  14455.  
  14456. extern RPC_IF_HANDLE __MIDL_itf_strmif_0151_v0_0_c_ifspec;
  14457. extern RPC_IF_HANDLE __MIDL_itf_strmif_0151_v0_0_s_ifspec;
  14458.  
  14459. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  14460. #define __IKsPropertySet_INTERFACE_DEFINED__
  14461.  
  14462. /* interface IKsPropertySet */
  14463. /* [unique][uuid][local][object] */ 
  14464.  
  14465.  
  14466. EXTERN_C const IID IID_IKsPropertySet;
  14467.  
  14468. #if defined(__cplusplus) && !defined(CINTERFACE)
  14469.     
  14470.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  14471.     IKsPropertySet : public IUnknown
  14472.     {
  14473.     public:
  14474.         virtual HRESULT STDMETHODCALLTYPE Set( 
  14475.             /* [in] */ REFGUID guidPropSet,
  14476.             /* [in] */ DWORD dwPropID,
  14477.             /* [size_is][out] */ LPVOID pInstanceData,
  14478.             /* [in] */ DWORD cbInstanceData,
  14479.             /* [size_is][out] */ LPVOID pPropData,
  14480.             /* [in] */ DWORD cbPropData) = 0;
  14481.         
  14482.         virtual HRESULT STDMETHODCALLTYPE Get( 
  14483.             /* [in] */ REFGUID guidPropSet,
  14484.             /* [in] */ DWORD dwPropID,
  14485.             /* [size_is][out] */ LPVOID pInstanceData,
  14486.             /* [in] */ DWORD cbInstanceData,
  14487.             /* [size_is][out] */ LPVOID pPropData,
  14488.             /* [in] */ DWORD cbPropData,
  14489.             /* [out] */ DWORD __RPC_FAR *pcbReturned) = 0;
  14490.         
  14491.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  14492.             /* [in] */ REFGUID guidPropSet,
  14493.             /* [in] */ DWORD dwPropID,
  14494.             /* [out] */ DWORD __RPC_FAR *pTypeSupport) = 0;
  14495.         
  14496.     };
  14497.     
  14498. #else     /* C style interface */
  14499.  
  14500.     typedef struct IKsPropertySetVtbl
  14501.     {
  14502.         BEGIN_INTERFACE
  14503.         
  14504.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14505.             IKsPropertySet __RPC_FAR * This,
  14506.             /* [in] */ REFIID riid,
  14507.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14508.         
  14509.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14510.             IKsPropertySet __RPC_FAR * This);
  14511.         
  14512.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14513.             IKsPropertySet __RPC_FAR * This);
  14514.         
  14515.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Set )( 
  14516.             IKsPropertySet __RPC_FAR * This,
  14517.             /* [in] */ REFGUID guidPropSet,
  14518.             /* [in] */ DWORD dwPropID,
  14519.             /* [size_is][out] */ LPVOID pInstanceData,
  14520.             /* [in] */ DWORD cbInstanceData,
  14521.             /* [size_is][out] */ LPVOID pPropData,
  14522.             /* [in] */ DWORD cbPropData);
  14523.         
  14524.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Get )( 
  14525.             IKsPropertySet __RPC_FAR * This,
  14526.             /* [in] */ REFGUID guidPropSet,
  14527.             /* [in] */ DWORD dwPropID,
  14528.             /* [size_is][out] */ LPVOID pInstanceData,
  14529.             /* [in] */ DWORD cbInstanceData,
  14530.             /* [size_is][out] */ LPVOID pPropData,
  14531.             /* [in] */ DWORD cbPropData,
  14532.             /* [out] */ DWORD __RPC_FAR *pcbReturned);
  14533.         
  14534.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QuerySupported )( 
  14535.             IKsPropertySet __RPC_FAR * This,
  14536.             /* [in] */ REFGUID guidPropSet,
  14537.             /* [in] */ DWORD dwPropID,
  14538.             /* [out] */ DWORD __RPC_FAR *pTypeSupport);
  14539.         
  14540.         END_INTERFACE
  14541.     } IKsPropertySetVtbl;
  14542.  
  14543.     interface IKsPropertySet
  14544.     {
  14545.         CONST_VTBL struct IKsPropertySetVtbl __RPC_FAR *lpVtbl;
  14546.     };
  14547.  
  14548.     
  14549.  
  14550. #ifdef COBJMACROS
  14551.  
  14552.  
  14553. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)    \
  14554.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14555.  
  14556. #define IKsPropertySet_AddRef(This)    \
  14557.     (This)->lpVtbl -> AddRef(This)
  14558.  
  14559. #define IKsPropertySet_Release(This)    \
  14560.     (This)->lpVtbl -> Release(This)
  14561.  
  14562.  
  14563. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)    \
  14564.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  14565.  
  14566. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)    \
  14567.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  14568.  
  14569. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)    \
  14570.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  14571.  
  14572. #endif /* COBJMACROS */
  14573.  
  14574.  
  14575. #endif     /* C style interface */
  14576.  
  14577.  
  14578.  
  14579. HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy( 
  14580.     IKsPropertySet __RPC_FAR * This,
  14581.     /* [in] */ REFGUID guidPropSet,
  14582.     /* [in] */ DWORD dwPropID,
  14583.     /* [size_is][out] */ LPVOID pInstanceData,
  14584.     /* [in] */ DWORD cbInstanceData,
  14585.     /* [size_is][out] */ LPVOID pPropData,
  14586.     /* [in] */ DWORD cbPropData);
  14587.  
  14588.  
  14589. void __RPC_STUB IKsPropertySet_Set_Stub(
  14590.     IRpcStubBuffer *This,
  14591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14592.     PRPC_MESSAGE _pRpcMessage,
  14593.     DWORD *_pdwStubPhase);
  14594.  
  14595.  
  14596. HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy( 
  14597.     IKsPropertySet __RPC_FAR * This,
  14598.     /* [in] */ REFGUID guidPropSet,
  14599.     /* [in] */ DWORD dwPropID,
  14600.     /* [size_is][out] */ LPVOID pInstanceData,
  14601.     /* [in] */ DWORD cbInstanceData,
  14602.     /* [size_is][out] */ LPVOID pPropData,
  14603.     /* [in] */ DWORD cbPropData,
  14604.     /* [out] */ DWORD __RPC_FAR *pcbReturned);
  14605.  
  14606.  
  14607. void __RPC_STUB IKsPropertySet_Get_Stub(
  14608.     IRpcStubBuffer *This,
  14609.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14610.     PRPC_MESSAGE _pRpcMessage,
  14611.     DWORD *_pdwStubPhase);
  14612.  
  14613.  
  14614. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  14615.     IKsPropertySet __RPC_FAR * This,
  14616.     /* [in] */ REFGUID guidPropSet,
  14617.     /* [in] */ DWORD dwPropID,
  14618.     /* [out] */ DWORD __RPC_FAR *pTypeSupport);
  14619.  
  14620.  
  14621. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  14622.     IRpcStubBuffer *This,
  14623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14624.     PRPC_MESSAGE _pRpcMessage,
  14625.     DWORD *_pdwStubPhase);
  14626.  
  14627.  
  14628.  
  14629. #endif     /* __IKsPropertySet_INTERFACE_DEFINED__ */
  14630.  
  14631.  
  14632. /* interface __MIDL_itf_strmif_0152 */
  14633. /* [local] */ 
  14634.  
  14635. #endif // _IKsPropertySet_
  14636.  
  14637.  
  14638. extern RPC_IF_HANDLE __MIDL_itf_strmif_0152_v0_0_c_ifspec;
  14639. extern RPC_IF_HANDLE __MIDL_itf_strmif_0152_v0_0_s_ifspec;
  14640.  
  14641. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  14642. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  14643.  
  14644. /* interface IMediaPropertyBag */
  14645. /* [unique][uuid][object] */ 
  14646.  
  14647. typedef IMediaPropertyBag __RPC_FAR *LPMEDIAPROPERTYBAG;
  14648.  
  14649.  
  14650. EXTERN_C const IID IID_IMediaPropertyBag;
  14651.  
  14652. #if defined(__cplusplus) && !defined(CINTERFACE)
  14653.     
  14654.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  14655.     IMediaPropertyBag : public IPropertyBag
  14656.     {
  14657.     public:
  14658.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumProperty( 
  14659.             /* [in] */ ULONG iProperty,
  14660.             /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyName,
  14661.             /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyValue) = 0;
  14662.         
  14663.     };
  14664.     
  14665. #else     /* C style interface */
  14666.  
  14667.     typedef struct IMediaPropertyBagVtbl
  14668.     {
  14669.         BEGIN_INTERFACE
  14670.         
  14671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14672.             IMediaPropertyBag __RPC_FAR * This,
  14673.             /* [in] */ REFIID riid,
  14674.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14675.         
  14676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14677.             IMediaPropertyBag __RPC_FAR * This);
  14678.         
  14679.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14680.             IMediaPropertyBag __RPC_FAR * This);
  14681.         
  14682.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  14683.             IMediaPropertyBag __RPC_FAR * This,
  14684.             /* [in] */ LPCOLESTR pszPropName,
  14685.             /* [out][in] */ VARIANT __RPC_FAR *pVar,
  14686.             /* [in] */ IErrorLog __RPC_FAR *pErrorLog);
  14687.         
  14688.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  14689.             IMediaPropertyBag __RPC_FAR * This,
  14690.             /* [in] */ LPCOLESTR pszPropName,
  14691.             /* [in] */ VARIANT __RPC_FAR *pVar);
  14692.         
  14693.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumProperty )( 
  14694.             IMediaPropertyBag __RPC_FAR * This,
  14695.             /* [in] */ ULONG iProperty,
  14696.             /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyName,
  14697.             /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyValue);
  14698.         
  14699.         END_INTERFACE
  14700.     } IMediaPropertyBagVtbl;
  14701.  
  14702.     interface IMediaPropertyBag
  14703.     {
  14704.         CONST_VTBL struct IMediaPropertyBagVtbl __RPC_FAR *lpVtbl;
  14705.     };
  14706.  
  14707.     
  14708.  
  14709. #ifdef COBJMACROS
  14710.  
  14711.  
  14712. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  14713.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14714.  
  14715. #define IMediaPropertyBag_AddRef(This)    \
  14716.     (This)->lpVtbl -> AddRef(This)
  14717.  
  14718. #define IMediaPropertyBag_Release(This)    \
  14719.     (This)->lpVtbl -> Release(This)
  14720.  
  14721.  
  14722. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  14723.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  14724.  
  14725. #define IMediaPropertyBag_Write(This,pszPropName,pVar)    \
  14726.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  14727.  
  14728.  
  14729. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)    \
  14730.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  14731.  
  14732. #endif /* COBJMACROS */
  14733.  
  14734.  
  14735. #endif     /* C style interface */
  14736.  
  14737.  
  14738.  
  14739. /* [local] */ HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  14740.     IMediaPropertyBag __RPC_FAR * This,
  14741.     /* [in] */ ULONG iProperty,
  14742.     /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyName,
  14743.     /* [out][in] */ VARIANT __RPC_FAR *pvarPropertyValue);
  14744.  
  14745.  
  14746. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  14747.     IRpcStubBuffer *This,
  14748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14749.     PRPC_MESSAGE _pRpcMessage,
  14750.     DWORD *_pdwStubPhase);
  14751.  
  14752.  
  14753.  
  14754. #endif     /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  14755.  
  14756.  
  14757. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  14758. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  14759.  
  14760. /* interface IPersistMediaPropertyBag */
  14761. /* [unique][uuid][object] */ 
  14762.  
  14763. typedef IPersistMediaPropertyBag __RPC_FAR *LPPERSISTMEDIAPROPERTYBAG;
  14764.  
  14765.  
  14766. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  14767.  
  14768. #if defined(__cplusplus) && !defined(CINTERFACE)
  14769.     
  14770.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  14771.     IPersistMediaPropertyBag : public IPersist
  14772.     {
  14773.     public:
  14774.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  14775.         
  14776.         virtual HRESULT STDMETHODCALLTYPE Load( 
  14777.             /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14778.             /* [in] */ IErrorLog __RPC_FAR *pErrorLog) = 0;
  14779.         
  14780.         virtual HRESULT STDMETHODCALLTYPE Save( 
  14781.             /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14782.             /* [in] */ BOOL fClearDirty,
  14783.             /* [in] */ BOOL fSaveAllProperties) = 0;
  14784.         
  14785.     };
  14786.     
  14787. #else     /* C style interface */
  14788.  
  14789.     typedef struct IPersistMediaPropertyBagVtbl
  14790.     {
  14791.         BEGIN_INTERFACE
  14792.         
  14793.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14794.             IPersistMediaPropertyBag __RPC_FAR * This,
  14795.             /* [in] */ REFIID riid,
  14796.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14797.         
  14798.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14799.             IPersistMediaPropertyBag __RPC_FAR * This);
  14800.         
  14801.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14802.             IPersistMediaPropertyBag __RPC_FAR * This);
  14803.         
  14804.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  14805.             IPersistMediaPropertyBag __RPC_FAR * This,
  14806.             /* [out] */ CLSID __RPC_FAR *pClassID);
  14807.         
  14808.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )( 
  14809.             IPersistMediaPropertyBag __RPC_FAR * This);
  14810.         
  14811.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  14812.             IPersistMediaPropertyBag __RPC_FAR * This,
  14813.             /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14814.             /* [in] */ IErrorLog __RPC_FAR *pErrorLog);
  14815.         
  14816.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  14817.             IPersistMediaPropertyBag __RPC_FAR * This,
  14818.             /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14819.             /* [in] */ BOOL fClearDirty,
  14820.             /* [in] */ BOOL fSaveAllProperties);
  14821.         
  14822.         END_INTERFACE
  14823.     } IPersistMediaPropertyBagVtbl;
  14824.  
  14825.     interface IPersistMediaPropertyBag
  14826.     {
  14827.         CONST_VTBL struct IPersistMediaPropertyBagVtbl __RPC_FAR *lpVtbl;
  14828.     };
  14829.  
  14830.     
  14831.  
  14832. #ifdef COBJMACROS
  14833.  
  14834.  
  14835. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  14836.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14837.  
  14838. #define IPersistMediaPropertyBag_AddRef(This)    \
  14839.     (This)->lpVtbl -> AddRef(This)
  14840.  
  14841. #define IPersistMediaPropertyBag_Release(This)    \
  14842.     (This)->lpVtbl -> Release(This)
  14843.  
  14844.  
  14845. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)    \
  14846.     (This)->lpVtbl -> GetClassID(This,pClassID)
  14847.  
  14848.  
  14849. #define IPersistMediaPropertyBag_InitNew(This)    \
  14850.     (This)->lpVtbl -> InitNew(This)
  14851.  
  14852. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)    \
  14853.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  14854.  
  14855. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)    \
  14856.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  14857.  
  14858. #endif /* COBJMACROS */
  14859.  
  14860.  
  14861. #endif     /* C style interface */
  14862.  
  14863.  
  14864.  
  14865. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  14866.     IPersistMediaPropertyBag __RPC_FAR * This);
  14867.  
  14868.  
  14869. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  14870.     IRpcStubBuffer *This,
  14871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14872.     PRPC_MESSAGE _pRpcMessage,
  14873.     DWORD *_pdwStubPhase);
  14874.  
  14875.  
  14876. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  14877.     IPersistMediaPropertyBag __RPC_FAR * This,
  14878.     /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14879.     /* [in] */ IErrorLog __RPC_FAR *pErrorLog);
  14880.  
  14881.  
  14882. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  14883.     IRpcStubBuffer *This,
  14884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14885.     PRPC_MESSAGE _pRpcMessage,
  14886.     DWORD *_pdwStubPhase);
  14887.  
  14888.  
  14889. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  14890.     IPersistMediaPropertyBag __RPC_FAR * This,
  14891.     /* [in] */ IMediaPropertyBag __RPC_FAR *pPropBag,
  14892.     /* [in] */ BOOL fClearDirty,
  14893.     /* [in] */ BOOL fSaveAllProperties);
  14894.  
  14895.  
  14896. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  14897.     IRpcStubBuffer *This,
  14898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14899.     PRPC_MESSAGE _pRpcMessage,
  14900.     DWORD *_pdwStubPhase);
  14901.  
  14902.  
  14903.  
  14904. #endif     /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  14905.  
  14906.  
  14907. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  14908. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  14909.  
  14910. /* interface IAMPhysicalPinInfo */
  14911. /* [unique][uuid][object] */ 
  14912.  
  14913.  
  14914. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  14915.  
  14916. #if defined(__cplusplus) && !defined(CINTERFACE)
  14917.     
  14918.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  14919.     IAMPhysicalPinInfo : public IUnknown
  14920.     {
  14921.     public:
  14922.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  14923.             /* [out] */ long __RPC_FAR *pType,
  14924.             /* [out] */ LPOLESTR __RPC_FAR *ppszType) = 0;
  14925.         
  14926.     };
  14927.     
  14928. #else     /* C style interface */
  14929.  
  14930.     typedef struct IAMPhysicalPinInfoVtbl
  14931.     {
  14932.         BEGIN_INTERFACE
  14933.         
  14934.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  14935.             IAMPhysicalPinInfo __RPC_FAR * This,
  14936.             /* [in] */ REFIID riid,
  14937.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  14938.         
  14939.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  14940.             IAMPhysicalPinInfo __RPC_FAR * This);
  14941.         
  14942.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  14943.             IAMPhysicalPinInfo __RPC_FAR * This);
  14944.         
  14945.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPhysicalType )( 
  14946.             IAMPhysicalPinInfo __RPC_FAR * This,
  14947.             /* [out] */ long __RPC_FAR *pType,
  14948.             /* [out] */ LPOLESTR __RPC_FAR *ppszType);
  14949.         
  14950.         END_INTERFACE
  14951.     } IAMPhysicalPinInfoVtbl;
  14952.  
  14953.     interface IAMPhysicalPinInfo
  14954.     {
  14955.         CONST_VTBL struct IAMPhysicalPinInfoVtbl __RPC_FAR *lpVtbl;
  14956.     };
  14957.  
  14958.     
  14959.  
  14960. #ifdef COBJMACROS
  14961.  
  14962.  
  14963. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)    \
  14964.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14965.  
  14966. #define IAMPhysicalPinInfo_AddRef(This)    \
  14967.     (This)->lpVtbl -> AddRef(This)
  14968.  
  14969. #define IAMPhysicalPinInfo_Release(This)    \
  14970.     (This)->lpVtbl -> Release(This)
  14971.  
  14972.  
  14973. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)    \
  14974.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  14975.  
  14976. #endif /* COBJMACROS */
  14977.  
  14978.  
  14979. #endif     /* C style interface */
  14980.  
  14981.  
  14982.  
  14983. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  14984.     IAMPhysicalPinInfo __RPC_FAR * This,
  14985.     /* [out] */ long __RPC_FAR *pType,
  14986.     /* [out] */ LPOLESTR __RPC_FAR *ppszType);
  14987.  
  14988.  
  14989. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  14990.     IRpcStubBuffer *This,
  14991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14992.     PRPC_MESSAGE _pRpcMessage,
  14993.     DWORD *_pdwStubPhase);
  14994.  
  14995.  
  14996.  
  14997. #endif     /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  14998.  
  14999.  
  15000. /* interface __MIDL_itf_strmif_0318 */
  15001. /* [local] */ 
  15002.  
  15003. typedef IAMPhysicalPinInfo __RPC_FAR *PAMPHYSICALPININFO;
  15004.  
  15005.  
  15006.  
  15007. extern RPC_IF_HANDLE __MIDL_itf_strmif_0318_v0_0_c_ifspec;
  15008. extern RPC_IF_HANDLE __MIDL_itf_strmif_0318_v0_0_s_ifspec;
  15009.  
  15010. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  15011. #define __IAMExtDevice_INTERFACE_DEFINED__
  15012.  
  15013. /* interface IAMExtDevice */
  15014. /* [unique][uuid][object] */ 
  15015.  
  15016.  
  15017. EXTERN_C const IID IID_IAMExtDevice;
  15018.  
  15019. #if defined(__cplusplus) && !defined(CINTERFACE)
  15020.     
  15021.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  15022.     IAMExtDevice : public IUnknown
  15023.     {
  15024.     public:
  15025.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15026.             /* [in] */ long Capability,
  15027.             /* [out] */ long __RPC_FAR *pValue,
  15028.             /* [out] */ double __RPC_FAR *pdblValue) = 0;
  15029.         
  15030.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  15031.             /* [out] */ LPOLESTR __RPC_FAR *ppszData) = 0;
  15032.         
  15033.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  15034.             /* [out] */ LPOLESTR __RPC_FAR *ppszData) = 0;
  15035.         
  15036.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  15037.             /* [in] */ long PowerMode) = 0;
  15038.         
  15039.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  15040.             /* [out] */ long __RPC_FAR *pPowerMode) = 0;
  15041.         
  15042.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  15043.             /* [in] */ HEVENT hEvent,
  15044.             /* [in] */ long Mode,
  15045.             /* [out] */ long __RPC_FAR *pStatus) = 0;
  15046.         
  15047.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  15048.             /* [in] */ long DevicePort) = 0;
  15049.         
  15050.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  15051.             /* [out] */ long __RPC_FAR *pDevicePort) = 0;
  15052.         
  15053.     };
  15054.     
  15055. #else     /* C style interface */
  15056.  
  15057.     typedef struct IAMExtDeviceVtbl
  15058.     {
  15059.         BEGIN_INTERFACE
  15060.         
  15061.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  15062.             IAMExtDevice __RPC_FAR * This,
  15063.             /* [in] */ REFIID riid,
  15064.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  15065.         
  15066.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  15067.             IAMExtDevice __RPC_FAR * This);
  15068.         
  15069.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  15070.             IAMExtDevice __RPC_FAR * This);
  15071.         
  15072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapability )( 
  15073.             IAMExtDevice __RPC_FAR * This,
  15074.             /* [in] */ long Capability,
  15075.             /* [out] */ long __RPC_FAR *pValue,
  15076.             /* [out] */ double __RPC_FAR *pdblValue);
  15077.         
  15078.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExternalDeviceID )( 
  15079.             IAMExtDevice __RPC_FAR * This,
  15080.             /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15081.         
  15082.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExternalDeviceVersion )( 
  15083.             IAMExtDevice __RPC_FAR * This,
  15084.             /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15085.         
  15086.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DevicePower )( 
  15087.             IAMExtDevice __RPC_FAR * This,
  15088.             /* [in] */ long PowerMode);
  15089.         
  15090.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DevicePower )( 
  15091.             IAMExtDevice __RPC_FAR * This,
  15092.             /* [out] */ long __RPC_FAR *pPowerMode);
  15093.         
  15094.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Calibrate )( 
  15095.             IAMExtDevice __RPC_FAR * This,
  15096.             /* [in] */ HEVENT hEvent,
  15097.             /* [in] */ long Mode,
  15098.             /* [out] */ long __RPC_FAR *pStatus);
  15099.         
  15100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DevicePort )( 
  15101.             IAMExtDevice __RPC_FAR * This,
  15102.             /* [in] */ long DevicePort);
  15103.         
  15104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DevicePort )( 
  15105.             IAMExtDevice __RPC_FAR * This,
  15106.             /* [out] */ long __RPC_FAR *pDevicePort);
  15107.         
  15108.         END_INTERFACE
  15109.     } IAMExtDeviceVtbl;
  15110.  
  15111.     interface IAMExtDevice
  15112.     {
  15113.         CONST_VTBL struct IAMExtDeviceVtbl __RPC_FAR *lpVtbl;
  15114.     };
  15115.  
  15116.     
  15117.  
  15118. #ifdef COBJMACROS
  15119.  
  15120.  
  15121. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)    \
  15122.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15123.  
  15124. #define IAMExtDevice_AddRef(This)    \
  15125.     (This)->lpVtbl -> AddRef(This)
  15126.  
  15127. #define IAMExtDevice_Release(This)    \
  15128.     (This)->lpVtbl -> Release(This)
  15129.  
  15130.  
  15131. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)    \
  15132.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15133.  
  15134. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)    \
  15135.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  15136.  
  15137. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)    \
  15138.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  15139.  
  15140. #define IAMExtDevice_put_DevicePower(This,PowerMode)    \
  15141.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  15142.  
  15143. #define IAMExtDevice_get_DevicePower(This,pPowerMode)    \
  15144.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  15145.  
  15146. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)    \
  15147.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  15148.  
  15149. #define IAMExtDevice_put_DevicePort(This,DevicePort)    \
  15150.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  15151.  
  15152. #define IAMExtDevice_get_DevicePort(This,pDevicePort)    \
  15153.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  15154.  
  15155. #endif /* COBJMACROS */
  15156.  
  15157.  
  15158. #endif     /* C style interface */
  15159.  
  15160.  
  15161.  
  15162. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  15163.     IAMExtDevice __RPC_FAR * This,
  15164.     /* [in] */ long Capability,
  15165.     /* [out] */ long __RPC_FAR *pValue,
  15166.     /* [out] */ double __RPC_FAR *pdblValue);
  15167.  
  15168.  
  15169. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  15170.     IRpcStubBuffer *This,
  15171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15172.     PRPC_MESSAGE _pRpcMessage,
  15173.     DWORD *_pdwStubPhase);
  15174.  
  15175.  
  15176. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  15177.     IAMExtDevice __RPC_FAR * This,
  15178.     /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15179.  
  15180.  
  15181. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  15182.     IRpcStubBuffer *This,
  15183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15184.     PRPC_MESSAGE _pRpcMessage,
  15185.     DWORD *_pdwStubPhase);
  15186.  
  15187.  
  15188. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  15189.     IAMExtDevice __RPC_FAR * This,
  15190.     /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15191.  
  15192.  
  15193. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  15194.     IRpcStubBuffer *This,
  15195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15196.     PRPC_MESSAGE _pRpcMessage,
  15197.     DWORD *_pdwStubPhase);
  15198.  
  15199.  
  15200. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  15201.     IAMExtDevice __RPC_FAR * This,
  15202.     /* [in] */ long PowerMode);
  15203.  
  15204.  
  15205. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  15206.     IRpcStubBuffer *This,
  15207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15208.     PRPC_MESSAGE _pRpcMessage,
  15209.     DWORD *_pdwStubPhase);
  15210.  
  15211.  
  15212. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  15213.     IAMExtDevice __RPC_FAR * This,
  15214.     /* [out] */ long __RPC_FAR *pPowerMode);
  15215.  
  15216.  
  15217. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  15218.     IRpcStubBuffer *This,
  15219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15220.     PRPC_MESSAGE _pRpcMessage,
  15221.     DWORD *_pdwStubPhase);
  15222.  
  15223.  
  15224. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  15225.     IAMExtDevice __RPC_FAR * This,
  15226.     /* [in] */ HEVENT hEvent,
  15227.     /* [in] */ long Mode,
  15228.     /* [out] */ long __RPC_FAR *pStatus);
  15229.  
  15230.  
  15231. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  15232.     IRpcStubBuffer *This,
  15233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15234.     PRPC_MESSAGE _pRpcMessage,
  15235.     DWORD *_pdwStubPhase);
  15236.  
  15237.  
  15238. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  15239.     IAMExtDevice __RPC_FAR * This,
  15240.     /* [in] */ long DevicePort);
  15241.  
  15242.  
  15243. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  15244.     IRpcStubBuffer *This,
  15245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15246.     PRPC_MESSAGE _pRpcMessage,
  15247.     DWORD *_pdwStubPhase);
  15248.  
  15249.  
  15250. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  15251.     IAMExtDevice __RPC_FAR * This,
  15252.     /* [out] */ long __RPC_FAR *pDevicePort);
  15253.  
  15254.  
  15255. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  15256.     IRpcStubBuffer *This,
  15257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15258.     PRPC_MESSAGE _pRpcMessage,
  15259.     DWORD *_pdwStubPhase);
  15260.  
  15261.  
  15262.  
  15263. #endif     /* __IAMExtDevice_INTERFACE_DEFINED__ */
  15264.  
  15265.  
  15266. /* interface __MIDL_itf_strmif_0319 */
  15267. /* [local] */ 
  15268.  
  15269. typedef IAMExtDevice __RPC_FAR *PEXTDEVICE;
  15270.  
  15271.  
  15272.  
  15273. extern RPC_IF_HANDLE __MIDL_itf_strmif_0319_v0_0_c_ifspec;
  15274. extern RPC_IF_HANDLE __MIDL_itf_strmif_0319_v0_0_s_ifspec;
  15275.  
  15276. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  15277. #define __IAMExtTransport_INTERFACE_DEFINED__
  15278.  
  15279. /* interface IAMExtTransport */
  15280. /* [unique][uuid][object] */ 
  15281.  
  15282.  
  15283. EXTERN_C const IID IID_IAMExtTransport;
  15284.  
  15285. #if defined(__cplusplus) && !defined(CINTERFACE)
  15286.     
  15287.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  15288.     IAMExtTransport : public IUnknown
  15289.     {
  15290.     public:
  15291.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15292.             /* [in] */ long Capability,
  15293.             /* [out] */ long __RPC_FAR *pValue,
  15294.             /* [out] */ double __RPC_FAR *pdblValue) = 0;
  15295.         
  15296.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  15297.             /* [in] */ long State) = 0;
  15298.         
  15299.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  15300.             /* [out] */ long __RPC_FAR *pState) = 0;
  15301.         
  15302.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  15303.             /* [in] */ long State) = 0;
  15304.         
  15305.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  15306.             /* [out] */ long __RPC_FAR *pState) = 0;
  15307.         
  15308.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  15309.             /* [in] */ long StatusItem,
  15310.             /* [out] */ long __RPC_FAR *pValue) = 0;
  15311.         
  15312.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  15313.             /* [in] */ long Param,
  15314.             /* [out] */ long __RPC_FAR *pValue,
  15315.             /* [out] */ LPOLESTR __RPC_FAR *ppszData) = 0;
  15316.         
  15317.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  15318.             /* [in] */ long Param,
  15319.             /* [in] */ long Value,
  15320.             /* [in] */ LPCOLESTR pszData) = 0;
  15321.         
  15322.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  15323.             /* [in] */ long Param,
  15324.             /* [out] */ long __RPC_FAR *pValue) = 0;
  15325.         
  15326.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  15327.             /* [in] */ long Param,
  15328.             /* [in] */ long Value) = 0;
  15329.         
  15330.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  15331.             /* [in] */ long Param,
  15332.             /* [out] */ long __RPC_FAR *pValue) = 0;
  15333.         
  15334.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  15335.             /* [in] */ long Param,
  15336.             /* [in] */ long Value) = 0;
  15337.         
  15338.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  15339.             /* [in] */ long Mode) = 0;
  15340.         
  15341.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  15342.             /* [out] */ long __RPC_FAR *pMode) = 0;
  15343.         
  15344.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  15345.             /* [in] */ double dblRate) = 0;
  15346.         
  15347.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  15348.             /* [out] */ double __RPC_FAR *pdblRate) = 0;
  15349.         
  15350.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  15351.             /* [out] */ long __RPC_FAR *pEnabled,
  15352.             /* [out] */ long __RPC_FAR *pOffset,
  15353.             /* [out] */ HEVENT __RPC_FAR *phEvent) = 0;
  15354.         
  15355.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  15356.             /* [in] */ long Enable,
  15357.             /* [in] */ long Offset,
  15358.             /* [in] */ HEVENT hEvent) = 0;
  15359.         
  15360.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  15361.             /* [out] */ long __RPC_FAR *pSpeed,
  15362.             /* [out] */ long __RPC_FAR *pDuration) = 0;
  15363.         
  15364.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  15365.             /* [in] */ long Speed,
  15366.             /* [in] */ long Duration) = 0;
  15367.         
  15368.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  15369.             /* [out] */ long __RPC_FAR *pEnabled) = 0;
  15370.         
  15371.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  15372.             /* [in] */ long Enable) = 0;
  15373.         
  15374.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  15375.             /* [in] */ long EditID,
  15376.             /* [out] */ long __RPC_FAR *pState) = 0;
  15377.         
  15378.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  15379.             /* [out][in] */ long __RPC_FAR *pEditID,
  15380.             /* [in] */ long State) = 0;
  15381.         
  15382.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  15383.             /* [in] */ long EditID,
  15384.             /* [in] */ long Param,
  15385.             /* [out] */ long __RPC_FAR *pValue) = 0;
  15386.         
  15387.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  15388.             /* [in] */ long EditID,
  15389.             /* [in] */ long Param,
  15390.             /* [in] */ long Value) = 0;
  15391.         
  15392.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  15393.             /* [out] */ long __RPC_FAR *pValue) = 0;
  15394.         
  15395.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  15396.             /* [in] */ long Value) = 0;
  15397.         
  15398.     };
  15399.     
  15400. #else     /* C style interface */
  15401.  
  15402.     typedef struct IAMExtTransportVtbl
  15403.     {
  15404.         BEGIN_INTERFACE
  15405.         
  15406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  15407.             IAMExtTransport __RPC_FAR * This,
  15408.             /* [in] */ REFIID riid,
  15409.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  15410.         
  15411.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  15412.             IAMExtTransport __RPC_FAR * This);
  15413.         
  15414.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  15415.             IAMExtTransport __RPC_FAR * This);
  15416.         
  15417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCapability )( 
  15418.             IAMExtTransport __RPC_FAR * This,
  15419.             /* [in] */ long Capability,
  15420.             /* [out] */ long __RPC_FAR *pValue,
  15421.             /* [out] */ double __RPC_FAR *pdblValue);
  15422.         
  15423.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MediaState )( 
  15424.             IAMExtTransport __RPC_FAR * This,
  15425.             /* [in] */ long State);
  15426.         
  15427.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MediaState )( 
  15428.             IAMExtTransport __RPC_FAR * This,
  15429.             /* [out] */ long __RPC_FAR *pState);
  15430.         
  15431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LocalControl )( 
  15432.             IAMExtTransport __RPC_FAR * This,
  15433.             /* [in] */ long State);
  15434.         
  15435.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LocalControl )( 
  15436.             IAMExtTransport __RPC_FAR * This,
  15437.             /* [out] */ long __RPC_FAR *pState);
  15438.         
  15439.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 
  15440.             IAMExtTransport __RPC_FAR * This,
  15441.             /* [in] */ long StatusItem,
  15442.             /* [out] */ long __RPC_FAR *pValue);
  15443.         
  15444.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransportBasicParameters )( 
  15445.             IAMExtTransport __RPC_FAR * This,
  15446.             /* [in] */ long Param,
  15447.             /* [out] */ long __RPC_FAR *pValue,
  15448.             /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15449.         
  15450.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTransportBasicParameters )( 
  15451.             IAMExtTransport __RPC_FAR * This,
  15452.             /* [in] */ long Param,
  15453.             /* [in] */ long Value,
  15454.             /* [in] */ LPCOLESTR pszData);
  15455.         
  15456.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransportVideoParameters )( 
  15457.             IAMExtTransport __RPC_FAR * This,
  15458.             /* [in] */ long Param,
  15459.             /* [out] */ long __RPC_FAR *pValue);
  15460.         
  15461.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTransportVideoParameters )( 
  15462.             IAMExtTransport __RPC_FAR * This,
  15463.             /* [in] */ long Param,
  15464.             /* [in] */ long Value);
  15465.         
  15466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransportAudioParameters )( 
  15467.             IAMExtTransport __RPC_FAR * This,
  15468.             /* [in] */ long Param,
  15469.             /* [out] */ long __RPC_FAR *pValue);
  15470.         
  15471.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTransportAudioParameters )( 
  15472.             IAMExtTransport __RPC_FAR * This,
  15473.             /* [in] */ long Param,
  15474.             /* [in] */ long Value);
  15475.         
  15476.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mode )( 
  15477.             IAMExtTransport __RPC_FAR * This,
  15478.             /* [in] */ long Mode);
  15479.         
  15480.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mode )( 
  15481.             IAMExtTransport __RPC_FAR * This,
  15482.             /* [out] */ long __RPC_FAR *pMode);
  15483.         
  15484.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rate )( 
  15485.             IAMExtTransport __RPC_FAR * This,
  15486.             /* [in] */ double dblRate);
  15487.         
  15488.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rate )( 
  15489.             IAMExtTransport __RPC_FAR * This,
  15490.             /* [out] */ double __RPC_FAR *pdblRate);
  15491.         
  15492.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetChase )( 
  15493.             IAMExtTransport __RPC_FAR * This,
  15494.             /* [out] */ long __RPC_FAR *pEnabled,
  15495.             /* [out] */ long __RPC_FAR *pOffset,
  15496.             /* [out] */ HEVENT __RPC_FAR *phEvent);
  15497.         
  15498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetChase )( 
  15499.             IAMExtTransport __RPC_FAR * This,
  15500.             /* [in] */ long Enable,
  15501.             /* [in] */ long Offset,
  15502.             /* [in] */ HEVENT hEvent);
  15503.         
  15504.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBump )( 
  15505.             IAMExtTransport __RPC_FAR * This,
  15506.             /* [out] */ long __RPC_FAR *pSpeed,
  15507.             /* [out] */ long __RPC_FAR *pDuration);
  15508.         
  15509.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBump )( 
  15510.             IAMExtTransport __RPC_FAR * This,
  15511.             /* [in] */ long Speed,
  15512.             /* [in] */ long Duration);
  15513.         
  15514.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AntiClogControl )( 
  15515.             IAMExtTransport __RPC_FAR * This,
  15516.             /* [out] */ long __RPC_FAR *pEnabled);
  15517.         
  15518.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AntiClogControl )( 
  15519.             IAMExtTransport __RPC_FAR * This,
  15520.             /* [in] */ long Enable);
  15521.         
  15522.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEditPropertySet )( 
  15523.             IAMExtTransport __RPC_FAR * This,
  15524.             /* [in] */ long EditID,
  15525.             /* [out] */ long __RPC_FAR *pState);
  15526.         
  15527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEditPropertySet )( 
  15528.             IAMExtTransport __RPC_FAR * This,
  15529.             /* [out][in] */ long __RPC_FAR *pEditID,
  15530.             /* [in] */ long State);
  15531.         
  15532.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEditProperty )( 
  15533.             IAMExtTransport __RPC_FAR * This,
  15534.             /* [in] */ long EditID,
  15535.             /* [in] */ long Param,
  15536.             /* [out] */ long __RPC_FAR *pValue);
  15537.         
  15538.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEditProperty )( 
  15539.             IAMExtTransport __RPC_FAR * This,
  15540.             /* [in] */ long EditID,
  15541.             /* [in] */ long Param,
  15542.             /* [in] */ long Value);
  15543.         
  15544.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EditStart )( 
  15545.             IAMExtTransport __RPC_FAR * This,
  15546.             /* [out] */ long __RPC_FAR *pValue);
  15547.         
  15548.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EditStart )( 
  15549.             IAMExtTransport __RPC_FAR * This,
  15550.             /* [in] */ long Value);
  15551.         
  15552.         END_INTERFACE
  15553.     } IAMExtTransportVtbl;
  15554.  
  15555.     interface IAMExtTransport
  15556.     {
  15557.         CONST_VTBL struct IAMExtTransportVtbl __RPC_FAR *lpVtbl;
  15558.     };
  15559.  
  15560.     
  15561.  
  15562. #ifdef COBJMACROS
  15563.  
  15564.  
  15565. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)    \
  15566.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15567.  
  15568. #define IAMExtTransport_AddRef(This)    \
  15569.     (This)->lpVtbl -> AddRef(This)
  15570.  
  15571. #define IAMExtTransport_Release(This)    \
  15572.     (This)->lpVtbl -> Release(This)
  15573.  
  15574.  
  15575. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)    \
  15576.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15577.  
  15578. #define IAMExtTransport_put_MediaState(This,State)    \
  15579.     (This)->lpVtbl -> put_MediaState(This,State)
  15580.  
  15581. #define IAMExtTransport_get_MediaState(This,pState)    \
  15582.     (This)->lpVtbl -> get_MediaState(This,pState)
  15583.  
  15584. #define IAMExtTransport_put_LocalControl(This,State)    \
  15585.     (This)->lpVtbl -> put_LocalControl(This,State)
  15586.  
  15587. #define IAMExtTransport_get_LocalControl(This,pState)    \
  15588.     (This)->lpVtbl -> get_LocalControl(This,pState)
  15589.  
  15590. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)    \
  15591.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  15592.  
  15593. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)    \
  15594.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  15595.  
  15596. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)    \
  15597.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  15598.  
  15599. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)    \
  15600.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  15601.  
  15602. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)    \
  15603.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  15604.  
  15605. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)    \
  15606.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  15607.  
  15608. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)    \
  15609.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  15610.  
  15611. #define IAMExtTransport_put_Mode(This,Mode)    \
  15612.     (This)->lpVtbl -> put_Mode(This,Mode)
  15613.  
  15614. #define IAMExtTransport_get_Mode(This,pMode)    \
  15615.     (This)->lpVtbl -> get_Mode(This,pMode)
  15616.  
  15617. #define IAMExtTransport_put_Rate(This,dblRate)    \
  15618.     (This)->lpVtbl -> put_Rate(This,dblRate)
  15619.  
  15620. #define IAMExtTransport_get_Rate(This,pdblRate)    \
  15621.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  15622.  
  15623. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)    \
  15624.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  15625.  
  15626. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)    \
  15627.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  15628.  
  15629. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)    \
  15630.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  15631.  
  15632. #define IAMExtTransport_SetBump(This,Speed,Duration)    \
  15633.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  15634.  
  15635. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)    \
  15636.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  15637.  
  15638. #define IAMExtTransport_put_AntiClogControl(This,Enable)    \
  15639.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  15640.  
  15641. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)    \
  15642.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  15643.  
  15644. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)    \
  15645.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  15646.  
  15647. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)    \
  15648.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  15649.  
  15650. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)    \
  15651.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  15652.  
  15653. #define IAMExtTransport_get_EditStart(This,pValue)    \
  15654.     (This)->lpVtbl -> get_EditStart(This,pValue)
  15655.  
  15656. #define IAMExtTransport_put_EditStart(This,Value)    \
  15657.     (This)->lpVtbl -> put_EditStart(This,Value)
  15658.  
  15659. #endif /* COBJMACROS */
  15660.  
  15661.  
  15662. #endif     /* C style interface */
  15663.  
  15664.  
  15665.  
  15666. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  15667.     IAMExtTransport __RPC_FAR * This,
  15668.     /* [in] */ long Capability,
  15669.     /* [out] */ long __RPC_FAR *pValue,
  15670.     /* [out] */ double __RPC_FAR *pdblValue);
  15671.  
  15672.  
  15673. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  15674.     IRpcStubBuffer *This,
  15675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15676.     PRPC_MESSAGE _pRpcMessage,
  15677.     DWORD *_pdwStubPhase);
  15678.  
  15679.  
  15680. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  15681.     IAMExtTransport __RPC_FAR * This,
  15682.     /* [in] */ long State);
  15683.  
  15684.  
  15685. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  15686.     IRpcStubBuffer *This,
  15687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15688.     PRPC_MESSAGE _pRpcMessage,
  15689.     DWORD *_pdwStubPhase);
  15690.  
  15691.  
  15692. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  15693.     IAMExtTransport __RPC_FAR * This,
  15694.     /* [out] */ long __RPC_FAR *pState);
  15695.  
  15696.  
  15697. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  15698.     IRpcStubBuffer *This,
  15699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15700.     PRPC_MESSAGE _pRpcMessage,
  15701.     DWORD *_pdwStubPhase);
  15702.  
  15703.  
  15704. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  15705.     IAMExtTransport __RPC_FAR * This,
  15706.     /* [in] */ long State);
  15707.  
  15708.  
  15709. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  15710.     IRpcStubBuffer *This,
  15711.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15712.     PRPC_MESSAGE _pRpcMessage,
  15713.     DWORD *_pdwStubPhase);
  15714.  
  15715.  
  15716. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  15717.     IAMExtTransport __RPC_FAR * This,
  15718.     /* [out] */ long __RPC_FAR *pState);
  15719.  
  15720.  
  15721. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  15722.     IRpcStubBuffer *This,
  15723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15724.     PRPC_MESSAGE _pRpcMessage,
  15725.     DWORD *_pdwStubPhase);
  15726.  
  15727.  
  15728. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  15729.     IAMExtTransport __RPC_FAR * This,
  15730.     /* [in] */ long StatusItem,
  15731.     /* [out] */ long __RPC_FAR *pValue);
  15732.  
  15733.  
  15734. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  15735.     IRpcStubBuffer *This,
  15736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15737.     PRPC_MESSAGE _pRpcMessage,
  15738.     DWORD *_pdwStubPhase);
  15739.  
  15740.  
  15741. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  15742.     IAMExtTransport __RPC_FAR * This,
  15743.     /* [in] */ long Param,
  15744.     /* [out] */ long __RPC_FAR *pValue,
  15745.     /* [out] */ LPOLESTR __RPC_FAR *ppszData);
  15746.  
  15747.  
  15748. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  15749.     IRpcStubBuffer *This,
  15750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15751.     PRPC_MESSAGE _pRpcMessage,
  15752.     DWORD *_pdwStubPhase);
  15753.  
  15754.  
  15755. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  15756.     IAMExtTransport __RPC_FAR * This,
  15757.     /* [in] */ long Param,
  15758.     /* [in] */ long Value,
  15759.     /* [in] */ LPCOLESTR pszData);
  15760.  
  15761.  
  15762. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  15763.     IRpcStubBuffer *This,
  15764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15765.     PRPC_MESSAGE _pRpcMessage,
  15766.     DWORD *_pdwStubPhase);
  15767.  
  15768.  
  15769. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  15770.     IAMExtTransport __RPC_FAR * This,
  15771.     /* [in] */ long Param,
  15772.     /* [out] */ long __RPC_FAR *pValue);
  15773.  
  15774.  
  15775. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  15776.     IRpcStubBuffer *This,
  15777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15778.     PRPC_MESSAGE _pRpcMessage,
  15779.     DWORD *_pdwStubPhase);
  15780.  
  15781.  
  15782. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  15783.     IAMExtTransport __RPC_FAR * This,
  15784.     /* [in] */ long Param,
  15785.     /* [in] */ long Value);
  15786.  
  15787.  
  15788. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  15789.     IRpcStubBuffer *This,
  15790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15791.     PRPC_MESSAGE _pRpcMessage,
  15792.     DWORD *_pdwStubPhase);
  15793.  
  15794.  
  15795. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  15796.     IAMExtTransport __RPC_FAR * This,
  15797.     /* [in] */ long Param,
  15798.     /* [out] */ long __RPC_FAR *pValue);
  15799.  
  15800.  
  15801. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  15802.     IRpcStubBuffer *This,
  15803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15804.     PRPC_MESSAGE _pRpcMessage,
  15805.     DWORD *_pdwStubPhase);
  15806.  
  15807.  
  15808. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  15809.     IAMExtTransport __RPC_FAR * This,
  15810.     /* [in] */ long Param,
  15811.     /* [in] */ long Value);
  15812.  
  15813.  
  15814. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  15815.     IRpcStubBuffer *This,
  15816.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15817.     PRPC_MESSAGE _pRpcMessage,
  15818.     DWORD *_pdwStubPhase);
  15819.  
  15820.  
  15821. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  15822.     IAMExtTransport __RPC_FAR * This,
  15823.     /* [in] */ long Mode);
  15824.  
  15825.  
  15826. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  15827.     IRpcStubBuffer *This,
  15828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15829.     PRPC_MESSAGE _pRpcMessage,
  15830.     DWORD *_pdwStubPhase);
  15831.  
  15832.  
  15833. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  15834.     IAMExtTransport __RPC_FAR * This,
  15835.     /* [out] */ long __RPC_FAR *pMode);
  15836.  
  15837.  
  15838. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  15839.     IRpcStubBuffer *This,
  15840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15841.     PRPC_MESSAGE _pRpcMessage,
  15842.     DWORD *_pdwStubPhase);
  15843.  
  15844.  
  15845. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  15846.     IAMExtTransport __RPC_FAR * This,
  15847.     /* [in] */ double dblRate);
  15848.  
  15849.  
  15850. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  15851.     IRpcStubBuffer *This,
  15852.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15853.     PRPC_MESSAGE _pRpcMessage,
  15854.     DWORD *_pdwStubPhase);
  15855.  
  15856.  
  15857. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  15858.     IAMExtTransport __RPC_FAR * This,
  15859.     /* [out] */ double __RPC_FAR *pdblRate);
  15860.  
  15861.  
  15862. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  15863.     IRpcStubBuffer *This,
  15864.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15865.     PRPC_MESSAGE _pRpcMessage,
  15866.     DWORD *_pdwStubPhase);
  15867.  
  15868.  
  15869. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  15870.     IAMExtTransport __RPC_FAR * This,
  15871.     /* [out] */ long __RPC_FAR *pEnabled,
  15872.     /* [out] */ long __RPC_FAR *pOffset,
  15873.     /* [out] */ HEVENT __RPC_FAR *phEvent);
  15874.  
  15875.  
  15876. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  15877.     IRpcStubBuffer *This,
  15878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15879.     PRPC_MESSAGE _pRpcMessage,
  15880.     DWORD *_pdwStubPhase);
  15881.  
  15882.  
  15883. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  15884.     IAMExtTransport __RPC_FAR * This,
  15885.     /* [in] */ long Enable,
  15886.     /* [in] */ long Offset,
  15887.     /* [in] */ HEVENT hEvent);
  15888.  
  15889.  
  15890. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  15891.     IRpcStubBuffer *This,
  15892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15893.     PRPC_MESSAGE _pRpcMessage,
  15894.     DWORD *_pdwStubPhase);
  15895.  
  15896.  
  15897. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  15898.     IAMExtTransport __RPC_FAR * This,
  15899.     /* [out] */ long __RPC_FAR *pSpeed,
  15900.     /* [out] */ long __RPC_FAR *pDuration);
  15901.  
  15902.  
  15903. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  15904.     IRpcStubBuffer *This,
  15905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15906.     PRPC_MESSAGE _pRpcMessage,
  15907.     DWORD *_pdwStubPhase);
  15908.  
  15909.  
  15910. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  15911.     IAMExtTransport __RPC_FAR * This,
  15912.     /* [in] */ long Speed,
  15913.     /* [in] */ long Duration);
  15914.  
  15915.  
  15916. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  15917.     IRpcStubBuffer *This,
  15918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15919.     PRPC_MESSAGE _pRpcMessage,
  15920.     DWORD *_pdwStubPhase);
  15921.  
  15922.  
  15923. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  15924.     IAMExtTransport __RPC_FAR * This,
  15925.     /* [out] */ long __RPC_FAR *pEnabled);
  15926.  
  15927.  
  15928. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  15929.     IRpcStubBuffer *This,
  15930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15931.     PRPC_MESSAGE _pRpcMessage,
  15932.     DWORD *_pdwStubPhase);
  15933.  
  15934.  
  15935. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  15936.     IAMExtTransport __RPC_FAR * This,
  15937.     /* [in] */ long Enable);
  15938.  
  15939.  
  15940. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  15941.     IRpcStubBuffer *This,
  15942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15943.     PRPC_MESSAGE _pRpcMessage,
  15944.     DWORD *_pdwStubPhase);
  15945.  
  15946.  
  15947. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  15948.     IAMExtTransport __RPC_FAR * This,
  15949.     /* [in] */ long EditID,
  15950.     /* [out] */ long __RPC_FAR *pState);
  15951.  
  15952.  
  15953. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  15954.     IRpcStubBuffer *This,
  15955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15956.     PRPC_MESSAGE _pRpcMessage,
  15957.     DWORD *_pdwStubPhase);
  15958.  
  15959.  
  15960. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  15961.     IAMExtTransport __RPC_FAR * This,
  15962.     /* [out][in] */ long __RPC_FAR *pEditID,
  15963.     /* [in] */ long State);
  15964.  
  15965.  
  15966. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  15967.     IRpcStubBuffer *This,
  15968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15969.     PRPC_MESSAGE _pRpcMessage,
  15970.     DWORD *_pdwStubPhase);
  15971.  
  15972.  
  15973. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  15974.     IAMExtTransport __RPC_FAR * This,
  15975.     /* [in] */ long EditID,
  15976.     /* [in] */ long Param,
  15977.     /* [out] */ long __RPC_FAR *pValue);
  15978.  
  15979.  
  15980. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  15981.     IRpcStubBuffer *This,
  15982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15983.     PRPC_MESSAGE _pRpcMessage,
  15984.     DWORD *_pdwStubPhase);
  15985.  
  15986.  
  15987. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  15988.     IAMExtTransport __RPC_FAR * This,
  15989.     /* [in] */ long EditID,
  15990.     /* [in] */ long Param,
  15991.     /* [in] */ long Value);
  15992.  
  15993.  
  15994. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  15995.     IRpcStubBuffer *This,
  15996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15997.     PRPC_MESSAGE _pRpcMessage,
  15998.     DWORD *_pdwStubPhase);
  15999.  
  16000.  
  16001. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  16002.     IAMExtTransport __RPC_FAR * This,
  16003.     /* [out] */ long __RPC_FAR *pValue);
  16004.  
  16005.  
  16006. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  16007.     IRpcStubBuffer *This,
  16008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16009.     PRPC_MESSAGE _pRpcMessage,
  16010.     DWORD *_pdwStubPhase);
  16011.  
  16012.  
  16013. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  16014.     IAMExtTransport __RPC_FAR * This,
  16015.     /* [in] */ long Value);
  16016.  
  16017.  
  16018. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  16019.     IRpcStubBuffer *This,
  16020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16021.     PRPC_MESSAGE _pRpcMessage,
  16022.     DWORD *_pdwStubPhase);
  16023.  
  16024.  
  16025.  
  16026. #endif     /* __IAMExtTransport_INTERFACE_DEFINED__ */
  16027.  
  16028.  
  16029. /* interface __MIDL_itf_strmif_0320 */
  16030. /* [local] */ 
  16031.  
  16032. typedef IAMExtTransport __RPC_FAR *PIAMEXTTRANSPORT;
  16033.  
  16034. #if 0
  16035. /* the following is what MIDL knows how to remote */
  16036. typedef struct tagTIMECODE
  16037.     {
  16038.     WORD wFrameRate;
  16039.     WORD wFrameFract;
  16040.     DWORD dwFrames;
  16041.     }    TIMECODE;
  16042.  
  16043. #else /* 0 */
  16044. #ifndef TIMECODE_DEFINED
  16045. #define TIMECODE_DEFINED
  16046. typedef union _timecode {
  16047.    struct {
  16048.      WORD   wFrameRate;
  16049.      WORD   wFrameFract;
  16050.      DWORD  dwFrames;
  16051.      };
  16052.    DWORDLONG  qw;
  16053.    } TIMECODE;
  16054.  
  16055. #endif /* TIMECODE_DEFINED */
  16056. #endif /* 0 */
  16057. typedef TIMECODE __RPC_FAR *PTIMECODE;
  16058.  
  16059. typedef struct tagTIMECODE_SAMPLE
  16060.     {
  16061.     LONGLONG qwTick;
  16062.     TIMECODE timecode;
  16063.     DWORD dwUser;
  16064.     DWORD dwFlags;
  16065.     }    TIMECODE_SAMPLE;
  16066.  
  16067. typedef TIMECODE_SAMPLE __RPC_FAR *PTIMECODE_SAMPLE;
  16068.  
  16069.  
  16070.  
  16071. extern RPC_IF_HANDLE __MIDL_itf_strmif_0320_v0_0_c_ifspec;
  16072. extern RPC_IF_HANDLE __MIDL_itf_strmif_0320_v0_0_s_ifspec;
  16073.  
  16074. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  16075. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  16076.  
  16077. /* interface IAMTimecodeReader */
  16078. /* [unique][uuid][object] */ 
  16079.  
  16080.  
  16081. EXTERN_C const IID IID_IAMTimecodeReader;
  16082.  
  16083. #if defined(__cplusplus) && !defined(CINTERFACE)
  16084.     
  16085.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  16086.     IAMTimecodeReader : public IUnknown
  16087.     {
  16088.     public:
  16089.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  16090.             /* [in] */ long Param,
  16091.             /* [out] */ long __RPC_FAR *pValue) = 0;
  16092.         
  16093.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  16094.             /* [in] */ long Param,
  16095.             /* [in] */ long Value) = 0;
  16096.         
  16097.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16098.             /* [in] */ long Line) = 0;
  16099.         
  16100.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16101.             /* [out] */ long __RPC_FAR *pLine) = 0;
  16102.         
  16103.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16104.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16105.         
  16106.     };
  16107.     
  16108. #else     /* C style interface */
  16109.  
  16110.     typedef struct IAMTimecodeReaderVtbl
  16111.     {
  16112.         BEGIN_INTERFACE
  16113.         
  16114.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  16115.             IAMTimecodeReader __RPC_FAR * This,
  16116.             /* [in] */ REFIID riid,
  16117.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  16118.         
  16119.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  16120.             IAMTimecodeReader __RPC_FAR * This);
  16121.         
  16122.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  16123.             IAMTimecodeReader __RPC_FAR * This);
  16124.         
  16125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTCRMode )( 
  16126.             IAMTimecodeReader __RPC_FAR * This,
  16127.             /* [in] */ long Param,
  16128.             /* [out] */ long __RPC_FAR *pValue);
  16129.         
  16130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTCRMode )( 
  16131.             IAMTimecodeReader __RPC_FAR * This,
  16132.             /* [in] */ long Param,
  16133.             /* [in] */ long Value);
  16134.         
  16135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VITCLine )( 
  16136.             IAMTimecodeReader __RPC_FAR * This,
  16137.             /* [in] */ long Line);
  16138.         
  16139.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VITCLine )( 
  16140.             IAMTimecodeReader __RPC_FAR * This,
  16141.             /* [out] */ long __RPC_FAR *pLine);
  16142.         
  16143.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTimecode )( 
  16144.             IAMTimecodeReader __RPC_FAR * This,
  16145.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16146.         
  16147.         END_INTERFACE
  16148.     } IAMTimecodeReaderVtbl;
  16149.  
  16150.     interface IAMTimecodeReader
  16151.     {
  16152.         CONST_VTBL struct IAMTimecodeReaderVtbl __RPC_FAR *lpVtbl;
  16153.     };
  16154.  
  16155.     
  16156.  
  16157. #ifdef COBJMACROS
  16158.  
  16159.  
  16160. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)    \
  16161.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16162.  
  16163. #define IAMTimecodeReader_AddRef(This)    \
  16164.     (This)->lpVtbl -> AddRef(This)
  16165.  
  16166. #define IAMTimecodeReader_Release(This)    \
  16167.     (This)->lpVtbl -> Release(This)
  16168.  
  16169.  
  16170. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)    \
  16171.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  16172.  
  16173. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)    \
  16174.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  16175.  
  16176. #define IAMTimecodeReader_put_VITCLine(This,Line)    \
  16177.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16178.  
  16179. #define IAMTimecodeReader_get_VITCLine(This,pLine)    \
  16180.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16181.  
  16182. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)    \
  16183.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16184.  
  16185. #endif /* COBJMACROS */
  16186.  
  16187.  
  16188. #endif     /* C style interface */
  16189.  
  16190.  
  16191.  
  16192. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  16193.     IAMTimecodeReader __RPC_FAR * This,
  16194.     /* [in] */ long Param,
  16195.     /* [out] */ long __RPC_FAR *pValue);
  16196.  
  16197.  
  16198. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  16199.     IRpcStubBuffer *This,
  16200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16201.     PRPC_MESSAGE _pRpcMessage,
  16202.     DWORD *_pdwStubPhase);
  16203.  
  16204.  
  16205. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  16206.     IAMTimecodeReader __RPC_FAR * This,
  16207.     /* [in] */ long Param,
  16208.     /* [in] */ long Value);
  16209.  
  16210.  
  16211. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  16212.     IRpcStubBuffer *This,
  16213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16214.     PRPC_MESSAGE _pRpcMessage,
  16215.     DWORD *_pdwStubPhase);
  16216.  
  16217.  
  16218. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  16219.     IAMTimecodeReader __RPC_FAR * This,
  16220.     /* [in] */ long Line);
  16221.  
  16222.  
  16223. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  16224.     IRpcStubBuffer *This,
  16225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16226.     PRPC_MESSAGE _pRpcMessage,
  16227.     DWORD *_pdwStubPhase);
  16228.  
  16229.  
  16230. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  16231.     IAMTimecodeReader __RPC_FAR * This,
  16232.     /* [out] */ long __RPC_FAR *pLine);
  16233.  
  16234.  
  16235. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  16236.     IRpcStubBuffer *This,
  16237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16238.     PRPC_MESSAGE _pRpcMessage,
  16239.     DWORD *_pdwStubPhase);
  16240.  
  16241.  
  16242. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  16243.     IAMTimecodeReader __RPC_FAR * This,
  16244.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16245.  
  16246.  
  16247. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  16248.     IRpcStubBuffer *This,
  16249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16250.     PRPC_MESSAGE _pRpcMessage,
  16251.     DWORD *_pdwStubPhase);
  16252.  
  16253.  
  16254.  
  16255. #endif     /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  16256.  
  16257.  
  16258. /* interface __MIDL_itf_strmif_0321 */
  16259. /* [local] */ 
  16260.  
  16261. typedef IAMTimecodeReader __RPC_FAR *PIAMTIMECODEREADER;
  16262.  
  16263.  
  16264.  
  16265. extern RPC_IF_HANDLE __MIDL_itf_strmif_0321_v0_0_c_ifspec;
  16266. extern RPC_IF_HANDLE __MIDL_itf_strmif_0321_v0_0_s_ifspec;
  16267.  
  16268. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16269. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16270.  
  16271. /* interface IAMTimecodeGenerator */
  16272. /* [unique][uuid][object] */ 
  16273.  
  16274.  
  16275. EXTERN_C const IID IID_IAMTimecodeGenerator;
  16276.  
  16277. #if defined(__cplusplus) && !defined(CINTERFACE)
  16278.     
  16279.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  16280.     IAMTimecodeGenerator : public IUnknown
  16281.     {
  16282.     public:
  16283.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  16284.             /* [in] */ long Param,
  16285.             /* [out] */ long __RPC_FAR *pValue) = 0;
  16286.         
  16287.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  16288.             /* [in] */ long Param,
  16289.             /* [in] */ long Value) = 0;
  16290.         
  16291.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16292.             /* [in] */ long Line) = 0;
  16293.         
  16294.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16295.             /* [out] */ long __RPC_FAR *pLine) = 0;
  16296.         
  16297.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  16298.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16299.         
  16300.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16301.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16302.         
  16303.     };
  16304.     
  16305. #else     /* C style interface */
  16306.  
  16307.     typedef struct IAMTimecodeGeneratorVtbl
  16308.     {
  16309.         BEGIN_INTERFACE
  16310.         
  16311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  16312.             IAMTimecodeGenerator __RPC_FAR * This,
  16313.             /* [in] */ REFIID riid,
  16314.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  16315.         
  16316.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  16317.             IAMTimecodeGenerator __RPC_FAR * This);
  16318.         
  16319.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  16320.             IAMTimecodeGenerator __RPC_FAR * This);
  16321.         
  16322.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTCGMode )( 
  16323.             IAMTimecodeGenerator __RPC_FAR * This,
  16324.             /* [in] */ long Param,
  16325.             /* [out] */ long __RPC_FAR *pValue);
  16326.         
  16327.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTCGMode )( 
  16328.             IAMTimecodeGenerator __RPC_FAR * This,
  16329.             /* [in] */ long Param,
  16330.             /* [in] */ long Value);
  16331.         
  16332.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VITCLine )( 
  16333.             IAMTimecodeGenerator __RPC_FAR * This,
  16334.             /* [in] */ long Line);
  16335.         
  16336.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VITCLine )( 
  16337.             IAMTimecodeGenerator __RPC_FAR * This,
  16338.             /* [out] */ long __RPC_FAR *pLine);
  16339.         
  16340.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimecode )( 
  16341.             IAMTimecodeGenerator __RPC_FAR * This,
  16342.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16343.         
  16344.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTimecode )( 
  16345.             IAMTimecodeGenerator __RPC_FAR * This,
  16346.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16347.         
  16348.         END_INTERFACE
  16349.     } IAMTimecodeGeneratorVtbl;
  16350.  
  16351.     interface IAMTimecodeGenerator
  16352.     {
  16353.         CONST_VTBL struct IAMTimecodeGeneratorVtbl __RPC_FAR *lpVtbl;
  16354.     };
  16355.  
  16356.     
  16357.  
  16358. #ifdef COBJMACROS
  16359.  
  16360.  
  16361. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)    \
  16362.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16363.  
  16364. #define IAMTimecodeGenerator_AddRef(This)    \
  16365.     (This)->lpVtbl -> AddRef(This)
  16366.  
  16367. #define IAMTimecodeGenerator_Release(This)    \
  16368.     (This)->lpVtbl -> Release(This)
  16369.  
  16370.  
  16371. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)    \
  16372.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  16373.  
  16374. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)    \
  16375.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  16376.  
  16377. #define IAMTimecodeGenerator_put_VITCLine(This,Line)    \
  16378.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16379.  
  16380. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)    \
  16381.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16382.  
  16383. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)    \
  16384.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  16385.  
  16386. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)    \
  16387.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16388.  
  16389. #endif /* COBJMACROS */
  16390.  
  16391.  
  16392. #endif     /* C style interface */
  16393.  
  16394.  
  16395.  
  16396. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  16397.     IAMTimecodeGenerator __RPC_FAR * This,
  16398.     /* [in] */ long Param,
  16399.     /* [out] */ long __RPC_FAR *pValue);
  16400.  
  16401.  
  16402. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  16403.     IRpcStubBuffer *This,
  16404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16405.     PRPC_MESSAGE _pRpcMessage,
  16406.     DWORD *_pdwStubPhase);
  16407.  
  16408.  
  16409. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  16410.     IAMTimecodeGenerator __RPC_FAR * This,
  16411.     /* [in] */ long Param,
  16412.     /* [in] */ long Value);
  16413.  
  16414.  
  16415. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  16416.     IRpcStubBuffer *This,
  16417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16418.     PRPC_MESSAGE _pRpcMessage,
  16419.     DWORD *_pdwStubPhase);
  16420.  
  16421.  
  16422. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  16423.     IAMTimecodeGenerator __RPC_FAR * This,
  16424.     /* [in] */ long Line);
  16425.  
  16426.  
  16427. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  16428.     IRpcStubBuffer *This,
  16429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16430.     PRPC_MESSAGE _pRpcMessage,
  16431.     DWORD *_pdwStubPhase);
  16432.  
  16433.  
  16434. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  16435.     IAMTimecodeGenerator __RPC_FAR * This,
  16436.     /* [out] */ long __RPC_FAR *pLine);
  16437.  
  16438.  
  16439. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  16440.     IRpcStubBuffer *This,
  16441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16442.     PRPC_MESSAGE _pRpcMessage,
  16443.     DWORD *_pdwStubPhase);
  16444.  
  16445.  
  16446. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  16447.     IAMTimecodeGenerator __RPC_FAR * This,
  16448.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16449.  
  16450.  
  16451. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  16452.     IRpcStubBuffer *This,
  16453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16454.     PRPC_MESSAGE _pRpcMessage,
  16455.     DWORD *_pdwStubPhase);
  16456.  
  16457.  
  16458. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  16459.     IAMTimecodeGenerator __RPC_FAR * This,
  16460.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16461.  
  16462.  
  16463. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  16464.     IRpcStubBuffer *This,
  16465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16466.     PRPC_MESSAGE _pRpcMessage,
  16467.     DWORD *_pdwStubPhase);
  16468.  
  16469.  
  16470.  
  16471. #endif     /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  16472.  
  16473.  
  16474. /* interface __MIDL_itf_strmif_0322 */
  16475. /* [local] */ 
  16476.  
  16477. typedef IAMTimecodeGenerator __RPC_FAR *PIAMTIMECODEGENERATOR;
  16478.  
  16479.  
  16480.  
  16481. extern RPC_IF_HANDLE __MIDL_itf_strmif_0322_v0_0_c_ifspec;
  16482. extern RPC_IF_HANDLE __MIDL_itf_strmif_0322_v0_0_s_ifspec;
  16483.  
  16484. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16485. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16486.  
  16487. /* interface IAMTimecodeDisplay */
  16488. /* [unique][uuid][object] */ 
  16489.  
  16490.  
  16491. EXTERN_C const IID IID_IAMTimecodeDisplay;
  16492.  
  16493. #if defined(__cplusplus) && !defined(CINTERFACE)
  16494.     
  16495.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  16496.     IAMTimecodeDisplay : public IUnknown
  16497.     {
  16498.     public:
  16499.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  16500.             /* [out] */ long __RPC_FAR *pState) = 0;
  16501.         
  16502.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  16503.             /* [in] */ long State) = 0;
  16504.         
  16505.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  16506.             /* [in] */ long Param,
  16507.             /* [out] */ long __RPC_FAR *pValue) = 0;
  16508.         
  16509.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  16510.             /* [in] */ long Param,
  16511.             /* [in] */ long Value) = 0;
  16512.         
  16513.     };
  16514.     
  16515. #else     /* C style interface */
  16516.  
  16517.     typedef struct IAMTimecodeDisplayVtbl
  16518.     {
  16519.         BEGIN_INTERFACE
  16520.         
  16521.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  16522.             IAMTimecodeDisplay __RPC_FAR * This,
  16523.             /* [in] */ REFIID riid,
  16524.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  16525.         
  16526.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  16527.             IAMTimecodeDisplay __RPC_FAR * This);
  16528.         
  16529.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  16530.             IAMTimecodeDisplay __RPC_FAR * This);
  16531.         
  16532.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTCDisplayEnable )( 
  16533.             IAMTimecodeDisplay __RPC_FAR * This,
  16534.             /* [out] */ long __RPC_FAR *pState);
  16535.         
  16536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTCDisplayEnable )( 
  16537.             IAMTimecodeDisplay __RPC_FAR * This,
  16538.             /* [in] */ long State);
  16539.         
  16540.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTCDisplay )( 
  16541.             IAMTimecodeDisplay __RPC_FAR * This,
  16542.             /* [in] */ long Param,
  16543.             /* [out] */ long __RPC_FAR *pValue);
  16544.         
  16545.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTCDisplay )( 
  16546.             IAMTimecodeDisplay __RPC_FAR * This,
  16547.             /* [in] */ long Param,
  16548.             /* [in] */ long Value);
  16549.         
  16550.         END_INTERFACE
  16551.     } IAMTimecodeDisplayVtbl;
  16552.  
  16553.     interface IAMTimecodeDisplay
  16554.     {
  16555.         CONST_VTBL struct IAMTimecodeDisplayVtbl __RPC_FAR *lpVtbl;
  16556.     };
  16557.  
  16558.     
  16559.  
  16560. #ifdef COBJMACROS
  16561.  
  16562.  
  16563. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)    \
  16564.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16565.  
  16566. #define IAMTimecodeDisplay_AddRef(This)    \
  16567.     (This)->lpVtbl -> AddRef(This)
  16568.  
  16569. #define IAMTimecodeDisplay_Release(This)    \
  16570.     (This)->lpVtbl -> Release(This)
  16571.  
  16572.  
  16573. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)    \
  16574.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  16575.  
  16576. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)    \
  16577.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  16578.  
  16579. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)    \
  16580.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  16581.  
  16582. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)    \
  16583.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  16584.  
  16585. #endif /* COBJMACROS */
  16586.  
  16587.  
  16588. #endif     /* C style interface */
  16589.  
  16590.  
  16591.  
  16592. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  16593.     IAMTimecodeDisplay __RPC_FAR * This,
  16594.     /* [out] */ long __RPC_FAR *pState);
  16595.  
  16596.  
  16597. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  16598.     IRpcStubBuffer *This,
  16599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16600.     PRPC_MESSAGE _pRpcMessage,
  16601.     DWORD *_pdwStubPhase);
  16602.  
  16603.  
  16604. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  16605.     IAMTimecodeDisplay __RPC_FAR * This,
  16606.     /* [in] */ long State);
  16607.  
  16608.  
  16609. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  16610.     IRpcStubBuffer *This,
  16611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16612.     PRPC_MESSAGE _pRpcMessage,
  16613.     DWORD *_pdwStubPhase);
  16614.  
  16615.  
  16616. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  16617.     IAMTimecodeDisplay __RPC_FAR * This,
  16618.     /* [in] */ long Param,
  16619.     /* [out] */ long __RPC_FAR *pValue);
  16620.  
  16621.  
  16622. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  16623.     IRpcStubBuffer *This,
  16624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16625.     PRPC_MESSAGE _pRpcMessage,
  16626.     DWORD *_pdwStubPhase);
  16627.  
  16628.  
  16629. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  16630.     IAMTimecodeDisplay __RPC_FAR * This,
  16631.     /* [in] */ long Param,
  16632.     /* [in] */ long Value);
  16633.  
  16634.  
  16635. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  16636.     IRpcStubBuffer *This,
  16637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16638.     PRPC_MESSAGE _pRpcMessage,
  16639.     DWORD *_pdwStubPhase);
  16640.  
  16641.  
  16642.  
  16643. #endif     /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  16644.  
  16645.  
  16646. /* interface __MIDL_itf_strmif_0323 */
  16647. /* [local] */ 
  16648.  
  16649. typedef IAMTimecodeDisplay __RPC_FAR *PIAMTIMECODEDISPLAY;
  16650.  
  16651.  
  16652.  
  16653. extern RPC_IF_HANDLE __MIDL_itf_strmif_0323_v0_0_c_ifspec;
  16654. extern RPC_IF_HANDLE __MIDL_itf_strmif_0323_v0_0_s_ifspec;
  16655.  
  16656. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16657. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16658.  
  16659. /* interface IAMDevMemoryAllocator */
  16660. /* [unique][uuid][object] */ 
  16661.  
  16662.  
  16663. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  16664.  
  16665. #if defined(__cplusplus) && !defined(CINTERFACE)
  16666.     
  16667.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  16668.     IAMDevMemoryAllocator : public IUnknown
  16669.     {
  16670.     public:
  16671.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  16672.             /* [out] */ DWORD __RPC_FAR *pdwcbTotalFree,
  16673.             /* [out] */ DWORD __RPC_FAR *pdwcbLargestFree,
  16674.             /* [out] */ DWORD __RPC_FAR *pdwcbTotalMemory,
  16675.             /* [out] */ DWORD __RPC_FAR *pdwcbMinimumChunk) = 0;
  16676.         
  16677.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  16678.             /* [in] */ const BYTE __RPC_FAR *pBuffer) = 0;
  16679.         
  16680.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  16681.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  16682.             /* [out][in] */ DWORD __RPC_FAR *pdwcbBuffer) = 0;
  16683.         
  16684.         virtual HRESULT STDMETHODCALLTYPE Free( 
  16685.             /* [in] */ BYTE __RPC_FAR *pBuffer) = 0;
  16686.         
  16687.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  16688.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkInnner,
  16689.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter) = 0;
  16690.         
  16691.     };
  16692.     
  16693. #else     /* C style interface */
  16694.  
  16695.     typedef struct IAMDevMemoryAllocatorVtbl
  16696.     {
  16697.         BEGIN_INTERFACE
  16698.         
  16699.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  16700.             IAMDevMemoryAllocator __RPC_FAR * This,
  16701.             /* [in] */ REFIID riid,
  16702.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  16703.         
  16704.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  16705.             IAMDevMemoryAllocator __RPC_FAR * This);
  16706.         
  16707.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  16708.             IAMDevMemoryAllocator __RPC_FAR * This);
  16709.         
  16710.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( 
  16711.             IAMDevMemoryAllocator __RPC_FAR * This,
  16712.             /* [out] */ DWORD __RPC_FAR *pdwcbTotalFree,
  16713.             /* [out] */ DWORD __RPC_FAR *pdwcbLargestFree,
  16714.             /* [out] */ DWORD __RPC_FAR *pdwcbTotalMemory,
  16715.             /* [out] */ DWORD __RPC_FAR *pdwcbMinimumChunk);
  16716.         
  16717.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CheckMemory )( 
  16718.             IAMDevMemoryAllocator __RPC_FAR * This,
  16719.             /* [in] */ const BYTE __RPC_FAR *pBuffer);
  16720.         
  16721.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Alloc )( 
  16722.             IAMDevMemoryAllocator __RPC_FAR * This,
  16723.             /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  16724.             /* [out][in] */ DWORD __RPC_FAR *pdwcbBuffer);
  16725.         
  16726.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Free )( 
  16727.             IAMDevMemoryAllocator __RPC_FAR * This,
  16728.             /* [in] */ BYTE __RPC_FAR *pBuffer);
  16729.         
  16730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDevMemoryObject )( 
  16731.             IAMDevMemoryAllocator __RPC_FAR * This,
  16732.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkInnner,
  16733.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter);
  16734.         
  16735.         END_INTERFACE
  16736.     } IAMDevMemoryAllocatorVtbl;
  16737.  
  16738.     interface IAMDevMemoryAllocator
  16739.     {
  16740.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl __RPC_FAR *lpVtbl;
  16741.     };
  16742.  
  16743.     
  16744.  
  16745. #ifdef COBJMACROS
  16746.  
  16747.  
  16748. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)    \
  16749.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16750.  
  16751. #define IAMDevMemoryAllocator_AddRef(This)    \
  16752.     (This)->lpVtbl -> AddRef(This)
  16753.  
  16754. #define IAMDevMemoryAllocator_Release(This)    \
  16755.     (This)->lpVtbl -> Release(This)
  16756.  
  16757.  
  16758. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)    \
  16759.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  16760.  
  16761. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)    \
  16762.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  16763.  
  16764. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)    \
  16765.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  16766.  
  16767. #define IAMDevMemoryAllocator_Free(This,pBuffer)    \
  16768.     (This)->lpVtbl -> Free(This,pBuffer)
  16769.  
  16770. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)    \
  16771.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  16772.  
  16773. #endif /* COBJMACROS */
  16774.  
  16775.  
  16776. #endif     /* C style interface */
  16777.  
  16778.  
  16779.  
  16780. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  16781.     IAMDevMemoryAllocator __RPC_FAR * This,
  16782.     /* [out] */ DWORD __RPC_FAR *pdwcbTotalFree,
  16783.     /* [out] */ DWORD __RPC_FAR *pdwcbLargestFree,
  16784.     /* [out] */ DWORD __RPC_FAR *pdwcbTotalMemory,
  16785.     /* [out] */ DWORD __RPC_FAR *pdwcbMinimumChunk);
  16786.  
  16787.  
  16788. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  16789.     IRpcStubBuffer *This,
  16790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16791.     PRPC_MESSAGE _pRpcMessage,
  16792.     DWORD *_pdwStubPhase);
  16793.  
  16794.  
  16795. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  16796.     IAMDevMemoryAllocator __RPC_FAR * This,
  16797.     /* [in] */ const BYTE __RPC_FAR *pBuffer);
  16798.  
  16799.  
  16800. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  16801.     IRpcStubBuffer *This,
  16802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16803.     PRPC_MESSAGE _pRpcMessage,
  16804.     DWORD *_pdwStubPhase);
  16805.  
  16806.  
  16807. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  16808.     IAMDevMemoryAllocator __RPC_FAR * This,
  16809.     /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  16810.     /* [out][in] */ DWORD __RPC_FAR *pdwcbBuffer);
  16811.  
  16812.  
  16813. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  16814.     IRpcStubBuffer *This,
  16815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16816.     PRPC_MESSAGE _pRpcMessage,
  16817.     DWORD *_pdwStubPhase);
  16818.  
  16819.  
  16820. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  16821.     IAMDevMemoryAllocator __RPC_FAR * This,
  16822.     /* [in] */ BYTE __RPC_FAR *pBuffer);
  16823.  
  16824.  
  16825. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  16826.     IRpcStubBuffer *This,
  16827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16828.     PRPC_MESSAGE _pRpcMessage,
  16829.     DWORD *_pdwStubPhase);
  16830.  
  16831.  
  16832. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  16833.     IAMDevMemoryAllocator __RPC_FAR * This,
  16834.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkInnner,
  16835.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter);
  16836.  
  16837.  
  16838. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  16839.     IRpcStubBuffer *This,
  16840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16841.     PRPC_MESSAGE _pRpcMessage,
  16842.     DWORD *_pdwStubPhase);
  16843.  
  16844.  
  16845.  
  16846. #endif     /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  16847.  
  16848.  
  16849. /* interface __MIDL_itf_strmif_0324 */
  16850. /* [local] */ 
  16851.  
  16852. typedef IAMDevMemoryAllocator __RPC_FAR *PAMDEVMEMORYALLOCATOR;
  16853.  
  16854.  
  16855.  
  16856. extern RPC_IF_HANDLE __MIDL_itf_strmif_0324_v0_0_c_ifspec;
  16857. extern RPC_IF_HANDLE __MIDL_itf_strmif_0324_v0_0_s_ifspec;
  16858.  
  16859. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  16860. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  16861.  
  16862. /* interface IAMDevMemoryControl */
  16863. /* [unique][uuid][object] */ 
  16864.  
  16865.  
  16866. EXTERN_C const IID IID_IAMDevMemoryControl;
  16867.  
  16868. #if defined(__cplusplus) && !defined(CINTERFACE)
  16869.     
  16870.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  16871.     IAMDevMemoryControl : public IUnknown
  16872.     {
  16873.     public:
  16874.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  16875.         
  16876.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  16877.         
  16878.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  16879.             /* [out] */ DWORD __RPC_FAR *pdwDevId) = 0;
  16880.         
  16881.     };
  16882.     
  16883. #else     /* C style interface */
  16884.  
  16885.     typedef struct IAMDevMemoryControlVtbl
  16886.     {
  16887.         BEGIN_INTERFACE
  16888.         
  16889.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  16890.             IAMDevMemoryControl __RPC_FAR * This,
  16891.             /* [in] */ REFIID riid,
  16892.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  16893.         
  16894.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  16895.             IAMDevMemoryControl __RPC_FAR * This);
  16896.         
  16897.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  16898.             IAMDevMemoryControl __RPC_FAR * This);
  16899.         
  16900.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryWriteSync )( 
  16901.             IAMDevMemoryControl __RPC_FAR * This);
  16902.         
  16903.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteSync )( 
  16904.             IAMDevMemoryControl __RPC_FAR * This);
  16905.         
  16906.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDevId )( 
  16907.             IAMDevMemoryControl __RPC_FAR * This,
  16908.             /* [out] */ DWORD __RPC_FAR *pdwDevId);
  16909.         
  16910.         END_INTERFACE
  16911.     } IAMDevMemoryControlVtbl;
  16912.  
  16913.     interface IAMDevMemoryControl
  16914.     {
  16915.         CONST_VTBL struct IAMDevMemoryControlVtbl __RPC_FAR *lpVtbl;
  16916.     };
  16917.  
  16918.     
  16919.  
  16920. #ifdef COBJMACROS
  16921.  
  16922.  
  16923. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)    \
  16924.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16925.  
  16926. #define IAMDevMemoryControl_AddRef(This)    \
  16927.     (This)->lpVtbl -> AddRef(This)
  16928.  
  16929. #define IAMDevMemoryControl_Release(This)    \
  16930.     (This)->lpVtbl -> Release(This)
  16931.  
  16932.  
  16933. #define IAMDevMemoryControl_QueryWriteSync(This)    \
  16934.     (This)->lpVtbl -> QueryWriteSync(This)
  16935.  
  16936. #define IAMDevMemoryControl_WriteSync(This)    \
  16937.     (This)->lpVtbl -> WriteSync(This)
  16938.  
  16939. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)    \
  16940.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  16941.  
  16942. #endif /* COBJMACROS */
  16943.  
  16944.  
  16945. #endif     /* C style interface */
  16946.  
  16947.  
  16948.  
  16949. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  16950.     IAMDevMemoryControl __RPC_FAR * This);
  16951.  
  16952.  
  16953. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  16954.     IRpcStubBuffer *This,
  16955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16956.     PRPC_MESSAGE _pRpcMessage,
  16957.     DWORD *_pdwStubPhase);
  16958.  
  16959.  
  16960. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  16961.     IAMDevMemoryControl __RPC_FAR * This);
  16962.  
  16963.  
  16964. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  16965.     IRpcStubBuffer *This,
  16966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16967.     PRPC_MESSAGE _pRpcMessage,
  16968.     DWORD *_pdwStubPhase);
  16969.  
  16970.  
  16971. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  16972.     IAMDevMemoryControl __RPC_FAR * This,
  16973.     /* [out] */ DWORD __RPC_FAR *pdwDevId);
  16974.  
  16975.  
  16976. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  16977.     IRpcStubBuffer *This,
  16978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16979.     PRPC_MESSAGE _pRpcMessage,
  16980.     DWORD *_pdwStubPhase);
  16981.  
  16982.  
  16983.  
  16984. #endif     /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  16985.  
  16986.  
  16987. /* interface __MIDL_itf_strmif_0325 */
  16988. /* [local] */ 
  16989.  
  16990. typedef IAMDevMemoryControl __RPC_FAR *PAMDEVMEMORYCONTROL;
  16991.  
  16992.  
  16993. enum _AMSTREAMSELECTINFOFLAGS
  16994.     {    AMSTREAMSELECTINFO_ENABLED    = 0x1,
  16995.     AMSTREAMSELECTINFO_EXCLUSIVE    = 0x2
  16996.     };
  16997.  
  16998. enum _AMSTREAMSELECTENABLEFLAGS
  16999.     {    AMSTREAMSELECTENABLE_ENABLE    = 0x1,
  17000.     AMSTREAMSELECTENABLE_ENABLEALL    = 0x2
  17001.     };
  17002.  
  17003.  
  17004. extern RPC_IF_HANDLE __MIDL_itf_strmif_0325_v0_0_c_ifspec;
  17005. extern RPC_IF_HANDLE __MIDL_itf_strmif_0325_v0_0_s_ifspec;
  17006.  
  17007. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  17008. #define __IAMStreamSelect_INTERFACE_DEFINED__
  17009.  
  17010. /* interface IAMStreamSelect */
  17011. /* [unique][uuid][object] */ 
  17012.  
  17013.  
  17014. EXTERN_C const IID IID_IAMStreamSelect;
  17015.  
  17016. #if defined(__cplusplus) && !defined(CINTERFACE)
  17017.     
  17018.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  17019.     IAMStreamSelect : public IUnknown
  17020.     {
  17021.     public:
  17022.         virtual HRESULT STDMETHODCALLTYPE Count( 
  17023.             /* [out] */ DWORD __RPC_FAR *pcStreams) = 0;
  17024.         
  17025.         virtual HRESULT STDMETHODCALLTYPE Info( 
  17026.             /* [in] */ long lIndex,
  17027.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  17028.             /* [out] */ DWORD __RPC_FAR *pdwFlags,
  17029.             /* [out] */ LCID __RPC_FAR *plcid,
  17030.             /* [out] */ DWORD __RPC_FAR *pdwGroup,
  17031.             /* [out] */ WCHAR __RPC_FAR *__RPC_FAR *ppszName,
  17032.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  17033.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  17034.         
  17035.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  17036.             /* [in] */ long lIndex,
  17037.             /* [in] */ DWORD dwFlags) = 0;
  17038.         
  17039.     };
  17040.     
  17041. #else     /* C style interface */
  17042.  
  17043.     typedef struct IAMStreamSelectVtbl
  17044.     {
  17045.         BEGIN_INTERFACE
  17046.         
  17047.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17048.             IAMStreamSelect __RPC_FAR * This,
  17049.             /* [in] */ REFIID riid,
  17050.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17051.         
  17052.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17053.             IAMStreamSelect __RPC_FAR * This);
  17054.         
  17055.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17056.             IAMStreamSelect __RPC_FAR * This);
  17057.         
  17058.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Count )( 
  17059.             IAMStreamSelect __RPC_FAR * This,
  17060.             /* [out] */ DWORD __RPC_FAR *pcStreams);
  17061.         
  17062.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Info )( 
  17063.             IAMStreamSelect __RPC_FAR * This,
  17064.             /* [in] */ long lIndex,
  17065.             /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  17066.             /* [out] */ DWORD __RPC_FAR *pdwFlags,
  17067.             /* [out] */ LCID __RPC_FAR *plcid,
  17068.             /* [out] */ DWORD __RPC_FAR *pdwGroup,
  17069.             /* [out] */ WCHAR __RPC_FAR *__RPC_FAR *ppszName,
  17070.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  17071.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  17072.         
  17073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enable )( 
  17074.             IAMStreamSelect __RPC_FAR * This,
  17075.             /* [in] */ long lIndex,
  17076.             /* [in] */ DWORD dwFlags);
  17077.         
  17078.         END_INTERFACE
  17079.     } IAMStreamSelectVtbl;
  17080.  
  17081.     interface IAMStreamSelect
  17082.     {
  17083.         CONST_VTBL struct IAMStreamSelectVtbl __RPC_FAR *lpVtbl;
  17084.     };
  17085.  
  17086.     
  17087.  
  17088. #ifdef COBJMACROS
  17089.  
  17090.  
  17091. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)    \
  17092.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17093.  
  17094. #define IAMStreamSelect_AddRef(This)    \
  17095.     (This)->lpVtbl -> AddRef(This)
  17096.  
  17097. #define IAMStreamSelect_Release(This)    \
  17098.     (This)->lpVtbl -> Release(This)
  17099.  
  17100.  
  17101. #define IAMStreamSelect_Count(This,pcStreams)    \
  17102.     (This)->lpVtbl -> Count(This,pcStreams)
  17103.  
  17104. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)    \
  17105.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  17106.  
  17107. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)    \
  17108.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  17109.  
  17110. #endif /* COBJMACROS */
  17111.  
  17112.  
  17113. #endif     /* C style interface */
  17114.  
  17115.  
  17116.  
  17117. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  17118.     IAMStreamSelect __RPC_FAR * This,
  17119.     /* [out] */ DWORD __RPC_FAR *pcStreams);
  17120.  
  17121.  
  17122. void __RPC_STUB IAMStreamSelect_Count_Stub(
  17123.     IRpcStubBuffer *This,
  17124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17125.     PRPC_MESSAGE _pRpcMessage,
  17126.     DWORD *_pdwStubPhase);
  17127.  
  17128.  
  17129. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  17130.     IAMStreamSelect __RPC_FAR * This,
  17131.     /* [in] */ long lIndex,
  17132.     /* [out] */ AM_MEDIA_TYPE __RPC_FAR *__RPC_FAR *ppmt,
  17133.     /* [out] */ DWORD __RPC_FAR *pdwFlags,
  17134.     /* [out] */ LCID __RPC_FAR *plcid,
  17135.     /* [out] */ DWORD __RPC_FAR *pdwGroup,
  17136.     /* [out] */ WCHAR __RPC_FAR *__RPC_FAR *ppszName,
  17137.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppObject,
  17138.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk);
  17139.  
  17140.  
  17141. void __RPC_STUB IAMStreamSelect_Info_Stub(
  17142.     IRpcStubBuffer *This,
  17143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17144.     PRPC_MESSAGE _pRpcMessage,
  17145.     DWORD *_pdwStubPhase);
  17146.  
  17147.  
  17148. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  17149.     IAMStreamSelect __RPC_FAR * This,
  17150.     /* [in] */ long lIndex,
  17151.     /* [in] */ DWORD dwFlags);
  17152.  
  17153.  
  17154. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  17155.     IRpcStubBuffer *This,
  17156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17157.     PRPC_MESSAGE _pRpcMessage,
  17158.     DWORD *_pdwStubPhase);
  17159.  
  17160.  
  17161.  
  17162. #endif     /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  17163.  
  17164.  
  17165. /* interface __MIDL_itf_strmif_0326 */
  17166. /* [local] */ 
  17167.  
  17168. typedef IAMStreamSelect __RPC_FAR *PAMSTREAMSELECT;
  17169.  
  17170.  
  17171. enum _AMRESCTL_RESERVEFLAGS
  17172.     {    AMRESCTL_RESERVEFLAGS_RESERVE    = 0,
  17173.     AMRESCTL_RESERVEFLAGS_UNRESERVE    = 0x1
  17174.     };
  17175.  
  17176.  
  17177. extern RPC_IF_HANDLE __MIDL_itf_strmif_0326_v0_0_c_ifspec;
  17178. extern RPC_IF_HANDLE __MIDL_itf_strmif_0326_v0_0_s_ifspec;
  17179.  
  17180. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  17181. #define __IAMResourceControl_INTERFACE_DEFINED__
  17182.  
  17183. /* interface IAMResourceControl */
  17184. /* [local][unique][uuid][object] */ 
  17185.  
  17186.  
  17187. EXTERN_C const IID IID_IAMResourceControl;
  17188.  
  17189. #if defined(__cplusplus) && !defined(CINTERFACE)
  17190.     
  17191.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  17192.     IAMResourceControl : public IUnknown
  17193.     {
  17194.     public:
  17195.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  17196.             /* [in] */ DWORD dwFlags,
  17197.             /* [in] */ PVOID pvReserved) = 0;
  17198.         
  17199.     };
  17200.     
  17201. #else     /* C style interface */
  17202.  
  17203.     typedef struct IAMResourceControlVtbl
  17204.     {
  17205.         BEGIN_INTERFACE
  17206.         
  17207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17208.             IAMResourceControl __RPC_FAR * This,
  17209.             /* [in] */ REFIID riid,
  17210.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17211.         
  17212.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17213.             IAMResourceControl __RPC_FAR * This);
  17214.         
  17215.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17216.             IAMResourceControl __RPC_FAR * This);
  17217.         
  17218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reserve )( 
  17219.             IAMResourceControl __RPC_FAR * This,
  17220.             /* [in] */ DWORD dwFlags,
  17221.             /* [in] */ PVOID pvReserved);
  17222.         
  17223.         END_INTERFACE
  17224.     } IAMResourceControlVtbl;
  17225.  
  17226.     interface IAMResourceControl
  17227.     {
  17228.         CONST_VTBL struct IAMResourceControlVtbl __RPC_FAR *lpVtbl;
  17229.     };
  17230.  
  17231.     
  17232.  
  17233. #ifdef COBJMACROS
  17234.  
  17235.  
  17236. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)    \
  17237.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17238.  
  17239. #define IAMResourceControl_AddRef(This)    \
  17240.     (This)->lpVtbl -> AddRef(This)
  17241.  
  17242. #define IAMResourceControl_Release(This)    \
  17243.     (This)->lpVtbl -> Release(This)
  17244.  
  17245.  
  17246. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)    \
  17247.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  17248.  
  17249. #endif /* COBJMACROS */
  17250.  
  17251.  
  17252. #endif     /* C style interface */
  17253.  
  17254.  
  17255.  
  17256. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  17257.     IAMResourceControl __RPC_FAR * This,
  17258.     /* [in] */ DWORD dwFlags,
  17259.     /* [in] */ PVOID pvReserved);
  17260.  
  17261.  
  17262. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  17263.     IRpcStubBuffer *This,
  17264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17265.     PRPC_MESSAGE _pRpcMessage,
  17266.     DWORD *_pdwStubPhase);
  17267.  
  17268.  
  17269.  
  17270. #endif     /* __IAMResourceControl_INTERFACE_DEFINED__ */
  17271.  
  17272.  
  17273. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  17274. #define __IAMClockAdjust_INTERFACE_DEFINED__
  17275.  
  17276. /* interface IAMClockAdjust */
  17277. /* [local][unique][uuid][object] */ 
  17278.  
  17279.  
  17280. EXTERN_C const IID IID_IAMClockAdjust;
  17281.  
  17282. #if defined(__cplusplus) && !defined(CINTERFACE)
  17283.     
  17284.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  17285.     IAMClockAdjust : public IUnknown
  17286.     {
  17287.     public:
  17288.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  17289.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  17290.         
  17291.     };
  17292.     
  17293. #else     /* C style interface */
  17294.  
  17295.     typedef struct IAMClockAdjustVtbl
  17296.     {
  17297.         BEGIN_INTERFACE
  17298.         
  17299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17300.             IAMClockAdjust __RPC_FAR * This,
  17301.             /* [in] */ REFIID riid,
  17302.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17303.         
  17304.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17305.             IAMClockAdjust __RPC_FAR * This);
  17306.         
  17307.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17308.             IAMClockAdjust __RPC_FAR * This);
  17309.         
  17310.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClockDelta )( 
  17311.             IAMClockAdjust __RPC_FAR * This,
  17312.             /* [in] */ REFERENCE_TIME rtDelta);
  17313.         
  17314.         END_INTERFACE
  17315.     } IAMClockAdjustVtbl;
  17316.  
  17317.     interface IAMClockAdjust
  17318.     {
  17319.         CONST_VTBL struct IAMClockAdjustVtbl __RPC_FAR *lpVtbl;
  17320.     };
  17321.  
  17322.     
  17323.  
  17324. #ifdef COBJMACROS
  17325.  
  17326.  
  17327. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)    \
  17328.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17329.  
  17330. #define IAMClockAdjust_AddRef(This)    \
  17331.     (This)->lpVtbl -> AddRef(This)
  17332.  
  17333. #define IAMClockAdjust_Release(This)    \
  17334.     (This)->lpVtbl -> Release(This)
  17335.  
  17336.  
  17337. #define IAMClockAdjust_SetClockDelta(This,rtDelta)    \
  17338.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  17339.  
  17340. #endif /* COBJMACROS */
  17341.  
  17342.  
  17343. #endif     /* C style interface */
  17344.  
  17345.  
  17346.  
  17347. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  17348.     IAMClockAdjust __RPC_FAR * This,
  17349.     /* [in] */ REFERENCE_TIME rtDelta);
  17350.  
  17351.  
  17352. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  17353.     IRpcStubBuffer *This,
  17354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17355.     PRPC_MESSAGE _pRpcMessage,
  17356.     DWORD *_pdwStubPhase);
  17357.  
  17358.  
  17359.  
  17360. #endif     /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  17361.  
  17362.  
  17363. /* interface __MIDL_itf_strmif_0328 */
  17364. /* [local] */ 
  17365.  
  17366.  
  17367. enum _AM_FILTER_MISC_FLAGS
  17368.     {    AM_FILTER_MISC_FLAGS_IS_RENDERER    = 0x1,
  17369.     AM_FILTER_MISC_FLAGS_IS_SOURCE    = 0x2
  17370.     };
  17371.  
  17372.  
  17373. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_c_ifspec;
  17374. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_s_ifspec;
  17375.  
  17376. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17377. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17378.  
  17379. /* interface IAMFilterMiscFlags */
  17380. /* [local][unique][uuid][object] */ 
  17381.  
  17382.  
  17383. EXTERN_C const IID IID_IAMFilterMiscFlags;
  17384.  
  17385. #if defined(__cplusplus) && !defined(CINTERFACE)
  17386.     
  17387.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  17388.     IAMFilterMiscFlags : public IUnknown
  17389.     {
  17390.     public:
  17391.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  17392.         
  17393.     };
  17394.     
  17395. #else     /* C style interface */
  17396.  
  17397.     typedef struct IAMFilterMiscFlagsVtbl
  17398.     {
  17399.         BEGIN_INTERFACE
  17400.         
  17401.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17402.             IAMFilterMiscFlags __RPC_FAR * This,
  17403.             /* [in] */ REFIID riid,
  17404.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17405.         
  17406.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17407.             IAMFilterMiscFlags __RPC_FAR * This);
  17408.         
  17409.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17410.             IAMFilterMiscFlags __RPC_FAR * This);
  17411.         
  17412.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *GetMiscFlags )( 
  17413.             IAMFilterMiscFlags __RPC_FAR * This);
  17414.         
  17415.         END_INTERFACE
  17416.     } IAMFilterMiscFlagsVtbl;
  17417.  
  17418.     interface IAMFilterMiscFlags
  17419.     {
  17420.         CONST_VTBL struct IAMFilterMiscFlagsVtbl __RPC_FAR *lpVtbl;
  17421.     };
  17422.  
  17423.     
  17424.  
  17425. #ifdef COBJMACROS
  17426.  
  17427.  
  17428. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)    \
  17429.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17430.  
  17431. #define IAMFilterMiscFlags_AddRef(This)    \
  17432.     (This)->lpVtbl -> AddRef(This)
  17433.  
  17434. #define IAMFilterMiscFlags_Release(This)    \
  17435.     (This)->lpVtbl -> Release(This)
  17436.  
  17437.  
  17438. #define IAMFilterMiscFlags_GetMiscFlags(This)    \
  17439.     (This)->lpVtbl -> GetMiscFlags(This)
  17440.  
  17441. #endif /* COBJMACROS */
  17442.  
  17443.  
  17444. #endif     /* C style interface */
  17445.  
  17446.  
  17447.  
  17448. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  17449.     IAMFilterMiscFlags __RPC_FAR * This);
  17450.  
  17451.  
  17452. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  17453.     IRpcStubBuffer *This,
  17454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17455.     PRPC_MESSAGE _pRpcMessage,
  17456.     DWORD *_pdwStubPhase);
  17457.  
  17458.  
  17459.  
  17460. #endif     /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  17461.  
  17462.  
  17463. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  17464. #define __IDrawVideoImage_INTERFACE_DEFINED__
  17465.  
  17466. /* interface IDrawVideoImage */
  17467. /* [unique][uuid][local][object] */ 
  17468.  
  17469.  
  17470. EXTERN_C const IID IID_IDrawVideoImage;
  17471.  
  17472. #if defined(__cplusplus) && !defined(CINTERFACE)
  17473.     
  17474.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  17475.     IDrawVideoImage : public IUnknown
  17476.     {
  17477.     public:
  17478.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  17479.         
  17480.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  17481.         
  17482.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  17483.             /* [in] */ HDC hdc,
  17484.             /* [in] */ LPRECT lprcSrc,
  17485.             /* [in] */ LPRECT lprcDst) = 0;
  17486.         
  17487.     };
  17488.     
  17489. #else     /* C style interface */
  17490.  
  17491.     typedef struct IDrawVideoImageVtbl
  17492.     {
  17493.         BEGIN_INTERFACE
  17494.         
  17495.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17496.             IDrawVideoImage __RPC_FAR * This,
  17497.             /* [in] */ REFIID riid,
  17498.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17499.         
  17500.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17501.             IDrawVideoImage __RPC_FAR * This);
  17502.         
  17503.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17504.             IDrawVideoImage __RPC_FAR * This);
  17505.         
  17506.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawVideoImageBegin )( 
  17507.             IDrawVideoImage __RPC_FAR * This);
  17508.         
  17509.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawVideoImageEnd )( 
  17510.             IDrawVideoImage __RPC_FAR * This);
  17511.         
  17512.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawVideoImageDraw )( 
  17513.             IDrawVideoImage __RPC_FAR * This,
  17514.             /* [in] */ HDC hdc,
  17515.             /* [in] */ LPRECT lprcSrc,
  17516.             /* [in] */ LPRECT lprcDst);
  17517.         
  17518.         END_INTERFACE
  17519.     } IDrawVideoImageVtbl;
  17520.  
  17521.     interface IDrawVideoImage
  17522.     {
  17523.         CONST_VTBL struct IDrawVideoImageVtbl __RPC_FAR *lpVtbl;
  17524.     };
  17525.  
  17526.     
  17527.  
  17528. #ifdef COBJMACROS
  17529.  
  17530.  
  17531. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)    \
  17532.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17533.  
  17534. #define IDrawVideoImage_AddRef(This)    \
  17535.     (This)->lpVtbl -> AddRef(This)
  17536.  
  17537. #define IDrawVideoImage_Release(This)    \
  17538.     (This)->lpVtbl -> Release(This)
  17539.  
  17540.  
  17541. #define IDrawVideoImage_DrawVideoImageBegin(This)    \
  17542.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  17543.  
  17544. #define IDrawVideoImage_DrawVideoImageEnd(This)    \
  17545.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  17546.  
  17547. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)    \
  17548.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  17549.  
  17550. #endif /* COBJMACROS */
  17551.  
  17552.  
  17553. #endif     /* C style interface */
  17554.  
  17555.  
  17556.  
  17557. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  17558.     IDrawVideoImage __RPC_FAR * This);
  17559.  
  17560.  
  17561. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  17562.     IRpcStubBuffer *This,
  17563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17564.     PRPC_MESSAGE _pRpcMessage,
  17565.     DWORD *_pdwStubPhase);
  17566.  
  17567.  
  17568. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  17569.     IDrawVideoImage __RPC_FAR * This);
  17570.  
  17571.  
  17572. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  17573.     IRpcStubBuffer *This,
  17574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17575.     PRPC_MESSAGE _pRpcMessage,
  17576.     DWORD *_pdwStubPhase);
  17577.  
  17578.  
  17579. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  17580.     IDrawVideoImage __RPC_FAR * This,
  17581.     /* [in] */ HDC hdc,
  17582.     /* [in] */ LPRECT lprcSrc,
  17583.     /* [in] */ LPRECT lprcDst);
  17584.  
  17585.  
  17586. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  17587.     IRpcStubBuffer *This,
  17588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17589.     PRPC_MESSAGE _pRpcMessage,
  17590.     DWORD *_pdwStubPhase);
  17591.  
  17592.  
  17593.  
  17594. #endif     /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  17595.  
  17596.  
  17597. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  17598. #define __IAMPushSource_INTERFACE_DEFINED__
  17599.  
  17600. /* interface IAMPushSource */
  17601. /* [unique][uuid][object] */ 
  17602.  
  17603.  
  17604. EXTERN_C const IID IID_IAMPushSource;
  17605.  
  17606. #if defined(__cplusplus) && !defined(CINTERFACE)
  17607.     
  17608.     MIDL_INTERFACE("66CD9D4A-993F-11d2-B75F-00C04FB6BD3D")
  17609.     IAMPushSource : public IUnknown
  17610.     {
  17611.     public:
  17612.         virtual HRESULT STDMETHODCALLTYPE SetLiveMode( 
  17613.             /* [in] */ BOOL bEnable) = 0;
  17614.         
  17615.         virtual HRESULT STDMETHODCALLTYPE GetLiveMode( 
  17616.             /* [out] */ BOOL __RPC_FAR *bEnable) = 0;
  17617.         
  17618.     };
  17619.     
  17620. #else     /* C style interface */
  17621.  
  17622.     typedef struct IAMPushSourceVtbl
  17623.     {
  17624.         BEGIN_INTERFACE
  17625.         
  17626.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17627.             IAMPushSource __RPC_FAR * This,
  17628.             /* [in] */ REFIID riid,
  17629.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17630.         
  17631.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17632.             IAMPushSource __RPC_FAR * This);
  17633.         
  17634.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17635.             IAMPushSource __RPC_FAR * This);
  17636.         
  17637.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLiveMode )( 
  17638.             IAMPushSource __RPC_FAR * This,
  17639.             /* [in] */ BOOL bEnable);
  17640.         
  17641.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLiveMode )( 
  17642.             IAMPushSource __RPC_FAR * This,
  17643.             /* [out] */ BOOL __RPC_FAR *bEnable);
  17644.         
  17645.         END_INTERFACE
  17646.     } IAMPushSourceVtbl;
  17647.  
  17648.     interface IAMPushSource
  17649.     {
  17650.         CONST_VTBL struct IAMPushSourceVtbl __RPC_FAR *lpVtbl;
  17651.     };
  17652.  
  17653.     
  17654.  
  17655. #ifdef COBJMACROS
  17656.  
  17657.  
  17658. #define IAMPushSource_QueryInterface(This,riid,ppvObject)    \
  17659.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17660.  
  17661. #define IAMPushSource_AddRef(This)    \
  17662.     (This)->lpVtbl -> AddRef(This)
  17663.  
  17664. #define IAMPushSource_Release(This)    \
  17665.     (This)->lpVtbl -> Release(This)
  17666.  
  17667.  
  17668. #define IAMPushSource_SetLiveMode(This,bEnable)    \
  17669.     (This)->lpVtbl -> SetLiveMode(This,bEnable)
  17670.  
  17671. #define IAMPushSource_GetLiveMode(This,bEnable)    \
  17672.     (This)->lpVtbl -> GetLiveMode(This,bEnable)
  17673.  
  17674. #endif /* COBJMACROS */
  17675.  
  17676.  
  17677. #endif     /* C style interface */
  17678.  
  17679.  
  17680.  
  17681. HRESULT STDMETHODCALLTYPE IAMPushSource_SetLiveMode_Proxy( 
  17682.     IAMPushSource __RPC_FAR * This,
  17683.     /* [in] */ BOOL bEnable);
  17684.  
  17685.  
  17686. void __RPC_STUB IAMPushSource_SetLiveMode_Stub(
  17687.     IRpcStubBuffer *This,
  17688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17689.     PRPC_MESSAGE _pRpcMessage,
  17690.     DWORD *_pdwStubPhase);
  17691.  
  17692.  
  17693. HRESULT STDMETHODCALLTYPE IAMPushSource_GetLiveMode_Proxy( 
  17694.     IAMPushSource __RPC_FAR * This,
  17695.     /* [out] */ BOOL __RPC_FAR *bEnable);
  17696.  
  17697.  
  17698. void __RPC_STUB IAMPushSource_GetLiveMode_Stub(
  17699.     IRpcStubBuffer *This,
  17700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17701.     PRPC_MESSAGE _pRpcMessage,
  17702.     DWORD *_pdwStubPhase);
  17703.  
  17704.  
  17705.  
  17706. #endif     /* __IAMPushSource_INTERFACE_DEFINED__ */
  17707.  
  17708.  
  17709. /* interface __MIDL_itf_strmif_0331 */
  17710. /* [local] */ 
  17711.  
  17712. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0331_0001
  17713.     {
  17714.     DWORD dwDVAAuxSrc;
  17715.     DWORD dwDVAAuxCtl;
  17716.     DWORD dwDVAAuxSrc1;
  17717.     DWORD dwDVAAuxCtl1;
  17718.     DWORD dwDVVAuxSrc;
  17719.     DWORD dwDVVAuxCtl;
  17720.     DWORD dwDVReserved[ 2 ];
  17721.     }    DVINFO;
  17722.  
  17723. typedef struct __MIDL___MIDL_itf_strmif_0331_0001 __RPC_FAR *PDVINFO;
  17724.  
  17725.  
  17726. enum _DVENCODERRESOLUTION
  17727.     {    DVENCODERRESOLUTION_720x480    = 2012,
  17728.     DVENCODERRESOLUTION_360x240    = 2013,
  17729.     DVENCODERRESOLUTION_180x120    = 2014,
  17730.     DVENCODERRESOLUTION_88x60    = 2015
  17731.     };
  17732.  
  17733. enum _DVENCODERVIDEOFORMAT
  17734.     {    DVENCODERVIDEOFORMAT_NTSC    = 2000,
  17735.     DVENCODERVIDEOFORMAT_PAL    = 2001
  17736.     };
  17737.  
  17738. enum _DVENCODERFORMAT
  17739.     {    DVENCODERFORMAT_DVSD    = 2007,
  17740.     DVENCODERFORMAT_DVHD    = 2008,
  17741.     DVENCODERFORMAT_DVSL    = 2009
  17742.     };
  17743.  
  17744.  
  17745. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  17746. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  17747.  
  17748. #ifndef __IDVEnc_INTERFACE_DEFINED__
  17749. #define __IDVEnc_INTERFACE_DEFINED__
  17750.  
  17751. /* interface IDVEnc */
  17752. /* [unique][uuid][object] */ 
  17753.  
  17754.  
  17755. EXTERN_C const IID IID_IDVEnc;
  17756.  
  17757. #if defined(__cplusplus) && !defined(CINTERFACE)
  17758.     
  17759.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  17760.     IDVEnc : public IUnknown
  17761.     {
  17762.     public:
  17763.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  17764.             /* [out] */ int __RPC_FAR *VideoFormat,
  17765.             /* [out] */ int __RPC_FAR *DVFormat,
  17766.             /* [out] */ int __RPC_FAR *Resolution,
  17767.             /* [in] */ BYTE fDVInfo,
  17768.             /* [out] */ DVINFO __RPC_FAR *sDVInfo) = 0;
  17769.         
  17770.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  17771.             /* [in] */ int VideoFormat,
  17772.             /* [in] */ int DVFormat,
  17773.             /* [in] */ int Resolution,
  17774.             /* [in] */ BYTE fDVInfo,
  17775.             /* [in] */ DVINFO __RPC_FAR *sDVInfo) = 0;
  17776.         
  17777.     };
  17778.     
  17779. #else     /* C style interface */
  17780.  
  17781.     typedef struct IDVEncVtbl
  17782.     {
  17783.         BEGIN_INTERFACE
  17784.         
  17785.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17786.             IDVEnc __RPC_FAR * This,
  17787.             /* [in] */ REFIID riid,
  17788.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17789.         
  17790.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17791.             IDVEnc __RPC_FAR * This);
  17792.         
  17793.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17794.             IDVEnc __RPC_FAR * This);
  17795.         
  17796.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IFormatResolution )( 
  17797.             IDVEnc __RPC_FAR * This,
  17798.             /* [out] */ int __RPC_FAR *VideoFormat,
  17799.             /* [out] */ int __RPC_FAR *DVFormat,
  17800.             /* [out] */ int __RPC_FAR *Resolution,
  17801.             /* [in] */ BYTE fDVInfo,
  17802.             /* [out] */ DVINFO __RPC_FAR *sDVInfo);
  17803.         
  17804.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IFormatResolution )( 
  17805.             IDVEnc __RPC_FAR * This,
  17806.             /* [in] */ int VideoFormat,
  17807.             /* [in] */ int DVFormat,
  17808.             /* [in] */ int Resolution,
  17809.             /* [in] */ BYTE fDVInfo,
  17810.             /* [in] */ DVINFO __RPC_FAR *sDVInfo);
  17811.         
  17812.         END_INTERFACE
  17813.     } IDVEncVtbl;
  17814.  
  17815.     interface IDVEnc
  17816.     {
  17817.         CONST_VTBL struct IDVEncVtbl __RPC_FAR *lpVtbl;
  17818.     };
  17819.  
  17820.     
  17821.  
  17822. #ifdef COBJMACROS
  17823.  
  17824.  
  17825. #define IDVEnc_QueryInterface(This,riid,ppvObject)    \
  17826.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17827.  
  17828. #define IDVEnc_AddRef(This)    \
  17829.     (This)->lpVtbl -> AddRef(This)
  17830.  
  17831. #define IDVEnc_Release(This)    \
  17832.     (This)->lpVtbl -> Release(This)
  17833.  
  17834.  
  17835. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  17836.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  17837.  
  17838. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  17839.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  17840.  
  17841. #endif /* COBJMACROS */
  17842.  
  17843.  
  17844. #endif     /* C style interface */
  17845.  
  17846.  
  17847.  
  17848. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  17849.     IDVEnc __RPC_FAR * This,
  17850.     /* [out] */ int __RPC_FAR *VideoFormat,
  17851.     /* [out] */ int __RPC_FAR *DVFormat,
  17852.     /* [out] */ int __RPC_FAR *Resolution,
  17853.     /* [in] */ BYTE fDVInfo,
  17854.     /* [out] */ DVINFO __RPC_FAR *sDVInfo);
  17855.  
  17856.  
  17857. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  17858.     IRpcStubBuffer *This,
  17859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17860.     PRPC_MESSAGE _pRpcMessage,
  17861.     DWORD *_pdwStubPhase);
  17862.  
  17863.  
  17864. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  17865.     IDVEnc __RPC_FAR * This,
  17866.     /* [in] */ int VideoFormat,
  17867.     /* [in] */ int DVFormat,
  17868.     /* [in] */ int Resolution,
  17869.     /* [in] */ BYTE fDVInfo,
  17870.     /* [in] */ DVINFO __RPC_FAR *sDVInfo);
  17871.  
  17872.  
  17873. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  17874.     IRpcStubBuffer *This,
  17875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17876.     PRPC_MESSAGE _pRpcMessage,
  17877.     DWORD *_pdwStubPhase);
  17878.  
  17879.  
  17880.  
  17881. #endif     /* __IDVEnc_INTERFACE_DEFINED__ */
  17882.  
  17883.  
  17884. /* interface __MIDL_itf_strmif_0332 */
  17885. /* [local] */ 
  17886.  
  17887.  
  17888. enum _DVDECODERRESOLUTION
  17889.     {    DVDECODERRESOLUTION_720x480    = 1000,
  17890.     DVDECODERRESOLUTION_360x240    = 1001,
  17891.     DVDECODERRESOLUTION_180x120    = 1002,
  17892.     DVDECODERRESOLUTION_88x60    = 1003
  17893.     };
  17894.  
  17895.  
  17896. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  17897. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  17898.  
  17899. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  17900. #define __IIPDVDec_INTERFACE_DEFINED__
  17901.  
  17902. /* interface IIPDVDec */
  17903. /* [unique][uuid][object] */ 
  17904.  
  17905.  
  17906. EXTERN_C const IID IID_IIPDVDec;
  17907.  
  17908. #if defined(__cplusplus) && !defined(CINTERFACE)
  17909.     
  17910.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  17911.     IIPDVDec : public IUnknown
  17912.     {
  17913.     public:
  17914.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  17915.             /* [out] */ int __RPC_FAR *displayPix) = 0;
  17916.         
  17917.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  17918.             /* [in] */ int displayPix) = 0;
  17919.         
  17920.     };
  17921.     
  17922. #else     /* C style interface */
  17923.  
  17924.     typedef struct IIPDVDecVtbl
  17925.     {
  17926.         BEGIN_INTERFACE
  17927.         
  17928.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  17929.             IIPDVDec __RPC_FAR * This,
  17930.             /* [in] */ REFIID riid,
  17931.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  17932.         
  17933.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  17934.             IIPDVDec __RPC_FAR * This);
  17935.         
  17936.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  17937.             IIPDVDec __RPC_FAR * This);
  17938.         
  17939.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IPDisplay )( 
  17940.             IIPDVDec __RPC_FAR * This,
  17941.             /* [out] */ int __RPC_FAR *displayPix);
  17942.         
  17943.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IPDisplay )( 
  17944.             IIPDVDec __RPC_FAR * This,
  17945.             /* [in] */ int displayPix);
  17946.         
  17947.         END_INTERFACE
  17948.     } IIPDVDecVtbl;
  17949.  
  17950.     interface IIPDVDec
  17951.     {
  17952.         CONST_VTBL struct IIPDVDecVtbl __RPC_FAR *lpVtbl;
  17953.     };
  17954.  
  17955.     
  17956.  
  17957. #ifdef COBJMACROS
  17958.  
  17959.  
  17960. #define IIPDVDec_QueryInterface(This,riid,ppvObject)    \
  17961.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17962.  
  17963. #define IIPDVDec_AddRef(This)    \
  17964.     (This)->lpVtbl -> AddRef(This)
  17965.  
  17966. #define IIPDVDec_Release(This)    \
  17967.     (This)->lpVtbl -> Release(This)
  17968.  
  17969.  
  17970. #define IIPDVDec_get_IPDisplay(This,displayPix)    \
  17971.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  17972.  
  17973. #define IIPDVDec_put_IPDisplay(This,displayPix)    \
  17974.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  17975.  
  17976. #endif /* COBJMACROS */
  17977.  
  17978.  
  17979. #endif     /* C style interface */
  17980.  
  17981.  
  17982.  
  17983. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  17984.     IIPDVDec __RPC_FAR * This,
  17985.     /* [out] */ int __RPC_FAR *displayPix);
  17986.  
  17987.  
  17988. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  17989.     IRpcStubBuffer *This,
  17990.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17991.     PRPC_MESSAGE _pRpcMessage,
  17992.     DWORD *_pdwStubPhase);
  17993.  
  17994.  
  17995. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  17996.     IIPDVDec __RPC_FAR * This,
  17997.     /* [in] */ int displayPix);
  17998.  
  17999.  
  18000. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  18001.     IRpcStubBuffer *This,
  18002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18003.     PRPC_MESSAGE _pRpcMessage,
  18004.     DWORD *_pdwStubPhase);
  18005.  
  18006.  
  18007.  
  18008. #endif     /* __IIPDVDec_INTERFACE_DEFINED__ */
  18009.  
  18010.  
  18011. #ifndef __IAMovie_INTERFACE_DEFINED__
  18012. #define __IAMovie_INTERFACE_DEFINED__
  18013.  
  18014. /* interface IAMovie */
  18015. /* [unique][uuid][object] */ 
  18016.  
  18017.  
  18018. EXTERN_C const IID IID_IAMovie;
  18019.  
  18020. #if defined(__cplusplus) && !defined(CINTERFACE)
  18021.     
  18022.     MIDL_INTERFACE("359ace10-7688-11cf-8b23-00805f6cef60")
  18023.     IAMovie : public IFilterGraph
  18024.     {
  18025.     public:
  18026.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  18027.             /* [in] */ IPin __RPC_FAR *ppinOut,
  18028.             /* [in] */ IPin __RPC_FAR *ppinIn) = 0;
  18029.         
  18030.         virtual HRESULT STDMETHODCALLTYPE Render( 
  18031.             /* [in] */ IPin __RPC_FAR *ppinOut) = 0;
  18032.         
  18033.         virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  18034.         
  18035.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  18036.         
  18037.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  18038.         
  18039.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  18040.             /* [in] */ LONG msTimeout,
  18041.             /* [out] */ FILTER_STATE __RPC_FAR *pfs) = 0;
  18042.         
  18043.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  18044.             /* [in] */ LPCWSTR strFilename) = 0;
  18045.         
  18046.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  18047.             /* [in] */ LPCWSTR strFilename,
  18048.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppUnk) = 0;
  18049.         
  18050.         virtual HRESULT STDMETHODCALLTYPE GetEventHandle( 
  18051.             /* [out] */ HEVENT __RPC_FAR *hEvent) = 0;
  18052.         
  18053.         virtual HRESULT STDMETHODCALLTYPE GetEvent( 
  18054.             /* [out] */ long __RPC_FAR *lEventCode,
  18055.             /* [out] */ long __RPC_FAR *lParam1,
  18056.             /* [out] */ long __RPC_FAR *lParam2,
  18057.             /* [in] */ long msTimeout) = 0;
  18058.         
  18059.         virtual HRESULT STDMETHODCALLTYPE WaitForCompletion( 
  18060.             /* [in] */ long msTimeout,
  18061.             /* [out] */ long __RPC_FAR *pEvCode) = 0;
  18062.         
  18063.         virtual HRESULT STDMETHODCALLTYPE CancelDefaultHandling( 
  18064.             /* [in] */ long lEvCode) = 0;
  18065.         
  18066.         virtual HRESULT STDMETHODCALLTYPE RestoreDefaultHandling( 
  18067.             /* [in] */ long lEvCode) = 0;
  18068.         
  18069.         virtual HRESULT STDMETHODCALLTYPE get_Duration( 
  18070.             /* [out] */ REFTIME __RPC_FAR *plength) = 0;
  18071.         
  18072.         virtual HRESULT STDMETHODCALLTYPE put_CurrentPosition( 
  18073.             /* [in] */ REFTIME llTime) = 0;
  18074.         
  18075.         virtual HRESULT STDMETHODCALLTYPE get_CurrentPosition( 
  18076.             /* [out] */ REFTIME __RPC_FAR *pllTime) = 0;
  18077.         
  18078.         virtual HRESULT STDMETHODCALLTYPE get_StopTime( 
  18079.             /* [out] */ REFTIME __RPC_FAR *pllTime) = 0;
  18080.         
  18081.         virtual HRESULT STDMETHODCALLTYPE put_StopTime( 
  18082.             /* [in] */ REFTIME llTime) = 0;
  18083.         
  18084.         virtual HRESULT STDMETHODCALLTYPE get_PrerollTime( 
  18085.             /* [out] */ REFTIME __RPC_FAR *pllTime) = 0;
  18086.         
  18087.         virtual HRESULT STDMETHODCALLTYPE put_PrerollTime( 
  18088.             /* [in] */ REFTIME llTime) = 0;
  18089.         
  18090.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  18091.             /* [in] */ double dRate) = 0;
  18092.         
  18093.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  18094.             /* [out] */ double __RPC_FAR *pdRate) = 0;
  18095.         
  18096.         virtual HRESULT STDMETHODCALLTYPE RemoveAllFilters( void) = 0;
  18097.         
  18098.         virtual HRESULT STDMETHODCALLTYPE Play( void) = 0;
  18099.         
  18100.         virtual HRESULT STDMETHODCALLTYPE PlayFile( 
  18101.             /* [in] */ LPCWSTR strFilename) = 0;
  18102.         
  18103.         virtual HRESULT STDMETHODCALLTYPE EnumFiltersByInterface( 
  18104.             /* [in] */ REFIID riid,
  18105.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  18106.         
  18107.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  18108.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  18109.         
  18110.         virtual HRESULT STDMETHODCALLTYPE EnumPinsIn( 
  18111.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  18112.         
  18113.         virtual HRESULT STDMETHODCALLTYPE EnumPinsOut( 
  18114.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum) = 0;
  18115.         
  18116.         virtual HRESULT STDMETHODCALLTYPE RenderAll( void) = 0;
  18117.         
  18118.         virtual HRESULT STDMETHODCALLTYPE RenderNewFile( 
  18119.             /* [in] */ LPCWSTR strFilename) = 0;
  18120.         
  18121.         virtual HRESULT STDMETHODCALLTYPE FreeEventParams( 
  18122.             /* [in] */ long lEvCode,
  18123.             /* [in] */ long lParam1,
  18124.             /* [in] */ long lParam2) = 0;
  18125.         
  18126.     };
  18127.     
  18128. #else     /* C style interface */
  18129.  
  18130.     typedef struct IAMovieVtbl
  18131.     {
  18132.         BEGIN_INTERFACE
  18133.         
  18134.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  18135.             IAMovie __RPC_FAR * This,
  18136.             /* [in] */ REFIID riid,
  18137.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  18138.         
  18139.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  18140.             IAMovie __RPC_FAR * This);
  18141.         
  18142.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  18143.             IAMovie __RPC_FAR * This);
  18144.         
  18145.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFilter )( 
  18146.             IAMovie __RPC_FAR * This,
  18147.             /* [in] */ IBaseFilter __RPC_FAR *pFilter,
  18148.             /* [string][in] */ LPCWSTR pName);
  18149.         
  18150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveFilter )( 
  18151.             IAMovie __RPC_FAR * This,
  18152.             /* [in] */ IBaseFilter __RPC_FAR *pFilter);
  18153.         
  18154.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFilters )( 
  18155.             IAMovie __RPC_FAR * This,
  18156.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  18157.         
  18158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFilterByName )( 
  18159.             IAMovie __RPC_FAR * This,
  18160.             /* [string][in] */ LPCWSTR pName,
  18161.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppFilter);
  18162.         
  18163.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConnectDirect )( 
  18164.             IAMovie __RPC_FAR * This,
  18165.             /* [in] */ IPin __RPC_FAR *ppinOut,
  18166.             /* [in] */ IPin __RPC_FAR *ppinIn,
  18167.             /* [in] */ const AM_MEDIA_TYPE __RPC_FAR *pmt);
  18168.         
  18169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reconnect )( 
  18170.             IAMovie __RPC_FAR * This,
  18171.             /* [in] */ IPin __RPC_FAR *ppin);
  18172.         
  18173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  18174.             IAMovie __RPC_FAR * This,
  18175.             /* [in] */ IPin __RPC_FAR *ppin);
  18176.         
  18177.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDefaultSyncSource )( 
  18178.             IAMovie __RPC_FAR * This);
  18179.         
  18180.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  18181.             IAMovie __RPC_FAR * This,
  18182.             /* [in] */ IPin __RPC_FAR *ppinOut,
  18183.             /* [in] */ IPin __RPC_FAR *ppinIn);
  18184.         
  18185.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Render )( 
  18186.             IAMovie __RPC_FAR * This,
  18187.             /* [in] */ IPin __RPC_FAR *ppinOut);
  18188.         
  18189.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  18190.             IAMovie __RPC_FAR * This);
  18191.         
  18192.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  18193.             IAMovie __RPC_FAR * This);
  18194.         
  18195.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  18196.             IAMovie __RPC_FAR * This);
  18197.         
  18198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  18199.             IAMovie __RPC_FAR * This,
  18200.             /* [in] */ LONG msTimeout,
  18201.             /* [out] */ FILTER_STATE __RPC_FAR *pfs);
  18202.         
  18203.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderFile )( 
  18204.             IAMovie __RPC_FAR * This,
  18205.             /* [in] */ LPCWSTR strFilename);
  18206.         
  18207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSourceFilter )( 
  18208.             IAMovie __RPC_FAR * This,
  18209.             /* [in] */ LPCWSTR strFilename,
  18210.             /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppUnk);
  18211.         
  18212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEventHandle )( 
  18213.             IAMovie __RPC_FAR * This,
  18214.             /* [out] */ HEVENT __RPC_FAR *hEvent);
  18215.         
  18216.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEvent )( 
  18217.             IAMovie __RPC_FAR * This,
  18218.             /* [out] */ long __RPC_FAR *lEventCode,
  18219.             /* [out] */ long __RPC_FAR *lParam1,
  18220.             /* [out] */ long __RPC_FAR *lParam2,
  18221.             /* [in] */ long msTimeout);
  18222.         
  18223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitForCompletion )( 
  18224.             IAMovie __RPC_FAR * This,
  18225.             /* [in] */ long msTimeout,
  18226.             /* [out] */ long __RPC_FAR *pEvCode);
  18227.         
  18228.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelDefaultHandling )( 
  18229.             IAMovie __RPC_FAR * This,
  18230.             /* [in] */ long lEvCode);
  18231.         
  18232.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestoreDefaultHandling )( 
  18233.             IAMovie __RPC_FAR * This,
  18234.             /* [in] */ long lEvCode);
  18235.         
  18236.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
  18237.             IAMovie __RPC_FAR * This,
  18238.             /* [out] */ REFTIME __RPC_FAR *plength);
  18239.         
  18240.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CurrentPosition )( 
  18241.             IAMovie __RPC_FAR * This,
  18242.             /* [in] */ REFTIME llTime);
  18243.         
  18244.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentPosition )( 
  18245.             IAMovie __RPC_FAR * This,
  18246.             /* [out] */ REFTIME __RPC_FAR *pllTime);
  18247.         
  18248.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StopTime )( 
  18249.             IAMovie __RPC_FAR * This,
  18250.             /* [out] */ REFTIME __RPC_FAR *pllTime);
  18251.         
  18252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_StopTime )( 
  18253.             IAMovie __RPC_FAR * This,
  18254.             /* [in] */ REFTIME llTime);
  18255.         
  18256.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PrerollTime )( 
  18257.             IAMovie __RPC_FAR * This,
  18258.             /* [out] */ REFTIME __RPC_FAR *pllTime);
  18259.         
  18260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PrerollTime )( 
  18261.             IAMovie __RPC_FAR * This,
  18262.             /* [in] */ REFTIME llTime);
  18263.         
  18264.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rate )( 
  18265.             IAMovie __RPC_FAR * This,
  18266.             /* [in] */ double dRate);
  18267.         
  18268.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rate )( 
  18269.             IAMovie __RPC_FAR * This,
  18270.             /* [out] */ double __RPC_FAR *pdRate);
  18271.         
  18272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveAllFilters )( 
  18273.             IAMovie __RPC_FAR * This);
  18274.         
  18275.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )( 
  18276.             IAMovie __RPC_FAR * This);
  18277.         
  18278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFile )( 
  18279.             IAMovie __RPC_FAR * This,
  18280.             /* [in] */ LPCWSTR strFilename);
  18281.         
  18282.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFiltersByInterface )( 
  18283.             IAMovie __RPC_FAR * This,
  18284.             /* [in] */ REFIID riid,
  18285.             /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  18286.         
  18287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumPins )( 
  18288.             IAMovie __RPC_FAR * This,
  18289.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18290.         
  18291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumPinsIn )( 
  18292.             IAMovie __RPC_FAR * This,
  18293.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18294.         
  18295.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumPinsOut )( 
  18296.             IAMovie __RPC_FAR * This,
  18297.             /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18298.         
  18299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderAll )( 
  18300.             IAMovie __RPC_FAR * This);
  18301.         
  18302.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderNewFile )( 
  18303.             IAMovie __RPC_FAR * This,
  18304.             /* [in] */ LPCWSTR strFilename);
  18305.         
  18306.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeEventParams )( 
  18307.             IAMovie __RPC_FAR * This,
  18308.             /* [in] */ long lEvCode,
  18309.             /* [in] */ long lParam1,
  18310.             /* [in] */ long lParam2);
  18311.         
  18312.         END_INTERFACE
  18313.     } IAMovieVtbl;
  18314.  
  18315.     interface IAMovie
  18316.     {
  18317.         CONST_VTBL struct IAMovieVtbl __RPC_FAR *lpVtbl;
  18318.     };
  18319.  
  18320.     
  18321.  
  18322. #ifdef COBJMACROS
  18323.  
  18324.  
  18325. #define IAMovie_QueryInterface(This,riid,ppvObject)    \
  18326.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18327.  
  18328. #define IAMovie_AddRef(This)    \
  18329.     (This)->lpVtbl -> AddRef(This)
  18330.  
  18331. #define IAMovie_Release(This)    \
  18332.     (This)->lpVtbl -> Release(This)
  18333.  
  18334.  
  18335. #define IAMovie_AddFilter(This,pFilter,pName)    \
  18336.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  18337.  
  18338. #define IAMovie_RemoveFilter(This,pFilter)    \
  18339.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  18340.  
  18341. #define IAMovie_EnumFilters(This,ppEnum)    \
  18342.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  18343.  
  18344. #define IAMovie_FindFilterByName(This,pName,ppFilter)    \
  18345.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  18346.  
  18347. #define IAMovie_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  18348.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  18349.  
  18350. #define IAMovie_Reconnect(This,ppin)    \
  18351.     (This)->lpVtbl -> Reconnect(This,ppin)
  18352.  
  18353. #define IAMovie_Disconnect(This,ppin)    \
  18354.     (This)->lpVtbl -> Disconnect(This,ppin)
  18355.  
  18356. #define IAMovie_SetDefaultSyncSource(This)    \
  18357.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  18358.  
  18359.  
  18360. #define IAMovie_Connect(This,ppinOut,ppinIn)    \
  18361.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  18362.  
  18363. #define IAMovie_Render(This,ppinOut)    \
  18364.     (This)->lpVtbl -> Render(This,ppinOut)
  18365.  
  18366. #define IAMovie_Run(This)    \
  18367.     (This)->lpVtbl -> Run(This)
  18368.  
  18369. #define IAMovie_Pause(This)    \
  18370.     (This)->lpVtbl -> Pause(This)
  18371.  
  18372. #define IAMovie_Stop(This)    \
  18373.     (This)->lpVtbl -> Stop(This)
  18374.  
  18375. #define IAMovie_GetState(This,msTimeout,pfs)    \
  18376.     (This)->lpVtbl -> GetState(This,msTimeout,pfs)
  18377.  
  18378. #define IAMovie_RenderFile(This,strFilename)    \
  18379.     (This)->lpVtbl -> RenderFile(This,strFilename)
  18380.  
  18381. #define IAMovie_AddSourceFilter(This,strFilename,ppUnk)    \
  18382.     (This)->lpVtbl -> AddSourceFilter(This,strFilename,ppUnk)
  18383.  
  18384. #define IAMovie_GetEventHandle(This,hEvent)    \
  18385.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  18386.  
  18387. #define IAMovie_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  18388.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  18389.  
  18390. #define IAMovie_WaitForCompletion(This,msTimeout,pEvCode)    \
  18391.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  18392.  
  18393. #define IAMovie_CancelDefaultHandling(This,lEvCode)    \
  18394.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  18395.  
  18396. #define IAMovie_RestoreDefaultHandling(This,lEvCode)    \
  18397.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  18398.  
  18399. #define IAMovie_get_Duration(This,plength)    \
  18400.     (This)->lpVtbl -> get_Duration(This,plength)
  18401.  
  18402. #define IAMovie_put_CurrentPosition(This,llTime)    \
  18403.     (This)->lpVtbl -> put_CurrentPosition(This,llTime)
  18404.  
  18405. #define IAMovie_get_CurrentPosition(This,pllTime)    \
  18406.     (This)->lpVtbl -> get_CurrentPosition(This,pllTime)
  18407.  
  18408. #define IAMovie_get_StopTime(This,pllTime)    \
  18409.     (This)->lpVtbl -> get_StopTime(This,pllTime)
  18410.  
  18411. #define IAMovie_put_StopTime(This,llTime)    \
  18412.     (This)->lpVtbl -> put_StopTime(This,llTime)
  18413.  
  18414. #define IAMovie_get_PrerollTime(This,pllTime)    \
  18415.     (This)->lpVtbl -> get_PrerollTime(This,pllTime)
  18416.  
  18417. #define IAMovie_put_PrerollTime(This,llTime)    \
  18418.     (This)->lpVtbl -> put_PrerollTime(This,llTime)
  18419.  
  18420. #define IAMovie_put_Rate(This,dRate)    \
  18421.     (This)->lpVtbl -> put_Rate(This,dRate)
  18422.  
  18423. #define IAMovie_get_Rate(This,pdRate)    \
  18424.     (This)->lpVtbl -> get_Rate(This,pdRate)
  18425.  
  18426. #define IAMovie_RemoveAllFilters(This)    \
  18427.     (This)->lpVtbl -> RemoveAllFilters(This)
  18428.  
  18429. #define IAMovie_Play(This)    \
  18430.     (This)->lpVtbl -> Play(This)
  18431.  
  18432. #define IAMovie_PlayFile(This,strFilename)    \
  18433.     (This)->lpVtbl -> PlayFile(This,strFilename)
  18434.  
  18435. #define IAMovie_EnumFiltersByInterface(This,riid,ppEnum)    \
  18436.     (This)->lpVtbl -> EnumFiltersByInterface(This,riid,ppEnum)
  18437.  
  18438. #define IAMovie_EnumPins(This,ppEnum)    \
  18439.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  18440.  
  18441. #define IAMovie_EnumPinsIn(This,ppEnum)    \
  18442.     (This)->lpVtbl -> EnumPinsIn(This,ppEnum)
  18443.  
  18444. #define IAMovie_EnumPinsOut(This,ppEnum)    \
  18445.     (This)->lpVtbl -> EnumPinsOut(This,ppEnum)
  18446.  
  18447. #define IAMovie_RenderAll(This)    \
  18448.     (This)->lpVtbl -> RenderAll(This)
  18449.  
  18450. #define IAMovie_RenderNewFile(This,strFilename)    \
  18451.     (This)->lpVtbl -> RenderNewFile(This,strFilename)
  18452.  
  18453. #define IAMovie_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  18454.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  18455.  
  18456. #endif /* COBJMACROS */
  18457.  
  18458.  
  18459. #endif     /* C style interface */
  18460.  
  18461.  
  18462.  
  18463. HRESULT STDMETHODCALLTYPE IAMovie_Connect_Proxy( 
  18464.     IAMovie __RPC_FAR * This,
  18465.     /* [in] */ IPin __RPC_FAR *ppinOut,
  18466.     /* [in] */ IPin __RPC_FAR *ppinIn);
  18467.  
  18468.  
  18469. void __RPC_STUB IAMovie_Connect_Stub(
  18470.     IRpcStubBuffer *This,
  18471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18472.     PRPC_MESSAGE _pRpcMessage,
  18473.     DWORD *_pdwStubPhase);
  18474.  
  18475.  
  18476. HRESULT STDMETHODCALLTYPE IAMovie_Render_Proxy( 
  18477.     IAMovie __RPC_FAR * This,
  18478.     /* [in] */ IPin __RPC_FAR *ppinOut);
  18479.  
  18480.  
  18481. void __RPC_STUB IAMovie_Render_Stub(
  18482.     IRpcStubBuffer *This,
  18483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18484.     PRPC_MESSAGE _pRpcMessage,
  18485.     DWORD *_pdwStubPhase);
  18486.  
  18487.  
  18488. HRESULT STDMETHODCALLTYPE IAMovie_Run_Proxy( 
  18489.     IAMovie __RPC_FAR * This);
  18490.  
  18491.  
  18492. void __RPC_STUB IAMovie_Run_Stub(
  18493.     IRpcStubBuffer *This,
  18494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18495.     PRPC_MESSAGE _pRpcMessage,
  18496.     DWORD *_pdwStubPhase);
  18497.  
  18498.  
  18499. HRESULT STDMETHODCALLTYPE IAMovie_Pause_Proxy( 
  18500.     IAMovie __RPC_FAR * This);
  18501.  
  18502.  
  18503. void __RPC_STUB IAMovie_Pause_Stub(
  18504.     IRpcStubBuffer *This,
  18505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18506.     PRPC_MESSAGE _pRpcMessage,
  18507.     DWORD *_pdwStubPhase);
  18508.  
  18509.  
  18510. HRESULT STDMETHODCALLTYPE IAMovie_Stop_Proxy( 
  18511.     IAMovie __RPC_FAR * This);
  18512.  
  18513.  
  18514. void __RPC_STUB IAMovie_Stop_Stub(
  18515.     IRpcStubBuffer *This,
  18516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18517.     PRPC_MESSAGE _pRpcMessage,
  18518.     DWORD *_pdwStubPhase);
  18519.  
  18520.  
  18521. HRESULT STDMETHODCALLTYPE IAMovie_GetState_Proxy( 
  18522.     IAMovie __RPC_FAR * This,
  18523.     /* [in] */ LONG msTimeout,
  18524.     /* [out] */ FILTER_STATE __RPC_FAR *pfs);
  18525.  
  18526.  
  18527. void __RPC_STUB IAMovie_GetState_Stub(
  18528.     IRpcStubBuffer *This,
  18529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18530.     PRPC_MESSAGE _pRpcMessage,
  18531.     DWORD *_pdwStubPhase);
  18532.  
  18533.  
  18534. HRESULT STDMETHODCALLTYPE IAMovie_RenderFile_Proxy( 
  18535.     IAMovie __RPC_FAR * This,
  18536.     /* [in] */ LPCWSTR strFilename);
  18537.  
  18538.  
  18539. void __RPC_STUB IAMovie_RenderFile_Stub(
  18540.     IRpcStubBuffer *This,
  18541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18542.     PRPC_MESSAGE _pRpcMessage,
  18543.     DWORD *_pdwStubPhase);
  18544.  
  18545.  
  18546. HRESULT STDMETHODCALLTYPE IAMovie_AddSourceFilter_Proxy( 
  18547.     IAMovie __RPC_FAR * This,
  18548.     /* [in] */ LPCWSTR strFilename,
  18549.     /* [out] */ IBaseFilter __RPC_FAR *__RPC_FAR *ppUnk);
  18550.  
  18551.  
  18552. void __RPC_STUB IAMovie_AddSourceFilter_Stub(
  18553.     IRpcStubBuffer *This,
  18554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18555.     PRPC_MESSAGE _pRpcMessage,
  18556.     DWORD *_pdwStubPhase);
  18557.  
  18558.  
  18559. HRESULT STDMETHODCALLTYPE IAMovie_GetEventHandle_Proxy( 
  18560.     IAMovie __RPC_FAR * This,
  18561.     /* [out] */ HEVENT __RPC_FAR *hEvent);
  18562.  
  18563.  
  18564. void __RPC_STUB IAMovie_GetEventHandle_Stub(
  18565.     IRpcStubBuffer *This,
  18566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18567.     PRPC_MESSAGE _pRpcMessage,
  18568.     DWORD *_pdwStubPhase);
  18569.  
  18570.  
  18571. HRESULT STDMETHODCALLTYPE IAMovie_GetEvent_Proxy( 
  18572.     IAMovie __RPC_FAR * This,
  18573.     /* [out] */ long __RPC_FAR *lEventCode,
  18574.     /* [out] */ long __RPC_FAR *lParam1,
  18575.     /* [out] */ long __RPC_FAR *lParam2,
  18576.     /* [in] */ long msTimeout);
  18577.  
  18578.  
  18579. void __RPC_STUB IAMovie_GetEvent_Stub(
  18580.     IRpcStubBuffer *This,
  18581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18582.     PRPC_MESSAGE _pRpcMessage,
  18583.     DWORD *_pdwStubPhase);
  18584.  
  18585.  
  18586. HRESULT STDMETHODCALLTYPE IAMovie_WaitForCompletion_Proxy( 
  18587.     IAMovie __RPC_FAR * This,
  18588.     /* [in] */ long msTimeout,
  18589.     /* [out] */ long __RPC_FAR *pEvCode);
  18590.  
  18591.  
  18592. void __RPC_STUB IAMovie_WaitForCompletion_Stub(
  18593.     IRpcStubBuffer *This,
  18594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18595.     PRPC_MESSAGE _pRpcMessage,
  18596.     DWORD *_pdwStubPhase);
  18597.  
  18598.  
  18599. HRESULT STDMETHODCALLTYPE IAMovie_CancelDefaultHandling_Proxy( 
  18600.     IAMovie __RPC_FAR * This,
  18601.     /* [in] */ long lEvCode);
  18602.  
  18603.  
  18604. void __RPC_STUB IAMovie_CancelDefaultHandling_Stub(
  18605.     IRpcStubBuffer *This,
  18606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18607.     PRPC_MESSAGE _pRpcMessage,
  18608.     DWORD *_pdwStubPhase);
  18609.  
  18610.  
  18611. HRESULT STDMETHODCALLTYPE IAMovie_RestoreDefaultHandling_Proxy( 
  18612.     IAMovie __RPC_FAR * This,
  18613.     /* [in] */ long lEvCode);
  18614.  
  18615.  
  18616. void __RPC_STUB IAMovie_RestoreDefaultHandling_Stub(
  18617.     IRpcStubBuffer *This,
  18618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18619.     PRPC_MESSAGE _pRpcMessage,
  18620.     DWORD *_pdwStubPhase);
  18621.  
  18622.  
  18623. HRESULT STDMETHODCALLTYPE IAMovie_get_Duration_Proxy( 
  18624.     IAMovie __RPC_FAR * This,
  18625.     /* [out] */ REFTIME __RPC_FAR *plength);
  18626.  
  18627.  
  18628. void __RPC_STUB IAMovie_get_Duration_Stub(
  18629.     IRpcStubBuffer *This,
  18630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18631.     PRPC_MESSAGE _pRpcMessage,
  18632.     DWORD *_pdwStubPhase);
  18633.  
  18634.  
  18635. HRESULT STDMETHODCALLTYPE IAMovie_put_CurrentPosition_Proxy( 
  18636.     IAMovie __RPC_FAR * This,
  18637.     /* [in] */ REFTIME llTime);
  18638.  
  18639.  
  18640. void __RPC_STUB IAMovie_put_CurrentPosition_Stub(
  18641.     IRpcStubBuffer *This,
  18642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18643.     PRPC_MESSAGE _pRpcMessage,
  18644.     DWORD *_pdwStubPhase);
  18645.  
  18646.  
  18647. HRESULT STDMETHODCALLTYPE IAMovie_get_CurrentPosition_Proxy( 
  18648.     IAMovie __RPC_FAR * This,
  18649.     /* [out] */ REFTIME __RPC_FAR *pllTime);
  18650.  
  18651.  
  18652. void __RPC_STUB IAMovie_get_CurrentPosition_Stub(
  18653.     IRpcStubBuffer *This,
  18654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18655.     PRPC_MESSAGE _pRpcMessage,
  18656.     DWORD *_pdwStubPhase);
  18657.  
  18658.  
  18659. HRESULT STDMETHODCALLTYPE IAMovie_get_StopTime_Proxy( 
  18660.     IAMovie __RPC_FAR * This,
  18661.     /* [out] */ REFTIME __RPC_FAR *pllTime);
  18662.  
  18663.  
  18664. void __RPC_STUB IAMovie_get_StopTime_Stub(
  18665.     IRpcStubBuffer *This,
  18666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18667.     PRPC_MESSAGE _pRpcMessage,
  18668.     DWORD *_pdwStubPhase);
  18669.  
  18670.  
  18671. HRESULT STDMETHODCALLTYPE IAMovie_put_StopTime_Proxy( 
  18672.     IAMovie __RPC_FAR * This,
  18673.     /* [in] */ REFTIME llTime);
  18674.  
  18675.  
  18676. void __RPC_STUB IAMovie_put_StopTime_Stub(
  18677.     IRpcStubBuffer *This,
  18678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18679.     PRPC_MESSAGE _pRpcMessage,
  18680.     DWORD *_pdwStubPhase);
  18681.  
  18682.  
  18683. HRESULT STDMETHODCALLTYPE IAMovie_get_PrerollTime_Proxy( 
  18684.     IAMovie __RPC_FAR * This,
  18685.     /* [out] */ REFTIME __RPC_FAR *pllTime);
  18686.  
  18687.  
  18688. void __RPC_STUB IAMovie_get_PrerollTime_Stub(
  18689.     IRpcStubBuffer *This,
  18690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18691.     PRPC_MESSAGE _pRpcMessage,
  18692.     DWORD *_pdwStubPhase);
  18693.  
  18694.  
  18695. HRESULT STDMETHODCALLTYPE IAMovie_put_PrerollTime_Proxy( 
  18696.     IAMovie __RPC_FAR * This,
  18697.     /* [in] */ REFTIME llTime);
  18698.  
  18699.  
  18700. void __RPC_STUB IAMovie_put_PrerollTime_Stub(
  18701.     IRpcStubBuffer *This,
  18702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18703.     PRPC_MESSAGE _pRpcMessage,
  18704.     DWORD *_pdwStubPhase);
  18705.  
  18706.  
  18707. HRESULT STDMETHODCALLTYPE IAMovie_put_Rate_Proxy( 
  18708.     IAMovie __RPC_FAR * This,
  18709.     /* [in] */ double dRate);
  18710.  
  18711.  
  18712. void __RPC_STUB IAMovie_put_Rate_Stub(
  18713.     IRpcStubBuffer *This,
  18714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18715.     PRPC_MESSAGE _pRpcMessage,
  18716.     DWORD *_pdwStubPhase);
  18717.  
  18718.  
  18719. HRESULT STDMETHODCALLTYPE IAMovie_get_Rate_Proxy( 
  18720.     IAMovie __RPC_FAR * This,
  18721.     /* [out] */ double __RPC_FAR *pdRate);
  18722.  
  18723.  
  18724. void __RPC_STUB IAMovie_get_Rate_Stub(
  18725.     IRpcStubBuffer *This,
  18726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18727.     PRPC_MESSAGE _pRpcMessage,
  18728.     DWORD *_pdwStubPhase);
  18729.  
  18730.  
  18731. HRESULT STDMETHODCALLTYPE IAMovie_RemoveAllFilters_Proxy( 
  18732.     IAMovie __RPC_FAR * This);
  18733.  
  18734.  
  18735. void __RPC_STUB IAMovie_RemoveAllFilters_Stub(
  18736.     IRpcStubBuffer *This,
  18737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18738.     PRPC_MESSAGE _pRpcMessage,
  18739.     DWORD *_pdwStubPhase);
  18740.  
  18741.  
  18742. HRESULT STDMETHODCALLTYPE IAMovie_Play_Proxy( 
  18743.     IAMovie __RPC_FAR * This);
  18744.  
  18745.  
  18746. void __RPC_STUB IAMovie_Play_Stub(
  18747.     IRpcStubBuffer *This,
  18748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18749.     PRPC_MESSAGE _pRpcMessage,
  18750.     DWORD *_pdwStubPhase);
  18751.  
  18752.  
  18753. HRESULT STDMETHODCALLTYPE IAMovie_PlayFile_Proxy( 
  18754.     IAMovie __RPC_FAR * This,
  18755.     /* [in] */ LPCWSTR strFilename);
  18756.  
  18757.  
  18758. void __RPC_STUB IAMovie_PlayFile_Stub(
  18759.     IRpcStubBuffer *This,
  18760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18761.     PRPC_MESSAGE _pRpcMessage,
  18762.     DWORD *_pdwStubPhase);
  18763.  
  18764.  
  18765. HRESULT STDMETHODCALLTYPE IAMovie_EnumFiltersByInterface_Proxy( 
  18766.     IAMovie __RPC_FAR * This,
  18767.     /* [in] */ REFIID riid,
  18768.     /* [out] */ IEnumFilters __RPC_FAR *__RPC_FAR *ppEnum);
  18769.  
  18770.  
  18771. void __RPC_STUB IAMovie_EnumFiltersByInterface_Stub(
  18772.     IRpcStubBuffer *This,
  18773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18774.     PRPC_MESSAGE _pRpcMessage,
  18775.     DWORD *_pdwStubPhase);
  18776.  
  18777.  
  18778. HRESULT STDMETHODCALLTYPE IAMovie_EnumPins_Proxy( 
  18779.     IAMovie __RPC_FAR * This,
  18780.     /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18781.  
  18782.  
  18783. void __RPC_STUB IAMovie_EnumPins_Stub(
  18784.     IRpcStubBuffer *This,
  18785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18786.     PRPC_MESSAGE _pRpcMessage,
  18787.     DWORD *_pdwStubPhase);
  18788.  
  18789.  
  18790. HRESULT STDMETHODCALLTYPE IAMovie_EnumPinsIn_Proxy( 
  18791.     IAMovie __RPC_FAR * This,
  18792.     /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18793.  
  18794.  
  18795. void __RPC_STUB IAMovie_EnumPinsIn_Stub(
  18796.     IRpcStubBuffer *This,
  18797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18798.     PRPC_MESSAGE _pRpcMessage,
  18799.     DWORD *_pdwStubPhase);
  18800.  
  18801.  
  18802. HRESULT STDMETHODCALLTYPE IAMovie_EnumPinsOut_Proxy( 
  18803.     IAMovie __RPC_FAR * This,
  18804.     /* [out] */ IEnumPins __RPC_FAR *__RPC_FAR *ppEnum);
  18805.  
  18806.  
  18807. void __RPC_STUB IAMovie_EnumPinsOut_Stub(
  18808.     IRpcStubBuffer *This,
  18809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18810.     PRPC_MESSAGE _pRpcMessage,
  18811.     DWORD *_pdwStubPhase);
  18812.  
  18813.  
  18814. HRESULT STDMETHODCALLTYPE IAMovie_RenderAll_Proxy( 
  18815.     IAMovie __RPC_FAR * This);
  18816.  
  18817.  
  18818. void __RPC_STUB IAMovie_RenderAll_Stub(
  18819.     IRpcStubBuffer *This,
  18820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18821.     PRPC_MESSAGE _pRpcMessage,
  18822.     DWORD *_pdwStubPhase);
  18823.  
  18824.  
  18825. HRESULT STDMETHODCALLTYPE IAMovie_RenderNewFile_Proxy( 
  18826.     IAMovie __RPC_FAR * This,
  18827.     /* [in] */ LPCWSTR strFilename);
  18828.  
  18829.  
  18830. void __RPC_STUB IAMovie_RenderNewFile_Stub(
  18831.     IRpcStubBuffer *This,
  18832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18833.     PRPC_MESSAGE _pRpcMessage,
  18834.     DWORD *_pdwStubPhase);
  18835.  
  18836.  
  18837. HRESULT STDMETHODCALLTYPE IAMovie_FreeEventParams_Proxy( 
  18838.     IAMovie __RPC_FAR * This,
  18839.     /* [in] */ long lEvCode,
  18840.     /* [in] */ long lParam1,
  18841.     /* [in] */ long lParam2);
  18842.  
  18843.  
  18844. void __RPC_STUB IAMovie_FreeEventParams_Stub(
  18845.     IRpcStubBuffer *This,
  18846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18847.     PRPC_MESSAGE _pRpcMessage,
  18848.     DWORD *_pdwStubPhase);
  18849.  
  18850.  
  18851.  
  18852. #endif     /* __IAMovie_INTERFACE_DEFINED__ */
  18853.  
  18854.  
  18855. /* interface __MIDL_itf_strmif_0334 */
  18856. /* [local] */ 
  18857.  
  18858. #define CDEF_CLASS_DEFAULT      0x0001
  18859. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  18860. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  18861.  
  18862.  
  18863. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  18864. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  18865.  
  18866. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  18867. #define __ICreateDevEnum_INTERFACE_DEFINED__
  18868.  
  18869. /* interface ICreateDevEnum */
  18870. /* [unique][uuid][object] */ 
  18871.  
  18872.  
  18873. EXTERN_C const IID IID_ICreateDevEnum;
  18874.  
  18875. #if defined(__cplusplus) && !defined(CINTERFACE)
  18876.     
  18877.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  18878.     ICreateDevEnum : public IUnknown
  18879.     {
  18880.     public:
  18881.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  18882.             /* [in] */ REFCLSID clsidDeviceClass,
  18883.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnumMoniker,
  18884.             /* [in] */ DWORD dwFlags) = 0;
  18885.         
  18886.     };
  18887.     
  18888. #else     /* C style interface */
  18889.  
  18890.     typedef struct ICreateDevEnumVtbl
  18891.     {
  18892.         BEGIN_INTERFACE
  18893.         
  18894.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  18895.             ICreateDevEnum __RPC_FAR * This,
  18896.             /* [in] */ REFIID riid,
  18897.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  18898.         
  18899.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  18900.             ICreateDevEnum __RPC_FAR * This);
  18901.         
  18902.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  18903.             ICreateDevEnum __RPC_FAR * This);
  18904.         
  18905.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateClassEnumerator )( 
  18906.             ICreateDevEnum __RPC_FAR * This,
  18907.             /* [in] */ REFCLSID clsidDeviceClass,
  18908.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnumMoniker,
  18909.             /* [in] */ DWORD dwFlags);
  18910.         
  18911.         END_INTERFACE
  18912.     } ICreateDevEnumVtbl;
  18913.  
  18914.     interface ICreateDevEnum
  18915.     {
  18916.         CONST_VTBL struct ICreateDevEnumVtbl __RPC_FAR *lpVtbl;
  18917.     };
  18918.  
  18919.     
  18920.  
  18921. #ifdef COBJMACROS
  18922.  
  18923.  
  18924. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)    \
  18925.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18926.  
  18927. #define ICreateDevEnum_AddRef(This)    \
  18928.     (This)->lpVtbl -> AddRef(This)
  18929.  
  18930. #define ICreateDevEnum_Release(This)    \
  18931.     (This)->lpVtbl -> Release(This)
  18932.  
  18933.  
  18934. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)    \
  18935.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  18936.  
  18937. #endif /* COBJMACROS */
  18938.  
  18939.  
  18940. #endif     /* C style interface */
  18941.  
  18942.  
  18943.  
  18944. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  18945.     ICreateDevEnum __RPC_FAR * This,
  18946.     /* [in] */ REFCLSID clsidDeviceClass,
  18947.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppEnumMoniker,
  18948.     /* [in] */ DWORD dwFlags);
  18949.  
  18950.  
  18951. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  18952.     IRpcStubBuffer *This,
  18953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18954.     PRPC_MESSAGE _pRpcMessage,
  18955.     DWORD *_pdwStubPhase);
  18956.  
  18957.  
  18958.  
  18959. #endif     /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  18960.  
  18961.  
  18962. /* interface __MIDL_itf_strmif_0336 */
  18963. /* [local] */ 
  18964.  
  18965. #include <ddraw.h>
  18966.  
  18967.  
  18968.  
  18969.  
  18970.  
  18971.  
  18972.  
  18973. typedef 
  18974. enum tagDVD_DOMAIN
  18975.     {    DVD_DOMAIN_FirstPlay    = 1,
  18976.     DVD_DOMAIN_VideoManagerMenu    = DVD_DOMAIN_FirstPlay + 1,
  18977.     DVD_DOMAIN_VideoTitleSetMenu    = DVD_DOMAIN_VideoManagerMenu + 1,
  18978.     DVD_DOMAIN_Title    = DVD_DOMAIN_VideoTitleSetMenu + 1,
  18979.     DVD_DOMAIN_Stop    = DVD_DOMAIN_Title + 1
  18980.     }    DVD_DOMAIN;
  18981.  
  18982. typedef 
  18983. enum tagDVD_MENU_ID
  18984.     {    DVD_MENU_Title    = 2,
  18985.     DVD_MENU_Root    = 3,
  18986.     DVD_MENU_Subpicture    = 4,
  18987.     DVD_MENU_Audio    = 5,
  18988.     DVD_MENU_Angle    = 6,
  18989.     DVD_MENU_Chapter    = 7
  18990.     }    DVD_MENU_ID;
  18991.  
  18992. typedef 
  18993. enum tagDVD_DISC_SIDE
  18994.     {    DVD_SIDE_A    = 1,
  18995.     DVD_SIDE_B    = 2
  18996.     }    DVD_DISC_SIDE;
  18997.  
  18998. typedef 
  18999. enum tagDVD_PREFERRED_DISPLAY_MODE
  19000.     {    DISPLAY_CONTENT_DEFAULT    = 0,
  19001.     DISPLAY_16x9    = 1,
  19002.     DISPLAY_4x3_PANSCAN_PREFERRED    = 2,
  19003.     DISPLAY_4x3_LETTERBOX_PREFERRED    = 3
  19004.     }    DVD_PREFERRED_DISPLAY_MODE;
  19005.  
  19006. typedef WORD DVD_REGISTER;
  19007.  
  19008. typedef DVD_REGISTER __RPC_FAR GPRMARRAY[ 16 ];
  19009.  
  19010. typedef DVD_REGISTER __RPC_FAR SPRMARRAY[ 24 ];
  19011.  
  19012. typedef struct tagDVD_ATR
  19013.     {
  19014.     ULONG ulCAT;
  19015.     BYTE pbATRI[ 768 ];
  19016.     }    DVD_ATR;
  19017.  
  19018. typedef BYTE __RPC_FAR DVD_VideoATR[ 2 ];
  19019.  
  19020. typedef BYTE __RPC_FAR DVD_AudioATR[ 8 ];
  19021.  
  19022. typedef BYTE __RPC_FAR DVD_SubpictureATR[ 6 ];
  19023.  
  19024. typedef 
  19025. enum tagDVD_FRAMERATE
  19026.     {    DVD_FPS_25    = 1,
  19027.     DVD_FPS_30NonDrop    = 3
  19028.     }    DVD_FRAMERATE;
  19029.  
  19030. typedef struct tagDVD_TIMECODE
  19031. {
  19032.    ULONG Hours1    :4; // Hours
  19033.    ULONG Hours10  :4; // Tens of Hours 
  19034.  
  19035.    ULONG Minutes1  :4; // Minutes 
  19036.    ULONG Minutes10:4; // Tens of Minutes 
  19037.  
  19038.    ULONG Seconds1  :4; // Seconds 
  19039.    ULONG Seconds10:4; // Tens of Seconds 
  19040.  
  19041.    ULONG Frames1   :4; // Frames 
  19042.    ULONG Frames10 :2; // Tens of Frames 
  19043.  
  19044.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  19045. } DVD_TIMECODE;
  19046. typedef struct tagDVD_PLAYBACK_LOCATION
  19047.     {
  19048.     ULONG TitleNum;
  19049.     ULONG ChapterNum;
  19050.     ULONG TimeCode;
  19051.     }    DVD_PLAYBACK_LOCATION;
  19052.  
  19053. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  19054.  
  19055. #define DVD_PARENTAL_LEVEL_8    0x8000
  19056. #define DVD_PARENTAL_LEVEL_7    0x4000
  19057. #define DVD_PARENTAL_LEVEL_6    0x2000
  19058. #define DVD_PARENTAL_LEVEL_5    0x1000
  19059. #define DVD_PARENTAL_LEVEL_4    0x0800
  19060. #define DVD_PARENTAL_LEVEL_3    0x0400
  19061. #define DVD_PARENTAL_LEVEL_2    0x0200
  19062. #define DVD_PARENTAL_LEVEL_1    0x0100
  19063.  
  19064.  
  19065. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  19066. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  19067.  
  19068. #ifndef __IDvdControl_INTERFACE_DEFINED__
  19069. #define __IDvdControl_INTERFACE_DEFINED__
  19070.  
  19071. /* interface IDvdControl */
  19072. /* [unique][uuid][object] */ 
  19073.  
  19074.  
  19075. EXTERN_C const IID IID_IDvdControl;
  19076.  
  19077. #if defined(__cplusplus) && !defined(CINTERFACE)
  19078.     
  19079.     MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  19080.     IDvdControl : public IUnknown
  19081.     {
  19082.     public:
  19083.         virtual HRESULT STDMETHODCALLTYPE TitlePlay( 
  19084.             /* [in] */ ULONG uiTitle) = 0;
  19085.         
  19086.         virtual HRESULT STDMETHODCALLTYPE ChapterPlay( 
  19087.             /* [in] */ ULONG uiTitle,
  19088.             /* [in] */ ULONG uiChapter) = 0;
  19089.         
  19090.         virtual HRESULT STDMETHODCALLTYPE TimePlay( 
  19091.             /* [in] */ ULONG uiTitle,
  19092.             /* [in] */ ULONG bcdTime) = 0;
  19093.         
  19094.         virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  19095.         
  19096.         virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  19097.         
  19098.         virtual HRESULT STDMETHODCALLTYPE TimeSearch( 
  19099.             /* [in] */ ULONG bcdTime) = 0;
  19100.         
  19101.         virtual HRESULT STDMETHODCALLTYPE ChapterSearch( 
  19102.             /* [in] */ ULONG Chapter) = 0;
  19103.         
  19104.         virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  19105.         
  19106.         virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  19107.         
  19108.         virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  19109.         
  19110.         virtual HRESULT STDMETHODCALLTYPE ForwardScan( 
  19111.             /* [in] */ double dwSpeed) = 0;
  19112.         
  19113.         virtual HRESULT STDMETHODCALLTYPE BackwardScan( 
  19114.             /* [in] */ double dwSpeed) = 0;
  19115.         
  19116.         virtual HRESULT STDMETHODCALLTYPE MenuCall( 
  19117.             /* [in] */ DVD_MENU_ID MenuID) = 0;
  19118.         
  19119.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  19120.         
  19121.         virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  19122.         
  19123.         virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  19124.         
  19125.         virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  19126.         
  19127.         virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  19128.         
  19129.         virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  19130.         
  19131.         virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate( 
  19132.             /* [in] */ ULONG uiButton) = 0;
  19133.         
  19134.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  19135.         
  19136.         virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  19137.         
  19138.         virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  19139.         
  19140.         virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect( 
  19141.             /* [in] */ LCID Language) = 0;
  19142.         
  19143.         virtual HRESULT STDMETHODCALLTYPE AudioStreamChange( 
  19144.             /* [in] */ ULONG nAudio) = 0;
  19145.         
  19146.         virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange( 
  19147.             /* [in] */ ULONG nSubPicture,
  19148.             /* [in] */ BOOL bDisplay) = 0;
  19149.         
  19150.         virtual HRESULT STDMETHODCALLTYPE AngleChange( 
  19151.             /* [in] */ ULONG ulAngle) = 0;
  19152.         
  19153.         virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect( 
  19154.             /* [in] */ ULONG ulParentalLevel) = 0;
  19155.         
  19156.         virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect( 
  19157.             /* [in] */ WORD wCountry) = 0;
  19158.         
  19159.         virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange( 
  19160.             /* [in] */ ULONG ulMode) = 0;
  19161.         
  19162.         virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence( 
  19163.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  19164.         
  19165.         virtual HRESULT STDMETHODCALLTYPE SetRoot( 
  19166.             /* [in] */ LPCWSTR pszPath) = 0;
  19167.         
  19168.         virtual HRESULT STDMETHODCALLTYPE MouseActivate( 
  19169.             /* [in] */ POINT point) = 0;
  19170.         
  19171.         virtual HRESULT STDMETHODCALLTYPE MouseSelect( 
  19172.             /* [in] */ POINT point) = 0;
  19173.         
  19174.         virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop( 
  19175.             /* [in] */ ULONG ulTitle,
  19176.             /* [in] */ ULONG ulChapter,
  19177.             /* [in] */ ULONG ulChaptersToPlay) = 0;
  19178.         
  19179.     };
  19180.     
  19181. #else     /* C style interface */
  19182.  
  19183.     typedef struct IDvdControlVtbl
  19184.     {
  19185.         BEGIN_INTERFACE
  19186.         
  19187.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  19188.             IDvdControl __RPC_FAR * This,
  19189.             /* [in] */ REFIID riid,
  19190.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  19191.         
  19192.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  19193.             IDvdControl __RPC_FAR * This);
  19194.         
  19195.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  19196.             IDvdControl __RPC_FAR * This);
  19197.         
  19198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TitlePlay )( 
  19199.             IDvdControl __RPC_FAR * This,
  19200.             /* [in] */ ULONG uiTitle);
  19201.         
  19202.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChapterPlay )( 
  19203.             IDvdControl __RPC_FAR * This,
  19204.             /* [in] */ ULONG uiTitle,
  19205.             /* [in] */ ULONG uiChapter);
  19206.         
  19207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimePlay )( 
  19208.             IDvdControl __RPC_FAR * This,
  19209.             /* [in] */ ULONG uiTitle,
  19210.             /* [in] */ ULONG bcdTime);
  19211.         
  19212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopForResume )( 
  19213.             IDvdControl __RPC_FAR * This);
  19214.         
  19215.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GoUp )( 
  19216.             IDvdControl __RPC_FAR * This);
  19217.         
  19218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimeSearch )( 
  19219.             IDvdControl __RPC_FAR * This,
  19220.             /* [in] */ ULONG bcdTime);
  19221.         
  19222.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChapterSearch )( 
  19223.             IDvdControl __RPC_FAR * This,
  19224.             /* [in] */ ULONG Chapter);
  19225.         
  19226.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PrevPGSearch )( 
  19227.             IDvdControl __RPC_FAR * This);
  19228.         
  19229.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TopPGSearch )( 
  19230.             IDvdControl __RPC_FAR * This);
  19231.         
  19232.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextPGSearch )( 
  19233.             IDvdControl __RPC_FAR * This);
  19234.         
  19235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ForwardScan )( 
  19236.             IDvdControl __RPC_FAR * This,
  19237.             /* [in] */ double dwSpeed);
  19238.         
  19239.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BackwardScan )( 
  19240.             IDvdControl __RPC_FAR * This,
  19241.             /* [in] */ double dwSpeed);
  19242.         
  19243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MenuCall )( 
  19244.             IDvdControl __RPC_FAR * This,
  19245.             /* [in] */ DVD_MENU_ID MenuID);
  19246.         
  19247.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  19248.             IDvdControl __RPC_FAR * This);
  19249.         
  19250.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpperButtonSelect )( 
  19251.             IDvdControl __RPC_FAR * This);
  19252.         
  19253.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LowerButtonSelect )( 
  19254.             IDvdControl __RPC_FAR * This);
  19255.         
  19256.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LeftButtonSelect )( 
  19257.             IDvdControl __RPC_FAR * This);
  19258.         
  19259.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RightButtonSelect )( 
  19260.             IDvdControl __RPC_FAR * This);
  19261.         
  19262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ButtonActivate )( 
  19263.             IDvdControl __RPC_FAR * This);
  19264.         
  19265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ButtonSelectAndActivate )( 
  19266.             IDvdControl __RPC_FAR * This,
  19267.             /* [in] */ ULONG uiButton);
  19268.         
  19269.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StillOff )( 
  19270.             IDvdControl __RPC_FAR * This);
  19271.         
  19272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PauseOn )( 
  19273.             IDvdControl __RPC_FAR * This);
  19274.         
  19275.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PauseOff )( 
  19276.             IDvdControl __RPC_FAR * This);
  19277.         
  19278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MenuLanguageSelect )( 
  19279.             IDvdControl __RPC_FAR * This,
  19280.             /* [in] */ LCID Language);
  19281.         
  19282.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AudioStreamChange )( 
  19283.             IDvdControl __RPC_FAR * This,
  19284.             /* [in] */ ULONG nAudio);
  19285.         
  19286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SubpictureStreamChange )( 
  19287.             IDvdControl __RPC_FAR * This,
  19288.             /* [in] */ ULONG nSubPicture,
  19289.             /* [in] */ BOOL bDisplay);
  19290.         
  19291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AngleChange )( 
  19292.             IDvdControl __RPC_FAR * This,
  19293.             /* [in] */ ULONG ulAngle);
  19294.         
  19295.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParentalLevelSelect )( 
  19296.             IDvdControl __RPC_FAR * This,
  19297.             /* [in] */ ULONG ulParentalLevel);
  19298.         
  19299.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParentalCountrySelect )( 
  19300.             IDvdControl __RPC_FAR * This,
  19301.             /* [in] */ WORD wCountry);
  19302.         
  19303.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KaraokeAudioPresentationModeChange )( 
  19304.             IDvdControl __RPC_FAR * This,
  19305.             /* [in] */ ULONG ulMode);
  19306.         
  19307.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *VideoModePreferrence )( 
  19308.             IDvdControl __RPC_FAR * This,
  19309.             /* [in] */ ULONG ulPreferredDisplayMode);
  19310.         
  19311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRoot )( 
  19312.             IDvdControl __RPC_FAR * This,
  19313.             /* [in] */ LPCWSTR pszPath);
  19314.         
  19315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseActivate )( 
  19316.             IDvdControl __RPC_FAR * This,
  19317.             /* [in] */ POINT point);
  19318.         
  19319.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MouseSelect )( 
  19320.             IDvdControl __RPC_FAR * This,
  19321.             /* [in] */ POINT point);
  19322.         
  19323.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ChapterPlayAutoStop )( 
  19324.             IDvdControl __RPC_FAR * This,
  19325.             /* [in] */ ULONG ulTitle,
  19326.             /* [in] */ ULONG ulChapter,
  19327.             /* [in] */ ULONG ulChaptersToPlay);
  19328.         
  19329.         END_INTERFACE
  19330.     } IDvdControlVtbl;
  19331.  
  19332.     interface IDvdControl
  19333.     {
  19334.         CONST_VTBL struct IDvdControlVtbl __RPC_FAR *lpVtbl;
  19335.     };
  19336.  
  19337.     
  19338.  
  19339. #ifdef COBJMACROS
  19340.  
  19341.  
  19342. #define IDvdControl_QueryInterface(This,riid,ppvObject)    \
  19343.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19344.  
  19345. #define IDvdControl_AddRef(This)    \
  19346.     (This)->lpVtbl -> AddRef(This)
  19347.  
  19348. #define IDvdControl_Release(This)    \
  19349.     (This)->lpVtbl -> Release(This)
  19350.  
  19351.  
  19352. #define IDvdControl_TitlePlay(This,uiTitle)    \
  19353.     (This)->lpVtbl -> TitlePlay(This,uiTitle)
  19354.  
  19355. #define IDvdControl_ChapterPlay(This,uiTitle,uiChapter)    \
  19356.     (This)->lpVtbl -> ChapterPlay(This,uiTitle,uiChapter)
  19357.  
  19358. #define IDvdControl_TimePlay(This,uiTitle,bcdTime)    \
  19359.     (This)->lpVtbl -> TimePlay(This,uiTitle,bcdTime)
  19360.  
  19361. #define IDvdControl_StopForResume(This)    \
  19362.     (This)->lpVtbl -> StopForResume(This)
  19363.  
  19364. #define IDvdControl_GoUp(This)    \
  19365.     (This)->lpVtbl -> GoUp(This)
  19366.  
  19367. #define IDvdControl_TimeSearch(This,bcdTime)    \
  19368.     (This)->lpVtbl -> TimeSearch(This,bcdTime)
  19369.  
  19370. #define IDvdControl_ChapterSearch(This,Chapter)    \
  19371.     (This)->lpVtbl -> ChapterSearch(This,Chapter)
  19372.  
  19373. #define IDvdControl_PrevPGSearch(This)    \
  19374.     (This)->lpVtbl -> PrevPGSearch(This)
  19375.  
  19376. #define IDvdControl_TopPGSearch(This)    \
  19377.     (This)->lpVtbl -> TopPGSearch(This)
  19378.  
  19379. #define IDvdControl_NextPGSearch(This)    \
  19380.     (This)->lpVtbl -> NextPGSearch(This)
  19381.  
  19382. #define IDvdControl_ForwardScan(This,dwSpeed)    \
  19383.     (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  19384.  
  19385. #define IDvdControl_BackwardScan(This,dwSpeed)    \
  19386.     (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  19387.  
  19388. #define IDvdControl_MenuCall(This,MenuID)    \
  19389.     (This)->lpVtbl -> MenuCall(This,MenuID)
  19390.  
  19391. #define IDvdControl_Resume(This)    \
  19392.     (This)->lpVtbl -> Resume(This)
  19393.  
  19394. #define IDvdControl_UpperButtonSelect(This)    \
  19395.     (This)->lpVtbl -> UpperButtonSelect(This)
  19396.  
  19397. #define IDvdControl_LowerButtonSelect(This)    \
  19398.     (This)->lpVtbl -> LowerButtonSelect(This)
  19399.  
  19400. #define IDvdControl_LeftButtonSelect(This)    \
  19401.     (This)->lpVtbl -> LeftButtonSelect(This)
  19402.  
  19403. #define IDvdControl_RightButtonSelect(This)    \
  19404.     (This)->lpVtbl -> RightButtonSelect(This)
  19405.  
  19406. #define IDvdControl_ButtonActivate(This)    \
  19407.     (This)->lpVtbl -> ButtonActivate(This)
  19408.  
  19409. #define IDvdControl_ButtonSelectAndActivate(This,uiButton)    \
  19410.     (This)->lpVtbl -> ButtonSelectAndActivate(This,uiButton)
  19411.  
  19412. #define IDvdControl_StillOff(This)    \
  19413.     (This)->lpVtbl -> StillOff(This)
  19414.  
  19415. #define IDvdControl_PauseOn(This)    \
  19416.     (This)->lpVtbl -> PauseOn(This)
  19417.  
  19418. #define IDvdControl_PauseOff(This)    \
  19419.     (This)->lpVtbl -> PauseOff(This)
  19420.  
  19421. #define IDvdControl_MenuLanguageSelect(This,Language)    \
  19422.     (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  19423.  
  19424. #define IDvdControl_AudioStreamChange(This,nAudio)    \
  19425.     (This)->lpVtbl -> AudioStreamChange(This,nAudio)
  19426.  
  19427. #define IDvdControl_SubpictureStreamChange(This,nSubPicture,bDisplay)    \
  19428.     (This)->lpVtbl -> SubpictureStreamChange(This,nSubPicture,bDisplay)
  19429.  
  19430. #define IDvdControl_AngleChange(This,ulAngle)    \
  19431.     (This)->lpVtbl -> AngleChange(This,ulAngle)
  19432.  
  19433. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)    \
  19434.     (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  19435.  
  19436. #define IDvdControl_ParentalCountrySelect(This,wCountry)    \
  19437.     (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  19438.  
  19439. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)    \
  19440.     (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  19441.  
  19442. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)    \
  19443.     (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  19444.  
  19445. #define IDvdControl_SetRoot(This,pszPath)    \
  19446.     (This)->lpVtbl -> SetRoot(This,pszPath)
  19447.  
  19448. #define IDvdControl_MouseActivate(This,point)    \
  19449.     (This)->lpVtbl -> MouseActivate(This,point)
  19450.  
  19451. #define IDvdControl_MouseSelect(This,point)    \
  19452.     (This)->lpVtbl -> MouseSelect(This,point)
  19453.  
  19454. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)    \
  19455.     (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  19456.  
  19457. #endif /* COBJMACROS */
  19458.  
  19459.  
  19460. #endif     /* C style interface */
  19461.  
  19462.  
  19463.  
  19464. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy( 
  19465.     IDvdControl __RPC_FAR * This,
  19466.     /* [in] */ ULONG uiTitle);
  19467.  
  19468.  
  19469. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  19470.     IRpcStubBuffer *This,
  19471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19472.     PRPC_MESSAGE _pRpcMessage,
  19473.     DWORD *_pdwStubPhase);
  19474.  
  19475.  
  19476. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy( 
  19477.     IDvdControl __RPC_FAR * This,
  19478.     /* [in] */ ULONG uiTitle,
  19479.     /* [in] */ ULONG uiChapter);
  19480.  
  19481.  
  19482. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  19483.     IRpcStubBuffer *This,
  19484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19485.     PRPC_MESSAGE _pRpcMessage,
  19486.     DWORD *_pdwStubPhase);
  19487.  
  19488.  
  19489. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy( 
  19490.     IDvdControl __RPC_FAR * This,
  19491.     /* [in] */ ULONG uiTitle,
  19492.     /* [in] */ ULONG bcdTime);
  19493.  
  19494.  
  19495. void __RPC_STUB IDvdControl_TimePlay_Stub(
  19496.     IRpcStubBuffer *This,
  19497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19498.     PRPC_MESSAGE _pRpcMessage,
  19499.     DWORD *_pdwStubPhase);
  19500.  
  19501.  
  19502. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy( 
  19503.     IDvdControl __RPC_FAR * This);
  19504.  
  19505.  
  19506. void __RPC_STUB IDvdControl_StopForResume_Stub(
  19507.     IRpcStubBuffer *This,
  19508.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19509.     PRPC_MESSAGE _pRpcMessage,
  19510.     DWORD *_pdwStubPhase);
  19511.  
  19512.  
  19513. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy( 
  19514.     IDvdControl __RPC_FAR * This);
  19515.  
  19516.  
  19517. void __RPC_STUB IDvdControl_GoUp_Stub(
  19518.     IRpcStubBuffer *This,
  19519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19520.     PRPC_MESSAGE _pRpcMessage,
  19521.     DWORD *_pdwStubPhase);
  19522.  
  19523.  
  19524. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy( 
  19525.     IDvdControl __RPC_FAR * This,
  19526.     /* [in] */ ULONG bcdTime);
  19527.  
  19528.  
  19529. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  19530.     IRpcStubBuffer *This,
  19531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19532.     PRPC_MESSAGE _pRpcMessage,
  19533.     DWORD *_pdwStubPhase);
  19534.  
  19535.  
  19536. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy( 
  19537.     IDvdControl __RPC_FAR * This,
  19538.     /* [in] */ ULONG Chapter);
  19539.  
  19540.  
  19541. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  19542.     IRpcStubBuffer *This,
  19543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19544.     PRPC_MESSAGE _pRpcMessage,
  19545.     DWORD *_pdwStubPhase);
  19546.  
  19547.  
  19548. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy( 
  19549.     IDvdControl __RPC_FAR * This);
  19550.  
  19551.  
  19552. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  19553.     IRpcStubBuffer *This,
  19554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19555.     PRPC_MESSAGE _pRpcMessage,
  19556.     DWORD *_pdwStubPhase);
  19557.  
  19558.  
  19559. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy( 
  19560.     IDvdControl __RPC_FAR * This);
  19561.  
  19562.  
  19563. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  19564.     IRpcStubBuffer *This,
  19565.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19566.     PRPC_MESSAGE _pRpcMessage,
  19567.     DWORD *_pdwStubPhase);
  19568.  
  19569.  
  19570. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy( 
  19571.     IDvdControl __RPC_FAR * This);
  19572.  
  19573.  
  19574. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  19575.     IRpcStubBuffer *This,
  19576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19577.     PRPC_MESSAGE _pRpcMessage,
  19578.     DWORD *_pdwStubPhase);
  19579.  
  19580.  
  19581. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy( 
  19582.     IDvdControl __RPC_FAR * This,
  19583.     /* [in] */ double dwSpeed);
  19584.  
  19585.  
  19586. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  19587.     IRpcStubBuffer *This,
  19588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19589.     PRPC_MESSAGE _pRpcMessage,
  19590.     DWORD *_pdwStubPhase);
  19591.  
  19592.  
  19593. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy( 
  19594.     IDvdControl __RPC_FAR * This,
  19595.     /* [in] */ double dwSpeed);
  19596.  
  19597.  
  19598. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  19599.     IRpcStubBuffer *This,
  19600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19601.     PRPC_MESSAGE _pRpcMessage,
  19602.     DWORD *_pdwStubPhase);
  19603.  
  19604.  
  19605. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy( 
  19606.     IDvdControl __RPC_FAR * This,
  19607.     /* [in] */ DVD_MENU_ID MenuID);
  19608.  
  19609.  
  19610. void __RPC_STUB IDvdControl_MenuCall_Stub(
  19611.     IRpcStubBuffer *This,
  19612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19613.     PRPC_MESSAGE _pRpcMessage,
  19614.     DWORD *_pdwStubPhase);
  19615.  
  19616.  
  19617. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy( 
  19618.     IDvdControl __RPC_FAR * This);
  19619.  
  19620.  
  19621. void __RPC_STUB IDvdControl_Resume_Stub(
  19622.     IRpcStubBuffer *This,
  19623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19624.     PRPC_MESSAGE _pRpcMessage,
  19625.     DWORD *_pdwStubPhase);
  19626.  
  19627.  
  19628. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy( 
  19629.     IDvdControl __RPC_FAR * This);
  19630.  
  19631.  
  19632. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  19633.     IRpcStubBuffer *This,
  19634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19635.     PRPC_MESSAGE _pRpcMessage,
  19636.     DWORD *_pdwStubPhase);
  19637.  
  19638.  
  19639. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy( 
  19640.     IDvdControl __RPC_FAR * This);
  19641.  
  19642.  
  19643. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  19644.     IRpcStubBuffer *This,
  19645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19646.     PRPC_MESSAGE _pRpcMessage,
  19647.     DWORD *_pdwStubPhase);
  19648.  
  19649.  
  19650. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy( 
  19651.     IDvdControl __RPC_FAR * This);
  19652.  
  19653.  
  19654. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  19655.     IRpcStubBuffer *This,
  19656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19657.     PRPC_MESSAGE _pRpcMessage,
  19658.     DWORD *_pdwStubPhase);
  19659.  
  19660.  
  19661. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy( 
  19662.     IDvdControl __RPC_FAR * This);
  19663.  
  19664.  
  19665. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  19666.     IRpcStubBuffer *This,
  19667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19668.     PRPC_MESSAGE _pRpcMessage,
  19669.     DWORD *_pdwStubPhase);
  19670.  
  19671.  
  19672. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy( 
  19673.     IDvdControl __RPC_FAR * This);
  19674.  
  19675.  
  19676. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  19677.     IRpcStubBuffer *This,
  19678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19679.     PRPC_MESSAGE _pRpcMessage,
  19680.     DWORD *_pdwStubPhase);
  19681.  
  19682.  
  19683. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy( 
  19684.     IDvdControl __RPC_FAR * This,
  19685.     /* [in] */ ULONG uiButton);
  19686.  
  19687.  
  19688. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  19689.     IRpcStubBuffer *This,
  19690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19691.     PRPC_MESSAGE _pRpcMessage,
  19692.     DWORD *_pdwStubPhase);
  19693.  
  19694.  
  19695. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy( 
  19696.     IDvdControl __RPC_FAR * This);
  19697.  
  19698.  
  19699. void __RPC_STUB IDvdControl_StillOff_Stub(
  19700.     IRpcStubBuffer *This,
  19701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19702.     PRPC_MESSAGE _pRpcMessage,
  19703.     DWORD *_pdwStubPhase);
  19704.  
  19705.  
  19706. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy( 
  19707.     IDvdControl __RPC_FAR * This);
  19708.  
  19709.  
  19710. void __RPC_STUB IDvdControl_PauseOn_Stub(
  19711.     IRpcStubBuffer *This,
  19712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19713.     PRPC_MESSAGE _pRpcMessage,
  19714.     DWORD *_pdwStubPhase);
  19715.  
  19716.  
  19717. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy( 
  19718.     IDvdControl __RPC_FAR * This);
  19719.  
  19720.  
  19721. void __RPC_STUB IDvdControl_PauseOff_Stub(
  19722.     IRpcStubBuffer *This,
  19723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19724.     PRPC_MESSAGE _pRpcMessage,
  19725.     DWORD *_pdwStubPhase);
  19726.  
  19727.  
  19728. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy( 
  19729.     IDvdControl __RPC_FAR * This,
  19730.     /* [in] */ LCID Language);
  19731.  
  19732.  
  19733. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  19734.     IRpcStubBuffer *This,
  19735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19736.     PRPC_MESSAGE _pRpcMessage,
  19737.     DWORD *_pdwStubPhase);
  19738.  
  19739.  
  19740. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy( 
  19741.     IDvdControl __RPC_FAR * This,
  19742.     /* [in] */ ULONG nAudio);
  19743.  
  19744.  
  19745. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  19746.     IRpcStubBuffer *This,
  19747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19748.     PRPC_MESSAGE _pRpcMessage,
  19749.     DWORD *_pdwStubPhase);
  19750.  
  19751.  
  19752. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy( 
  19753.     IDvdControl __RPC_FAR * This,
  19754.     /* [in] */ ULONG nSubPicture,
  19755.     /* [in] */ BOOL bDisplay);
  19756.  
  19757.  
  19758. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  19759.     IRpcStubBuffer *This,
  19760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19761.     PRPC_MESSAGE _pRpcMessage,
  19762.     DWORD *_pdwStubPhase);
  19763.  
  19764.  
  19765. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy( 
  19766.     IDvdControl __RPC_FAR * This,
  19767.     /* [in] */ ULONG ulAngle);
  19768.  
  19769.  
  19770. void __RPC_STUB IDvdControl_AngleChange_Stub(
  19771.     IRpcStubBuffer *This,
  19772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19773.     PRPC_MESSAGE _pRpcMessage,
  19774.     DWORD *_pdwStubPhase);
  19775.  
  19776.  
  19777. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy( 
  19778.     IDvdControl __RPC_FAR * This,
  19779.     /* [in] */ ULONG ulParentalLevel);
  19780.  
  19781.  
  19782. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  19783.     IRpcStubBuffer *This,
  19784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19785.     PRPC_MESSAGE _pRpcMessage,
  19786.     DWORD *_pdwStubPhase);
  19787.  
  19788.  
  19789. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy( 
  19790.     IDvdControl __RPC_FAR * This,
  19791.     /* [in] */ WORD wCountry);
  19792.  
  19793.  
  19794. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  19795.     IRpcStubBuffer *This,
  19796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19797.     PRPC_MESSAGE _pRpcMessage,
  19798.     DWORD *_pdwStubPhase);
  19799.  
  19800.  
  19801. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy( 
  19802.     IDvdControl __RPC_FAR * This,
  19803.     /* [in] */ ULONG ulMode);
  19804.  
  19805.  
  19806. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  19807.     IRpcStubBuffer *This,
  19808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19809.     PRPC_MESSAGE _pRpcMessage,
  19810.     DWORD *_pdwStubPhase);
  19811.  
  19812.  
  19813. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy( 
  19814.     IDvdControl __RPC_FAR * This,
  19815.     /* [in] */ ULONG ulPreferredDisplayMode);
  19816.  
  19817.  
  19818. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  19819.     IRpcStubBuffer *This,
  19820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19821.     PRPC_MESSAGE _pRpcMessage,
  19822.     DWORD *_pdwStubPhase);
  19823.  
  19824.  
  19825. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy( 
  19826.     IDvdControl __RPC_FAR * This,
  19827.     /* [in] */ LPCWSTR pszPath);
  19828.  
  19829.  
  19830. void __RPC_STUB IDvdControl_SetRoot_Stub(
  19831.     IRpcStubBuffer *This,
  19832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19833.     PRPC_MESSAGE _pRpcMessage,
  19834.     DWORD *_pdwStubPhase);
  19835.  
  19836.  
  19837. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy( 
  19838.     IDvdControl __RPC_FAR * This,
  19839.     /* [in] */ POINT point);
  19840.  
  19841.  
  19842. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  19843.     IRpcStubBuffer *This,
  19844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19845.     PRPC_MESSAGE _pRpcMessage,
  19846.     DWORD *_pdwStubPhase);
  19847.  
  19848.  
  19849. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy( 
  19850.     IDvdControl __RPC_FAR * This,
  19851.     /* [in] */ POINT point);
  19852.  
  19853.  
  19854. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  19855.     IRpcStubBuffer *This,
  19856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19857.     PRPC_MESSAGE _pRpcMessage,
  19858.     DWORD *_pdwStubPhase);
  19859.  
  19860.  
  19861. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy( 
  19862.     IDvdControl __RPC_FAR * This,
  19863.     /* [in] */ ULONG ulTitle,
  19864.     /* [in] */ ULONG ulChapter,
  19865.     /* [in] */ ULONG ulChaptersToPlay);
  19866.  
  19867.  
  19868. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  19869.     IRpcStubBuffer *This,
  19870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19871.     PRPC_MESSAGE _pRpcMessage,
  19872.     DWORD *_pdwStubPhase);
  19873.  
  19874.  
  19875.  
  19876. #endif     /* __IDvdControl_INTERFACE_DEFINED__ */
  19877.  
  19878.  
  19879. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  19880. #define __IDvdInfo_INTERFACE_DEFINED__
  19881.  
  19882. /* interface IDvdInfo */
  19883. /* [unique][uuid][object] */ 
  19884.  
  19885.  
  19886. EXTERN_C const IID IID_IDvdInfo;
  19887.  
  19888. #if defined(__cplusplus) && !defined(CINTERFACE)
  19889.     
  19890.     MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  19891.     IDvdInfo : public IUnknown
  19892.     {
  19893.     public:
  19894.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  19895.             /* [out] */ DVD_DOMAIN __RPC_FAR *pDomain) = 0;
  19896.         
  19897.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  19898.             /* [out] */ DVD_PLAYBACK_LOCATION __RPC_FAR *pLocation) = 0;
  19899.         
  19900.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  19901.             /* [out] */ ULONG __RPC_FAR *pTotalTime) = 0;
  19902.         
  19903.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  19904.             /* [out] */ ULONG __RPC_FAR *pnButtonsAvailable,
  19905.             /* [out] */ ULONG __RPC_FAR *pnCurrentButton) = 0;
  19906.         
  19907.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  19908.             /* [out] */ ULONG __RPC_FAR *pnAnglesAvailable,
  19909.             /* [out] */ ULONG __RPC_FAR *pnCurrentAngle) = 0;
  19910.         
  19911.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  19912.             /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  19913.             /* [out] */ ULONG __RPC_FAR *pnCurrentStream) = 0;
  19914.         
  19915.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  19916.             /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  19917.             /* [out] */ ULONG __RPC_FAR *pnCurrentStream,
  19918.             /* [out] */ BOOL __RPC_FAR *pIsDisabled) = 0;
  19919.         
  19920.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  19921.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER __RPC_FAR *pUOP) = 0;
  19922.         
  19923.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  19924.             /* [out] */ SPRMARRAY __RPC_FAR *pRegisterArray) = 0;
  19925.         
  19926.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  19927.             /* [out] */ GPRMARRAY __RPC_FAR *pRegisterArray) = 0;
  19928.         
  19929.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  19930.             /* [in] */ ULONG nStream,
  19931.             /* [out] */ LCID __RPC_FAR *pLanguage) = 0;
  19932.         
  19933.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  19934.             /* [in] */ ULONG nStream,
  19935.             /* [out] */ LCID __RPC_FAR *pLanguage) = 0;
  19936.         
  19937.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  19938.             /* [in] */ ULONG nTitle,
  19939.             /* [out] */ DVD_ATR __RPC_FAR *pATR) = 0;
  19940.         
  19941.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  19942.             /* [out] */ DVD_ATR __RPC_FAR *pATR) = 0;
  19943.         
  19944.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  19945.             /* [out] */ DVD_VideoATR __RPC_FAR *pATR) = 0;
  19946.         
  19947.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes( 
  19948.             /* [out] */ DVD_AudioATR __RPC_FAR *pATR) = 0;
  19949.         
  19950.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes( 
  19951.             /* [out] */ DVD_SubpictureATR __RPC_FAR *pATR) = 0;
  19952.         
  19953.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo( 
  19954.             /* [out] */ ULONG __RPC_FAR *pNumOfVol,
  19955.             /* [out] */ ULONG __RPC_FAR *pThisVolNum,
  19956.             /* [out] */ DVD_DISC_SIDE __RPC_FAR *pSide,
  19957.             /* [out] */ ULONG __RPC_FAR *pNumOfTitles) = 0;
  19958.         
  19959.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo( 
  19960.             /* [size_is][out] */ BYTE __RPC_FAR *pTextManager,
  19961.             /* [in] */ ULONG cbBufSize,
  19962.             /* [out] */ ULONG __RPC_FAR *pcbActualSize) = 0;
  19963.         
  19964.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  19965.             /* [out] */ ULONG __RPC_FAR *pParentalLevel,
  19966.             /* [out] */ ULONG __RPC_FAR *pCountryCode) = 0;
  19967.         
  19968.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  19969.             /* [in] */ ULONG ulTitle,
  19970.             /* [out] */ ULONG __RPC_FAR *pNumberOfChapters) = 0;
  19971.         
  19972.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  19973.             /* [in] */ ULONG ulTitle,
  19974.             /* [out] */ ULONG __RPC_FAR *pParentalLevels) = 0;
  19975.         
  19976.         virtual HRESULT STDMETHODCALLTYPE GetRoot( 
  19977.             /* [size_is][out] */ LPSTR pRoot,
  19978.             /* [in] */ ULONG cbBufSize,
  19979.             /* [out] */ ULONG __RPC_FAR *pcbActualSize) = 0;
  19980.         
  19981.     };
  19982.     
  19983. #else     /* C style interface */
  19984.  
  19985.     typedef struct IDvdInfoVtbl
  19986.     {
  19987.         BEGIN_INTERFACE
  19988.         
  19989.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  19990.             IDvdInfo __RPC_FAR * This,
  19991.             /* [in] */ REFIID riid,
  19992.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  19993.         
  19994.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  19995.             IDvdInfo __RPC_FAR * This);
  19996.         
  19997.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  19998.             IDvdInfo __RPC_FAR * This);
  19999.         
  20000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentDomain )( 
  20001.             IDvdInfo __RPC_FAR * This,
  20002.             /* [out] */ DVD_DOMAIN __RPC_FAR *pDomain);
  20003.         
  20004.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentLocation )( 
  20005.             IDvdInfo __RPC_FAR * This,
  20006.             /* [out] */ DVD_PLAYBACK_LOCATION __RPC_FAR *pLocation);
  20007.         
  20008.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTotalTitleTime )( 
  20009.             IDvdInfo __RPC_FAR * This,
  20010.             /* [out] */ ULONG __RPC_FAR *pTotalTime);
  20011.         
  20012.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentButton )( 
  20013.             IDvdInfo __RPC_FAR * This,
  20014.             /* [out] */ ULONG __RPC_FAR *pnButtonsAvailable,
  20015.             /* [out] */ ULONG __RPC_FAR *pnCurrentButton);
  20016.         
  20017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentAngle )( 
  20018.             IDvdInfo __RPC_FAR * This,
  20019.             /* [out] */ ULONG __RPC_FAR *pnAnglesAvailable,
  20020.             /* [out] */ ULONG __RPC_FAR *pnCurrentAngle);
  20021.         
  20022.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentAudio )( 
  20023.             IDvdInfo __RPC_FAR * This,
  20024.             /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  20025.             /* [out] */ ULONG __RPC_FAR *pnCurrentStream);
  20026.         
  20027.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentSubpicture )( 
  20028.             IDvdInfo __RPC_FAR * This,
  20029.             /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  20030.             /* [out] */ ULONG __RPC_FAR *pnCurrentStream,
  20031.             /* [out] */ BOOL __RPC_FAR *pIsDisabled);
  20032.         
  20033.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentUOPS )( 
  20034.             IDvdInfo __RPC_FAR * This,
  20035.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER __RPC_FAR *pUOP);
  20036.         
  20037.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllSPRMs )( 
  20038.             IDvdInfo __RPC_FAR * This,
  20039.             /* [out] */ SPRMARRAY __RPC_FAR *pRegisterArray);
  20040.         
  20041.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllGPRMs )( 
  20042.             IDvdInfo __RPC_FAR * This,
  20043.             /* [out] */ GPRMARRAY __RPC_FAR *pRegisterArray);
  20044.         
  20045.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAudioLanguage )( 
  20046.             IDvdInfo __RPC_FAR * This,
  20047.             /* [in] */ ULONG nStream,
  20048.             /* [out] */ LCID __RPC_FAR *pLanguage);
  20049.         
  20050.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSubpictureLanguage )( 
  20051.             IDvdInfo __RPC_FAR * This,
  20052.             /* [in] */ ULONG nStream,
  20053.             /* [out] */ LCID __RPC_FAR *pLanguage);
  20054.         
  20055.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTitleAttributes )( 
  20056.             IDvdInfo __RPC_FAR * This,
  20057.             /* [in] */ ULONG nTitle,
  20058.             /* [out] */ DVD_ATR __RPC_FAR *pATR);
  20059.         
  20060.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVMGAttributes )( 
  20061.             IDvdInfo __RPC_FAR * This,
  20062.             /* [out] */ DVD_ATR __RPC_FAR *pATR);
  20063.         
  20064.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentVideoAttributes )( 
  20065.             IDvdInfo __RPC_FAR * This,
  20066.             /* [out] */ DVD_VideoATR __RPC_FAR *pATR);
  20067.         
  20068.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentAudioAttributes )( 
  20069.             IDvdInfo __RPC_FAR * This,
  20070.             /* [out] */ DVD_AudioATR __RPC_FAR *pATR);
  20071.         
  20072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentSubpictureAttributes )( 
  20073.             IDvdInfo __RPC_FAR * This,
  20074.             /* [out] */ DVD_SubpictureATR __RPC_FAR *pATR);
  20075.         
  20076.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentVolumeInfo )( 
  20077.             IDvdInfo __RPC_FAR * This,
  20078.             /* [out] */ ULONG __RPC_FAR *pNumOfVol,
  20079.             /* [out] */ ULONG __RPC_FAR *pThisVolNum,
  20080.             /* [out] */ DVD_DISC_SIDE __RPC_FAR *pSide,
  20081.             /* [out] */ ULONG __RPC_FAR *pNumOfTitles);
  20082.         
  20083.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDVDTextInfo )( 
  20084.             IDvdInfo __RPC_FAR * This,
  20085.             /* [size_is][out] */ BYTE __RPC_FAR *pTextManager,
  20086.             /* [in] */ ULONG cbBufSize,
  20087.             /* [out] */ ULONG __RPC_FAR *pcbActualSize);
  20088.         
  20089.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayerParentalLevel )( 
  20090.             IDvdInfo __RPC_FAR * This,
  20091.             /* [out] */ ULONG __RPC_FAR *pParentalLevel,
  20092.             /* [out] */ ULONG __RPC_FAR *pCountryCode);
  20093.         
  20094.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumberOfChapters )( 
  20095.             IDvdInfo __RPC_FAR * This,
  20096.             /* [in] */ ULONG ulTitle,
  20097.             /* [out] */ ULONG __RPC_FAR *pNumberOfChapters);
  20098.         
  20099.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTitleParentalLevels )( 
  20100.             IDvdInfo __RPC_FAR * This,
  20101.             /* [in] */ ULONG ulTitle,
  20102.             /* [out] */ ULONG __RPC_FAR *pParentalLevels);
  20103.         
  20104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRoot )( 
  20105.             IDvdInfo __RPC_FAR * This,
  20106.             /* [size_is][out] */ LPSTR pRoot,
  20107.             /* [in] */ ULONG cbBufSize,
  20108.             /* [out] */ ULONG __RPC_FAR *pcbActualSize);
  20109.         
  20110.         END_INTERFACE
  20111.     } IDvdInfoVtbl;
  20112.  
  20113.     interface IDvdInfo
  20114.     {
  20115.         CONST_VTBL struct IDvdInfoVtbl __RPC_FAR *lpVtbl;
  20116.     };
  20117.  
  20118.     
  20119.  
  20120. #ifdef COBJMACROS
  20121.  
  20122.  
  20123. #define IDvdInfo_QueryInterface(This,riid,ppvObject)    \
  20124.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20125.  
  20126. #define IDvdInfo_AddRef(This)    \
  20127.     (This)->lpVtbl -> AddRef(This)
  20128.  
  20129. #define IDvdInfo_Release(This)    \
  20130.     (This)->lpVtbl -> Release(This)
  20131.  
  20132.  
  20133. #define IDvdInfo_GetCurrentDomain(This,pDomain)    \
  20134.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  20135.  
  20136. #define IDvdInfo_GetCurrentLocation(This,pLocation)    \
  20137.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  20138.  
  20139. #define IDvdInfo_GetTotalTitleTime(This,pTotalTime)    \
  20140.     (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime)
  20141.  
  20142. #define IDvdInfo_GetCurrentButton(This,pnButtonsAvailable,pnCurrentButton)    \
  20143.     (This)->lpVtbl -> GetCurrentButton(This,pnButtonsAvailable,pnCurrentButton)
  20144.  
  20145. #define IDvdInfo_GetCurrentAngle(This,pnAnglesAvailable,pnCurrentAngle)    \
  20146.     (This)->lpVtbl -> GetCurrentAngle(This,pnAnglesAvailable,pnCurrentAngle)
  20147.  
  20148. #define IDvdInfo_GetCurrentAudio(This,pnStreamsAvailable,pnCurrentStream)    \
  20149.     (This)->lpVtbl -> GetCurrentAudio(This,pnStreamsAvailable,pnCurrentStream)
  20150.  
  20151. #define IDvdInfo_GetCurrentSubpicture(This,pnStreamsAvailable,pnCurrentStream,pIsDisabled)    \
  20152.     (This)->lpVtbl -> GetCurrentSubpicture(This,pnStreamsAvailable,pnCurrentStream,pIsDisabled)
  20153.  
  20154. #define IDvdInfo_GetCurrentUOPS(This,pUOP)    \
  20155.     (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  20156.  
  20157. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray)    \
  20158.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  20159.  
  20160. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray)    \
  20161.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  20162.  
  20163. #define IDvdInfo_GetAudioLanguage(This,nStream,pLanguage)    \
  20164.     (This)->lpVtbl -> GetAudioLanguage(This,nStream,pLanguage)
  20165.  
  20166. #define IDvdInfo_GetSubpictureLanguage(This,nStream,pLanguage)    \
  20167.     (This)->lpVtbl -> GetSubpictureLanguage(This,nStream,pLanguage)
  20168.  
  20169. #define IDvdInfo_GetTitleAttributes(This,nTitle,pATR)    \
  20170.     (This)->lpVtbl -> GetTitleAttributes(This,nTitle,pATR)
  20171.  
  20172. #define IDvdInfo_GetVMGAttributes(This,pATR)    \
  20173.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  20174.  
  20175. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR)    \
  20176.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  20177.  
  20178. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR)    \
  20179.     (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  20180.  
  20181. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)    \
  20182.     (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  20183.  
  20184. #define IDvdInfo_GetCurrentVolumeInfo(This,pNumOfVol,pThisVolNum,pSide,pNumOfTitles)    \
  20185.     (This)->lpVtbl -> GetCurrentVolumeInfo(This,pNumOfVol,pThisVolNum,pSide,pNumOfTitles)
  20186.  
  20187. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,cbBufSize,pcbActualSize)    \
  20188.     (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,cbBufSize,pcbActualSize)
  20189.  
  20190. #define IDvdInfo_GetPlayerParentalLevel(This,pParentalLevel,pCountryCode)    \
  20191.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pParentalLevel,pCountryCode)
  20192.  
  20193. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pNumberOfChapters)    \
  20194.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pNumberOfChapters)
  20195.  
  20196. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pParentalLevels)    \
  20197.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pParentalLevels)
  20198.  
  20199. #define IDvdInfo_GetRoot(This,pRoot,cbBufSize,pcbActualSize)    \
  20200.     (This)->lpVtbl -> GetRoot(This,pRoot,cbBufSize,pcbActualSize)
  20201.  
  20202. #endif /* COBJMACROS */
  20203.  
  20204.  
  20205. #endif     /* C style interface */
  20206.  
  20207.  
  20208.  
  20209. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy( 
  20210.     IDvdInfo __RPC_FAR * This,
  20211.     /* [out] */ DVD_DOMAIN __RPC_FAR *pDomain);
  20212.  
  20213.  
  20214. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  20215.     IRpcStubBuffer *This,
  20216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20217.     PRPC_MESSAGE _pRpcMessage,
  20218.     DWORD *_pdwStubPhase);
  20219.  
  20220.  
  20221. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy( 
  20222.     IDvdInfo __RPC_FAR * This,
  20223.     /* [out] */ DVD_PLAYBACK_LOCATION __RPC_FAR *pLocation);
  20224.  
  20225.  
  20226. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  20227.     IRpcStubBuffer *This,
  20228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20229.     PRPC_MESSAGE _pRpcMessage,
  20230.     DWORD *_pdwStubPhase);
  20231.  
  20232.  
  20233. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy( 
  20234.     IDvdInfo __RPC_FAR * This,
  20235.     /* [out] */ ULONG __RPC_FAR *pTotalTime);
  20236.  
  20237.  
  20238. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  20239.     IRpcStubBuffer *This,
  20240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20241.     PRPC_MESSAGE _pRpcMessage,
  20242.     DWORD *_pdwStubPhase);
  20243.  
  20244.  
  20245. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy( 
  20246.     IDvdInfo __RPC_FAR * This,
  20247.     /* [out] */ ULONG __RPC_FAR *pnButtonsAvailable,
  20248.     /* [out] */ ULONG __RPC_FAR *pnCurrentButton);
  20249.  
  20250.  
  20251. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  20252.     IRpcStubBuffer *This,
  20253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20254.     PRPC_MESSAGE _pRpcMessage,
  20255.     DWORD *_pdwStubPhase);
  20256.  
  20257.  
  20258. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy( 
  20259.     IDvdInfo __RPC_FAR * This,
  20260.     /* [out] */ ULONG __RPC_FAR *pnAnglesAvailable,
  20261.     /* [out] */ ULONG __RPC_FAR *pnCurrentAngle);
  20262.  
  20263.  
  20264. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  20265.     IRpcStubBuffer *This,
  20266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20267.     PRPC_MESSAGE _pRpcMessage,
  20268.     DWORD *_pdwStubPhase);
  20269.  
  20270.  
  20271. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy( 
  20272.     IDvdInfo __RPC_FAR * This,
  20273.     /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  20274.     /* [out] */ ULONG __RPC_FAR *pnCurrentStream);
  20275.  
  20276.  
  20277. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  20278.     IRpcStubBuffer *This,
  20279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20280.     PRPC_MESSAGE _pRpcMessage,
  20281.     DWORD *_pdwStubPhase);
  20282.  
  20283.  
  20284. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy( 
  20285.     IDvdInfo __RPC_FAR * This,
  20286.     /* [out] */ ULONG __RPC_FAR *pnStreamsAvailable,
  20287.     /* [out] */ ULONG __RPC_FAR *pnCurrentStream,
  20288.     /* [out] */ BOOL __RPC_FAR *pIsDisabled);
  20289.  
  20290.  
  20291. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  20292.     IRpcStubBuffer *This,
  20293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20294.     PRPC_MESSAGE _pRpcMessage,
  20295.     DWORD *_pdwStubPhase);
  20296.  
  20297.  
  20298. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy( 
  20299.     IDvdInfo __RPC_FAR * This,
  20300.     /* [out] */ VALID_UOP_SOMTHING_OR_OTHER __RPC_FAR *pUOP);
  20301.  
  20302.  
  20303. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  20304.     IRpcStubBuffer *This,
  20305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20306.     PRPC_MESSAGE _pRpcMessage,
  20307.     DWORD *_pdwStubPhase);
  20308.  
  20309.  
  20310. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy( 
  20311.     IDvdInfo __RPC_FAR * This,
  20312.     /* [out] */ SPRMARRAY __RPC_FAR *pRegisterArray);
  20313.  
  20314.  
  20315. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  20316.     IRpcStubBuffer *This,
  20317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20318.     PRPC_MESSAGE _pRpcMessage,
  20319.     DWORD *_pdwStubPhase);
  20320.  
  20321.  
  20322. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy( 
  20323.     IDvdInfo __RPC_FAR * This,
  20324.     /* [out] */ GPRMARRAY __RPC_FAR *pRegisterArray);
  20325.  
  20326.  
  20327. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  20328.     IRpcStubBuffer *This,
  20329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20330.     PRPC_MESSAGE _pRpcMessage,
  20331.     DWORD *_pdwStubPhase);
  20332.  
  20333.  
  20334. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy( 
  20335.     IDvdInfo __RPC_FAR * This,
  20336.     /* [in] */ ULONG nStream,
  20337.     /* [out] */ LCID __RPC_FAR *pLanguage);
  20338.  
  20339.  
  20340. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  20341.     IRpcStubBuffer *This,
  20342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20343.     PRPC_MESSAGE _pRpcMessage,
  20344.     DWORD *_pdwStubPhase);
  20345.  
  20346.  
  20347. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy( 
  20348.     IDvdInfo __RPC_FAR * This,
  20349.     /* [in] */ ULONG nStream,
  20350.     /* [out] */ LCID __RPC_FAR *pLanguage);
  20351.  
  20352.  
  20353. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  20354.     IRpcStubBuffer *This,
  20355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20356.     PRPC_MESSAGE _pRpcMessage,
  20357.     DWORD *_pdwStubPhase);
  20358.  
  20359.  
  20360. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy( 
  20361.     IDvdInfo __RPC_FAR * This,
  20362.     /* [in] */ ULONG nTitle,
  20363.     /* [out] */ DVD_ATR __RPC_FAR *pATR);
  20364.  
  20365.  
  20366. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  20367.     IRpcStubBuffer *This,
  20368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20369.     PRPC_MESSAGE _pRpcMessage,
  20370.     DWORD *_pdwStubPhase);
  20371.  
  20372.  
  20373. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy( 
  20374.     IDvdInfo __RPC_FAR * This,
  20375.     /* [out] */ DVD_ATR __RPC_FAR *pATR);
  20376.  
  20377.  
  20378. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  20379.     IRpcStubBuffer *This,
  20380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20381.     PRPC_MESSAGE _pRpcMessage,
  20382.     DWORD *_pdwStubPhase);
  20383.  
  20384.  
  20385. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy( 
  20386.     IDvdInfo __RPC_FAR * This,
  20387.     /* [out] */ DVD_VideoATR __RPC_FAR *pATR);
  20388.  
  20389.  
  20390. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  20391.     IRpcStubBuffer *This,
  20392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20393.     PRPC_MESSAGE _pRpcMessage,
  20394.     DWORD *_pdwStubPhase);
  20395.  
  20396.  
  20397. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy( 
  20398.     IDvdInfo __RPC_FAR * This,
  20399.     /* [out] */ DVD_AudioATR __RPC_FAR *pATR);
  20400.  
  20401.  
  20402. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  20403.     IRpcStubBuffer *This,
  20404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20405.     PRPC_MESSAGE _pRpcMessage,
  20406.     DWORD *_pdwStubPhase);
  20407.  
  20408.  
  20409. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy( 
  20410.     IDvdInfo __RPC_FAR * This,
  20411.     /* [out] */ DVD_SubpictureATR __RPC_FAR *pATR);
  20412.  
  20413.  
  20414. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  20415.     IRpcStubBuffer *This,
  20416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20417.     PRPC_MESSAGE _pRpcMessage,
  20418.     DWORD *_pdwStubPhase);
  20419.  
  20420.  
  20421. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy( 
  20422.     IDvdInfo __RPC_FAR * This,
  20423.     /* [out] */ ULONG __RPC_FAR *pNumOfVol,
  20424.     /* [out] */ ULONG __RPC_FAR *pThisVolNum,
  20425.     /* [out] */ DVD_DISC_SIDE __RPC_FAR *pSide,
  20426.     /* [out] */ ULONG __RPC_FAR *pNumOfTitles);
  20427.  
  20428.  
  20429. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  20430.     IRpcStubBuffer *This,
  20431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20432.     PRPC_MESSAGE _pRpcMessage,
  20433.     DWORD *_pdwStubPhase);
  20434.  
  20435.  
  20436. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy( 
  20437.     IDvdInfo __RPC_FAR * This,
  20438.     /* [size_is][out] */ BYTE __RPC_FAR *pTextManager,
  20439.     /* [in] */ ULONG cbBufSize,
  20440.     /* [out] */ ULONG __RPC_FAR *pcbActualSize);
  20441.  
  20442.  
  20443. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  20444.     IRpcStubBuffer *This,
  20445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20446.     PRPC_MESSAGE _pRpcMessage,
  20447.     DWORD *_pdwStubPhase);
  20448.  
  20449.  
  20450. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy( 
  20451.     IDvdInfo __RPC_FAR * This,
  20452.     /* [out] */ ULONG __RPC_FAR *pParentalLevel,
  20453.     /* [out] */ ULONG __RPC_FAR *pCountryCode);
  20454.  
  20455.  
  20456. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  20457.     IRpcStubBuffer *This,
  20458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20459.     PRPC_MESSAGE _pRpcMessage,
  20460.     DWORD *_pdwStubPhase);
  20461.  
  20462.  
  20463. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy( 
  20464.     IDvdInfo __RPC_FAR * This,
  20465.     /* [in] */ ULONG ulTitle,
  20466.     /* [out] */ ULONG __RPC_FAR *pNumberOfChapters);
  20467.  
  20468.  
  20469. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  20470.     IRpcStubBuffer *This,
  20471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20472.     PRPC_MESSAGE _pRpcMessage,
  20473.     DWORD *_pdwStubPhase);
  20474.  
  20475.  
  20476. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy( 
  20477.     IDvdInfo __RPC_FAR * This,
  20478.     /* [in] */ ULONG ulTitle,
  20479.     /* [out] */ ULONG __RPC_FAR *pParentalLevels);
  20480.  
  20481.  
  20482. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  20483.     IRpcStubBuffer *This,
  20484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20485.     PRPC_MESSAGE _pRpcMessage,
  20486.     DWORD *_pdwStubPhase);
  20487.  
  20488.  
  20489. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy( 
  20490.     IDvdInfo __RPC_FAR * This,
  20491.     /* [size_is][out] */ LPSTR pRoot,
  20492.     /* [in] */ ULONG cbBufSize,
  20493.     /* [out] */ ULONG __RPC_FAR *pcbActualSize);
  20494.  
  20495.  
  20496. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  20497.     IRpcStubBuffer *This,
  20498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20499.     PRPC_MESSAGE _pRpcMessage,
  20500.     DWORD *_pdwStubPhase);
  20501.  
  20502.  
  20503.  
  20504. #endif     /* __IDvdInfo_INTERFACE_DEFINED__ */
  20505.  
  20506.  
  20507. /* interface __MIDL_itf_strmif_0342 */
  20508. /* [local] */ 
  20509.  
  20510. typedef 
  20511. enum _AM_DVD_GRAPH_FLAGS
  20512.     {    AM_DVD_HWDEC_PREFER    = 0x1,
  20513.     AM_DVD_HWDEC_ONLY    = 0x2,
  20514.     AM_DVD_SWDEC_PREFER    = 0x4,
  20515.     AM_DVD_SWDEC_ONLY    = 0x8,
  20516.     AM_DVD_NOVPE    = 0x100
  20517.     }    AM_DVD_GRAPH_FLAGS;
  20518.  
  20519. typedef 
  20520. enum _AM_DVD_STREAM_FLAGS
  20521.     {    AM_DVD_STREAM_VIDEO    = 0x1,
  20522.     AM_DVD_STREAM_AUDIO    = 0x2,
  20523.     AM_DVD_STREAM_SUBPIC    = 0x4
  20524.     }    AM_DVD_STREAM_FLAGS;
  20525.  
  20526. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0342_0001
  20527.     {
  20528.     HRESULT hrVPEStatus;
  20529.     BOOL bDvdVolInvalid;
  20530.     BOOL bDvdVolUnknown;
  20531.     BOOL bNoLine21In;
  20532.     BOOL bNoLine21Out;
  20533.     int iNumStreams;
  20534.     int iNumStreamsFailed;
  20535.     DWORD dwFailedStreamsFlag;
  20536.     }    AM_DVD_RENDERSTATUS;
  20537.  
  20538.  
  20539.  
  20540. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
  20541. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
  20542.  
  20543. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  20544. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  20545.  
  20546. /* interface IDvdGraphBuilder */
  20547. /* [unique][uuid][local][object] */ 
  20548.  
  20549.  
  20550. EXTERN_C const IID IID_IDvdGraphBuilder;
  20551.  
  20552. #if defined(__cplusplus) && !defined(CINTERFACE)
  20553.     
  20554.     MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  20555.     IDvdGraphBuilder : public IUnknown
  20556.     {
  20557.     public:
  20558.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  20559.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGB) = 0;
  20560.         
  20561.         virtual HRESULT STDMETHODCALLTYPE GetDvdInterface( 
  20562.             /* [in] */ REFIID riid,
  20563.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvIF) = 0;
  20564.         
  20565.         virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume( 
  20566.             /* [in] */ LPCWSTR lpcwszPathName,
  20567.             /* [in] */ DWORD dwFlags,
  20568.             /* [out] */ AM_DVD_RENDERSTATUS __RPC_FAR *pStatus) = 0;
  20569.         
  20570.     };
  20571.     
  20572. #else     /* C style interface */
  20573.  
  20574.     typedef struct IDvdGraphBuilderVtbl
  20575.     {
  20576.         BEGIN_INTERFACE
  20577.         
  20578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  20579.             IDvdGraphBuilder __RPC_FAR * This,
  20580.             /* [in] */ REFIID riid,
  20581.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  20582.         
  20583.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  20584.             IDvdGraphBuilder __RPC_FAR * This);
  20585.         
  20586.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  20587.             IDvdGraphBuilder __RPC_FAR * This);
  20588.         
  20589.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFiltergraph )( 
  20590.             IDvdGraphBuilder __RPC_FAR * This,
  20591.             /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGB);
  20592.         
  20593.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDvdInterface )( 
  20594.             IDvdGraphBuilder __RPC_FAR * This,
  20595.             /* [in] */ REFIID riid,
  20596.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvIF);
  20597.         
  20598.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderDvdVideoVolume )( 
  20599.             IDvdGraphBuilder __RPC_FAR * This,
  20600.             /* [in] */ LPCWSTR lpcwszPathName,
  20601.             /* [in] */ DWORD dwFlags,
  20602.             /* [out] */ AM_DVD_RENDERSTATUS __RPC_FAR *pStatus);
  20603.         
  20604.         END_INTERFACE
  20605.     } IDvdGraphBuilderVtbl;
  20606.  
  20607.     interface IDvdGraphBuilder
  20608.     {
  20609.         CONST_VTBL struct IDvdGraphBuilderVtbl __RPC_FAR *lpVtbl;
  20610.     };
  20611.  
  20612.     
  20613.  
  20614. #ifdef COBJMACROS
  20615.  
  20616.  
  20617. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  20618.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20619.  
  20620. #define IDvdGraphBuilder_AddRef(This)    \
  20621.     (This)->lpVtbl -> AddRef(This)
  20622.  
  20623. #define IDvdGraphBuilder_Release(This)    \
  20624.     (This)->lpVtbl -> Release(This)
  20625.  
  20626.  
  20627. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB)    \
  20628.     (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  20629.  
  20630. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)    \
  20631.     (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  20632.  
  20633. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)    \
  20634.     (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  20635.  
  20636. #endif /* COBJMACROS */
  20637.  
  20638.  
  20639. #endif     /* C style interface */
  20640.  
  20641.  
  20642.  
  20643. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy( 
  20644.     IDvdGraphBuilder __RPC_FAR * This,
  20645.     /* [out] */ IGraphBuilder __RPC_FAR *__RPC_FAR *ppGB);
  20646.  
  20647.  
  20648. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  20649.     IRpcStubBuffer *This,
  20650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20651.     PRPC_MESSAGE _pRpcMessage,
  20652.     DWORD *_pdwStubPhase);
  20653.  
  20654.  
  20655. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy( 
  20656.     IDvdGraphBuilder __RPC_FAR * This,
  20657.     /* [in] */ REFIID riid,
  20658.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvIF);
  20659.  
  20660.  
  20661. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  20662.     IRpcStubBuffer *This,
  20663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20664.     PRPC_MESSAGE _pRpcMessage,
  20665.     DWORD *_pdwStubPhase);
  20666.  
  20667.  
  20668. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy( 
  20669.     IDvdGraphBuilder __RPC_FAR * This,
  20670.     /* [in] */ LPCWSTR lpcwszPathName,
  20671.     /* [in] */ DWORD dwFlags,
  20672.     /* [out] */ AM_DVD_RENDERSTATUS __RPC_FAR *pStatus);
  20673.  
  20674.  
  20675. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  20676.     IRpcStubBuffer *This,
  20677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20678.     PRPC_MESSAGE _pRpcMessage,
  20679.     DWORD *_pdwStubPhase);
  20680.  
  20681.  
  20682.  
  20683. #endif     /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  20684.  
  20685.  
  20686. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  20687. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  20688.  
  20689. /* interface IDDrawExclModeVideo */
  20690. /* [unique][uuid][local][object] */ 
  20691.  
  20692.  
  20693. EXTERN_C const IID IID_IDDrawExclModeVideo;
  20694.  
  20695. #if defined(__cplusplus) && !defined(CINTERFACE)
  20696.     
  20697.     MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  20698.     IDDrawExclModeVideo : public IUnknown
  20699.     {
  20700.     public:
  20701.         virtual HRESULT STDMETHODCALLTYPE SetDDrawObject( 
  20702.             /* [in] */ IDirectDraw __RPC_FAR *pDDrawObject) = 0;
  20703.         
  20704.         virtual HRESULT STDMETHODCALLTYPE GetDDrawObject( 
  20705.             /* [out] */ IDirectDraw __RPC_FAR *__RPC_FAR *ppDDrawObject,
  20706.             /* [out] */ BOOL __RPC_FAR *pbUsingExternal) = 0;
  20707.         
  20708.         virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface( 
  20709.             /* [in] */ IDirectDrawSurface __RPC_FAR *pDDrawSurface) = 0;
  20710.         
  20711.         virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface( 
  20712.             /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDDrawSurface,
  20713.             /* [out] */ BOOL __RPC_FAR *pbUsingExternal) = 0;
  20714.         
  20715.         virtual HRESULT STDMETHODCALLTYPE SetDrawParameters( 
  20716.             /* [in] */ const RECT __RPC_FAR *prcSource,
  20717.             /* [in] */ const RECT __RPC_FAR *prcTarget) = 0;
  20718.         
  20719.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps( 
  20720.             /* [out] */ DWORD __RPC_FAR *pdwVideoWidth,
  20721.             /* [out] */ DWORD __RPC_FAR *pdwVideoHeight,
  20722.             /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioX,
  20723.             /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioY) = 0;
  20724.         
  20725.         virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface( 
  20726.             /* [in] */ IDDrawExclModeVideoCallback __RPC_FAR *pCallback,
  20727.             /* [in] */ DWORD dwFlags) = 0;
  20728.         
  20729.     };
  20730.     
  20731. #else     /* C style interface */
  20732.  
  20733.     typedef struct IDDrawExclModeVideoVtbl
  20734.     {
  20735.         BEGIN_INTERFACE
  20736.         
  20737.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  20738.             IDDrawExclModeVideo __RPC_FAR * This,
  20739.             /* [in] */ REFIID riid,
  20740.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  20741.         
  20742.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  20743.             IDDrawExclModeVideo __RPC_FAR * This);
  20744.         
  20745.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  20746.             IDDrawExclModeVideo __RPC_FAR * This);
  20747.         
  20748.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDDrawObject )( 
  20749.             IDDrawExclModeVideo __RPC_FAR * This,
  20750.             /* [in] */ IDirectDraw __RPC_FAR *pDDrawObject);
  20751.         
  20752.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDDrawObject )( 
  20753.             IDDrawExclModeVideo __RPC_FAR * This,
  20754.             /* [out] */ IDirectDraw __RPC_FAR *__RPC_FAR *ppDDrawObject,
  20755.             /* [out] */ BOOL __RPC_FAR *pbUsingExternal);
  20756.         
  20757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDDrawSurface )( 
  20758.             IDDrawExclModeVideo __RPC_FAR * This,
  20759.             /* [in] */ IDirectDrawSurface __RPC_FAR *pDDrawSurface);
  20760.         
  20761.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDDrawSurface )( 
  20762.             IDDrawExclModeVideo __RPC_FAR * This,
  20763.             /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDDrawSurface,
  20764.             /* [out] */ BOOL __RPC_FAR *pbUsingExternal);
  20765.         
  20766.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDrawParameters )( 
  20767.             IDDrawExclModeVideo __RPC_FAR * This,
  20768.             /* [in] */ const RECT __RPC_FAR *prcSource,
  20769.             /* [in] */ const RECT __RPC_FAR *prcTarget);
  20770.         
  20771.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNativeVideoProps )( 
  20772.             IDDrawExclModeVideo __RPC_FAR * This,
  20773.             /* [out] */ DWORD __RPC_FAR *pdwVideoWidth,
  20774.             /* [out] */ DWORD __RPC_FAR *pdwVideoHeight,
  20775.             /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioX,
  20776.             /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioY);
  20777.         
  20778.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCallbackInterface )( 
  20779.             IDDrawExclModeVideo __RPC_FAR * This,
  20780.             /* [in] */ IDDrawExclModeVideoCallback __RPC_FAR *pCallback,
  20781.             /* [in] */ DWORD dwFlags);
  20782.         
  20783.         END_INTERFACE
  20784.     } IDDrawExclModeVideoVtbl;
  20785.  
  20786.     interface IDDrawExclModeVideo
  20787.     {
  20788.         CONST_VTBL struct IDDrawExclModeVideoVtbl __RPC_FAR *lpVtbl;
  20789.     };
  20790.  
  20791.     
  20792.  
  20793. #ifdef COBJMACROS
  20794.  
  20795.  
  20796. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)    \
  20797.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20798.  
  20799. #define IDDrawExclModeVideo_AddRef(This)    \
  20800.     (This)->lpVtbl -> AddRef(This)
  20801.  
  20802. #define IDDrawExclModeVideo_Release(This)    \
  20803.     (This)->lpVtbl -> Release(This)
  20804.  
  20805.  
  20806. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)    \
  20807.     (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  20808.  
  20809. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)    \
  20810.     (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  20811.  
  20812. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)    \
  20813.     (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  20814.  
  20815. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)    \
  20816.     (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  20817.  
  20818. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)    \
  20819.     (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  20820.  
  20821. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)    \
  20822.     (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  20823.  
  20824. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)    \
  20825.     (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  20826.  
  20827. #endif /* COBJMACROS */
  20828.  
  20829.  
  20830. #endif     /* C style interface */
  20831.  
  20832.  
  20833.  
  20834. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy( 
  20835.     IDDrawExclModeVideo __RPC_FAR * This,
  20836.     /* [in] */ IDirectDraw __RPC_FAR *pDDrawObject);
  20837.  
  20838.  
  20839. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  20840.     IRpcStubBuffer *This,
  20841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20842.     PRPC_MESSAGE _pRpcMessage,
  20843.     DWORD *_pdwStubPhase);
  20844.  
  20845.  
  20846. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy( 
  20847.     IDDrawExclModeVideo __RPC_FAR * This,
  20848.     /* [out] */ IDirectDraw __RPC_FAR *__RPC_FAR *ppDDrawObject,
  20849.     /* [out] */ BOOL __RPC_FAR *pbUsingExternal);
  20850.  
  20851.  
  20852. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  20853.     IRpcStubBuffer *This,
  20854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20855.     PRPC_MESSAGE _pRpcMessage,
  20856.     DWORD *_pdwStubPhase);
  20857.  
  20858.  
  20859. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy( 
  20860.     IDDrawExclModeVideo __RPC_FAR * This,
  20861.     /* [in] */ IDirectDrawSurface __RPC_FAR *pDDrawSurface);
  20862.  
  20863.  
  20864. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  20865.     IRpcStubBuffer *This,
  20866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20867.     PRPC_MESSAGE _pRpcMessage,
  20868.     DWORD *_pdwStubPhase);
  20869.  
  20870.  
  20871. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy( 
  20872.     IDDrawExclModeVideo __RPC_FAR * This,
  20873.     /* [out] */ IDirectDrawSurface __RPC_FAR *__RPC_FAR *ppDDrawSurface,
  20874.     /* [out] */ BOOL __RPC_FAR *pbUsingExternal);
  20875.  
  20876.  
  20877. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  20878.     IRpcStubBuffer *This,
  20879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20880.     PRPC_MESSAGE _pRpcMessage,
  20881.     DWORD *_pdwStubPhase);
  20882.  
  20883.  
  20884. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy( 
  20885.     IDDrawExclModeVideo __RPC_FAR * This,
  20886.     /* [in] */ const RECT __RPC_FAR *prcSource,
  20887.     /* [in] */ const RECT __RPC_FAR *prcTarget);
  20888.  
  20889.  
  20890. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  20891.     IRpcStubBuffer *This,
  20892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20893.     PRPC_MESSAGE _pRpcMessage,
  20894.     DWORD *_pdwStubPhase);
  20895.  
  20896.  
  20897. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy( 
  20898.     IDDrawExclModeVideo __RPC_FAR * This,
  20899.     /* [out] */ DWORD __RPC_FAR *pdwVideoWidth,
  20900.     /* [out] */ DWORD __RPC_FAR *pdwVideoHeight,
  20901.     /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioX,
  20902.     /* [out] */ DWORD __RPC_FAR *pdwPictAspectRatioY);
  20903.  
  20904.  
  20905. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  20906.     IRpcStubBuffer *This,
  20907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20908.     PRPC_MESSAGE _pRpcMessage,
  20909.     DWORD *_pdwStubPhase);
  20910.  
  20911.  
  20912. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy( 
  20913.     IDDrawExclModeVideo __RPC_FAR * This,
  20914.     /* [in] */ IDDrawExclModeVideoCallback __RPC_FAR *pCallback,
  20915.     /* [in] */ DWORD dwFlags);
  20916.  
  20917.  
  20918. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  20919.     IRpcStubBuffer *This,
  20920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20921.     PRPC_MESSAGE _pRpcMessage,
  20922.     DWORD *_pdwStubPhase);
  20923.  
  20924.  
  20925.  
  20926. #endif     /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  20927.  
  20928.  
  20929. /* interface __MIDL_itf_strmif_0344 */
  20930. /* [local] */ 
  20931.  
  20932.  
  20933. enum _AM_OVERLAY_NOTIFY_FLAGS
  20934.     {    AM_OVERLAY_NOTIFY_VISIBLE_CHANGE    = 0x1,
  20935.     AM_OVERLAY_NOTIFY_SOURCE_CHANGE    = 0x2,
  20936.     AM_OVERLAY_NOTIFY_DEST_CHANGE    = 0x4
  20937.     };
  20938.  
  20939.  
  20940. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  20941. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  20942.  
  20943. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  20944. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  20945.  
  20946. /* interface IDDrawExclModeVideoCallback */
  20947. /* [unique][uuid][local][object] */ 
  20948.  
  20949.  
  20950. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  20951.  
  20952. #if defined(__cplusplus) && !defined(CINTERFACE)
  20953.     
  20954.     MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  20955.     IDDrawExclModeVideoCallback : public IUnknown
  20956.     {
  20957.     public:
  20958.         virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay( 
  20959.             /* [in] */ BOOL bBefore,
  20960.             /* [in] */ DWORD dwFlags,
  20961.             /* [in] */ BOOL bOldVisible,
  20962.             /* [in] */ const RECT __RPC_FAR *prcOldSrc,
  20963.             /* [in] */ const RECT __RPC_FAR *prcOldDest,
  20964.             /* [in] */ BOOL bNewVisible,
  20965.             /* [in] */ const RECT __RPC_FAR *prcNewSrc,
  20966.             /* [in] */ const RECT __RPC_FAR *prcNewDest) = 0;
  20967.         
  20968.         virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey( 
  20969.             /* [in] */ const COLORKEY __RPC_FAR *pKey,
  20970.             /* [in] */ DWORD dwColor) = 0;
  20971.         
  20972.         virtual HRESULT STDMETHODCALLTYPE OnUpdateSize( 
  20973.             /* [in] */ DWORD dwWidth,
  20974.             /* [in] */ DWORD dwHeight,
  20975.             /* [in] */ DWORD dwARWidth,
  20976.             /* [in] */ DWORD dwARHeight) = 0;
  20977.         
  20978.     };
  20979.     
  20980. #else     /* C style interface */
  20981.  
  20982.     typedef struct IDDrawExclModeVideoCallbackVtbl
  20983.     {
  20984.         BEGIN_INTERFACE
  20985.         
  20986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  20987.             IDDrawExclModeVideoCallback __RPC_FAR * This,
  20988.             /* [in] */ REFIID riid,
  20989.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  20990.         
  20991.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  20992.             IDDrawExclModeVideoCallback __RPC_FAR * This);
  20993.         
  20994.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  20995.             IDDrawExclModeVideoCallback __RPC_FAR * This);
  20996.         
  20997.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnUpdateOverlay )( 
  20998.             IDDrawExclModeVideoCallback __RPC_FAR * This,
  20999.             /* [in] */ BOOL bBefore,
  21000.             /* [in] */ DWORD dwFlags,
  21001.             /* [in] */ BOOL bOldVisible,
  21002.             /* [in] */ const RECT __RPC_FAR *prcOldSrc,
  21003.             /* [in] */ const RECT __RPC_FAR *prcOldDest,
  21004.             /* [in] */ BOOL bNewVisible,
  21005.             /* [in] */ const RECT __RPC_FAR *prcNewSrc,
  21006.             /* [in] */ const RECT __RPC_FAR *prcNewDest);
  21007.         
  21008.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnUpdateColorKey )( 
  21009.             IDDrawExclModeVideoCallback __RPC_FAR * This,
  21010.             /* [in] */ const COLORKEY __RPC_FAR *pKey,
  21011.             /* [in] */ DWORD dwColor);
  21012.         
  21013.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnUpdateSize )( 
  21014.             IDDrawExclModeVideoCallback __RPC_FAR * This,
  21015.             /* [in] */ DWORD dwWidth,
  21016.             /* [in] */ DWORD dwHeight,
  21017.             /* [in] */ DWORD dwARWidth,
  21018.             /* [in] */ DWORD dwARHeight);
  21019.         
  21020.         END_INTERFACE
  21021.     } IDDrawExclModeVideoCallbackVtbl;
  21022.  
  21023.     interface IDDrawExclModeVideoCallback
  21024.     {
  21025.         CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl __RPC_FAR *lpVtbl;
  21026.     };
  21027.  
  21028.     
  21029.  
  21030. #ifdef COBJMACROS
  21031.  
  21032.  
  21033. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)    \
  21034.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21035.  
  21036. #define IDDrawExclModeVideoCallback_AddRef(This)    \
  21037.     (This)->lpVtbl -> AddRef(This)
  21038.  
  21039. #define IDDrawExclModeVideoCallback_Release(This)    \
  21040.     (This)->lpVtbl -> Release(This)
  21041.  
  21042.  
  21043. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)    \
  21044.     (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  21045.  
  21046. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)    \
  21047.     (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  21048.  
  21049. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)    \
  21050.     (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  21051.  
  21052. #endif /* COBJMACROS */
  21053.  
  21054.  
  21055. #endif     /* C style interface */
  21056.  
  21057.  
  21058.  
  21059. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy( 
  21060.     IDDrawExclModeVideoCallback __RPC_FAR * This,
  21061.     /* [in] */ BOOL bBefore,
  21062.     /* [in] */ DWORD dwFlags,
  21063.     /* [in] */ BOOL bOldVisible,
  21064.     /* [in] */ const RECT __RPC_FAR *prcOldSrc,
  21065.     /* [in] */ const RECT __RPC_FAR *prcOldDest,
  21066.     /* [in] */ BOOL bNewVisible,
  21067.     /* [in] */ const RECT __RPC_FAR *prcNewSrc,
  21068.     /* [in] */ const RECT __RPC_FAR *prcNewDest);
  21069.  
  21070.  
  21071. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  21072.     IRpcStubBuffer *This,
  21073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21074.     PRPC_MESSAGE _pRpcMessage,
  21075.     DWORD *_pdwStubPhase);
  21076.  
  21077.  
  21078. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy( 
  21079.     IDDrawExclModeVideoCallback __RPC_FAR * This,
  21080.     /* [in] */ const COLORKEY __RPC_FAR *pKey,
  21081.     /* [in] */ DWORD dwColor);
  21082.  
  21083.  
  21084. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  21085.     IRpcStubBuffer *This,
  21086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21087.     PRPC_MESSAGE _pRpcMessage,
  21088.     DWORD *_pdwStubPhase);
  21089.  
  21090.  
  21091. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy( 
  21092.     IDDrawExclModeVideoCallback __RPC_FAR * This,
  21093.     /* [in] */ DWORD dwWidth,
  21094.     /* [in] */ DWORD dwHeight,
  21095.     /* [in] */ DWORD dwARWidth,
  21096.     /* [in] */ DWORD dwARHeight);
  21097.  
  21098.  
  21099. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  21100.     IRpcStubBuffer *This,
  21101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21102.     PRPC_MESSAGE _pRpcMessage,
  21103.     DWORD *_pdwStubPhase);
  21104.  
  21105.  
  21106.  
  21107. #endif     /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  21108.  
  21109.  
  21110. /* Additional Prototypes for ALL interfaces */
  21111.  
  21112. /* end of Additional Prototypes */
  21113.  
  21114. #ifdef __cplusplus
  21115. }
  21116. #endif
  21117.  
  21118. #endif
  21119.  
  21120.  
  21121. #pragma option pop /*P_O_Pop*/
  21122.