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

30172 lines
872 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for strmif.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __strmif_h__
  27. #define __strmif_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ICreateDevEnum_FWD_DEFINED__
  33. #define __ICreateDevEnum_FWD_DEFINED__
  34. typedef interface ICreateDevEnum ICreateDevEnum;
  35. #endif /* __ICreateDevEnum_FWD_DEFINED__ */
  36. #ifndef __IPin_FWD_DEFINED__
  37. #define __IPin_FWD_DEFINED__
  38. typedef interface IPin IPin;
  39. #endif /* __IPin_FWD_DEFINED__ */
  40. #ifndef __IEnumPins_FWD_DEFINED__
  41. #define __IEnumPins_FWD_DEFINED__
  42. typedef interface IEnumPins IEnumPins;
  43. #endif /* __IEnumPins_FWD_DEFINED__ */
  44. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  45. #define __IEnumMediaTypes_FWD_DEFINED__
  46. typedef interface IEnumMediaTypes IEnumMediaTypes;
  47. #endif /* __IEnumMediaTypes_FWD_DEFINED__ */
  48. #ifndef __IFilterGraph_FWD_DEFINED__
  49. #define __IFilterGraph_FWD_DEFINED__
  50. typedef interface IFilterGraph IFilterGraph;
  51. #endif /* __IFilterGraph_FWD_DEFINED__ */
  52. #ifndef __IEnumFilters_FWD_DEFINED__
  53. #define __IEnumFilters_FWD_DEFINED__
  54. typedef interface IEnumFilters IEnumFilters;
  55. #endif /* __IEnumFilters_FWD_DEFINED__ */
  56. #ifndef __IMediaFilter_FWD_DEFINED__
  57. #define __IMediaFilter_FWD_DEFINED__
  58. typedef interface IMediaFilter IMediaFilter;
  59. #endif /* __IMediaFilter_FWD_DEFINED__ */
  60. #ifndef __IBaseFilter_FWD_DEFINED__
  61. #define __IBaseFilter_FWD_DEFINED__
  62. typedef interface IBaseFilter IBaseFilter;
  63. #endif /* __IBaseFilter_FWD_DEFINED__ */
  64. #ifndef __IReferenceClock_FWD_DEFINED__
  65. #define __IReferenceClock_FWD_DEFINED__
  66. typedef interface IReferenceClock IReferenceClock;
  67. #endif /* __IReferenceClock_FWD_DEFINED__ */
  68. #ifndef __IReferenceClock2_FWD_DEFINED__
  69. #define __IReferenceClock2_FWD_DEFINED__
  70. typedef interface IReferenceClock2 IReferenceClock2;
  71. #endif /* __IReferenceClock2_FWD_DEFINED__ */
  72. #ifndef __IMediaSample_FWD_DEFINED__
  73. #define __IMediaSample_FWD_DEFINED__
  74. typedef interface IMediaSample IMediaSample;
  75. #endif /* __IMediaSample_FWD_DEFINED__ */
  76. #ifndef __IMediaSample2_FWD_DEFINED__
  77. #define __IMediaSample2_FWD_DEFINED__
  78. typedef interface IMediaSample2 IMediaSample2;
  79. #endif /* __IMediaSample2_FWD_DEFINED__ */
  80. #ifndef __IMemAllocator_FWD_DEFINED__
  81. #define __IMemAllocator_FWD_DEFINED__
  82. typedef interface IMemAllocator IMemAllocator;
  83. #endif /* __IMemAllocator_FWD_DEFINED__ */
  84. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  85. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  86. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  87. #endif /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  88. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  89. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  90. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  91. #endif /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  92. #ifndef __IMemInputPin_FWD_DEFINED__
  93. #define __IMemInputPin_FWD_DEFINED__
  94. typedef interface IMemInputPin IMemInputPin;
  95. #endif /* __IMemInputPin_FWD_DEFINED__ */
  96. #ifndef __IAMovieSetup_FWD_DEFINED__
  97. #define __IAMovieSetup_FWD_DEFINED__
  98. typedef interface IAMovieSetup IAMovieSetup;
  99. #endif /* __IAMovieSetup_FWD_DEFINED__ */
  100. #ifndef __IMediaSeeking_FWD_DEFINED__
  101. #define __IMediaSeeking_FWD_DEFINED__
  102. typedef interface IMediaSeeking IMediaSeeking;
  103. #endif /* __IMediaSeeking_FWD_DEFINED__ */
  104. #ifndef __IEnumRegFilters_FWD_DEFINED__
  105. #define __IEnumRegFilters_FWD_DEFINED__
  106. typedef interface IEnumRegFilters IEnumRegFilters;
  107. #endif /* __IEnumRegFilters_FWD_DEFINED__ */
  108. #ifndef __IFilterMapper_FWD_DEFINED__
  109. #define __IFilterMapper_FWD_DEFINED__
  110. typedef interface IFilterMapper IFilterMapper;
  111. #endif /* __IFilterMapper_FWD_DEFINED__ */
  112. #ifndef __IFilterMapper2_FWD_DEFINED__
  113. #define __IFilterMapper2_FWD_DEFINED__
  114. typedef interface IFilterMapper2 IFilterMapper2;
  115. #endif /* __IFilterMapper2_FWD_DEFINED__ */
  116. #ifndef __IFilterMapper3_FWD_DEFINED__
  117. #define __IFilterMapper3_FWD_DEFINED__
  118. typedef interface IFilterMapper3 IFilterMapper3;
  119. #endif /* __IFilterMapper3_FWD_DEFINED__ */
  120. #ifndef __IQualityControl_FWD_DEFINED__
  121. #define __IQualityControl_FWD_DEFINED__
  122. typedef interface IQualityControl IQualityControl;
  123. #endif /* __IQualityControl_FWD_DEFINED__ */
  124. #ifndef __IOverlayNotify_FWD_DEFINED__
  125. #define __IOverlayNotify_FWD_DEFINED__
  126. typedef interface IOverlayNotify IOverlayNotify;
  127. #endif /* __IOverlayNotify_FWD_DEFINED__ */
  128. #ifndef __IOverlayNotify2_FWD_DEFINED__
  129. #define __IOverlayNotify2_FWD_DEFINED__
  130. typedef interface IOverlayNotify2 IOverlayNotify2;
  131. #endif /* __IOverlayNotify2_FWD_DEFINED__ */
  132. #ifndef __IOverlay_FWD_DEFINED__
  133. #define __IOverlay_FWD_DEFINED__
  134. typedef interface IOverlay IOverlay;
  135. #endif /* __IOverlay_FWD_DEFINED__ */
  136. #ifndef __IMediaEventSink_FWD_DEFINED__
  137. #define __IMediaEventSink_FWD_DEFINED__
  138. typedef interface IMediaEventSink IMediaEventSink;
  139. #endif /* __IMediaEventSink_FWD_DEFINED__ */
  140. #ifndef __IFileSourceFilter_FWD_DEFINED__
  141. #define __IFileSourceFilter_FWD_DEFINED__
  142. typedef interface IFileSourceFilter IFileSourceFilter;
  143. #endif /* __IFileSourceFilter_FWD_DEFINED__ */
  144. #ifndef __IFileSinkFilter_FWD_DEFINED__
  145. #define __IFileSinkFilter_FWD_DEFINED__
  146. typedef interface IFileSinkFilter IFileSinkFilter;
  147. #endif /* __IFileSinkFilter_FWD_DEFINED__ */
  148. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  149. #define __IFileSinkFilter2_FWD_DEFINED__
  150. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  151. #endif /* __IFileSinkFilter2_FWD_DEFINED__ */
  152. #ifndef __IGraphBuilder_FWD_DEFINED__
  153. #define __IGraphBuilder_FWD_DEFINED__
  154. typedef interface IGraphBuilder IGraphBuilder;
  155. #endif /* __IGraphBuilder_FWD_DEFINED__ */
  156. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  157. #define __ICaptureGraphBuilder_FWD_DEFINED__
  158. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  159. #endif /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  160. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  161. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  162. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  163. #endif /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  164. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  165. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  166. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  167. #endif /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  168. #ifndef __IFilterGraph2_FWD_DEFINED__
  169. #define __IFilterGraph2_FWD_DEFINED__
  170. typedef interface IFilterGraph2 IFilterGraph2;
  171. #endif /* __IFilterGraph2_FWD_DEFINED__ */
  172. #ifndef __IStreamBuilder_FWD_DEFINED__
  173. #define __IStreamBuilder_FWD_DEFINED__
  174. typedef interface IStreamBuilder IStreamBuilder;
  175. #endif /* __IStreamBuilder_FWD_DEFINED__ */
  176. #ifndef __IAsyncReader_FWD_DEFINED__
  177. #define __IAsyncReader_FWD_DEFINED__
  178. typedef interface IAsyncReader IAsyncReader;
  179. #endif /* __IAsyncReader_FWD_DEFINED__ */
  180. #ifndef __IGraphVersion_FWD_DEFINED__
  181. #define __IGraphVersion_FWD_DEFINED__
  182. typedef interface IGraphVersion IGraphVersion;
  183. #endif /* __IGraphVersion_FWD_DEFINED__ */
  184. #ifndef __IResourceConsumer_FWD_DEFINED__
  185. #define __IResourceConsumer_FWD_DEFINED__
  186. typedef interface IResourceConsumer IResourceConsumer;
  187. #endif /* __IResourceConsumer_FWD_DEFINED__ */
  188. #ifndef __IResourceManager_FWD_DEFINED__
  189. #define __IResourceManager_FWD_DEFINED__
  190. typedef interface IResourceManager IResourceManager;
  191. #endif /* __IResourceManager_FWD_DEFINED__ */
  192. #ifndef __IDistributorNotify_FWD_DEFINED__
  193. #define __IDistributorNotify_FWD_DEFINED__
  194. typedef interface IDistributorNotify IDistributorNotify;
  195. #endif /* __IDistributorNotify_FWD_DEFINED__ */
  196. #ifndef __IAMStreamControl_FWD_DEFINED__
  197. #define __IAMStreamControl_FWD_DEFINED__
  198. typedef interface IAMStreamControl IAMStreamControl;
  199. #endif /* __IAMStreamControl_FWD_DEFINED__ */
  200. #ifndef __ISeekingPassThru_FWD_DEFINED__
  201. #define __ISeekingPassThru_FWD_DEFINED__
  202. typedef interface ISeekingPassThru ISeekingPassThru;
  203. #endif /* __ISeekingPassThru_FWD_DEFINED__ */
  204. #ifndef __IAMStreamConfig_FWD_DEFINED__
  205. #define __IAMStreamConfig_FWD_DEFINED__
  206. typedef interface IAMStreamConfig IAMStreamConfig;
  207. #endif /* __IAMStreamConfig_FWD_DEFINED__ */
  208. #ifndef __IConfigInterleaving_FWD_DEFINED__
  209. #define __IConfigInterleaving_FWD_DEFINED__
  210. typedef interface IConfigInterleaving IConfigInterleaving;
  211. #endif /* __IConfigInterleaving_FWD_DEFINED__ */
  212. #ifndef __IConfigAviMux_FWD_DEFINED__
  213. #define __IConfigAviMux_FWD_DEFINED__
  214. typedef interface IConfigAviMux IConfigAviMux;
  215. #endif /* __IConfigAviMux_FWD_DEFINED__ */
  216. #ifndef __IAMVideoCompression_FWD_DEFINED__
  217. #define __IAMVideoCompression_FWD_DEFINED__
  218. typedef interface IAMVideoCompression IAMVideoCompression;
  219. #endif /* __IAMVideoCompression_FWD_DEFINED__ */
  220. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  221. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  222. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  223. #endif /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  224. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  225. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  226. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  227. #endif /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  228. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  229. #define __IAMDroppedFrames_FWD_DEFINED__
  230. typedef interface IAMDroppedFrames IAMDroppedFrames;
  231. #endif /* __IAMDroppedFrames_FWD_DEFINED__ */
  232. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  233. #define __IAMAudioInputMixer_FWD_DEFINED__
  234. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  235. #endif /* __IAMAudioInputMixer_FWD_DEFINED__ */
  236. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  237. #define __IAMBufferNegotiation_FWD_DEFINED__
  238. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  239. #endif /* __IAMBufferNegotiation_FWD_DEFINED__ */
  240. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  241. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  242. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  243. #endif /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  244. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  245. #define __IAMVideoProcAmp_FWD_DEFINED__
  246. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  247. #endif /* __IAMVideoProcAmp_FWD_DEFINED__ */
  248. #ifndef __IAMCameraControl_FWD_DEFINED__
  249. #define __IAMCameraControl_FWD_DEFINED__
  250. typedef interface IAMCameraControl IAMCameraControl;
  251. #endif /* __IAMCameraControl_FWD_DEFINED__ */
  252. #ifndef __IAMVideoControl_FWD_DEFINED__
  253. #define __IAMVideoControl_FWD_DEFINED__
  254. typedef interface IAMVideoControl IAMVideoControl;
  255. #endif /* __IAMVideoControl_FWD_DEFINED__ */
  256. #ifndef __IAMCrossbar_FWD_DEFINED__
  257. #define __IAMCrossbar_FWD_DEFINED__
  258. typedef interface IAMCrossbar IAMCrossbar;
  259. #endif /* __IAMCrossbar_FWD_DEFINED__ */
  260. #ifndef __IAMTuner_FWD_DEFINED__
  261. #define __IAMTuner_FWD_DEFINED__
  262. typedef interface IAMTuner IAMTuner;
  263. #endif /* __IAMTuner_FWD_DEFINED__ */
  264. #ifndef __IAMTunerNotification_FWD_DEFINED__
  265. #define __IAMTunerNotification_FWD_DEFINED__
  266. typedef interface IAMTunerNotification IAMTunerNotification;
  267. #endif /* __IAMTunerNotification_FWD_DEFINED__ */
  268. #ifndef __IAMTVTuner_FWD_DEFINED__
  269. #define __IAMTVTuner_FWD_DEFINED__
  270. typedef interface IAMTVTuner IAMTVTuner;
  271. #endif /* __IAMTVTuner_FWD_DEFINED__ */
  272. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  273. #define __IBPCSatelliteTuner_FWD_DEFINED__
  274. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  275. #endif /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  276. #ifndef __IAMTVAudio_FWD_DEFINED__
  277. #define __IAMTVAudio_FWD_DEFINED__
  278. typedef interface IAMTVAudio IAMTVAudio;
  279. #endif /* __IAMTVAudio_FWD_DEFINED__ */
  280. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  281. #define __IAMTVAudioNotification_FWD_DEFINED__
  282. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  283. #endif /* __IAMTVAudioNotification_FWD_DEFINED__ */
  284. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  285. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  286. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  287. #endif /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  288. #ifndef __IKsPropertySet_FWD_DEFINED__
  289. #define __IKsPropertySet_FWD_DEFINED__
  290. typedef interface IKsPropertySet IKsPropertySet;
  291. #endif /* __IKsPropertySet_FWD_DEFINED__ */
  292. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  293. #define __IMediaPropertyBag_FWD_DEFINED__
  294. typedef interface IMediaPropertyBag IMediaPropertyBag;
  295. #endif /* __IMediaPropertyBag_FWD_DEFINED__ */
  296. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  297. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  298. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  299. #endif /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  300. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  301. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  302. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  303. #endif /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  304. #ifndef __IAMExtDevice_FWD_DEFINED__
  305. #define __IAMExtDevice_FWD_DEFINED__
  306. typedef interface IAMExtDevice IAMExtDevice;
  307. #endif /* __IAMExtDevice_FWD_DEFINED__ */
  308. #ifndef __IAMExtTransport_FWD_DEFINED__
  309. #define __IAMExtTransport_FWD_DEFINED__
  310. typedef interface IAMExtTransport IAMExtTransport;
  311. #endif /* __IAMExtTransport_FWD_DEFINED__ */
  312. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  313. #define __IAMTimecodeReader_FWD_DEFINED__
  314. typedef interface IAMTimecodeReader IAMTimecodeReader;
  315. #endif /* __IAMTimecodeReader_FWD_DEFINED__ */
  316. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  317. #define __IAMTimecodeGenerator_FWD_DEFINED__
  318. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  319. #endif /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  320. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  321. #define __IAMTimecodeDisplay_FWD_DEFINED__
  322. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  323. #endif /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  324. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  325. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  326. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  327. #endif /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  328. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  329. #define __IAMDevMemoryControl_FWD_DEFINED__
  330. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  331. #endif /* __IAMDevMemoryControl_FWD_DEFINED__ */
  332. #ifndef __IAMStreamSelect_FWD_DEFINED__
  333. #define __IAMStreamSelect_FWD_DEFINED__
  334. typedef interface IAMStreamSelect IAMStreamSelect;
  335. #endif /* __IAMStreamSelect_FWD_DEFINED__ */
  336. #ifndef __IAMResourceControl_FWD_DEFINED__
  337. #define __IAMResourceControl_FWD_DEFINED__
  338. typedef interface IAMResourceControl IAMResourceControl;
  339. #endif /* __IAMResourceControl_FWD_DEFINED__ */
  340. #ifndef __IAMClockAdjust_FWD_DEFINED__
  341. #define __IAMClockAdjust_FWD_DEFINED__
  342. typedef interface IAMClockAdjust IAMClockAdjust;
  343. #endif /* __IAMClockAdjust_FWD_DEFINED__ */
  344. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  345. #define __IAMFilterMiscFlags_FWD_DEFINED__
  346. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  347. #endif /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  348. #ifndef __IDrawVideoImage_FWD_DEFINED__
  349. #define __IDrawVideoImage_FWD_DEFINED__
  350. typedef interface IDrawVideoImage IDrawVideoImage;
  351. #endif /* __IDrawVideoImage_FWD_DEFINED__ */
  352. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  353. #define __IDecimateVideoImage_FWD_DEFINED__
  354. typedef interface IDecimateVideoImage IDecimateVideoImage;
  355. #endif /* __IDecimateVideoImage_FWD_DEFINED__ */
  356. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  357. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  358. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  359. #endif /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  360. #ifndef __IVideoFrameStep_FWD_DEFINED__
  361. #define __IVideoFrameStep_FWD_DEFINED__
  362. typedef interface IVideoFrameStep IVideoFrameStep;
  363. #endif /* __IVideoFrameStep_FWD_DEFINED__ */
  364. #ifndef __IAMLatency_FWD_DEFINED__
  365. #define __IAMLatency_FWD_DEFINED__
  366. typedef interface IAMLatency IAMLatency;
  367. #endif /* __IAMLatency_FWD_DEFINED__ */
  368. #ifndef __IAMPushSource_FWD_DEFINED__
  369. #define __IAMPushSource_FWD_DEFINED__
  370. typedef interface IAMPushSource IAMPushSource;
  371. #endif /* __IAMPushSource_FWD_DEFINED__ */
  372. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  373. #define __IAMDeviceRemoval_FWD_DEFINED__
  374. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  375. #endif /* __IAMDeviceRemoval_FWD_DEFINED__ */
  376. #ifndef __IDVEnc_FWD_DEFINED__
  377. #define __IDVEnc_FWD_DEFINED__
  378. typedef interface IDVEnc IDVEnc;
  379. #endif /* __IDVEnc_FWD_DEFINED__ */
  380. #ifndef __IIPDVDec_FWD_DEFINED__
  381. #define __IIPDVDec_FWD_DEFINED__
  382. typedef interface IIPDVDec IIPDVDec;
  383. #endif /* __IIPDVDec_FWD_DEFINED__ */
  384. #ifndef __IDVRGB219_FWD_DEFINED__
  385. #define __IDVRGB219_FWD_DEFINED__
  386. typedef interface IDVRGB219 IDVRGB219;
  387. #endif /* __IDVRGB219_FWD_DEFINED__ */
  388. #ifndef __IDVSplitter_FWD_DEFINED__
  389. #define __IDVSplitter_FWD_DEFINED__
  390. typedef interface IDVSplitter IDVSplitter;
  391. #endif /* __IDVSplitter_FWD_DEFINED__ */
  392. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  393. #define __IAMAudioRendererStats_FWD_DEFINED__
  394. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  395. #endif /* __IAMAudioRendererStats_FWD_DEFINED__ */
  396. #ifndef __IAMGraphStreams_FWD_DEFINED__
  397. #define __IAMGraphStreams_FWD_DEFINED__
  398. typedef interface IAMGraphStreams IAMGraphStreams;
  399. #endif /* __IAMGraphStreams_FWD_DEFINED__ */
  400. #ifndef __IAMOverlayFX_FWD_DEFINED__
  401. #define __IAMOverlayFX_FWD_DEFINED__
  402. typedef interface IAMOverlayFX IAMOverlayFX;
  403. #endif /* __IAMOverlayFX_FWD_DEFINED__ */
  404. #ifndef __IAMOpenProgress_FWD_DEFINED__
  405. #define __IAMOpenProgress_FWD_DEFINED__
  406. typedef interface IAMOpenProgress IAMOpenProgress;
  407. #endif /* __IAMOpenProgress_FWD_DEFINED__ */
  408. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  409. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  410. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  411. #endif /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  412. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  413. #define __IEnumStreamIdMap_FWD_DEFINED__
  414. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  415. #endif /* __IEnumStreamIdMap_FWD_DEFINED__ */
  416. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  417. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  418. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  419. #endif /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  420. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  421. #define __IRegisterServiceProvider_FWD_DEFINED__
  422. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  423. #endif /* __IRegisterServiceProvider_FWD_DEFINED__ */
  424. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  425. #define __IAMDecoderCaps_FWD_DEFINED__
  426. typedef interface IAMDecoderCaps IAMDecoderCaps;
  427. #endif /* __IAMDecoderCaps_FWD_DEFINED__ */
  428. #ifndef __IAMClockSlave_FWD_DEFINED__
  429. #define __IAMClockSlave_FWD_DEFINED__
  430. typedef interface IAMClockSlave IAMClockSlave;
  431. #endif /* __IAMClockSlave_FWD_DEFINED__ */
  432. #ifndef __IEncoderAPI_FWD_DEFINED__
  433. #define __IEncoderAPI_FWD_DEFINED__
  434. typedef interface IEncoderAPI IEncoderAPI;
  435. #endif /* __IEncoderAPI_FWD_DEFINED__ */
  436. #ifndef __IVideoEncoder_FWD_DEFINED__
  437. #define __IVideoEncoder_FWD_DEFINED__
  438. typedef interface IVideoEncoder IVideoEncoder;
  439. #endif /* __IVideoEncoder_FWD_DEFINED__ */
  440. #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
  441. #define __IAMGraphBuilderCallback_FWD_DEFINED__
  442. typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
  443. #endif /* __IAMGraphBuilderCallback_FWD_DEFINED__ */
  444. #ifndef __IDvdControl_FWD_DEFINED__
  445. #define __IDvdControl_FWD_DEFINED__
  446. typedef interface IDvdControl IDvdControl;
  447. #endif /* __IDvdControl_FWD_DEFINED__ */
  448. #ifndef __IDvdInfo_FWD_DEFINED__
  449. #define __IDvdInfo_FWD_DEFINED__
  450. typedef interface IDvdInfo IDvdInfo;
  451. #endif /* __IDvdInfo_FWD_DEFINED__ */
  452. #ifndef __IDvdCmd_FWD_DEFINED__
  453. #define __IDvdCmd_FWD_DEFINED__
  454. typedef interface IDvdCmd IDvdCmd;
  455. #endif /* __IDvdCmd_FWD_DEFINED__ */
  456. #ifndef __IDvdState_FWD_DEFINED__
  457. #define __IDvdState_FWD_DEFINED__
  458. typedef interface IDvdState IDvdState;
  459. #endif /* __IDvdState_FWD_DEFINED__ */
  460. #ifndef __IDvdControl2_FWD_DEFINED__
  461. #define __IDvdControl2_FWD_DEFINED__
  462. typedef interface IDvdControl2 IDvdControl2;
  463. #endif /* __IDvdControl2_FWD_DEFINED__ */
  464. #ifndef __IDvdInfo2_FWD_DEFINED__
  465. #define __IDvdInfo2_FWD_DEFINED__
  466. typedef interface IDvdInfo2 IDvdInfo2;
  467. #endif /* __IDvdInfo2_FWD_DEFINED__ */
  468. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  469. #define __IDvdGraphBuilder_FWD_DEFINED__
  470. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  471. #endif /* __IDvdGraphBuilder_FWD_DEFINED__ */
  472. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  473. #define __IDDrawExclModeVideo_FWD_DEFINED__
  474. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  475. #endif /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  476. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  477. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  478. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  479. #endif /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  480. #ifndef __IPinConnection_FWD_DEFINED__
  481. #define __IPinConnection_FWD_DEFINED__
  482. typedef interface IPinConnection IPinConnection;
  483. #endif /* __IPinConnection_FWD_DEFINED__ */
  484. #ifndef __IPinFlowControl_FWD_DEFINED__
  485. #define __IPinFlowControl_FWD_DEFINED__
  486. typedef interface IPinFlowControl IPinFlowControl;
  487. #endif /* __IPinFlowControl_FWD_DEFINED__ */
  488. #ifndef __IGraphConfig_FWD_DEFINED__
  489. #define __IGraphConfig_FWD_DEFINED__
  490. typedef interface IGraphConfig IGraphConfig;
  491. #endif /* __IGraphConfig_FWD_DEFINED__ */
  492. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  493. #define __IGraphConfigCallback_FWD_DEFINED__
  494. typedef interface IGraphConfigCallback IGraphConfigCallback;
  495. #endif /* __IGraphConfigCallback_FWD_DEFINED__ */
  496. #ifndef __IFilterChain_FWD_DEFINED__
  497. #define __IFilterChain_FWD_DEFINED__
  498. typedef interface IFilterChain IFilterChain;
  499. #endif /* __IFilterChain_FWD_DEFINED__ */
  500. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  501. #define __IVMRImagePresenter_FWD_DEFINED__
  502. typedef interface IVMRImagePresenter IVMRImagePresenter;
  503. #endif /* __IVMRImagePresenter_FWD_DEFINED__ */
  504. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  505. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  506. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  507. #endif /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  508. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  509. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  510. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  511. #endif /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  512. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  513. #define __IVMRWindowlessControl_FWD_DEFINED__
  514. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  515. #endif /* __IVMRWindowlessControl_FWD_DEFINED__ */
  516. #ifndef __IVMRMixerControl_FWD_DEFINED__
  517. #define __IVMRMixerControl_FWD_DEFINED__
  518. typedef interface IVMRMixerControl IVMRMixerControl;
  519. #endif /* __IVMRMixerControl_FWD_DEFINED__ */
  520. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  521. #define __IVMRMonitorConfig_FWD_DEFINED__
  522. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  523. #endif /* __IVMRMonitorConfig_FWD_DEFINED__ */
  524. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  525. #define __IVMRFilterConfig_FWD_DEFINED__
  526. typedef interface IVMRFilterConfig IVMRFilterConfig;
  527. #endif /* __IVMRFilterConfig_FWD_DEFINED__ */
  528. #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
  529. #define __IVMRAspectRatioControl_FWD_DEFINED__
  530. typedef interface IVMRAspectRatioControl IVMRAspectRatioControl;
  531. #endif /* __IVMRAspectRatioControl_FWD_DEFINED__ */
  532. #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
  533. #define __IVMRDeinterlaceControl_FWD_DEFINED__
  534. typedef interface IVMRDeinterlaceControl IVMRDeinterlaceControl;
  535. #endif /* __IVMRDeinterlaceControl_FWD_DEFINED__ */
  536. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  537. #define __IVMRMixerBitmap_FWD_DEFINED__
  538. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  539. #endif /* __IVMRMixerBitmap_FWD_DEFINED__ */
  540. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  541. #define __IVMRImageCompositor_FWD_DEFINED__
  542. typedef interface IVMRImageCompositor IVMRImageCompositor;
  543. #endif /* __IVMRImageCompositor_FWD_DEFINED__ */
  544. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  545. #define __IVMRVideoStreamControl_FWD_DEFINED__
  546. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  547. #endif /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  548. #ifndef __IVMRSurface_FWD_DEFINED__
  549. #define __IVMRSurface_FWD_DEFINED__
  550. typedef interface IVMRSurface IVMRSurface;
  551. #endif /* __IVMRSurface_FWD_DEFINED__ */
  552. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  553. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  554. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  555. #endif /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  556. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  557. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  558. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  559. #endif /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  560. #ifndef __IVPManager_FWD_DEFINED__
  561. #define __IVPManager_FWD_DEFINED__
  562. typedef interface IVPManager IVPManager;
  563. #endif /* __IVPManager_FWD_DEFINED__ */
  564. /* header files for imported files */
  565. #include "unknwn.h"
  566. #include "objidl.h"
  567. #include "oaidl.h"
  568. #include "ocidl.h"
  569. #ifdef __cplusplus
  570. extern "C"{
  571. #endif
  572. void * __RPC_USER MIDL_user_allocate(size_t);
  573. void __RPC_USER MIDL_user_free( void * );
  574. /* interface __MIDL_itf_strmif_0000 */
  575. /* [local] */
  576. #define CDEF_CLASS_DEFAULT 0x0001
  577. #define CDEF_BYPASS_CLASS_MANAGER 0x0002
  578. #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008
  579. #define CDEF_DEVMON_CMGR_DEVICE 0x0010
  580. #define CDEF_DEVMON_DMO 0x0020
  581. #define CDEF_DEVMON_PNP_DEVICE 0x0040
  582. #define CDEF_DEVMON_FILTER 0x0080
  583. #define CDEF_DEVMON_SELECTIVE_MASK 0x00f0
  584. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  585. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  586. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  587. #define __ICreateDevEnum_INTERFACE_DEFINED__
  588. /* interface ICreateDevEnum */
  589. /* [unique][uuid][object] */
  590. EXTERN_C const IID IID_ICreateDevEnum;
  591. #if defined(__cplusplus) && !defined(CINTERFACE)
  592. MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  593. ICreateDevEnum : public IUnknown
  594. {
  595. public:
  596. virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
  597. /* [in] */ REFCLSID clsidDeviceClass,
  598. /* [out] */ IEnumMoniker **ppEnumMoniker,
  599. /* [in] */ DWORD dwFlags) = 0;
  600. };
  601. #else /* C style interface */
  602. typedef struct ICreateDevEnumVtbl
  603. {
  604. BEGIN_INTERFACE
  605. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  606. ICreateDevEnum * This,
  607. /* [in] */ REFIID riid,
  608. /* [iid_is][out] */ void **ppvObject);
  609. ULONG ( STDMETHODCALLTYPE *AddRef )(
  610. ICreateDevEnum * This);
  611. ULONG ( STDMETHODCALLTYPE *Release )(
  612. ICreateDevEnum * This);
  613. HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )(
  614. ICreateDevEnum * This,
  615. /* [in] */ REFCLSID clsidDeviceClass,
  616. /* [out] */ IEnumMoniker **ppEnumMoniker,
  617. /* [in] */ DWORD dwFlags);
  618. END_INTERFACE
  619. } ICreateDevEnumVtbl;
  620. interface ICreateDevEnum
  621. {
  622. CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  623. };
  624. #ifdef COBJMACROS
  625. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) \
  626. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  627. #define ICreateDevEnum_AddRef(This) \
  628. (This)->lpVtbl -> AddRef(This)
  629. #define ICreateDevEnum_Release(This) \
  630. (This)->lpVtbl -> Release(This)
  631. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) \
  632. (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  633. #endif /* COBJMACROS */
  634. #endif /* C style interface */
  635. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(
  636. ICreateDevEnum * This,
  637. /* [in] */ REFCLSID clsidDeviceClass,
  638. /* [out] */ IEnumMoniker **ppEnumMoniker,
  639. /* [in] */ DWORD dwFlags);
  640. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  641. IRpcStubBuffer *This,
  642. IRpcChannelBuffer *_pRpcChannelBuffer,
  643. PRPC_MESSAGE _pRpcMessage,
  644. DWORD *_pdwStubPhase);
  645. #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  646. /* interface __MIDL_itf_strmif_0117 */
  647. /* [local] */
  648. #define CHARS_IN_GUID 39
  649. typedef struct _AMMediaType
  650. {
  651. GUID majortype;
  652. GUID subtype;
  653. BOOL bFixedSizeSamples;
  654. BOOL bTemporalCompression;
  655. ULONG lSampleSize;
  656. GUID formattype;
  657. IUnknown *pUnk;
  658. ULONG cbFormat;
  659. /* [size_is] */ BYTE *pbFormat;
  660. } AM_MEDIA_TYPE;
  661. typedef
  662. enum _PinDirection
  663. { PINDIR_INPUT = 0,
  664. PINDIR_OUTPUT = PINDIR_INPUT + 1
  665. } PIN_DIRECTION;
  666. #define MAX_PIN_NAME 128
  667. #define MAX_FILTER_NAME 128
  668. typedef LONGLONG REFERENCE_TIME;
  669. typedef double REFTIME;
  670. typedef DWORD_PTR HSEMAPHORE;
  671. typedef DWORD_PTR HEVENT;
  672. typedef struct _AllocatorProperties
  673. {
  674. long cBuffers;
  675. long cbBuffer;
  676. long cbAlign;
  677. long cbPrefix;
  678. } ALLOCATOR_PROPERTIES;
  679. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  680. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  681. #ifndef __IPin_INTERFACE_DEFINED__
  682. #define __IPin_INTERFACE_DEFINED__
  683. /* interface IPin */
  684. /* [unique][uuid][object] */
  685. typedef struct _PinInfo
  686. {
  687. IBaseFilter *pFilter;
  688. PIN_DIRECTION dir;
  689. WCHAR achName[ 128 ];
  690. } PIN_INFO;
  691. EXTERN_C const IID IID_IPin;
  692. #if defined(__cplusplus) && !defined(CINTERFACE)
  693. MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  694. IPin : public IUnknown
  695. {
  696. public:
  697. virtual HRESULT STDMETHODCALLTYPE Connect(
  698. /* [in] */ IPin *pReceivePin,
  699. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  700. virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
  701. /* [in] */ IPin *pConnector,
  702. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  703. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  704. virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
  705. /* [out] */ IPin **pPin) = 0;
  706. virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
  707. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  708. virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
  709. /* [out] */ PIN_INFO *pInfo) = 0;
  710. virtual HRESULT STDMETHODCALLTYPE QueryDirection(
  711. /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  712. virtual HRESULT STDMETHODCALLTYPE QueryId(
  713. /* [out] */ LPWSTR *Id) = 0;
  714. virtual HRESULT STDMETHODCALLTYPE QueryAccept(
  715. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  716. virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
  717. /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  718. virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
  719. /* [out] */ IPin **apPin,
  720. /* [out][in] */ ULONG *nPin) = 0;
  721. virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  722. virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  723. virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  724. virtual HRESULT STDMETHODCALLTYPE NewSegment(
  725. /* [in] */ REFERENCE_TIME tStart,
  726. /* [in] */ REFERENCE_TIME tStop,
  727. /* [in] */ double dRate) = 0;
  728. };
  729. #else /* C style interface */
  730. typedef struct IPinVtbl
  731. {
  732. BEGIN_INTERFACE
  733. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  734. IPin * This,
  735. /* [in] */ REFIID riid,
  736. /* [iid_is][out] */ void **ppvObject);
  737. ULONG ( STDMETHODCALLTYPE *AddRef )(
  738. IPin * This);
  739. ULONG ( STDMETHODCALLTYPE *Release )(
  740. IPin * This);
  741. HRESULT ( STDMETHODCALLTYPE *Connect )(
  742. IPin * This,
  743. /* [in] */ IPin *pReceivePin,
  744. /* [in] */ const AM_MEDIA_TYPE *pmt);
  745. HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )(
  746. IPin * This,
  747. /* [in] */ IPin *pConnector,
  748. /* [in] */ const AM_MEDIA_TYPE *pmt);
  749. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  750. IPin * This);
  751. HRESULT ( STDMETHODCALLTYPE *ConnectedTo )(
  752. IPin * This,
  753. /* [out] */ IPin **pPin);
  754. HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )(
  755. IPin * This,
  756. /* [out] */ AM_MEDIA_TYPE *pmt);
  757. HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )(
  758. IPin * This,
  759. /* [out] */ PIN_INFO *pInfo);
  760. HRESULT ( STDMETHODCALLTYPE *QueryDirection )(
  761. IPin * This,
  762. /* [out] */ PIN_DIRECTION *pPinDir);
  763. HRESULT ( STDMETHODCALLTYPE *QueryId )(
  764. IPin * This,
  765. /* [out] */ LPWSTR *Id);
  766. HRESULT ( STDMETHODCALLTYPE *QueryAccept )(
  767. IPin * This,
  768. /* [in] */ const AM_MEDIA_TYPE *pmt);
  769. HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )(
  770. IPin * This,
  771. /* [out] */ IEnumMediaTypes **ppEnum);
  772. HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )(
  773. IPin * This,
  774. /* [out] */ IPin **apPin,
  775. /* [out][in] */ ULONG *nPin);
  776. HRESULT ( STDMETHODCALLTYPE *EndOfStream )(
  777. IPin * This);
  778. HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
  779. IPin * This);
  780. HRESULT ( STDMETHODCALLTYPE *EndFlush )(
  781. IPin * This);
  782. HRESULT ( STDMETHODCALLTYPE *NewSegment )(
  783. IPin * This,
  784. /* [in] */ REFERENCE_TIME tStart,
  785. /* [in] */ REFERENCE_TIME tStop,
  786. /* [in] */ double dRate);
  787. END_INTERFACE
  788. } IPinVtbl;
  789. interface IPin
  790. {
  791. CONST_VTBL struct IPinVtbl *lpVtbl;
  792. };
  793. #ifdef COBJMACROS
  794. #define IPin_QueryInterface(This,riid,ppvObject) \
  795. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  796. #define IPin_AddRef(This) \
  797. (This)->lpVtbl -> AddRef(This)
  798. #define IPin_Release(This) \
  799. (This)->lpVtbl -> Release(This)
  800. #define IPin_Connect(This,pReceivePin,pmt) \
  801. (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  802. #define IPin_ReceiveConnection(This,pConnector,pmt) \
  803. (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  804. #define IPin_Disconnect(This) \
  805. (This)->lpVtbl -> Disconnect(This)
  806. #define IPin_ConnectedTo(This,pPin) \
  807. (This)->lpVtbl -> ConnectedTo(This,pPin)
  808. #define IPin_ConnectionMediaType(This,pmt) \
  809. (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  810. #define IPin_QueryPinInfo(This,pInfo) \
  811. (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  812. #define IPin_QueryDirection(This,pPinDir) \
  813. (This)->lpVtbl -> QueryDirection(This,pPinDir)
  814. #define IPin_QueryId(This,Id) \
  815. (This)->lpVtbl -> QueryId(This,Id)
  816. #define IPin_QueryAccept(This,pmt) \
  817. (This)->lpVtbl -> QueryAccept(This,pmt)
  818. #define IPin_EnumMediaTypes(This,ppEnum) \
  819. (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  820. #define IPin_QueryInternalConnections(This,apPin,nPin) \
  821. (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  822. #define IPin_EndOfStream(This) \
  823. (This)->lpVtbl -> EndOfStream(This)
  824. #define IPin_BeginFlush(This) \
  825. (This)->lpVtbl -> BeginFlush(This)
  826. #define IPin_EndFlush(This) \
  827. (This)->lpVtbl -> EndFlush(This)
  828. #define IPin_NewSegment(This,tStart,tStop,dRate) \
  829. (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  830. #endif /* COBJMACROS */
  831. #endif /* C style interface */
  832. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(
  833. IPin * This,
  834. /* [in] */ IPin *pReceivePin,
  835. /* [in] */ const AM_MEDIA_TYPE *pmt);
  836. void __RPC_STUB IPin_Connect_Stub(
  837. IRpcStubBuffer *This,
  838. IRpcChannelBuffer *_pRpcChannelBuffer,
  839. PRPC_MESSAGE _pRpcMessage,
  840. DWORD *_pdwStubPhase);
  841. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(
  842. IPin * This,
  843. /* [in] */ IPin *pConnector,
  844. /* [in] */ const AM_MEDIA_TYPE *pmt);
  845. void __RPC_STUB IPin_ReceiveConnection_Stub(
  846. IRpcStubBuffer *This,
  847. IRpcChannelBuffer *_pRpcChannelBuffer,
  848. PRPC_MESSAGE _pRpcMessage,
  849. DWORD *_pdwStubPhase);
  850. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(
  851. IPin * This);
  852. void __RPC_STUB IPin_Disconnect_Stub(
  853. IRpcStubBuffer *This,
  854. IRpcChannelBuffer *_pRpcChannelBuffer,
  855. PRPC_MESSAGE _pRpcMessage,
  856. DWORD *_pdwStubPhase);
  857. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(
  858. IPin * This,
  859. /* [out] */ IPin **pPin);
  860. void __RPC_STUB IPin_ConnectedTo_Stub(
  861. IRpcStubBuffer *This,
  862. IRpcChannelBuffer *_pRpcChannelBuffer,
  863. PRPC_MESSAGE _pRpcMessage,
  864. DWORD *_pdwStubPhase);
  865. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(
  866. IPin * This,
  867. /* [out] */ AM_MEDIA_TYPE *pmt);
  868. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  869. IRpcStubBuffer *This,
  870. IRpcChannelBuffer *_pRpcChannelBuffer,
  871. PRPC_MESSAGE _pRpcMessage,
  872. DWORD *_pdwStubPhase);
  873. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(
  874. IPin * This,
  875. /* [out] */ PIN_INFO *pInfo);
  876. void __RPC_STUB IPin_QueryPinInfo_Stub(
  877. IRpcStubBuffer *This,
  878. IRpcChannelBuffer *_pRpcChannelBuffer,
  879. PRPC_MESSAGE _pRpcMessage,
  880. DWORD *_pdwStubPhase);
  881. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(
  882. IPin * This,
  883. /* [out] */ PIN_DIRECTION *pPinDir);
  884. void __RPC_STUB IPin_QueryDirection_Stub(
  885. IRpcStubBuffer *This,
  886. IRpcChannelBuffer *_pRpcChannelBuffer,
  887. PRPC_MESSAGE _pRpcMessage,
  888. DWORD *_pdwStubPhase);
  889. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(
  890. IPin * This,
  891. /* [out] */ LPWSTR *Id);
  892. void __RPC_STUB IPin_QueryId_Stub(
  893. IRpcStubBuffer *This,
  894. IRpcChannelBuffer *_pRpcChannelBuffer,
  895. PRPC_MESSAGE _pRpcMessage,
  896. DWORD *_pdwStubPhase);
  897. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(
  898. IPin * This,
  899. /* [in] */ const AM_MEDIA_TYPE *pmt);
  900. void __RPC_STUB IPin_QueryAccept_Stub(
  901. IRpcStubBuffer *This,
  902. IRpcChannelBuffer *_pRpcChannelBuffer,
  903. PRPC_MESSAGE _pRpcMessage,
  904. DWORD *_pdwStubPhase);
  905. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(
  906. IPin * This,
  907. /* [out] */ IEnumMediaTypes **ppEnum);
  908. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  909. IRpcStubBuffer *This,
  910. IRpcChannelBuffer *_pRpcChannelBuffer,
  911. PRPC_MESSAGE _pRpcMessage,
  912. DWORD *_pdwStubPhase);
  913. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(
  914. IPin * This,
  915. /* [out] */ IPin **apPin,
  916. /* [out][in] */ ULONG *nPin);
  917. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  918. IRpcStubBuffer *This,
  919. IRpcChannelBuffer *_pRpcChannelBuffer,
  920. PRPC_MESSAGE _pRpcMessage,
  921. DWORD *_pdwStubPhase);
  922. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(
  923. IPin * This);
  924. void __RPC_STUB IPin_EndOfStream_Stub(
  925. IRpcStubBuffer *This,
  926. IRpcChannelBuffer *_pRpcChannelBuffer,
  927. PRPC_MESSAGE _pRpcMessage,
  928. DWORD *_pdwStubPhase);
  929. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(
  930. IPin * This);
  931. void __RPC_STUB IPin_BeginFlush_Stub(
  932. IRpcStubBuffer *This,
  933. IRpcChannelBuffer *_pRpcChannelBuffer,
  934. PRPC_MESSAGE _pRpcMessage,
  935. DWORD *_pdwStubPhase);
  936. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(
  937. IPin * This);
  938. void __RPC_STUB IPin_EndFlush_Stub(
  939. IRpcStubBuffer *This,
  940. IRpcChannelBuffer *_pRpcChannelBuffer,
  941. PRPC_MESSAGE _pRpcMessage,
  942. DWORD *_pdwStubPhase);
  943. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(
  944. IPin * This,
  945. /* [in] */ REFERENCE_TIME tStart,
  946. /* [in] */ REFERENCE_TIME tStop,
  947. /* [in] */ double dRate);
  948. void __RPC_STUB IPin_NewSegment_Stub(
  949. IRpcStubBuffer *This,
  950. IRpcChannelBuffer *_pRpcChannelBuffer,
  951. PRPC_MESSAGE _pRpcMessage,
  952. DWORD *_pdwStubPhase);
  953. #endif /* __IPin_INTERFACE_DEFINED__ */
  954. /* interface __MIDL_itf_strmif_0118 */
  955. /* [local] */
  956. typedef IPin *PPIN;
  957. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  958. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  959. #ifndef __IEnumPins_INTERFACE_DEFINED__
  960. #define __IEnumPins_INTERFACE_DEFINED__
  961. /* interface IEnumPins */
  962. /* [unique][uuid][object] */
  963. EXTERN_C const IID IID_IEnumPins;
  964. #if defined(__cplusplus) && !defined(CINTERFACE)
  965. MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  966. IEnumPins : public IUnknown
  967. {
  968. public:
  969. virtual HRESULT STDMETHODCALLTYPE Next(
  970. /* [in] */ ULONG cPins,
  971. /* [size_is][out] */ IPin **ppPins,
  972. /* [out] */ ULONG *pcFetched) = 0;
  973. virtual HRESULT STDMETHODCALLTYPE Skip(
  974. /* [in] */ ULONG cPins) = 0;
  975. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  976. virtual HRESULT STDMETHODCALLTYPE Clone(
  977. /* [out] */ IEnumPins **ppEnum) = 0;
  978. };
  979. #else /* C style interface */
  980. typedef struct IEnumPinsVtbl
  981. {
  982. BEGIN_INTERFACE
  983. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  984. IEnumPins * This,
  985. /* [in] */ REFIID riid,
  986. /* [iid_is][out] */ void **ppvObject);
  987. ULONG ( STDMETHODCALLTYPE *AddRef )(
  988. IEnumPins * This);
  989. ULONG ( STDMETHODCALLTYPE *Release )(
  990. IEnumPins * This);
  991. HRESULT ( STDMETHODCALLTYPE *Next )(
  992. IEnumPins * This,
  993. /* [in] */ ULONG cPins,
  994. /* [size_is][out] */ IPin **ppPins,
  995. /* [out] */ ULONG *pcFetched);
  996. HRESULT ( STDMETHODCALLTYPE *Skip )(
  997. IEnumPins * This,
  998. /* [in] */ ULONG cPins);
  999. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1000. IEnumPins * This);
  1001. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1002. IEnumPins * This,
  1003. /* [out] */ IEnumPins **ppEnum);
  1004. END_INTERFACE
  1005. } IEnumPinsVtbl;
  1006. interface IEnumPins
  1007. {
  1008. CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1009. };
  1010. #ifdef COBJMACROS
  1011. #define IEnumPins_QueryInterface(This,riid,ppvObject) \
  1012. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1013. #define IEnumPins_AddRef(This) \
  1014. (This)->lpVtbl -> AddRef(This)
  1015. #define IEnumPins_Release(This) \
  1016. (This)->lpVtbl -> Release(This)
  1017. #define IEnumPins_Next(This,cPins,ppPins,pcFetched) \
  1018. (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1019. #define IEnumPins_Skip(This,cPins) \
  1020. (This)->lpVtbl -> Skip(This,cPins)
  1021. #define IEnumPins_Reset(This) \
  1022. (This)->lpVtbl -> Reset(This)
  1023. #define IEnumPins_Clone(This,ppEnum) \
  1024. (This)->lpVtbl -> Clone(This,ppEnum)
  1025. #endif /* COBJMACROS */
  1026. #endif /* C style interface */
  1027. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(
  1028. IEnumPins * This,
  1029. /* [in] */ ULONG cPins,
  1030. /* [size_is][out] */ IPin **ppPins,
  1031. /* [out] */ ULONG *pcFetched);
  1032. void __RPC_STUB IEnumPins_Next_Stub(
  1033. IRpcStubBuffer *This,
  1034. IRpcChannelBuffer *_pRpcChannelBuffer,
  1035. PRPC_MESSAGE _pRpcMessage,
  1036. DWORD *_pdwStubPhase);
  1037. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(
  1038. IEnumPins * This,
  1039. /* [in] */ ULONG cPins);
  1040. void __RPC_STUB IEnumPins_Skip_Stub(
  1041. IRpcStubBuffer *This,
  1042. IRpcChannelBuffer *_pRpcChannelBuffer,
  1043. PRPC_MESSAGE _pRpcMessage,
  1044. DWORD *_pdwStubPhase);
  1045. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(
  1046. IEnumPins * This);
  1047. void __RPC_STUB IEnumPins_Reset_Stub(
  1048. IRpcStubBuffer *This,
  1049. IRpcChannelBuffer *_pRpcChannelBuffer,
  1050. PRPC_MESSAGE _pRpcMessage,
  1051. DWORD *_pdwStubPhase);
  1052. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(
  1053. IEnumPins * This,
  1054. /* [out] */ IEnumPins **ppEnum);
  1055. void __RPC_STUB IEnumPins_Clone_Stub(
  1056. IRpcStubBuffer *This,
  1057. IRpcChannelBuffer *_pRpcChannelBuffer,
  1058. PRPC_MESSAGE _pRpcMessage,
  1059. DWORD *_pdwStubPhase);
  1060. #endif /* __IEnumPins_INTERFACE_DEFINED__ */
  1061. /* interface __MIDL_itf_strmif_0119 */
  1062. /* [local] */
  1063. typedef IEnumPins *PENUMPINS;
  1064. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  1065. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  1066. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1067. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1068. /* interface IEnumMediaTypes */
  1069. /* [unique][uuid][object] */
  1070. EXTERN_C const IID IID_IEnumMediaTypes;
  1071. #if defined(__cplusplus) && !defined(CINTERFACE)
  1072. MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1073. IEnumMediaTypes : public IUnknown
  1074. {
  1075. public:
  1076. virtual HRESULT STDMETHODCALLTYPE Next(
  1077. /* [in] */ ULONG cMediaTypes,
  1078. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1079. /* [out] */ ULONG *pcFetched) = 0;
  1080. virtual HRESULT STDMETHODCALLTYPE Skip(
  1081. /* [in] */ ULONG cMediaTypes) = 0;
  1082. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1083. virtual HRESULT STDMETHODCALLTYPE Clone(
  1084. /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1085. };
  1086. #else /* C style interface */
  1087. typedef struct IEnumMediaTypesVtbl
  1088. {
  1089. BEGIN_INTERFACE
  1090. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1091. IEnumMediaTypes * This,
  1092. /* [in] */ REFIID riid,
  1093. /* [iid_is][out] */ void **ppvObject);
  1094. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1095. IEnumMediaTypes * This);
  1096. ULONG ( STDMETHODCALLTYPE *Release )(
  1097. IEnumMediaTypes * This);
  1098. HRESULT ( STDMETHODCALLTYPE *Next )(
  1099. IEnumMediaTypes * This,
  1100. /* [in] */ ULONG cMediaTypes,
  1101. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1102. /* [out] */ ULONG *pcFetched);
  1103. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1104. IEnumMediaTypes * This,
  1105. /* [in] */ ULONG cMediaTypes);
  1106. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1107. IEnumMediaTypes * This);
  1108. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1109. IEnumMediaTypes * This,
  1110. /* [out] */ IEnumMediaTypes **ppEnum);
  1111. END_INTERFACE
  1112. } IEnumMediaTypesVtbl;
  1113. interface IEnumMediaTypes
  1114. {
  1115. CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1116. };
  1117. #ifdef COBJMACROS
  1118. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) \
  1119. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1120. #define IEnumMediaTypes_AddRef(This) \
  1121. (This)->lpVtbl -> AddRef(This)
  1122. #define IEnumMediaTypes_Release(This) \
  1123. (This)->lpVtbl -> Release(This)
  1124. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) \
  1125. (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1126. #define IEnumMediaTypes_Skip(This,cMediaTypes) \
  1127. (This)->lpVtbl -> Skip(This,cMediaTypes)
  1128. #define IEnumMediaTypes_Reset(This) \
  1129. (This)->lpVtbl -> Reset(This)
  1130. #define IEnumMediaTypes_Clone(This,ppEnum) \
  1131. (This)->lpVtbl -> Clone(This,ppEnum)
  1132. #endif /* COBJMACROS */
  1133. #endif /* C style interface */
  1134. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(
  1135. IEnumMediaTypes * This,
  1136. /* [in] */ ULONG cMediaTypes,
  1137. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1138. /* [out] */ ULONG *pcFetched);
  1139. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1140. IRpcStubBuffer *This,
  1141. IRpcChannelBuffer *_pRpcChannelBuffer,
  1142. PRPC_MESSAGE _pRpcMessage,
  1143. DWORD *_pdwStubPhase);
  1144. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(
  1145. IEnumMediaTypes * This,
  1146. /* [in] */ ULONG cMediaTypes);
  1147. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1148. IRpcStubBuffer *This,
  1149. IRpcChannelBuffer *_pRpcChannelBuffer,
  1150. PRPC_MESSAGE _pRpcMessage,
  1151. DWORD *_pdwStubPhase);
  1152. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(
  1153. IEnumMediaTypes * This);
  1154. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1155. IRpcStubBuffer *This,
  1156. IRpcChannelBuffer *_pRpcChannelBuffer,
  1157. PRPC_MESSAGE _pRpcMessage,
  1158. DWORD *_pdwStubPhase);
  1159. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(
  1160. IEnumMediaTypes * This,
  1161. /* [out] */ IEnumMediaTypes **ppEnum);
  1162. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1163. IRpcStubBuffer *This,
  1164. IRpcChannelBuffer *_pRpcChannelBuffer,
  1165. PRPC_MESSAGE _pRpcMessage,
  1166. DWORD *_pdwStubPhase);
  1167. #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1168. /* interface __MIDL_itf_strmif_0120 */
  1169. /* [local] */
  1170. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1171. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  1172. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  1173. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1174. #define __IFilterGraph_INTERFACE_DEFINED__
  1175. /* interface IFilterGraph */
  1176. /* [unique][uuid][object] */
  1177. EXTERN_C const IID IID_IFilterGraph;
  1178. #if defined(__cplusplus) && !defined(CINTERFACE)
  1179. MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1180. IFilterGraph : public IUnknown
  1181. {
  1182. public:
  1183. virtual HRESULT STDMETHODCALLTYPE AddFilter(
  1184. /* [in] */ IBaseFilter *pFilter,
  1185. /* [string][in] */ LPCWSTR pName) = 0;
  1186. virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
  1187. /* [in] */ IBaseFilter *pFilter) = 0;
  1188. virtual HRESULT STDMETHODCALLTYPE EnumFilters(
  1189. /* [out] */ IEnumFilters **ppEnum) = 0;
  1190. virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
  1191. /* [string][in] */ LPCWSTR pName,
  1192. /* [out] */ IBaseFilter **ppFilter) = 0;
  1193. virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
  1194. /* [in] */ IPin *ppinOut,
  1195. /* [in] */ IPin *ppinIn,
  1196. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1197. virtual HRESULT STDMETHODCALLTYPE Reconnect(
  1198. /* [in] */ IPin *ppin) = 0;
  1199. virtual HRESULT STDMETHODCALLTYPE Disconnect(
  1200. /* [in] */ IPin *ppin) = 0;
  1201. virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1202. };
  1203. #else /* C style interface */
  1204. typedef struct IFilterGraphVtbl
  1205. {
  1206. BEGIN_INTERFACE
  1207. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1208. IFilterGraph * This,
  1209. /* [in] */ REFIID riid,
  1210. /* [iid_is][out] */ void **ppvObject);
  1211. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1212. IFilterGraph * This);
  1213. ULONG ( STDMETHODCALLTYPE *Release )(
  1214. IFilterGraph * This);
  1215. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  1216. IFilterGraph * This,
  1217. /* [in] */ IBaseFilter *pFilter,
  1218. /* [string][in] */ LPCWSTR pName);
  1219. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  1220. IFilterGraph * This,
  1221. /* [in] */ IBaseFilter *pFilter);
  1222. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  1223. IFilterGraph * This,
  1224. /* [out] */ IEnumFilters **ppEnum);
  1225. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  1226. IFilterGraph * This,
  1227. /* [string][in] */ LPCWSTR pName,
  1228. /* [out] */ IBaseFilter **ppFilter);
  1229. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  1230. IFilterGraph * This,
  1231. /* [in] */ IPin *ppinOut,
  1232. /* [in] */ IPin *ppinIn,
  1233. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1234. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  1235. IFilterGraph * This,
  1236. /* [in] */ IPin *ppin);
  1237. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  1238. IFilterGraph * This,
  1239. /* [in] */ IPin *ppin);
  1240. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  1241. IFilterGraph * This);
  1242. END_INTERFACE
  1243. } IFilterGraphVtbl;
  1244. interface IFilterGraph
  1245. {
  1246. CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1247. };
  1248. #ifdef COBJMACROS
  1249. #define IFilterGraph_QueryInterface(This,riid,ppvObject) \
  1250. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1251. #define IFilterGraph_AddRef(This) \
  1252. (This)->lpVtbl -> AddRef(This)
  1253. #define IFilterGraph_Release(This) \
  1254. (This)->lpVtbl -> Release(This)
  1255. #define IFilterGraph_AddFilter(This,pFilter,pName) \
  1256. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1257. #define IFilterGraph_RemoveFilter(This,pFilter) \
  1258. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1259. #define IFilterGraph_EnumFilters(This,ppEnum) \
  1260. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1261. #define IFilterGraph_FindFilterByName(This,pName,ppFilter) \
  1262. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1263. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  1264. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1265. #define IFilterGraph_Reconnect(This,ppin) \
  1266. (This)->lpVtbl -> Reconnect(This,ppin)
  1267. #define IFilterGraph_Disconnect(This,ppin) \
  1268. (This)->lpVtbl -> Disconnect(This,ppin)
  1269. #define IFilterGraph_SetDefaultSyncSource(This) \
  1270. (This)->lpVtbl -> SetDefaultSyncSource(This)
  1271. #endif /* COBJMACROS */
  1272. #endif /* C style interface */
  1273. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(
  1274. IFilterGraph * This,
  1275. /* [in] */ IBaseFilter *pFilter,
  1276. /* [string][in] */ LPCWSTR pName);
  1277. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1278. IRpcStubBuffer *This,
  1279. IRpcChannelBuffer *_pRpcChannelBuffer,
  1280. PRPC_MESSAGE _pRpcMessage,
  1281. DWORD *_pdwStubPhase);
  1282. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(
  1283. IFilterGraph * This,
  1284. /* [in] */ IBaseFilter *pFilter);
  1285. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1286. IRpcStubBuffer *This,
  1287. IRpcChannelBuffer *_pRpcChannelBuffer,
  1288. PRPC_MESSAGE _pRpcMessage,
  1289. DWORD *_pdwStubPhase);
  1290. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(
  1291. IFilterGraph * This,
  1292. /* [out] */ IEnumFilters **ppEnum);
  1293. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1294. IRpcStubBuffer *This,
  1295. IRpcChannelBuffer *_pRpcChannelBuffer,
  1296. PRPC_MESSAGE _pRpcMessage,
  1297. DWORD *_pdwStubPhase);
  1298. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(
  1299. IFilterGraph * This,
  1300. /* [string][in] */ LPCWSTR pName,
  1301. /* [out] */ IBaseFilter **ppFilter);
  1302. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1303. IRpcStubBuffer *This,
  1304. IRpcChannelBuffer *_pRpcChannelBuffer,
  1305. PRPC_MESSAGE _pRpcMessage,
  1306. DWORD *_pdwStubPhase);
  1307. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(
  1308. IFilterGraph * This,
  1309. /* [in] */ IPin *ppinOut,
  1310. /* [in] */ IPin *ppinIn,
  1311. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1312. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1313. IRpcStubBuffer *This,
  1314. IRpcChannelBuffer *_pRpcChannelBuffer,
  1315. PRPC_MESSAGE _pRpcMessage,
  1316. DWORD *_pdwStubPhase);
  1317. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(
  1318. IFilterGraph * This,
  1319. /* [in] */ IPin *ppin);
  1320. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1321. IRpcStubBuffer *This,
  1322. IRpcChannelBuffer *_pRpcChannelBuffer,
  1323. PRPC_MESSAGE _pRpcMessage,
  1324. DWORD *_pdwStubPhase);
  1325. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(
  1326. IFilterGraph * This,
  1327. /* [in] */ IPin *ppin);
  1328. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1329. IRpcStubBuffer *This,
  1330. IRpcChannelBuffer *_pRpcChannelBuffer,
  1331. PRPC_MESSAGE _pRpcMessage,
  1332. DWORD *_pdwStubPhase);
  1333. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(
  1334. IFilterGraph * This);
  1335. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  1336. IRpcStubBuffer *This,
  1337. IRpcChannelBuffer *_pRpcChannelBuffer,
  1338. PRPC_MESSAGE _pRpcMessage,
  1339. DWORD *_pdwStubPhase);
  1340. #endif /* __IFilterGraph_INTERFACE_DEFINED__ */
  1341. /* interface __MIDL_itf_strmif_0121 */
  1342. /* [local] */
  1343. typedef IFilterGraph *PFILTERGRAPH;
  1344. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  1345. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  1346. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  1347. #define __IEnumFilters_INTERFACE_DEFINED__
  1348. /* interface IEnumFilters */
  1349. /* [unique][uuid][object] */
  1350. EXTERN_C const IID IID_IEnumFilters;
  1351. #if defined(__cplusplus) && !defined(CINTERFACE)
  1352. MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  1353. IEnumFilters : public IUnknown
  1354. {
  1355. public:
  1356. virtual HRESULT STDMETHODCALLTYPE Next(
  1357. /* [in] */ ULONG cFilters,
  1358. /* [out] */ IBaseFilter **ppFilter,
  1359. /* [out] */ ULONG *pcFetched) = 0;
  1360. virtual HRESULT STDMETHODCALLTYPE Skip(
  1361. /* [in] */ ULONG cFilters) = 0;
  1362. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1363. virtual HRESULT STDMETHODCALLTYPE Clone(
  1364. /* [out] */ IEnumFilters **ppEnum) = 0;
  1365. };
  1366. #else /* C style interface */
  1367. typedef struct IEnumFiltersVtbl
  1368. {
  1369. BEGIN_INTERFACE
  1370. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1371. IEnumFilters * This,
  1372. /* [in] */ REFIID riid,
  1373. /* [iid_is][out] */ void **ppvObject);
  1374. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1375. IEnumFilters * This);
  1376. ULONG ( STDMETHODCALLTYPE *Release )(
  1377. IEnumFilters * This);
  1378. HRESULT ( STDMETHODCALLTYPE *Next )(
  1379. IEnumFilters * This,
  1380. /* [in] */ ULONG cFilters,
  1381. /* [out] */ IBaseFilter **ppFilter,
  1382. /* [out] */ ULONG *pcFetched);
  1383. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1384. IEnumFilters * This,
  1385. /* [in] */ ULONG cFilters);
  1386. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1387. IEnumFilters * This);
  1388. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1389. IEnumFilters * This,
  1390. /* [out] */ IEnumFilters **ppEnum);
  1391. END_INTERFACE
  1392. } IEnumFiltersVtbl;
  1393. interface IEnumFilters
  1394. {
  1395. CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  1396. };
  1397. #ifdef COBJMACROS
  1398. #define IEnumFilters_QueryInterface(This,riid,ppvObject) \
  1399. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1400. #define IEnumFilters_AddRef(This) \
  1401. (This)->lpVtbl -> AddRef(This)
  1402. #define IEnumFilters_Release(This) \
  1403. (This)->lpVtbl -> Release(This)
  1404. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) \
  1405. (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  1406. #define IEnumFilters_Skip(This,cFilters) \
  1407. (This)->lpVtbl -> Skip(This,cFilters)
  1408. #define IEnumFilters_Reset(This) \
  1409. (This)->lpVtbl -> Reset(This)
  1410. #define IEnumFilters_Clone(This,ppEnum) \
  1411. (This)->lpVtbl -> Clone(This,ppEnum)
  1412. #endif /* COBJMACROS */
  1413. #endif /* C style interface */
  1414. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(
  1415. IEnumFilters * This,
  1416. /* [in] */ ULONG cFilters,
  1417. /* [out] */ IBaseFilter **ppFilter,
  1418. /* [out] */ ULONG *pcFetched);
  1419. void __RPC_STUB IEnumFilters_Next_Stub(
  1420. IRpcStubBuffer *This,
  1421. IRpcChannelBuffer *_pRpcChannelBuffer,
  1422. PRPC_MESSAGE _pRpcMessage,
  1423. DWORD *_pdwStubPhase);
  1424. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(
  1425. IEnumFilters * This,
  1426. /* [in] */ ULONG cFilters);
  1427. void __RPC_STUB IEnumFilters_Skip_Stub(
  1428. IRpcStubBuffer *This,
  1429. IRpcChannelBuffer *_pRpcChannelBuffer,
  1430. PRPC_MESSAGE _pRpcMessage,
  1431. DWORD *_pdwStubPhase);
  1432. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(
  1433. IEnumFilters * This);
  1434. void __RPC_STUB IEnumFilters_Reset_Stub(
  1435. IRpcStubBuffer *This,
  1436. IRpcChannelBuffer *_pRpcChannelBuffer,
  1437. PRPC_MESSAGE _pRpcMessage,
  1438. DWORD *_pdwStubPhase);
  1439. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(
  1440. IEnumFilters * This,
  1441. /* [out] */ IEnumFilters **ppEnum);
  1442. void __RPC_STUB IEnumFilters_Clone_Stub(
  1443. IRpcStubBuffer *This,
  1444. IRpcChannelBuffer *_pRpcChannelBuffer,
  1445. PRPC_MESSAGE _pRpcMessage,
  1446. DWORD *_pdwStubPhase);
  1447. #endif /* __IEnumFilters_INTERFACE_DEFINED__ */
  1448. /* interface __MIDL_itf_strmif_0122 */
  1449. /* [local] */
  1450. typedef IEnumFilters *PENUMFILTERS;
  1451. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  1452. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  1453. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  1454. #define __IMediaFilter_INTERFACE_DEFINED__
  1455. /* interface IMediaFilter */
  1456. /* [unique][uuid][object] */
  1457. typedef
  1458. enum _FilterState
  1459. { State_Stopped = 0,
  1460. State_Paused = State_Stopped + 1,
  1461. State_Running = State_Paused + 1
  1462. } FILTER_STATE;
  1463. EXTERN_C const IID IID_IMediaFilter;
  1464. #if defined(__cplusplus) && !defined(CINTERFACE)
  1465. MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  1466. IMediaFilter : public IPersist
  1467. {
  1468. public:
  1469. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1470. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1471. virtual HRESULT STDMETHODCALLTYPE Run(
  1472. REFERENCE_TIME tStart) = 0;
  1473. virtual HRESULT STDMETHODCALLTYPE GetState(
  1474. /* [in] */ DWORD dwMilliSecsTimeout,
  1475. /* [out] */ FILTER_STATE *State) = 0;
  1476. virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
  1477. /* [in] */ IReferenceClock *pClock) = 0;
  1478. virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
  1479. /* [out] */ IReferenceClock **pClock) = 0;
  1480. };
  1481. #else /* C style interface */
  1482. typedef struct IMediaFilterVtbl
  1483. {
  1484. BEGIN_INTERFACE
  1485. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1486. IMediaFilter * This,
  1487. /* [in] */ REFIID riid,
  1488. /* [iid_is][out] */ void **ppvObject);
  1489. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1490. IMediaFilter * This);
  1491. ULONG ( STDMETHODCALLTYPE *Release )(
  1492. IMediaFilter * This);
  1493. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  1494. IMediaFilter * This,
  1495. /* [out] */ CLSID *pClassID);
  1496. HRESULT ( STDMETHODCALLTYPE *Stop )(
  1497. IMediaFilter * This);
  1498. HRESULT ( STDMETHODCALLTYPE *Pause )(
  1499. IMediaFilter * This);
  1500. HRESULT ( STDMETHODCALLTYPE *Run )(
  1501. IMediaFilter * This,
  1502. REFERENCE_TIME tStart);
  1503. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1504. IMediaFilter * This,
  1505. /* [in] */ DWORD dwMilliSecsTimeout,
  1506. /* [out] */ FILTER_STATE *State);
  1507. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  1508. IMediaFilter * This,
  1509. /* [in] */ IReferenceClock *pClock);
  1510. HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
  1511. IMediaFilter * This,
  1512. /* [out] */ IReferenceClock **pClock);
  1513. END_INTERFACE
  1514. } IMediaFilterVtbl;
  1515. interface IMediaFilter
  1516. {
  1517. CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  1518. };
  1519. #ifdef COBJMACROS
  1520. #define IMediaFilter_QueryInterface(This,riid,ppvObject) \
  1521. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1522. #define IMediaFilter_AddRef(This) \
  1523. (This)->lpVtbl -> AddRef(This)
  1524. #define IMediaFilter_Release(This) \
  1525. (This)->lpVtbl -> Release(This)
  1526. #define IMediaFilter_GetClassID(This,pClassID) \
  1527. (This)->lpVtbl -> GetClassID(This,pClassID)
  1528. #define IMediaFilter_Stop(This) \
  1529. (This)->lpVtbl -> Stop(This)
  1530. #define IMediaFilter_Pause(This) \
  1531. (This)->lpVtbl -> Pause(This)
  1532. #define IMediaFilter_Run(This,tStart) \
  1533. (This)->lpVtbl -> Run(This,tStart)
  1534. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) \
  1535. (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1536. #define IMediaFilter_SetSyncSource(This,pClock) \
  1537. (This)->lpVtbl -> SetSyncSource(This,pClock)
  1538. #define IMediaFilter_GetSyncSource(This,pClock) \
  1539. (This)->lpVtbl -> GetSyncSource(This,pClock)
  1540. #endif /* COBJMACROS */
  1541. #endif /* C style interface */
  1542. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(
  1543. IMediaFilter * This);
  1544. void __RPC_STUB IMediaFilter_Stop_Stub(
  1545. IRpcStubBuffer *This,
  1546. IRpcChannelBuffer *_pRpcChannelBuffer,
  1547. PRPC_MESSAGE _pRpcMessage,
  1548. DWORD *_pdwStubPhase);
  1549. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(
  1550. IMediaFilter * This);
  1551. void __RPC_STUB IMediaFilter_Pause_Stub(
  1552. IRpcStubBuffer *This,
  1553. IRpcChannelBuffer *_pRpcChannelBuffer,
  1554. PRPC_MESSAGE _pRpcMessage,
  1555. DWORD *_pdwStubPhase);
  1556. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(
  1557. IMediaFilter * This,
  1558. REFERENCE_TIME tStart);
  1559. void __RPC_STUB IMediaFilter_Run_Stub(
  1560. IRpcStubBuffer *This,
  1561. IRpcChannelBuffer *_pRpcChannelBuffer,
  1562. PRPC_MESSAGE _pRpcMessage,
  1563. DWORD *_pdwStubPhase);
  1564. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(
  1565. IMediaFilter * This,
  1566. /* [in] */ DWORD dwMilliSecsTimeout,
  1567. /* [out] */ FILTER_STATE *State);
  1568. void __RPC_STUB IMediaFilter_GetState_Stub(
  1569. IRpcStubBuffer *This,
  1570. IRpcChannelBuffer *_pRpcChannelBuffer,
  1571. PRPC_MESSAGE _pRpcMessage,
  1572. DWORD *_pdwStubPhase);
  1573. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(
  1574. IMediaFilter * This,
  1575. /* [in] */ IReferenceClock *pClock);
  1576. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  1577. IRpcStubBuffer *This,
  1578. IRpcChannelBuffer *_pRpcChannelBuffer,
  1579. PRPC_MESSAGE _pRpcMessage,
  1580. DWORD *_pdwStubPhase);
  1581. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(
  1582. IMediaFilter * This,
  1583. /* [out] */ IReferenceClock **pClock);
  1584. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  1585. IRpcStubBuffer *This,
  1586. IRpcChannelBuffer *_pRpcChannelBuffer,
  1587. PRPC_MESSAGE _pRpcMessage,
  1588. DWORD *_pdwStubPhase);
  1589. #endif /* __IMediaFilter_INTERFACE_DEFINED__ */
  1590. /* interface __MIDL_itf_strmif_0123 */
  1591. /* [local] */
  1592. typedef IMediaFilter *PMEDIAFILTER;
  1593. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  1594. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  1595. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  1596. #define __IBaseFilter_INTERFACE_DEFINED__
  1597. /* interface IBaseFilter */
  1598. /* [unique][uuid][object] */
  1599. typedef struct _FilterInfo
  1600. {
  1601. WCHAR achName[ 128 ];
  1602. IFilterGraph *pGraph;
  1603. } FILTER_INFO;
  1604. EXTERN_C const IID IID_IBaseFilter;
  1605. #if defined(__cplusplus) && !defined(CINTERFACE)
  1606. MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  1607. IBaseFilter : public IMediaFilter
  1608. {
  1609. public:
  1610. virtual HRESULT STDMETHODCALLTYPE EnumPins(
  1611. /* [out] */ IEnumPins **ppEnum) = 0;
  1612. virtual HRESULT STDMETHODCALLTYPE FindPin(
  1613. /* [string][in] */ LPCWSTR Id,
  1614. /* [out] */ IPin **ppPin) = 0;
  1615. virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
  1616. /* [out] */ FILTER_INFO *pInfo) = 0;
  1617. virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
  1618. /* [in] */ IFilterGraph *pGraph,
  1619. /* [string][in] */ LPCWSTR pName) = 0;
  1620. virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
  1621. /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  1622. };
  1623. #else /* C style interface */
  1624. typedef struct IBaseFilterVtbl
  1625. {
  1626. BEGIN_INTERFACE
  1627. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1628. IBaseFilter * This,
  1629. /* [in] */ REFIID riid,
  1630. /* [iid_is][out] */ void **ppvObject);
  1631. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1632. IBaseFilter * This);
  1633. ULONG ( STDMETHODCALLTYPE *Release )(
  1634. IBaseFilter * This);
  1635. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  1636. IBaseFilter * This,
  1637. /* [out] */ CLSID *pClassID);
  1638. HRESULT ( STDMETHODCALLTYPE *Stop )(
  1639. IBaseFilter * This);
  1640. HRESULT ( STDMETHODCALLTYPE *Pause )(
  1641. IBaseFilter * This);
  1642. HRESULT ( STDMETHODCALLTYPE *Run )(
  1643. IBaseFilter * This,
  1644. REFERENCE_TIME tStart);
  1645. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1646. IBaseFilter * This,
  1647. /* [in] */ DWORD dwMilliSecsTimeout,
  1648. /* [out] */ FILTER_STATE *State);
  1649. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  1650. IBaseFilter * This,
  1651. /* [in] */ IReferenceClock *pClock);
  1652. HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
  1653. IBaseFilter * This,
  1654. /* [out] */ IReferenceClock **pClock);
  1655. HRESULT ( STDMETHODCALLTYPE *EnumPins )(
  1656. IBaseFilter * This,
  1657. /* [out] */ IEnumPins **ppEnum);
  1658. HRESULT ( STDMETHODCALLTYPE *FindPin )(
  1659. IBaseFilter * This,
  1660. /* [string][in] */ LPCWSTR Id,
  1661. /* [out] */ IPin **ppPin);
  1662. HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
  1663. IBaseFilter * This,
  1664. /* [out] */ FILTER_INFO *pInfo);
  1665. HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
  1666. IBaseFilter * This,
  1667. /* [in] */ IFilterGraph *pGraph,
  1668. /* [string][in] */ LPCWSTR pName);
  1669. HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
  1670. IBaseFilter * This,
  1671. /* [string][out] */ LPWSTR *pVendorInfo);
  1672. END_INTERFACE
  1673. } IBaseFilterVtbl;
  1674. interface IBaseFilter
  1675. {
  1676. CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  1677. };
  1678. #ifdef COBJMACROS
  1679. #define IBaseFilter_QueryInterface(This,riid,ppvObject) \
  1680. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1681. #define IBaseFilter_AddRef(This) \
  1682. (This)->lpVtbl -> AddRef(This)
  1683. #define IBaseFilter_Release(This) \
  1684. (This)->lpVtbl -> Release(This)
  1685. #define IBaseFilter_GetClassID(This,pClassID) \
  1686. (This)->lpVtbl -> GetClassID(This,pClassID)
  1687. #define IBaseFilter_Stop(This) \
  1688. (This)->lpVtbl -> Stop(This)
  1689. #define IBaseFilter_Pause(This) \
  1690. (This)->lpVtbl -> Pause(This)
  1691. #define IBaseFilter_Run(This,tStart) \
  1692. (This)->lpVtbl -> Run(This,tStart)
  1693. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) \
  1694. (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1695. #define IBaseFilter_SetSyncSource(This,pClock) \
  1696. (This)->lpVtbl -> SetSyncSource(This,pClock)
  1697. #define IBaseFilter_GetSyncSource(This,pClock) \
  1698. (This)->lpVtbl -> GetSyncSource(This,pClock)
  1699. #define IBaseFilter_EnumPins(This,ppEnum) \
  1700. (This)->lpVtbl -> EnumPins(This,ppEnum)
  1701. #define IBaseFilter_FindPin(This,Id,ppPin) \
  1702. (This)->lpVtbl -> FindPin(This,Id,ppPin)
  1703. #define IBaseFilter_QueryFilterInfo(This,pInfo) \
  1704. (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  1705. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) \
  1706. (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  1707. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) \
  1708. (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  1709. #endif /* COBJMACROS */
  1710. #endif /* C style interface */
  1711. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(
  1712. IBaseFilter * This,
  1713. /* [out] */ IEnumPins **ppEnum);
  1714. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  1715. IRpcStubBuffer *This,
  1716. IRpcChannelBuffer *_pRpcChannelBuffer,
  1717. PRPC_MESSAGE _pRpcMessage,
  1718. DWORD *_pdwStubPhase);
  1719. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(
  1720. IBaseFilter * This,
  1721. /* [string][in] */ LPCWSTR Id,
  1722. /* [out] */ IPin **ppPin);
  1723. void __RPC_STUB IBaseFilter_FindPin_Stub(
  1724. IRpcStubBuffer *This,
  1725. IRpcChannelBuffer *_pRpcChannelBuffer,
  1726. PRPC_MESSAGE _pRpcMessage,
  1727. DWORD *_pdwStubPhase);
  1728. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(
  1729. IBaseFilter * This,
  1730. /* [out] */ FILTER_INFO *pInfo);
  1731. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  1732. IRpcStubBuffer *This,
  1733. IRpcChannelBuffer *_pRpcChannelBuffer,
  1734. PRPC_MESSAGE _pRpcMessage,
  1735. DWORD *_pdwStubPhase);
  1736. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(
  1737. IBaseFilter * This,
  1738. /* [in] */ IFilterGraph *pGraph,
  1739. /* [string][in] */ LPCWSTR pName);
  1740. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  1741. IRpcStubBuffer *This,
  1742. IRpcChannelBuffer *_pRpcChannelBuffer,
  1743. PRPC_MESSAGE _pRpcMessage,
  1744. DWORD *_pdwStubPhase);
  1745. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(
  1746. IBaseFilter * This,
  1747. /* [string][out] */ LPWSTR *pVendorInfo);
  1748. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  1749. IRpcStubBuffer *This,
  1750. IRpcChannelBuffer *_pRpcChannelBuffer,
  1751. PRPC_MESSAGE _pRpcMessage,
  1752. DWORD *_pdwStubPhase);
  1753. #endif /* __IBaseFilter_INTERFACE_DEFINED__ */
  1754. /* interface __MIDL_itf_strmif_0124 */
  1755. /* [local] */
  1756. typedef IBaseFilter *PFILTER;
  1757. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  1758. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  1759. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  1760. #define __IReferenceClock_INTERFACE_DEFINED__
  1761. /* interface IReferenceClock */
  1762. /* [unique][uuid][object] */
  1763. EXTERN_C const IID IID_IReferenceClock;
  1764. #if defined(__cplusplus) && !defined(CINTERFACE)
  1765. MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  1766. IReferenceClock : public IUnknown
  1767. {
  1768. public:
  1769. virtual HRESULT STDMETHODCALLTYPE GetTime(
  1770. /* [out] */ REFERENCE_TIME *pTime) = 0;
  1771. virtual HRESULT STDMETHODCALLTYPE AdviseTime(
  1772. /* [in] */ REFERENCE_TIME baseTime,
  1773. /* [in] */ REFERENCE_TIME streamTime,
  1774. /* [in] */ HEVENT hEvent,
  1775. /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1776. virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
  1777. /* [in] */ REFERENCE_TIME startTime,
  1778. /* [in] */ REFERENCE_TIME periodTime,
  1779. /* [in] */ HSEMAPHORE hSemaphore,
  1780. /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1781. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  1782. /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  1783. };
  1784. #else /* C style interface */
  1785. typedef struct IReferenceClockVtbl
  1786. {
  1787. BEGIN_INTERFACE
  1788. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1789. IReferenceClock * This,
  1790. /* [in] */ REFIID riid,
  1791. /* [iid_is][out] */ void **ppvObject);
  1792. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1793. IReferenceClock * This);
  1794. ULONG ( STDMETHODCALLTYPE *Release )(
  1795. IReferenceClock * This);
  1796. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  1797. IReferenceClock * This,
  1798. /* [out] */ REFERENCE_TIME *pTime);
  1799. HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
  1800. IReferenceClock * This,
  1801. /* [in] */ REFERENCE_TIME baseTime,
  1802. /* [in] */ REFERENCE_TIME streamTime,
  1803. /* [in] */ HEVENT hEvent,
  1804. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1805. HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
  1806. IReferenceClock * This,
  1807. /* [in] */ REFERENCE_TIME startTime,
  1808. /* [in] */ REFERENCE_TIME periodTime,
  1809. /* [in] */ HSEMAPHORE hSemaphore,
  1810. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1811. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  1812. IReferenceClock * This,
  1813. /* [in] */ DWORD_PTR dwAdviseCookie);
  1814. END_INTERFACE
  1815. } IReferenceClockVtbl;
  1816. interface IReferenceClock
  1817. {
  1818. CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  1819. };
  1820. #ifdef COBJMACROS
  1821. #define IReferenceClock_QueryInterface(This,riid,ppvObject) \
  1822. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1823. #define IReferenceClock_AddRef(This) \
  1824. (This)->lpVtbl -> AddRef(This)
  1825. #define IReferenceClock_Release(This) \
  1826. (This)->lpVtbl -> Release(This)
  1827. #define IReferenceClock_GetTime(This,pTime) \
  1828. (This)->lpVtbl -> GetTime(This,pTime)
  1829. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) \
  1830. (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1831. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) \
  1832. (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1833. #define IReferenceClock_Unadvise(This,dwAdviseCookie) \
  1834. (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  1835. #endif /* COBJMACROS */
  1836. #endif /* C style interface */
  1837. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(
  1838. IReferenceClock * This,
  1839. /* [out] */ REFERENCE_TIME *pTime);
  1840. void __RPC_STUB IReferenceClock_GetTime_Stub(
  1841. IRpcStubBuffer *This,
  1842. IRpcChannelBuffer *_pRpcChannelBuffer,
  1843. PRPC_MESSAGE _pRpcMessage,
  1844. DWORD *_pdwStubPhase);
  1845. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(
  1846. IReferenceClock * This,
  1847. /* [in] */ REFERENCE_TIME baseTime,
  1848. /* [in] */ REFERENCE_TIME streamTime,
  1849. /* [in] */ HEVENT hEvent,
  1850. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1851. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  1852. IRpcStubBuffer *This,
  1853. IRpcChannelBuffer *_pRpcChannelBuffer,
  1854. PRPC_MESSAGE _pRpcMessage,
  1855. DWORD *_pdwStubPhase);
  1856. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(
  1857. IReferenceClock * This,
  1858. /* [in] */ REFERENCE_TIME startTime,
  1859. /* [in] */ REFERENCE_TIME periodTime,
  1860. /* [in] */ HSEMAPHORE hSemaphore,
  1861. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1862. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  1863. IRpcStubBuffer *This,
  1864. IRpcChannelBuffer *_pRpcChannelBuffer,
  1865. PRPC_MESSAGE _pRpcMessage,
  1866. DWORD *_pdwStubPhase);
  1867. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(
  1868. IReferenceClock * This,
  1869. /* [in] */ DWORD_PTR dwAdviseCookie);
  1870. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  1871. IRpcStubBuffer *This,
  1872. IRpcChannelBuffer *_pRpcChannelBuffer,
  1873. PRPC_MESSAGE _pRpcMessage,
  1874. DWORD *_pdwStubPhase);
  1875. #endif /* __IReferenceClock_INTERFACE_DEFINED__ */
  1876. /* interface __MIDL_itf_strmif_0125 */
  1877. /* [local] */
  1878. typedef IReferenceClock *PREFERENCECLOCK;
  1879. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
  1880. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
  1881. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  1882. #define __IReferenceClock2_INTERFACE_DEFINED__
  1883. /* interface IReferenceClock2 */
  1884. /* [unique][uuid][object] */
  1885. EXTERN_C const IID IID_IReferenceClock2;
  1886. #if defined(__cplusplus) && !defined(CINTERFACE)
  1887. MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  1888. IReferenceClock2 : public IReferenceClock
  1889. {
  1890. public:
  1891. };
  1892. #else /* C style interface */
  1893. typedef struct IReferenceClock2Vtbl
  1894. {
  1895. BEGIN_INTERFACE
  1896. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1897. IReferenceClock2 * This,
  1898. /* [in] */ REFIID riid,
  1899. /* [iid_is][out] */ void **ppvObject);
  1900. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1901. IReferenceClock2 * This);
  1902. ULONG ( STDMETHODCALLTYPE *Release )(
  1903. IReferenceClock2 * This);
  1904. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  1905. IReferenceClock2 * This,
  1906. /* [out] */ REFERENCE_TIME *pTime);
  1907. HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
  1908. IReferenceClock2 * This,
  1909. /* [in] */ REFERENCE_TIME baseTime,
  1910. /* [in] */ REFERENCE_TIME streamTime,
  1911. /* [in] */ HEVENT hEvent,
  1912. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1913. HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
  1914. IReferenceClock2 * This,
  1915. /* [in] */ REFERENCE_TIME startTime,
  1916. /* [in] */ REFERENCE_TIME periodTime,
  1917. /* [in] */ HSEMAPHORE hSemaphore,
  1918. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1919. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  1920. IReferenceClock2 * This,
  1921. /* [in] */ DWORD_PTR dwAdviseCookie);
  1922. END_INTERFACE
  1923. } IReferenceClock2Vtbl;
  1924. interface IReferenceClock2
  1925. {
  1926. CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  1927. };
  1928. #ifdef COBJMACROS
  1929. #define IReferenceClock2_QueryInterface(This,riid,ppvObject) \
  1930. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1931. #define IReferenceClock2_AddRef(This) \
  1932. (This)->lpVtbl -> AddRef(This)
  1933. #define IReferenceClock2_Release(This) \
  1934. (This)->lpVtbl -> Release(This)
  1935. #define IReferenceClock2_GetTime(This,pTime) \
  1936. (This)->lpVtbl -> GetTime(This,pTime)
  1937. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) \
  1938. (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1939. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) \
  1940. (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1941. #define IReferenceClock2_Unadvise(This,dwAdviseCookie) \
  1942. (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  1943. #endif /* COBJMACROS */
  1944. #endif /* C style interface */
  1945. #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */
  1946. /* interface __MIDL_itf_strmif_0126 */
  1947. /* [local] */
  1948. typedef IReferenceClock2 *PREFERENCECLOCK2;
  1949. extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_c_ifspec;
  1950. extern RPC_IF_HANDLE __MIDL_itf_strmif_0126_v0_0_s_ifspec;
  1951. #ifndef __IMediaSample_INTERFACE_DEFINED__
  1952. #define __IMediaSample_INTERFACE_DEFINED__
  1953. /* interface IMediaSample */
  1954. /* [unique][uuid][object][local] */
  1955. EXTERN_C const IID IID_IMediaSample;
  1956. #if defined(__cplusplus) && !defined(CINTERFACE)
  1957. MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  1958. IMediaSample : public IUnknown
  1959. {
  1960. public:
  1961. virtual HRESULT STDMETHODCALLTYPE GetPointer(
  1962. /* [out] */ BYTE **ppBuffer) = 0;
  1963. virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  1964. virtual HRESULT STDMETHODCALLTYPE GetTime(
  1965. /* [out] */ REFERENCE_TIME *pTimeStart,
  1966. /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  1967. virtual HRESULT STDMETHODCALLTYPE SetTime(
  1968. /* [in] */ REFERENCE_TIME *pTimeStart,
  1969. /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  1970. virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  1971. virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
  1972. BOOL bIsSyncPoint) = 0;
  1973. virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  1974. virtual HRESULT STDMETHODCALLTYPE SetPreroll(
  1975. BOOL bIsPreroll) = 0;
  1976. virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  1977. virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
  1978. long __MIDL_0010) = 0;
  1979. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  1980. AM_MEDIA_TYPE **ppMediaType) = 0;
  1981. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  1982. AM_MEDIA_TYPE *pMediaType) = 0;
  1983. virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  1984. virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
  1985. BOOL bDiscontinuity) = 0;
  1986. virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
  1987. /* [out] */ LONGLONG *pTimeStart,
  1988. /* [out] */ LONGLONG *pTimeEnd) = 0;
  1989. virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
  1990. /* [in] */ LONGLONG *pTimeStart,
  1991. /* [in] */ LONGLONG *pTimeEnd) = 0;
  1992. };
  1993. #else /* C style interface */
  1994. typedef struct IMediaSampleVtbl
  1995. {
  1996. BEGIN_INTERFACE
  1997. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1998. IMediaSample * This,
  1999. /* [in] */ REFIID riid,
  2000. /* [iid_is][out] */ void **ppvObject);
  2001. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2002. IMediaSample * This);
  2003. ULONG ( STDMETHODCALLTYPE *Release )(
  2004. IMediaSample * This);
  2005. HRESULT ( STDMETHODCALLTYPE *GetPointer )(
  2006. IMediaSample * This,
  2007. /* [out] */ BYTE **ppBuffer);
  2008. long ( STDMETHODCALLTYPE *GetSize )(
  2009. IMediaSample * This);
  2010. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  2011. IMediaSample * This,
  2012. /* [out] */ REFERENCE_TIME *pTimeStart,
  2013. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2014. HRESULT ( STDMETHODCALLTYPE *SetTime )(
  2015. IMediaSample * This,
  2016. /* [in] */ REFERENCE_TIME *pTimeStart,
  2017. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2018. HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
  2019. IMediaSample * This);
  2020. HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
  2021. IMediaSample * This,
  2022. BOOL bIsSyncPoint);
  2023. HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
  2024. IMediaSample * This);
  2025. HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
  2026. IMediaSample * This,
  2027. BOOL bIsPreroll);
  2028. long ( STDMETHODCALLTYPE *GetActualDataLength )(
  2029. IMediaSample * This);
  2030. HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
  2031. IMediaSample * This,
  2032. long __MIDL_0010);
  2033. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  2034. IMediaSample * This,
  2035. AM_MEDIA_TYPE **ppMediaType);
  2036. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  2037. IMediaSample * This,
  2038. AM_MEDIA_TYPE *pMediaType);
  2039. HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
  2040. IMediaSample * This);
  2041. HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
  2042. IMediaSample * This,
  2043. BOOL bDiscontinuity);
  2044. HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
  2045. IMediaSample * This,
  2046. /* [out] */ LONGLONG *pTimeStart,
  2047. /* [out] */ LONGLONG *pTimeEnd);
  2048. HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
  2049. IMediaSample * This,
  2050. /* [in] */ LONGLONG *pTimeStart,
  2051. /* [in] */ LONGLONG *pTimeEnd);
  2052. END_INTERFACE
  2053. } IMediaSampleVtbl;
  2054. interface IMediaSample
  2055. {
  2056. CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  2057. };
  2058. #ifdef COBJMACROS
  2059. #define IMediaSample_QueryInterface(This,riid,ppvObject) \
  2060. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2061. #define IMediaSample_AddRef(This) \
  2062. (This)->lpVtbl -> AddRef(This)
  2063. #define IMediaSample_Release(This) \
  2064. (This)->lpVtbl -> Release(This)
  2065. #define IMediaSample_GetPointer(This,ppBuffer) \
  2066. (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2067. #define IMediaSample_GetSize(This) \
  2068. (This)->lpVtbl -> GetSize(This)
  2069. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) \
  2070. (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2071. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) \
  2072. (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2073. #define IMediaSample_IsSyncPoint(This) \
  2074. (This)->lpVtbl -> IsSyncPoint(This)
  2075. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) \
  2076. (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2077. #define IMediaSample_IsPreroll(This) \
  2078. (This)->lpVtbl -> IsPreroll(This)
  2079. #define IMediaSample_SetPreroll(This,bIsPreroll) \
  2080. (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2081. #define IMediaSample_GetActualDataLength(This) \
  2082. (This)->lpVtbl -> GetActualDataLength(This)
  2083. #define IMediaSample_SetActualDataLength(This,__MIDL_0010) \
  2084. (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2085. #define IMediaSample_GetMediaType(This,ppMediaType) \
  2086. (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2087. #define IMediaSample_SetMediaType(This,pMediaType) \
  2088. (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2089. #define IMediaSample_IsDiscontinuity(This) \
  2090. (This)->lpVtbl -> IsDiscontinuity(This)
  2091. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) \
  2092. (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2093. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) \
  2094. (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2095. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) \
  2096. (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2097. #endif /* COBJMACROS */
  2098. #endif /* C style interface */
  2099. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(
  2100. IMediaSample * This,
  2101. /* [out] */ BYTE **ppBuffer);
  2102. void __RPC_STUB IMediaSample_GetPointer_Stub(
  2103. IRpcStubBuffer *This,
  2104. IRpcChannelBuffer *_pRpcChannelBuffer,
  2105. PRPC_MESSAGE _pRpcMessage,
  2106. DWORD *_pdwStubPhase);
  2107. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(
  2108. IMediaSample * This);
  2109. void __RPC_STUB IMediaSample_GetSize_Stub(
  2110. IRpcStubBuffer *This,
  2111. IRpcChannelBuffer *_pRpcChannelBuffer,
  2112. PRPC_MESSAGE _pRpcMessage,
  2113. DWORD *_pdwStubPhase);
  2114. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(
  2115. IMediaSample * This,
  2116. /* [out] */ REFERENCE_TIME *pTimeStart,
  2117. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2118. void __RPC_STUB IMediaSample_GetTime_Stub(
  2119. IRpcStubBuffer *This,
  2120. IRpcChannelBuffer *_pRpcChannelBuffer,
  2121. PRPC_MESSAGE _pRpcMessage,
  2122. DWORD *_pdwStubPhase);
  2123. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(
  2124. IMediaSample * This,
  2125. /* [in] */ REFERENCE_TIME *pTimeStart,
  2126. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2127. void __RPC_STUB IMediaSample_SetTime_Stub(
  2128. IRpcStubBuffer *This,
  2129. IRpcChannelBuffer *_pRpcChannelBuffer,
  2130. PRPC_MESSAGE _pRpcMessage,
  2131. DWORD *_pdwStubPhase);
  2132. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(
  2133. IMediaSample * This);
  2134. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  2135. IRpcStubBuffer *This,
  2136. IRpcChannelBuffer *_pRpcChannelBuffer,
  2137. PRPC_MESSAGE _pRpcMessage,
  2138. DWORD *_pdwStubPhase);
  2139. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(
  2140. IMediaSample * This,
  2141. BOOL bIsSyncPoint);
  2142. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  2143. IRpcStubBuffer *This,
  2144. IRpcChannelBuffer *_pRpcChannelBuffer,
  2145. PRPC_MESSAGE _pRpcMessage,
  2146. DWORD *_pdwStubPhase);
  2147. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(
  2148. IMediaSample * This);
  2149. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  2150. IRpcStubBuffer *This,
  2151. IRpcChannelBuffer *_pRpcChannelBuffer,
  2152. PRPC_MESSAGE _pRpcMessage,
  2153. DWORD *_pdwStubPhase);
  2154. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(
  2155. IMediaSample * This,
  2156. BOOL bIsPreroll);
  2157. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  2158. IRpcStubBuffer *This,
  2159. IRpcChannelBuffer *_pRpcChannelBuffer,
  2160. PRPC_MESSAGE _pRpcMessage,
  2161. DWORD *_pdwStubPhase);
  2162. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(
  2163. IMediaSample * This);
  2164. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  2165. IRpcStubBuffer *This,
  2166. IRpcChannelBuffer *_pRpcChannelBuffer,
  2167. PRPC_MESSAGE _pRpcMessage,
  2168. DWORD *_pdwStubPhase);
  2169. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(
  2170. IMediaSample * This,
  2171. long __MIDL_0010);
  2172. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  2173. IRpcStubBuffer *This,
  2174. IRpcChannelBuffer *_pRpcChannelBuffer,
  2175. PRPC_MESSAGE _pRpcMessage,
  2176. DWORD *_pdwStubPhase);
  2177. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(
  2178. IMediaSample * This,
  2179. AM_MEDIA_TYPE **ppMediaType);
  2180. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  2181. IRpcStubBuffer *This,
  2182. IRpcChannelBuffer *_pRpcChannelBuffer,
  2183. PRPC_MESSAGE _pRpcMessage,
  2184. DWORD *_pdwStubPhase);
  2185. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(
  2186. IMediaSample * This,
  2187. AM_MEDIA_TYPE *pMediaType);
  2188. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  2189. IRpcStubBuffer *This,
  2190. IRpcChannelBuffer *_pRpcChannelBuffer,
  2191. PRPC_MESSAGE _pRpcMessage,
  2192. DWORD *_pdwStubPhase);
  2193. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(
  2194. IMediaSample * This);
  2195. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  2196. IRpcStubBuffer *This,
  2197. IRpcChannelBuffer *_pRpcChannelBuffer,
  2198. PRPC_MESSAGE _pRpcMessage,
  2199. DWORD *_pdwStubPhase);
  2200. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(
  2201. IMediaSample * This,
  2202. BOOL bDiscontinuity);
  2203. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  2204. IRpcStubBuffer *This,
  2205. IRpcChannelBuffer *_pRpcChannelBuffer,
  2206. PRPC_MESSAGE _pRpcMessage,
  2207. DWORD *_pdwStubPhase);
  2208. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(
  2209. IMediaSample * This,
  2210. /* [out] */ LONGLONG *pTimeStart,
  2211. /* [out] */ LONGLONG *pTimeEnd);
  2212. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  2213. IRpcStubBuffer *This,
  2214. IRpcChannelBuffer *_pRpcChannelBuffer,
  2215. PRPC_MESSAGE _pRpcMessage,
  2216. DWORD *_pdwStubPhase);
  2217. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(
  2218. IMediaSample * This,
  2219. /* [in] */ LONGLONG *pTimeStart,
  2220. /* [in] */ LONGLONG *pTimeEnd);
  2221. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  2222. IRpcStubBuffer *This,
  2223. IRpcChannelBuffer *_pRpcChannelBuffer,
  2224. PRPC_MESSAGE _pRpcMessage,
  2225. DWORD *_pdwStubPhase);
  2226. #endif /* __IMediaSample_INTERFACE_DEFINED__ */
  2227. /* interface __MIDL_itf_strmif_0127 */
  2228. /* [local] */
  2229. typedef IMediaSample *PMEDIASAMPLE;
  2230. enum tagAM_SAMPLE_PROPERTY_FLAGS
  2231. { AM_SAMPLE_SPLICEPOINT = 0x1,
  2232. AM_SAMPLE_PREROLL = 0x2,
  2233. AM_SAMPLE_DATADISCONTINUITY = 0x4,
  2234. AM_SAMPLE_TYPECHANGED = 0x8,
  2235. AM_SAMPLE_TIMEVALID = 0x10,
  2236. AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  2237. AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  2238. AM_SAMPLE_STOPVALID = 0x100,
  2239. AM_SAMPLE_ENDOFSTREAM = 0x200,
  2240. AM_STREAM_MEDIA = 0,
  2241. AM_STREAM_CONTROL = 1
  2242. } ;
  2243. typedef struct tagAM_SAMPLE2_PROPERTIES
  2244. {
  2245. DWORD cbData;
  2246. DWORD dwTypeSpecificFlags;
  2247. DWORD dwSampleFlags;
  2248. LONG lActual;
  2249. REFERENCE_TIME tStart;
  2250. REFERENCE_TIME tStop;
  2251. DWORD dwStreamId;
  2252. AM_MEDIA_TYPE *pMediaType;
  2253. BYTE *pbBuffer;
  2254. LONG cbBuffer;
  2255. } AM_SAMPLE2_PROPERTIES;
  2256. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;
  2257. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;
  2258. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  2259. #define __IMediaSample2_INTERFACE_DEFINED__
  2260. /* interface IMediaSample2 */
  2261. /* [unique][uuid][object][local] */
  2262. EXTERN_C const IID IID_IMediaSample2;
  2263. #if defined(__cplusplus) && !defined(CINTERFACE)
  2264. MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  2265. IMediaSample2 : public IMediaSample
  2266. {
  2267. public:
  2268. virtual HRESULT STDMETHODCALLTYPE GetProperties(
  2269. /* [in] */ DWORD cbProperties,
  2270. /* [size_is][out] */ BYTE *pbProperties) = 0;
  2271. virtual HRESULT STDMETHODCALLTYPE SetProperties(
  2272. /* [in] */ DWORD cbProperties,
  2273. /* [size_is][in] */ const BYTE *pbProperties) = 0;
  2274. };
  2275. #else /* C style interface */
  2276. typedef struct IMediaSample2Vtbl
  2277. {
  2278. BEGIN_INTERFACE
  2279. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2280. IMediaSample2 * This,
  2281. /* [in] */ REFIID riid,
  2282. /* [iid_is][out] */ void **ppvObject);
  2283. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2284. IMediaSample2 * This);
  2285. ULONG ( STDMETHODCALLTYPE *Release )(
  2286. IMediaSample2 * This);
  2287. HRESULT ( STDMETHODCALLTYPE *GetPointer )(
  2288. IMediaSample2 * This,
  2289. /* [out] */ BYTE **ppBuffer);
  2290. long ( STDMETHODCALLTYPE *GetSize )(
  2291. IMediaSample2 * This);
  2292. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  2293. IMediaSample2 * This,
  2294. /* [out] */ REFERENCE_TIME *pTimeStart,
  2295. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2296. HRESULT ( STDMETHODCALLTYPE *SetTime )(
  2297. IMediaSample2 * This,
  2298. /* [in] */ REFERENCE_TIME *pTimeStart,
  2299. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2300. HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
  2301. IMediaSample2 * This);
  2302. HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
  2303. IMediaSample2 * This,
  2304. BOOL bIsSyncPoint);
  2305. HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
  2306. IMediaSample2 * This);
  2307. HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
  2308. IMediaSample2 * This,
  2309. BOOL bIsPreroll);
  2310. long ( STDMETHODCALLTYPE *GetActualDataLength )(
  2311. IMediaSample2 * This);
  2312. HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
  2313. IMediaSample2 * This,
  2314. long __MIDL_0010);
  2315. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  2316. IMediaSample2 * This,
  2317. AM_MEDIA_TYPE **ppMediaType);
  2318. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  2319. IMediaSample2 * This,
  2320. AM_MEDIA_TYPE *pMediaType);
  2321. HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
  2322. IMediaSample2 * This);
  2323. HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
  2324. IMediaSample2 * This,
  2325. BOOL bDiscontinuity);
  2326. HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
  2327. IMediaSample2 * This,
  2328. /* [out] */ LONGLONG *pTimeStart,
  2329. /* [out] */ LONGLONG *pTimeEnd);
  2330. HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
  2331. IMediaSample2 * This,
  2332. /* [in] */ LONGLONG *pTimeStart,
  2333. /* [in] */ LONGLONG *pTimeEnd);
  2334. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2335. IMediaSample2 * This,
  2336. /* [in] */ DWORD cbProperties,
  2337. /* [size_is][out] */ BYTE *pbProperties);
  2338. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2339. IMediaSample2 * This,
  2340. /* [in] */ DWORD cbProperties,
  2341. /* [size_is][in] */ const BYTE *pbProperties);
  2342. END_INTERFACE
  2343. } IMediaSample2Vtbl;
  2344. interface IMediaSample2
  2345. {
  2346. CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  2347. };
  2348. #ifdef COBJMACROS
  2349. #define IMediaSample2_QueryInterface(This,riid,ppvObject) \
  2350. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2351. #define IMediaSample2_AddRef(This) \
  2352. (This)->lpVtbl -> AddRef(This)
  2353. #define IMediaSample2_Release(This) \
  2354. (This)->lpVtbl -> Release(This)
  2355. #define IMediaSample2_GetPointer(This,ppBuffer) \
  2356. (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2357. #define IMediaSample2_GetSize(This) \
  2358. (This)->lpVtbl -> GetSize(This)
  2359. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) \
  2360. (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2361. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) \
  2362. (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2363. #define IMediaSample2_IsSyncPoint(This) \
  2364. (This)->lpVtbl -> IsSyncPoint(This)
  2365. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) \
  2366. (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2367. #define IMediaSample2_IsPreroll(This) \
  2368. (This)->lpVtbl -> IsPreroll(This)
  2369. #define IMediaSample2_SetPreroll(This,bIsPreroll) \
  2370. (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2371. #define IMediaSample2_GetActualDataLength(This) \
  2372. (This)->lpVtbl -> GetActualDataLength(This)
  2373. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010) \
  2374. (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2375. #define IMediaSample2_GetMediaType(This,ppMediaType) \
  2376. (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2377. #define IMediaSample2_SetMediaType(This,pMediaType) \
  2378. (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2379. #define IMediaSample2_IsDiscontinuity(This) \
  2380. (This)->lpVtbl -> IsDiscontinuity(This)
  2381. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) \
  2382. (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2383. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) \
  2384. (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2385. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) \
  2386. (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2387. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) \
  2388. (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  2389. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) \
  2390. (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  2391. #endif /* COBJMACROS */
  2392. #endif /* C style interface */
  2393. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(
  2394. IMediaSample2 * This,
  2395. /* [in] */ DWORD cbProperties,
  2396. /* [size_is][out] */ BYTE *pbProperties);
  2397. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  2398. IRpcStubBuffer *This,
  2399. IRpcChannelBuffer *_pRpcChannelBuffer,
  2400. PRPC_MESSAGE _pRpcMessage,
  2401. DWORD *_pdwStubPhase);
  2402. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(
  2403. IMediaSample2 * This,
  2404. /* [in] */ DWORD cbProperties,
  2405. /* [size_is][in] */ const BYTE *pbProperties);
  2406. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  2407. IRpcStubBuffer *This,
  2408. IRpcChannelBuffer *_pRpcChannelBuffer,
  2409. PRPC_MESSAGE _pRpcMessage,
  2410. DWORD *_pdwStubPhase);
  2411. #endif /* __IMediaSample2_INTERFACE_DEFINED__ */
  2412. /* interface __MIDL_itf_strmif_0128 */
  2413. /* [local] */
  2414. typedef IMediaSample2 *PMEDIASAMPLE2;
  2415. #define AM_GBF_PREVFRAMESKIPPED 1
  2416. #define AM_GBF_NOTASYNCPOINT 2
  2417. #define AM_GBF_NOWAIT 4
  2418. #define AM_GBF_NODDSURFACELOCK 8
  2419. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
  2420. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
  2421. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  2422. #define __IMemAllocator_INTERFACE_DEFINED__
  2423. /* interface IMemAllocator */
  2424. /* [unique][uuid][object] */
  2425. EXTERN_C const IID IID_IMemAllocator;
  2426. #if defined(__cplusplus) && !defined(CINTERFACE)
  2427. MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  2428. IMemAllocator : public IUnknown
  2429. {
  2430. public:
  2431. virtual HRESULT STDMETHODCALLTYPE SetProperties(
  2432. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2433. /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  2434. virtual HRESULT STDMETHODCALLTYPE GetProperties(
  2435. /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  2436. virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  2437. virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  2438. virtual HRESULT STDMETHODCALLTYPE GetBuffer(
  2439. /* [out] */ IMediaSample **ppBuffer,
  2440. /* [in] */ REFERENCE_TIME *pStartTime,
  2441. /* [in] */ REFERENCE_TIME *pEndTime,
  2442. /* [in] */ DWORD dwFlags) = 0;
  2443. virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
  2444. /* [in] */ IMediaSample *pBuffer) = 0;
  2445. };
  2446. #else /* C style interface */
  2447. typedef struct IMemAllocatorVtbl
  2448. {
  2449. BEGIN_INTERFACE
  2450. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2451. IMemAllocator * This,
  2452. /* [in] */ REFIID riid,
  2453. /* [iid_is][out] */ void **ppvObject);
  2454. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2455. IMemAllocator * This);
  2456. ULONG ( STDMETHODCALLTYPE *Release )(
  2457. IMemAllocator * This);
  2458. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2459. IMemAllocator * This,
  2460. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2461. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2462. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2463. IMemAllocator * This,
  2464. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2465. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2466. IMemAllocator * This);
  2467. HRESULT ( STDMETHODCALLTYPE *Decommit )(
  2468. IMemAllocator * This);
  2469. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  2470. IMemAllocator * This,
  2471. /* [out] */ IMediaSample **ppBuffer,
  2472. /* [in] */ REFERENCE_TIME *pStartTime,
  2473. /* [in] */ REFERENCE_TIME *pEndTime,
  2474. /* [in] */ DWORD dwFlags);
  2475. HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
  2476. IMemAllocator * This,
  2477. /* [in] */ IMediaSample *pBuffer);
  2478. END_INTERFACE
  2479. } IMemAllocatorVtbl;
  2480. interface IMemAllocator
  2481. {
  2482. CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  2483. };
  2484. #ifdef COBJMACROS
  2485. #define IMemAllocator_QueryInterface(This,riid,ppvObject) \
  2486. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2487. #define IMemAllocator_AddRef(This) \
  2488. (This)->lpVtbl -> AddRef(This)
  2489. #define IMemAllocator_Release(This) \
  2490. (This)->lpVtbl -> Release(This)
  2491. #define IMemAllocator_SetProperties(This,pRequest,pActual) \
  2492. (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2493. #define IMemAllocator_GetProperties(This,pProps) \
  2494. (This)->lpVtbl -> GetProperties(This,pProps)
  2495. #define IMemAllocator_Commit(This) \
  2496. (This)->lpVtbl -> Commit(This)
  2497. #define IMemAllocator_Decommit(This) \
  2498. (This)->lpVtbl -> Decommit(This)
  2499. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) \
  2500. (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2501. #define IMemAllocator_ReleaseBuffer(This,pBuffer) \
  2502. (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2503. #endif /* COBJMACROS */
  2504. #endif /* C style interface */
  2505. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(
  2506. IMemAllocator * This,
  2507. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2508. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2509. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  2510. IRpcStubBuffer *This,
  2511. IRpcChannelBuffer *_pRpcChannelBuffer,
  2512. PRPC_MESSAGE _pRpcMessage,
  2513. DWORD *_pdwStubPhase);
  2514. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(
  2515. IMemAllocator * This,
  2516. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2517. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  2518. IRpcStubBuffer *This,
  2519. IRpcChannelBuffer *_pRpcChannelBuffer,
  2520. PRPC_MESSAGE _pRpcMessage,
  2521. DWORD *_pdwStubPhase);
  2522. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(
  2523. IMemAllocator * This);
  2524. void __RPC_STUB IMemAllocator_Commit_Stub(
  2525. IRpcStubBuffer *This,
  2526. IRpcChannelBuffer *_pRpcChannelBuffer,
  2527. PRPC_MESSAGE _pRpcMessage,
  2528. DWORD *_pdwStubPhase);
  2529. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(
  2530. IMemAllocator * This);
  2531. void __RPC_STUB IMemAllocator_Decommit_Stub(
  2532. IRpcStubBuffer *This,
  2533. IRpcChannelBuffer *_pRpcChannelBuffer,
  2534. PRPC_MESSAGE _pRpcMessage,
  2535. DWORD *_pdwStubPhase);
  2536. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(
  2537. IMemAllocator * This,
  2538. /* [out] */ IMediaSample **ppBuffer,
  2539. /* [in] */ REFERENCE_TIME *pStartTime,
  2540. /* [in] */ REFERENCE_TIME *pEndTime,
  2541. /* [in] */ DWORD dwFlags);
  2542. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  2543. IRpcStubBuffer *This,
  2544. IRpcChannelBuffer *_pRpcChannelBuffer,
  2545. PRPC_MESSAGE _pRpcMessage,
  2546. DWORD *_pdwStubPhase);
  2547. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(
  2548. IMemAllocator * This,
  2549. /* [in] */ IMediaSample *pBuffer);
  2550. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  2551. IRpcStubBuffer *This,
  2552. IRpcChannelBuffer *_pRpcChannelBuffer,
  2553. PRPC_MESSAGE _pRpcMessage,
  2554. DWORD *_pdwStubPhase);
  2555. #endif /* __IMemAllocator_INTERFACE_DEFINED__ */
  2556. /* interface __MIDL_itf_strmif_0129 */
  2557. /* [local] */
  2558. typedef IMemAllocator *PMEMALLOCATOR;
  2559. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  2560. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  2561. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2562. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2563. /* interface IMemAllocatorCallbackTemp */
  2564. /* [unique][uuid][object] */
  2565. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  2566. #if defined(__cplusplus) && !defined(CINTERFACE)
  2567. MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  2568. IMemAllocatorCallbackTemp : public IMemAllocator
  2569. {
  2570. public:
  2571. virtual HRESULT STDMETHODCALLTYPE SetNotify(
  2572. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  2573. virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
  2574. /* [out] */ LONG *plBuffersFree) = 0;
  2575. };
  2576. #else /* C style interface */
  2577. typedef struct IMemAllocatorCallbackTempVtbl
  2578. {
  2579. BEGIN_INTERFACE
  2580. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2581. IMemAllocatorCallbackTemp * This,
  2582. /* [in] */ REFIID riid,
  2583. /* [iid_is][out] */ void **ppvObject);
  2584. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2585. IMemAllocatorCallbackTemp * This);
  2586. ULONG ( STDMETHODCALLTYPE *Release )(
  2587. IMemAllocatorCallbackTemp * This);
  2588. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2589. IMemAllocatorCallbackTemp * This,
  2590. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2591. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2592. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2593. IMemAllocatorCallbackTemp * This,
  2594. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2595. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2596. IMemAllocatorCallbackTemp * This);
  2597. HRESULT ( STDMETHODCALLTYPE *Decommit )(
  2598. IMemAllocatorCallbackTemp * This);
  2599. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  2600. IMemAllocatorCallbackTemp * This,
  2601. /* [out] */ IMediaSample **ppBuffer,
  2602. /* [in] */ REFERENCE_TIME *pStartTime,
  2603. /* [in] */ REFERENCE_TIME *pEndTime,
  2604. /* [in] */ DWORD dwFlags);
  2605. HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
  2606. IMemAllocatorCallbackTemp * This,
  2607. /* [in] */ IMediaSample *pBuffer);
  2608. HRESULT ( STDMETHODCALLTYPE *SetNotify )(
  2609. IMemAllocatorCallbackTemp * This,
  2610. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2611. HRESULT ( STDMETHODCALLTYPE *GetFreeCount )(
  2612. IMemAllocatorCallbackTemp * This,
  2613. /* [out] */ LONG *plBuffersFree);
  2614. END_INTERFACE
  2615. } IMemAllocatorCallbackTempVtbl;
  2616. interface IMemAllocatorCallbackTemp
  2617. {
  2618. CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  2619. };
  2620. #ifdef COBJMACROS
  2621. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) \
  2622. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2623. #define IMemAllocatorCallbackTemp_AddRef(This) \
  2624. (This)->lpVtbl -> AddRef(This)
  2625. #define IMemAllocatorCallbackTemp_Release(This) \
  2626. (This)->lpVtbl -> Release(This)
  2627. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) \
  2628. (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2629. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) \
  2630. (This)->lpVtbl -> GetProperties(This,pProps)
  2631. #define IMemAllocatorCallbackTemp_Commit(This) \
  2632. (This)->lpVtbl -> Commit(This)
  2633. #define IMemAllocatorCallbackTemp_Decommit(This) \
  2634. (This)->lpVtbl -> Decommit(This)
  2635. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) \
  2636. (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2637. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) \
  2638. (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2639. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) \
  2640. (This)->lpVtbl -> SetNotify(This,pNotify)
  2641. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) \
  2642. (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  2643. #endif /* COBJMACROS */
  2644. #endif /* C style interface */
  2645. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(
  2646. IMemAllocatorCallbackTemp * This,
  2647. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2648. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  2649. IRpcStubBuffer *This,
  2650. IRpcChannelBuffer *_pRpcChannelBuffer,
  2651. PRPC_MESSAGE _pRpcMessage,
  2652. DWORD *_pdwStubPhase);
  2653. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(
  2654. IMemAllocatorCallbackTemp * This,
  2655. /* [out] */ LONG *plBuffersFree);
  2656. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  2657. IRpcStubBuffer *This,
  2658. IRpcChannelBuffer *_pRpcChannelBuffer,
  2659. PRPC_MESSAGE _pRpcMessage,
  2660. DWORD *_pdwStubPhase);
  2661. #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  2662. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2663. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2664. /* interface IMemAllocatorNotifyCallbackTemp */
  2665. /* [unique][uuid][object] */
  2666. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  2667. #if defined(__cplusplus) && !defined(CINTERFACE)
  2668. MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  2669. IMemAllocatorNotifyCallbackTemp : public IUnknown
  2670. {
  2671. public:
  2672. virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  2673. };
  2674. #else /* C style interface */
  2675. typedef struct IMemAllocatorNotifyCallbackTempVtbl
  2676. {
  2677. BEGIN_INTERFACE
  2678. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2679. IMemAllocatorNotifyCallbackTemp * This,
  2680. /* [in] */ REFIID riid,
  2681. /* [iid_is][out] */ void **ppvObject);
  2682. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2683. IMemAllocatorNotifyCallbackTemp * This);
  2684. ULONG ( STDMETHODCALLTYPE *Release )(
  2685. IMemAllocatorNotifyCallbackTemp * This);
  2686. HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
  2687. IMemAllocatorNotifyCallbackTemp * This);
  2688. END_INTERFACE
  2689. } IMemAllocatorNotifyCallbackTempVtbl;
  2690. interface IMemAllocatorNotifyCallbackTemp
  2691. {
  2692. CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  2693. };
  2694. #ifdef COBJMACROS
  2695. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) \
  2696. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2697. #define IMemAllocatorNotifyCallbackTemp_AddRef(This) \
  2698. (This)->lpVtbl -> AddRef(This)
  2699. #define IMemAllocatorNotifyCallbackTemp_Release(This) \
  2700. (This)->lpVtbl -> Release(This)
  2701. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) \
  2702. (This)->lpVtbl -> NotifyRelease(This)
  2703. #endif /* COBJMACROS */
  2704. #endif /* C style interface */
  2705. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(
  2706. IMemAllocatorNotifyCallbackTemp * This);
  2707. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  2708. IRpcStubBuffer *This,
  2709. IRpcChannelBuffer *_pRpcChannelBuffer,
  2710. PRPC_MESSAGE _pRpcMessage,
  2711. DWORD *_pdwStubPhase);
  2712. #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  2713. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  2714. #define __IMemInputPin_INTERFACE_DEFINED__
  2715. /* interface IMemInputPin */
  2716. /* [unique][uuid][object] */
  2717. EXTERN_C const IID IID_IMemInputPin;
  2718. #if defined(__cplusplus) && !defined(CINTERFACE)
  2719. MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  2720. IMemInputPin : public IUnknown
  2721. {
  2722. public:
  2723. virtual HRESULT STDMETHODCALLTYPE GetAllocator(
  2724. /* [out] */ IMemAllocator **ppAllocator) = 0;
  2725. virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
  2726. /* [in] */ IMemAllocator *pAllocator,
  2727. /* [in] */ BOOL bReadOnly) = 0;
  2728. virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
  2729. /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  2730. virtual HRESULT STDMETHODCALLTYPE Receive(
  2731. /* [in] */ IMediaSample *pSample) = 0;
  2732. virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
  2733. /* [size_is][in] */ IMediaSample **pSamples,
  2734. /* [in] */ long nSamples,
  2735. /* [out] */ long *nSamplesProcessed) = 0;
  2736. virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  2737. };
  2738. #else /* C style interface */
  2739. typedef struct IMemInputPinVtbl
  2740. {
  2741. BEGIN_INTERFACE
  2742. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2743. IMemInputPin * This,
  2744. /* [in] */ REFIID riid,
  2745. /* [iid_is][out] */ void **ppvObject);
  2746. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2747. IMemInputPin * This);
  2748. ULONG ( STDMETHODCALLTYPE *Release )(
  2749. IMemInputPin * This);
  2750. HRESULT ( STDMETHODCALLTYPE *GetAllocator )(
  2751. IMemInputPin * This,
  2752. /* [out] */ IMemAllocator **ppAllocator);
  2753. HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(
  2754. IMemInputPin * This,
  2755. /* [in] */ IMemAllocator *pAllocator,
  2756. /* [in] */ BOOL bReadOnly);
  2757. HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )(
  2758. IMemInputPin * This,
  2759. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2760. HRESULT ( STDMETHODCALLTYPE *Receive )(
  2761. IMemInputPin * This,
  2762. /* [in] */ IMediaSample *pSample);
  2763. HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )(
  2764. IMemInputPin * This,
  2765. /* [size_is][in] */ IMediaSample **pSamples,
  2766. /* [in] */ long nSamples,
  2767. /* [out] */ long *nSamplesProcessed);
  2768. HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )(
  2769. IMemInputPin * This);
  2770. END_INTERFACE
  2771. } IMemInputPinVtbl;
  2772. interface IMemInputPin
  2773. {
  2774. CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  2775. };
  2776. #ifdef COBJMACROS
  2777. #define IMemInputPin_QueryInterface(This,riid,ppvObject) \
  2778. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2779. #define IMemInputPin_AddRef(This) \
  2780. (This)->lpVtbl -> AddRef(This)
  2781. #define IMemInputPin_Release(This) \
  2782. (This)->lpVtbl -> Release(This)
  2783. #define IMemInputPin_GetAllocator(This,ppAllocator) \
  2784. (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  2785. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) \
  2786. (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  2787. #define IMemInputPin_GetAllocatorRequirements(This,pProps) \
  2788. (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  2789. #define IMemInputPin_Receive(This,pSample) \
  2790. (This)->lpVtbl -> Receive(This,pSample)
  2791. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) \
  2792. (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  2793. #define IMemInputPin_ReceiveCanBlock(This) \
  2794. (This)->lpVtbl -> ReceiveCanBlock(This)
  2795. #endif /* COBJMACROS */
  2796. #endif /* C style interface */
  2797. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(
  2798. IMemInputPin * This,
  2799. /* [out] */ IMemAllocator **ppAllocator);
  2800. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  2801. IRpcStubBuffer *This,
  2802. IRpcChannelBuffer *_pRpcChannelBuffer,
  2803. PRPC_MESSAGE _pRpcMessage,
  2804. DWORD *_pdwStubPhase);
  2805. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(
  2806. IMemInputPin * This,
  2807. /* [in] */ IMemAllocator *pAllocator,
  2808. /* [in] */ BOOL bReadOnly);
  2809. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  2810. IRpcStubBuffer *This,
  2811. IRpcChannelBuffer *_pRpcChannelBuffer,
  2812. PRPC_MESSAGE _pRpcMessage,
  2813. DWORD *_pdwStubPhase);
  2814. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(
  2815. IMemInputPin * This,
  2816. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2817. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  2818. IRpcStubBuffer *This,
  2819. IRpcChannelBuffer *_pRpcChannelBuffer,
  2820. PRPC_MESSAGE _pRpcMessage,
  2821. DWORD *_pdwStubPhase);
  2822. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(
  2823. IMemInputPin * This,
  2824. /* [in] */ IMediaSample *pSample);
  2825. void __RPC_STUB IMemInputPin_Receive_Stub(
  2826. IRpcStubBuffer *This,
  2827. IRpcChannelBuffer *_pRpcChannelBuffer,
  2828. PRPC_MESSAGE _pRpcMessage,
  2829. DWORD *_pdwStubPhase);
  2830. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(
  2831. IMemInputPin * This,
  2832. /* [size_is][in] */ IMediaSample **pSamples,
  2833. /* [in] */ long nSamples,
  2834. /* [out] */ long *nSamplesProcessed);
  2835. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  2836. IRpcStubBuffer *This,
  2837. IRpcChannelBuffer *_pRpcChannelBuffer,
  2838. PRPC_MESSAGE _pRpcMessage,
  2839. DWORD *_pdwStubPhase);
  2840. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(
  2841. IMemInputPin * This);
  2842. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  2843. IRpcStubBuffer *This,
  2844. IRpcChannelBuffer *_pRpcChannelBuffer,
  2845. PRPC_MESSAGE _pRpcMessage,
  2846. DWORD *_pdwStubPhase);
  2847. #endif /* __IMemInputPin_INTERFACE_DEFINED__ */
  2848. /* interface __MIDL_itf_strmif_0132 */
  2849. /* [local] */
  2850. typedef IMemInputPin *PMEMINPUTPIN;
  2851. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
  2852. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
  2853. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  2854. #define __IAMovieSetup_INTERFACE_DEFINED__
  2855. /* interface IAMovieSetup */
  2856. /* [unique][uuid][object] */
  2857. EXTERN_C const IID IID_IAMovieSetup;
  2858. #if defined(__cplusplus) && !defined(CINTERFACE)
  2859. MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  2860. IAMovieSetup : public IUnknown
  2861. {
  2862. public:
  2863. virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  2864. virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  2865. };
  2866. #else /* C style interface */
  2867. typedef struct IAMovieSetupVtbl
  2868. {
  2869. BEGIN_INTERFACE
  2870. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2871. IAMovieSetup * This,
  2872. /* [in] */ REFIID riid,
  2873. /* [iid_is][out] */ void **ppvObject);
  2874. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2875. IAMovieSetup * This);
  2876. ULONG ( STDMETHODCALLTYPE *Release )(
  2877. IAMovieSetup * This);
  2878. HRESULT ( STDMETHODCALLTYPE *Register )(
  2879. IAMovieSetup * This);
  2880. HRESULT ( STDMETHODCALLTYPE *Unregister )(
  2881. IAMovieSetup * This);
  2882. END_INTERFACE
  2883. } IAMovieSetupVtbl;
  2884. interface IAMovieSetup
  2885. {
  2886. CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  2887. };
  2888. #ifdef COBJMACROS
  2889. #define IAMovieSetup_QueryInterface(This,riid,ppvObject) \
  2890. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2891. #define IAMovieSetup_AddRef(This) \
  2892. (This)->lpVtbl -> AddRef(This)
  2893. #define IAMovieSetup_Release(This) \
  2894. (This)->lpVtbl -> Release(This)
  2895. #define IAMovieSetup_Register(This) \
  2896. (This)->lpVtbl -> Register(This)
  2897. #define IAMovieSetup_Unregister(This) \
  2898. (This)->lpVtbl -> Unregister(This)
  2899. #endif /* COBJMACROS */
  2900. #endif /* C style interface */
  2901. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(
  2902. IAMovieSetup * This);
  2903. void __RPC_STUB IAMovieSetup_Register_Stub(
  2904. IRpcStubBuffer *This,
  2905. IRpcChannelBuffer *_pRpcChannelBuffer,
  2906. PRPC_MESSAGE _pRpcMessage,
  2907. DWORD *_pdwStubPhase);
  2908. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(
  2909. IAMovieSetup * This);
  2910. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  2911. IRpcStubBuffer *This,
  2912. IRpcChannelBuffer *_pRpcChannelBuffer,
  2913. PRPC_MESSAGE _pRpcMessage,
  2914. DWORD *_pdwStubPhase);
  2915. #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */
  2916. /* interface __MIDL_itf_strmif_0133 */
  2917. /* [local] */
  2918. typedef IAMovieSetup *PAMOVIESETUP;
  2919. typedef
  2920. enum AM_SEEKING_SeekingFlags
  2921. { AM_SEEKING_NoPositioning = 0,
  2922. AM_SEEKING_AbsolutePositioning = 0x1,
  2923. AM_SEEKING_RelativePositioning = 0x2,
  2924. AM_SEEKING_IncrementalPositioning = 0x3,
  2925. AM_SEEKING_PositioningBitsMask = 0x3,
  2926. AM_SEEKING_SeekToKeyFrame = 0x4,
  2927. AM_SEEKING_ReturnTime = 0x8,
  2928. AM_SEEKING_Segment = 0x10,
  2929. AM_SEEKING_NoFlush = 0x20
  2930. } AM_SEEKING_SEEKING_FLAGS;
  2931. typedef
  2932. enum AM_SEEKING_SeekingCapabilities
  2933. { AM_SEEKING_CanSeekAbsolute = 0x1,
  2934. AM_SEEKING_CanSeekForwards = 0x2,
  2935. AM_SEEKING_CanSeekBackwards = 0x4,
  2936. AM_SEEKING_CanGetCurrentPos = 0x8,
  2937. AM_SEEKING_CanGetStopPos = 0x10,
  2938. AM_SEEKING_CanGetDuration = 0x20,
  2939. AM_SEEKING_CanPlayBackwards = 0x40,
  2940. AM_SEEKING_CanDoSegments = 0x80,
  2941. AM_SEEKING_Source = 0x100
  2942. } AM_SEEKING_SEEKING_CAPABILITIES;
  2943. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
  2944. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
  2945. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  2946. #define __IMediaSeeking_INTERFACE_DEFINED__
  2947. /* interface IMediaSeeking */
  2948. /* [unique][uuid][object] */
  2949. EXTERN_C const IID IID_IMediaSeeking;
  2950. #if defined(__cplusplus) && !defined(CINTERFACE)
  2951. MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  2952. IMediaSeeking : public IUnknown
  2953. {
  2954. public:
  2955. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  2956. /* [out] */ DWORD *pCapabilities) = 0;
  2957. virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
  2958. /* [out][in] */ DWORD *pCapabilities) = 0;
  2959. virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
  2960. /* [in] */ const GUID *pFormat) = 0;
  2961. virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
  2962. /* [out] */ GUID *pFormat) = 0;
  2963. virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
  2964. /* [out] */ GUID *pFormat) = 0;
  2965. virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
  2966. /* [in] */ const GUID *pFormat) = 0;
  2967. virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
  2968. /* [in] */ const GUID *pFormat) = 0;
  2969. virtual HRESULT STDMETHODCALLTYPE GetDuration(
  2970. /* [out] */ LONGLONG *pDuration) = 0;
  2971. virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
  2972. /* [out] */ LONGLONG *pStop) = 0;
  2973. virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
  2974. /* [out] */ LONGLONG *pCurrent) = 0;
  2975. virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
  2976. /* [out] */ LONGLONG *pTarget,
  2977. /* [in] */ const GUID *pTargetFormat,
  2978. /* [in] */ LONGLONG Source,
  2979. /* [in] */ const GUID *pSourceFormat) = 0;
  2980. virtual HRESULT STDMETHODCALLTYPE SetPositions(
  2981. /* [out][in] */ LONGLONG *pCurrent,
  2982. /* [in] */ DWORD dwCurrentFlags,
  2983. /* [out][in] */ LONGLONG *pStop,
  2984. /* [in] */ DWORD dwStopFlags) = 0;
  2985. virtual HRESULT STDMETHODCALLTYPE GetPositions(
  2986. /* [out] */ LONGLONG *pCurrent,
  2987. /* [out] */ LONGLONG *pStop) = 0;
  2988. virtual HRESULT STDMETHODCALLTYPE GetAvailable(
  2989. /* [out] */ LONGLONG *pEarliest,
  2990. /* [out] */ LONGLONG *pLatest) = 0;
  2991. virtual HRESULT STDMETHODCALLTYPE SetRate(
  2992. /* [in] */ double dRate) = 0;
  2993. virtual HRESULT STDMETHODCALLTYPE GetRate(
  2994. /* [out] */ double *pdRate) = 0;
  2995. virtual HRESULT STDMETHODCALLTYPE GetPreroll(
  2996. /* [out] */ LONGLONG *pllPreroll) = 0;
  2997. };
  2998. #else /* C style interface */
  2999. typedef struct IMediaSeekingVtbl
  3000. {
  3001. BEGIN_INTERFACE
  3002. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3003. IMediaSeeking * This,
  3004. /* [in] */ REFIID riid,
  3005. /* [iid_is][out] */ void **ppvObject);
  3006. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3007. IMediaSeeking * This);
  3008. ULONG ( STDMETHODCALLTYPE *Release )(
  3009. IMediaSeeking * This);
  3010. HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
  3011. IMediaSeeking * This,
  3012. /* [out] */ DWORD *pCapabilities);
  3013. HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(
  3014. IMediaSeeking * This,
  3015. /* [out][in] */ DWORD *pCapabilities);
  3016. HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
  3017. IMediaSeeking * This,
  3018. /* [in] */ const GUID *pFormat);
  3019. HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(
  3020. IMediaSeeking * This,
  3021. /* [out] */ GUID *pFormat);
  3022. HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )(
  3023. IMediaSeeking * This,
  3024. /* [out] */ GUID *pFormat);
  3025. HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(
  3026. IMediaSeeking * This,
  3027. /* [in] */ const GUID *pFormat);
  3028. HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(
  3029. IMediaSeeking * This,
  3030. /* [in] */ const GUID *pFormat);
  3031. HRESULT ( STDMETHODCALLTYPE *GetDuration )(
  3032. IMediaSeeking * This,
  3033. /* [out] */ LONGLONG *pDuration);
  3034. HRESULT ( STDMETHODCALLTYPE *GetStopPosition )(
  3035. IMediaSeeking * This,
  3036. /* [out] */ LONGLONG *pStop);
  3037. HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(
  3038. IMediaSeeking * This,
  3039. /* [out] */ LONGLONG *pCurrent);
  3040. HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )(
  3041. IMediaSeeking * This,
  3042. /* [out] */ LONGLONG *pTarget,
  3043. /* [in] */ const GUID *pTargetFormat,
  3044. /* [in] */ LONGLONG Source,
  3045. /* [in] */ const GUID *pSourceFormat);
  3046. HRESULT ( STDMETHODCALLTYPE *SetPositions )(
  3047. IMediaSeeking * This,
  3048. /* [out][in] */ LONGLONG *pCurrent,
  3049. /* [in] */ DWORD dwCurrentFlags,
  3050. /* [out][in] */ LONGLONG *pStop,
  3051. /* [in] */ DWORD dwStopFlags);
  3052. HRESULT ( STDMETHODCALLTYPE *GetPositions )(
  3053. IMediaSeeking * This,
  3054. /* [out] */ LONGLONG *pCurrent,
  3055. /* [out] */ LONGLONG *pStop);
  3056. HRESULT ( STDMETHODCALLTYPE *GetAvailable )(
  3057. IMediaSeeking * This,
  3058. /* [out] */ LONGLONG *pEarliest,
  3059. /* [out] */ LONGLONG *pLatest);
  3060. HRESULT ( STDMETHODCALLTYPE *SetRate )(
  3061. IMediaSeeking * This,
  3062. /* [in] */ double dRate);
  3063. HRESULT ( STDMETHODCALLTYPE *GetRate )(
  3064. IMediaSeeking * This,
  3065. /* [out] */ double *pdRate);
  3066. HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
  3067. IMediaSeeking * This,
  3068. /* [out] */ LONGLONG *pllPreroll);
  3069. END_INTERFACE
  3070. } IMediaSeekingVtbl;
  3071. interface IMediaSeeking
  3072. {
  3073. CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  3074. };
  3075. #ifdef COBJMACROS
  3076. #define IMediaSeeking_QueryInterface(This,riid,ppvObject) \
  3077. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3078. #define IMediaSeeking_AddRef(This) \
  3079. (This)->lpVtbl -> AddRef(This)
  3080. #define IMediaSeeking_Release(This) \
  3081. (This)->lpVtbl -> Release(This)
  3082. #define IMediaSeeking_GetCapabilities(This,pCapabilities) \
  3083. (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  3084. #define IMediaSeeking_CheckCapabilities(This,pCapabilities) \
  3085. (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  3086. #define IMediaSeeking_IsFormatSupported(This,pFormat) \
  3087. (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  3088. #define IMediaSeeking_QueryPreferredFormat(This,pFormat) \
  3089. (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  3090. #define IMediaSeeking_GetTimeFormat(This,pFormat) \
  3091. (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  3092. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) \
  3093. (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  3094. #define IMediaSeeking_SetTimeFormat(This,pFormat) \
  3095. (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  3096. #define IMediaSeeking_GetDuration(This,pDuration) \
  3097. (This)->lpVtbl -> GetDuration(This,pDuration)
  3098. #define IMediaSeeking_GetStopPosition(This,pStop) \
  3099. (This)->lpVtbl -> GetStopPosition(This,pStop)
  3100. #define IMediaSeeking_GetCurrentPosition(This,pCurrent) \
  3101. (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  3102. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) \
  3103. (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  3104. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) \
  3105. (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  3106. #define IMediaSeeking_GetPositions(This,pCurrent,pStop) \
  3107. (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  3108. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) \
  3109. (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  3110. #define IMediaSeeking_SetRate(This,dRate) \
  3111. (This)->lpVtbl -> SetRate(This,dRate)
  3112. #define IMediaSeeking_GetRate(This,pdRate) \
  3113. (This)->lpVtbl -> GetRate(This,pdRate)
  3114. #define IMediaSeeking_GetPreroll(This,pllPreroll) \
  3115. (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  3116. #endif /* COBJMACROS */
  3117. #endif /* C style interface */
  3118. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(
  3119. IMediaSeeking * This,
  3120. /* [out] */ DWORD *pCapabilities);
  3121. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  3122. IRpcStubBuffer *This,
  3123. IRpcChannelBuffer *_pRpcChannelBuffer,
  3124. PRPC_MESSAGE _pRpcMessage,
  3125. DWORD *_pdwStubPhase);
  3126. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(
  3127. IMediaSeeking * This,
  3128. /* [out][in] */ DWORD *pCapabilities);
  3129. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  3130. IRpcStubBuffer *This,
  3131. IRpcChannelBuffer *_pRpcChannelBuffer,
  3132. PRPC_MESSAGE _pRpcMessage,
  3133. DWORD *_pdwStubPhase);
  3134. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(
  3135. IMediaSeeking * This,
  3136. /* [in] */ const GUID *pFormat);
  3137. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  3138. IRpcStubBuffer *This,
  3139. IRpcChannelBuffer *_pRpcChannelBuffer,
  3140. PRPC_MESSAGE _pRpcMessage,
  3141. DWORD *_pdwStubPhase);
  3142. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(
  3143. IMediaSeeking * This,
  3144. /* [out] */ GUID *pFormat);
  3145. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  3146. IRpcStubBuffer *This,
  3147. IRpcChannelBuffer *_pRpcChannelBuffer,
  3148. PRPC_MESSAGE _pRpcMessage,
  3149. DWORD *_pdwStubPhase);
  3150. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(
  3151. IMediaSeeking * This,
  3152. /* [out] */ GUID *pFormat);
  3153. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  3154. IRpcStubBuffer *This,
  3155. IRpcChannelBuffer *_pRpcChannelBuffer,
  3156. PRPC_MESSAGE _pRpcMessage,
  3157. DWORD *_pdwStubPhase);
  3158. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(
  3159. IMediaSeeking * This,
  3160. /* [in] */ const GUID *pFormat);
  3161. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  3162. IRpcStubBuffer *This,
  3163. IRpcChannelBuffer *_pRpcChannelBuffer,
  3164. PRPC_MESSAGE _pRpcMessage,
  3165. DWORD *_pdwStubPhase);
  3166. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(
  3167. IMediaSeeking * This,
  3168. /* [in] */ const GUID *pFormat);
  3169. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  3170. IRpcStubBuffer *This,
  3171. IRpcChannelBuffer *_pRpcChannelBuffer,
  3172. PRPC_MESSAGE _pRpcMessage,
  3173. DWORD *_pdwStubPhase);
  3174. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(
  3175. IMediaSeeking * This,
  3176. /* [out] */ LONGLONG *pDuration);
  3177. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  3178. IRpcStubBuffer *This,
  3179. IRpcChannelBuffer *_pRpcChannelBuffer,
  3180. PRPC_MESSAGE _pRpcMessage,
  3181. DWORD *_pdwStubPhase);
  3182. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(
  3183. IMediaSeeking * This,
  3184. /* [out] */ LONGLONG *pStop);
  3185. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  3186. IRpcStubBuffer *This,
  3187. IRpcChannelBuffer *_pRpcChannelBuffer,
  3188. PRPC_MESSAGE _pRpcMessage,
  3189. DWORD *_pdwStubPhase);
  3190. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(
  3191. IMediaSeeking * This,
  3192. /* [out] */ LONGLONG *pCurrent);
  3193. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  3194. IRpcStubBuffer *This,
  3195. IRpcChannelBuffer *_pRpcChannelBuffer,
  3196. PRPC_MESSAGE _pRpcMessage,
  3197. DWORD *_pdwStubPhase);
  3198. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(
  3199. IMediaSeeking * This,
  3200. /* [out] */ LONGLONG *pTarget,
  3201. /* [in] */ const GUID *pTargetFormat,
  3202. /* [in] */ LONGLONG Source,
  3203. /* [in] */ const GUID *pSourceFormat);
  3204. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  3205. IRpcStubBuffer *This,
  3206. IRpcChannelBuffer *_pRpcChannelBuffer,
  3207. PRPC_MESSAGE _pRpcMessage,
  3208. DWORD *_pdwStubPhase);
  3209. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(
  3210. IMediaSeeking * This,
  3211. /* [out][in] */ LONGLONG *pCurrent,
  3212. /* [in] */ DWORD dwCurrentFlags,
  3213. /* [out][in] */ LONGLONG *pStop,
  3214. /* [in] */ DWORD dwStopFlags);
  3215. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  3216. IRpcStubBuffer *This,
  3217. IRpcChannelBuffer *_pRpcChannelBuffer,
  3218. PRPC_MESSAGE _pRpcMessage,
  3219. DWORD *_pdwStubPhase);
  3220. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(
  3221. IMediaSeeking * This,
  3222. /* [out] */ LONGLONG *pCurrent,
  3223. /* [out] */ LONGLONG *pStop);
  3224. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  3225. IRpcStubBuffer *This,
  3226. IRpcChannelBuffer *_pRpcChannelBuffer,
  3227. PRPC_MESSAGE _pRpcMessage,
  3228. DWORD *_pdwStubPhase);
  3229. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(
  3230. IMediaSeeking * This,
  3231. /* [out] */ LONGLONG *pEarliest,
  3232. /* [out] */ LONGLONG *pLatest);
  3233. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  3234. IRpcStubBuffer *This,
  3235. IRpcChannelBuffer *_pRpcChannelBuffer,
  3236. PRPC_MESSAGE _pRpcMessage,
  3237. DWORD *_pdwStubPhase);
  3238. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(
  3239. IMediaSeeking * This,
  3240. /* [in] */ double dRate);
  3241. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  3242. IRpcStubBuffer *This,
  3243. IRpcChannelBuffer *_pRpcChannelBuffer,
  3244. PRPC_MESSAGE _pRpcMessage,
  3245. DWORD *_pdwStubPhase);
  3246. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(
  3247. IMediaSeeking * This,
  3248. /* [out] */ double *pdRate);
  3249. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  3250. IRpcStubBuffer *This,
  3251. IRpcChannelBuffer *_pRpcChannelBuffer,
  3252. PRPC_MESSAGE _pRpcMessage,
  3253. DWORD *_pdwStubPhase);
  3254. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(
  3255. IMediaSeeking * This,
  3256. /* [out] */ LONGLONG *pllPreroll);
  3257. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  3258. IRpcStubBuffer *This,
  3259. IRpcChannelBuffer *_pRpcChannelBuffer,
  3260. PRPC_MESSAGE _pRpcMessage,
  3261. DWORD *_pdwStubPhase);
  3262. #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */
  3263. /* interface __MIDL_itf_strmif_0134 */
  3264. /* [local] */
  3265. typedef IMediaSeeking *PMEDIASEEKING;
  3266. enum tagAM_MEDIAEVENT_FLAGS
  3267. {
  3268. AM_MEDIAEVENT_NONOTIFY = 0x01
  3269. };
  3270. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0001
  3271. {
  3272. CLSID Clsid;
  3273. LPWSTR Name;
  3274. } REGFILTER;
  3275. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  3276. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  3277. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  3278. #define __IEnumRegFilters_INTERFACE_DEFINED__
  3279. /* interface IEnumRegFilters */
  3280. /* [unique][uuid][object] */
  3281. EXTERN_C const IID IID_IEnumRegFilters;
  3282. #if defined(__cplusplus) && !defined(CINTERFACE)
  3283. MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  3284. IEnumRegFilters : public IUnknown
  3285. {
  3286. public:
  3287. virtual HRESULT STDMETHODCALLTYPE Next(
  3288. /* [in] */ ULONG cFilters,
  3289. /* [out] */ REGFILTER **apRegFilter,
  3290. /* [out] */ ULONG *pcFetched) = 0;
  3291. virtual HRESULT STDMETHODCALLTYPE Skip(
  3292. /* [in] */ ULONG cFilters) = 0;
  3293. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  3294. virtual HRESULT STDMETHODCALLTYPE Clone(
  3295. /* [out] */ IEnumRegFilters **ppEnum) = 0;
  3296. };
  3297. #else /* C style interface */
  3298. typedef struct IEnumRegFiltersVtbl
  3299. {
  3300. BEGIN_INTERFACE
  3301. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3302. IEnumRegFilters * This,
  3303. /* [in] */ REFIID riid,
  3304. /* [iid_is][out] */ void **ppvObject);
  3305. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3306. IEnumRegFilters * This);
  3307. ULONG ( STDMETHODCALLTYPE *Release )(
  3308. IEnumRegFilters * This);
  3309. HRESULT ( STDMETHODCALLTYPE *Next )(
  3310. IEnumRegFilters * This,
  3311. /* [in] */ ULONG cFilters,
  3312. /* [out] */ REGFILTER **apRegFilter,
  3313. /* [out] */ ULONG *pcFetched);
  3314. HRESULT ( STDMETHODCALLTYPE *Skip )(
  3315. IEnumRegFilters * This,
  3316. /* [in] */ ULONG cFilters);
  3317. HRESULT ( STDMETHODCALLTYPE *Reset )(
  3318. IEnumRegFilters * This);
  3319. HRESULT ( STDMETHODCALLTYPE *Clone )(
  3320. IEnumRegFilters * This,
  3321. /* [out] */ IEnumRegFilters **ppEnum);
  3322. END_INTERFACE
  3323. } IEnumRegFiltersVtbl;
  3324. interface IEnumRegFilters
  3325. {
  3326. CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  3327. };
  3328. #ifdef COBJMACROS
  3329. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) \
  3330. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3331. #define IEnumRegFilters_AddRef(This) \
  3332. (This)->lpVtbl -> AddRef(This)
  3333. #define IEnumRegFilters_Release(This) \
  3334. (This)->lpVtbl -> Release(This)
  3335. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) \
  3336. (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  3337. #define IEnumRegFilters_Skip(This,cFilters) \
  3338. (This)->lpVtbl -> Skip(This,cFilters)
  3339. #define IEnumRegFilters_Reset(This) \
  3340. (This)->lpVtbl -> Reset(This)
  3341. #define IEnumRegFilters_Clone(This,ppEnum) \
  3342. (This)->lpVtbl -> Clone(This,ppEnum)
  3343. #endif /* COBJMACROS */
  3344. #endif /* C style interface */
  3345. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(
  3346. IEnumRegFilters * This,
  3347. /* [in] */ ULONG cFilters,
  3348. /* [out] */ REGFILTER **apRegFilter,
  3349. /* [out] */ ULONG *pcFetched);
  3350. void __RPC_STUB IEnumRegFilters_Next_Stub(
  3351. IRpcStubBuffer *This,
  3352. IRpcChannelBuffer *_pRpcChannelBuffer,
  3353. PRPC_MESSAGE _pRpcMessage,
  3354. DWORD *_pdwStubPhase);
  3355. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(
  3356. IEnumRegFilters * This,
  3357. /* [in] */ ULONG cFilters);
  3358. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  3359. IRpcStubBuffer *This,
  3360. IRpcChannelBuffer *_pRpcChannelBuffer,
  3361. PRPC_MESSAGE _pRpcMessage,
  3362. DWORD *_pdwStubPhase);
  3363. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(
  3364. IEnumRegFilters * This);
  3365. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  3366. IRpcStubBuffer *This,
  3367. IRpcChannelBuffer *_pRpcChannelBuffer,
  3368. PRPC_MESSAGE _pRpcMessage,
  3369. DWORD *_pdwStubPhase);
  3370. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(
  3371. IEnumRegFilters * This,
  3372. /* [out] */ IEnumRegFilters **ppEnum);
  3373. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  3374. IRpcStubBuffer *This,
  3375. IRpcChannelBuffer *_pRpcChannelBuffer,
  3376. PRPC_MESSAGE _pRpcMessage,
  3377. DWORD *_pdwStubPhase);
  3378. #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  3379. /* interface __MIDL_itf_strmif_0136 */
  3380. /* [local] */
  3381. typedef IEnumRegFilters *PENUMREGFILTERS;
  3382. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;
  3383. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;
  3384. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  3385. #define __IFilterMapper_INTERFACE_DEFINED__
  3386. /* interface IFilterMapper */
  3387. /* [unique][uuid][object] */
  3388. enum __MIDL_IFilterMapper_0001
  3389. { MERIT_PREFERRED = 0x800000,
  3390. MERIT_NORMAL = 0x600000,
  3391. MERIT_UNLIKELY = 0x400000,
  3392. MERIT_DO_NOT_USE = 0x200000,
  3393. MERIT_SW_COMPRESSOR = 0x100000,
  3394. MERIT_HW_COMPRESSOR = 0x100050
  3395. } ;
  3396. EXTERN_C const IID IID_IFilterMapper;
  3397. #if defined(__cplusplus) && !defined(CINTERFACE)
  3398. MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  3399. IFilterMapper : public IUnknown
  3400. {
  3401. public:
  3402. virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
  3403. /* [in] */ CLSID clsid,
  3404. /* [in] */ LPCWSTR Name,
  3405. /* [in] */ DWORD dwMerit) = 0;
  3406. virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
  3407. /* [in] */ CLSID clsid,
  3408. /* [in] */ LPCWSTR Name,
  3409. /* [out] */ CLSID *MRId) = 0;
  3410. virtual HRESULT STDMETHODCALLTYPE RegisterPin(
  3411. /* [in] */ CLSID Filter,
  3412. /* [in] */ LPCWSTR Name,
  3413. /* [in] */ BOOL bRendered,
  3414. /* [in] */ BOOL bOutput,
  3415. /* [in] */ BOOL bZero,
  3416. /* [in] */ BOOL bMany,
  3417. /* [in] */ CLSID ConnectsToFilter,
  3418. /* [in] */ LPCWSTR ConnectsToPin) = 0;
  3419. virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
  3420. /* [in] */ CLSID clsFilter,
  3421. /* [in] */ LPCWSTR strName,
  3422. /* [in] */ CLSID clsMajorType,
  3423. /* [in] */ CLSID clsSubType) = 0;
  3424. virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
  3425. /* [in] */ CLSID Filter) = 0;
  3426. virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
  3427. /* [in] */ CLSID MRId) = 0;
  3428. virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
  3429. /* [in] */ CLSID Filter,
  3430. /* [in] */ LPCWSTR Name) = 0;
  3431. virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
  3432. /* [out] */ IEnumRegFilters **ppEnum,
  3433. /* [in] */ DWORD dwMerit,
  3434. /* [in] */ BOOL bInputNeeded,
  3435. /* [in] */ CLSID clsInMaj,
  3436. /* [in] */ CLSID clsInSub,
  3437. /* [in] */ BOOL bRender,
  3438. /* [in] */ BOOL bOututNeeded,
  3439. /* [in] */ CLSID clsOutMaj,
  3440. /* [in] */ CLSID clsOutSub) = 0;
  3441. };
  3442. #else /* C style interface */
  3443. typedef struct IFilterMapperVtbl
  3444. {
  3445. BEGIN_INTERFACE
  3446. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3447. IFilterMapper * This,
  3448. /* [in] */ REFIID riid,
  3449. /* [iid_is][out] */ void **ppvObject);
  3450. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3451. IFilterMapper * This);
  3452. ULONG ( STDMETHODCALLTYPE *Release )(
  3453. IFilterMapper * This);
  3454. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3455. IFilterMapper * This,
  3456. /* [in] */ CLSID clsid,
  3457. /* [in] */ LPCWSTR Name,
  3458. /* [in] */ DWORD dwMerit);
  3459. HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )(
  3460. IFilterMapper * This,
  3461. /* [in] */ CLSID clsid,
  3462. /* [in] */ LPCWSTR Name,
  3463. /* [out] */ CLSID *MRId);
  3464. HRESULT ( STDMETHODCALLTYPE *RegisterPin )(
  3465. IFilterMapper * This,
  3466. /* [in] */ CLSID Filter,
  3467. /* [in] */ LPCWSTR Name,
  3468. /* [in] */ BOOL bRendered,
  3469. /* [in] */ BOOL bOutput,
  3470. /* [in] */ BOOL bZero,
  3471. /* [in] */ BOOL bMany,
  3472. /* [in] */ CLSID ConnectsToFilter,
  3473. /* [in] */ LPCWSTR ConnectsToPin);
  3474. HRESULT ( STDMETHODCALLTYPE *RegisterPinType )(
  3475. IFilterMapper * This,
  3476. /* [in] */ CLSID clsFilter,
  3477. /* [in] */ LPCWSTR strName,
  3478. /* [in] */ CLSID clsMajorType,
  3479. /* [in] */ CLSID clsSubType);
  3480. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3481. IFilterMapper * This,
  3482. /* [in] */ CLSID Filter);
  3483. HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )(
  3484. IFilterMapper * This,
  3485. /* [in] */ CLSID MRId);
  3486. HRESULT ( STDMETHODCALLTYPE *UnregisterPin )(
  3487. IFilterMapper * This,
  3488. /* [in] */ CLSID Filter,
  3489. /* [in] */ LPCWSTR Name);
  3490. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3491. IFilterMapper * This,
  3492. /* [out] */ IEnumRegFilters **ppEnum,
  3493. /* [in] */ DWORD dwMerit,
  3494. /* [in] */ BOOL bInputNeeded,
  3495. /* [in] */ CLSID clsInMaj,
  3496. /* [in] */ CLSID clsInSub,
  3497. /* [in] */ BOOL bRender,
  3498. /* [in] */ BOOL bOututNeeded,
  3499. /* [in] */ CLSID clsOutMaj,
  3500. /* [in] */ CLSID clsOutSub);
  3501. END_INTERFACE
  3502. } IFilterMapperVtbl;
  3503. interface IFilterMapper
  3504. {
  3505. CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  3506. };
  3507. #ifdef COBJMACROS
  3508. #define IFilterMapper_QueryInterface(This,riid,ppvObject) \
  3509. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3510. #define IFilterMapper_AddRef(This) \
  3511. (This)->lpVtbl -> AddRef(This)
  3512. #define IFilterMapper_Release(This) \
  3513. (This)->lpVtbl -> Release(This)
  3514. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) \
  3515. (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  3516. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) \
  3517. (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  3518. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) \
  3519. (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  3520. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) \
  3521. (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  3522. #define IFilterMapper_UnregisterFilter(This,Filter) \
  3523. (This)->lpVtbl -> UnregisterFilter(This,Filter)
  3524. #define IFilterMapper_UnregisterFilterInstance(This,MRId) \
  3525. (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  3526. #define IFilterMapper_UnregisterPin(This,Filter,Name) \
  3527. (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  3528. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub) \
  3529. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  3530. #endif /* COBJMACROS */
  3531. #endif /* C style interface */
  3532. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(
  3533. IFilterMapper * This,
  3534. /* [in] */ CLSID clsid,
  3535. /* [in] */ LPCWSTR Name,
  3536. /* [in] */ DWORD dwMerit);
  3537. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  3538. IRpcStubBuffer *This,
  3539. IRpcChannelBuffer *_pRpcChannelBuffer,
  3540. PRPC_MESSAGE _pRpcMessage,
  3541. DWORD *_pdwStubPhase);
  3542. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(
  3543. IFilterMapper * This,
  3544. /* [in] */ CLSID clsid,
  3545. /* [in] */ LPCWSTR Name,
  3546. /* [out] */ CLSID *MRId);
  3547. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  3548. IRpcStubBuffer *This,
  3549. IRpcChannelBuffer *_pRpcChannelBuffer,
  3550. PRPC_MESSAGE _pRpcMessage,
  3551. DWORD *_pdwStubPhase);
  3552. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(
  3553. IFilterMapper * This,
  3554. /* [in] */ CLSID Filter,
  3555. /* [in] */ LPCWSTR Name,
  3556. /* [in] */ BOOL bRendered,
  3557. /* [in] */ BOOL bOutput,
  3558. /* [in] */ BOOL bZero,
  3559. /* [in] */ BOOL bMany,
  3560. /* [in] */ CLSID ConnectsToFilter,
  3561. /* [in] */ LPCWSTR ConnectsToPin);
  3562. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  3563. IRpcStubBuffer *This,
  3564. IRpcChannelBuffer *_pRpcChannelBuffer,
  3565. PRPC_MESSAGE _pRpcMessage,
  3566. DWORD *_pdwStubPhase);
  3567. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(
  3568. IFilterMapper * This,
  3569. /* [in] */ CLSID clsFilter,
  3570. /* [in] */ LPCWSTR strName,
  3571. /* [in] */ CLSID clsMajorType,
  3572. /* [in] */ CLSID clsSubType);
  3573. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  3574. IRpcStubBuffer *This,
  3575. IRpcChannelBuffer *_pRpcChannelBuffer,
  3576. PRPC_MESSAGE _pRpcMessage,
  3577. DWORD *_pdwStubPhase);
  3578. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(
  3579. IFilterMapper * This,
  3580. /* [in] */ CLSID Filter);
  3581. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  3582. IRpcStubBuffer *This,
  3583. IRpcChannelBuffer *_pRpcChannelBuffer,
  3584. PRPC_MESSAGE _pRpcMessage,
  3585. DWORD *_pdwStubPhase);
  3586. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(
  3587. IFilterMapper * This,
  3588. /* [in] */ CLSID MRId);
  3589. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  3590. IRpcStubBuffer *This,
  3591. IRpcChannelBuffer *_pRpcChannelBuffer,
  3592. PRPC_MESSAGE _pRpcMessage,
  3593. DWORD *_pdwStubPhase);
  3594. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(
  3595. IFilterMapper * This,
  3596. /* [in] */ CLSID Filter,
  3597. /* [in] */ LPCWSTR Name);
  3598. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  3599. IRpcStubBuffer *This,
  3600. IRpcChannelBuffer *_pRpcChannelBuffer,
  3601. PRPC_MESSAGE _pRpcMessage,
  3602. DWORD *_pdwStubPhase);
  3603. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(
  3604. IFilterMapper * This,
  3605. /* [out] */ IEnumRegFilters **ppEnum,
  3606. /* [in] */ DWORD dwMerit,
  3607. /* [in] */ BOOL bInputNeeded,
  3608. /* [in] */ CLSID clsInMaj,
  3609. /* [in] */ CLSID clsInSub,
  3610. /* [in] */ BOOL bRender,
  3611. /* [in] */ BOOL bOututNeeded,
  3612. /* [in] */ CLSID clsOutMaj,
  3613. /* [in] */ CLSID clsOutSub);
  3614. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  3615. IRpcStubBuffer *This,
  3616. IRpcChannelBuffer *_pRpcChannelBuffer,
  3617. PRPC_MESSAGE _pRpcMessage,
  3618. DWORD *_pdwStubPhase);
  3619. #endif /* __IFilterMapper_INTERFACE_DEFINED__ */
  3620. /* interface __MIDL_itf_strmif_0138 */
  3621. /* [local] */
  3622. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0138_0001
  3623. {
  3624. const CLSID *clsMajorType;
  3625. const CLSID *clsMinorType;
  3626. } REGPINTYPES;
  3627. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0138_0002
  3628. {
  3629. LPWSTR strName;
  3630. BOOL bRendered;
  3631. BOOL bOutput;
  3632. BOOL bZero;
  3633. BOOL bMany;
  3634. const CLSID *clsConnectsToFilter;
  3635. const WCHAR *strConnectsToPin;
  3636. UINT nMediaTypes;
  3637. const REGPINTYPES *lpMediaType;
  3638. } REGFILTERPINS;
  3639. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0138_0003
  3640. {
  3641. CLSID clsMedium;
  3642. DWORD dw1;
  3643. DWORD dw2;
  3644. } REGPINMEDIUM;
  3645. enum __MIDL___MIDL_itf_strmif_0138_0004
  3646. { REG_PINFLAG_B_ZERO = 0x1,
  3647. REG_PINFLAG_B_RENDERER = 0x2,
  3648. REG_PINFLAG_B_MANY = 0x4,
  3649. REG_PINFLAG_B_OUTPUT = 0x8
  3650. } ;
  3651. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0138_0005
  3652. {
  3653. DWORD dwFlags;
  3654. UINT cInstances;
  3655. UINT nMediaTypes;
  3656. /* [size_is] */ const REGPINTYPES *lpMediaType;
  3657. UINT nMediums;
  3658. /* [size_is] */ const REGPINMEDIUM *lpMedium;
  3659. const CLSID *clsPinCategory;
  3660. } REGFILTERPINS2;
  3661. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0138_0006
  3662. {
  3663. DWORD dwVersion;
  3664. DWORD dwMerit;
  3665. /* [switch_type][switch_is] */ union
  3666. {
  3667. /* [case()] */ struct
  3668. {
  3669. ULONG cPins;
  3670. /* [size_is] */ const REGFILTERPINS *rgPins;
  3671. } ;
  3672. /* [case()] */ struct
  3673. {
  3674. ULONG cPins2;
  3675. /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  3676. } ;
  3677. /* [default] */ /* Empty union arm */
  3678. } ;
  3679. } REGFILTER2;
  3680. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  3681. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  3682. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  3683. #define __IFilterMapper2_INTERFACE_DEFINED__
  3684. /* interface IFilterMapper2 */
  3685. /* [unique][uuid][object] */
  3686. EXTERN_C const IID IID_IFilterMapper2;
  3687. #if defined(__cplusplus) && !defined(CINTERFACE)
  3688. MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  3689. IFilterMapper2 : public IUnknown
  3690. {
  3691. public:
  3692. virtual HRESULT STDMETHODCALLTYPE CreateCategory(
  3693. /* [in] */ REFCLSID clsidCategory,
  3694. /* [in] */ DWORD dwCategoryMerit,
  3695. /* [in] */ LPCWSTR Description) = 0;
  3696. virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
  3697. /* [in] */ const CLSID *pclsidCategory,
  3698. /* [in] */ const OLECHAR *szInstance,
  3699. /* [in] */ REFCLSID Filter) = 0;
  3700. virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
  3701. /* [in] */ REFCLSID clsidFilter,
  3702. /* [in] */ LPCWSTR Name,
  3703. /* [out][in] */ IMoniker **ppMoniker,
  3704. /* [in] */ const CLSID *pclsidCategory,
  3705. /* [in] */ const OLECHAR *szInstance,
  3706. /* [in] */ const REGFILTER2 *prf2) = 0;
  3707. virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
  3708. /* [out] */ IEnumMoniker **ppEnum,
  3709. /* [in] */ DWORD dwFlags,
  3710. /* [in] */ BOOL bExactMatch,
  3711. /* [in] */ DWORD dwMerit,
  3712. /* [in] */ BOOL bInputNeeded,
  3713. /* [in] */ DWORD cInputTypes,
  3714. /* [size_is] */ const GUID *pInputTypes,
  3715. /* [in] */ const REGPINMEDIUM *pMedIn,
  3716. /* [in] */ const CLSID *pPinCategoryIn,
  3717. /* [in] */ BOOL bRender,
  3718. /* [in] */ BOOL bOutputNeeded,
  3719. /* [in] */ DWORD cOutputTypes,
  3720. /* [size_is] */ const GUID *pOutputTypes,
  3721. /* [in] */ const REGPINMEDIUM *pMedOut,
  3722. /* [in] */ const CLSID *pPinCategoryOut) = 0;
  3723. };
  3724. #else /* C style interface */
  3725. typedef struct IFilterMapper2Vtbl
  3726. {
  3727. BEGIN_INTERFACE
  3728. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3729. IFilterMapper2 * This,
  3730. /* [in] */ REFIID riid,
  3731. /* [iid_is][out] */ void **ppvObject);
  3732. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3733. IFilterMapper2 * This);
  3734. ULONG ( STDMETHODCALLTYPE *Release )(
  3735. IFilterMapper2 * This);
  3736. HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
  3737. IFilterMapper2 * This,
  3738. /* [in] */ REFCLSID clsidCategory,
  3739. /* [in] */ DWORD dwCategoryMerit,
  3740. /* [in] */ LPCWSTR Description);
  3741. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3742. IFilterMapper2 * This,
  3743. /* [in] */ const CLSID *pclsidCategory,
  3744. /* [in] */ const OLECHAR *szInstance,
  3745. /* [in] */ REFCLSID Filter);
  3746. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3747. IFilterMapper2 * This,
  3748. /* [in] */ REFCLSID clsidFilter,
  3749. /* [in] */ LPCWSTR Name,
  3750. /* [out][in] */ IMoniker **ppMoniker,
  3751. /* [in] */ const CLSID *pclsidCategory,
  3752. /* [in] */ const OLECHAR *szInstance,
  3753. /* [in] */ const REGFILTER2 *prf2);
  3754. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3755. IFilterMapper2 * This,
  3756. /* [out] */ IEnumMoniker **ppEnum,
  3757. /* [in] */ DWORD dwFlags,
  3758. /* [in] */ BOOL bExactMatch,
  3759. /* [in] */ DWORD dwMerit,
  3760. /* [in] */ BOOL bInputNeeded,
  3761. /* [in] */ DWORD cInputTypes,
  3762. /* [size_is] */ const GUID *pInputTypes,
  3763. /* [in] */ const REGPINMEDIUM *pMedIn,
  3764. /* [in] */ const CLSID *pPinCategoryIn,
  3765. /* [in] */ BOOL bRender,
  3766. /* [in] */ BOOL bOutputNeeded,
  3767. /* [in] */ DWORD cOutputTypes,
  3768. /* [size_is] */ const GUID *pOutputTypes,
  3769. /* [in] */ const REGPINMEDIUM *pMedOut,
  3770. /* [in] */ const CLSID *pPinCategoryOut);
  3771. END_INTERFACE
  3772. } IFilterMapper2Vtbl;
  3773. interface IFilterMapper2
  3774. {
  3775. CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  3776. };
  3777. #ifdef COBJMACROS
  3778. #define IFilterMapper2_QueryInterface(This,riid,ppvObject) \
  3779. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3780. #define IFilterMapper2_AddRef(This) \
  3781. (This)->lpVtbl -> AddRef(This)
  3782. #define IFilterMapper2_Release(This) \
  3783. (This)->lpVtbl -> Release(This)
  3784. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) \
  3785. (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  3786. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) \
  3787. (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  3788. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) \
  3789. (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  3790. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) \
  3791. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  3792. #endif /* COBJMACROS */
  3793. #endif /* C style interface */
  3794. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(
  3795. IFilterMapper2 * This,
  3796. /* [in] */ REFCLSID clsidCategory,
  3797. /* [in] */ DWORD dwCategoryMerit,
  3798. /* [in] */ LPCWSTR Description);
  3799. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  3800. IRpcStubBuffer *This,
  3801. IRpcChannelBuffer *_pRpcChannelBuffer,
  3802. PRPC_MESSAGE _pRpcMessage,
  3803. DWORD *_pdwStubPhase);
  3804. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(
  3805. IFilterMapper2 * This,
  3806. /* [in] */ const CLSID *pclsidCategory,
  3807. /* [in] */ const OLECHAR *szInstance,
  3808. /* [in] */ REFCLSID Filter);
  3809. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  3810. IRpcStubBuffer *This,
  3811. IRpcChannelBuffer *_pRpcChannelBuffer,
  3812. PRPC_MESSAGE _pRpcMessage,
  3813. DWORD *_pdwStubPhase);
  3814. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(
  3815. IFilterMapper2 * This,
  3816. /* [in] */ REFCLSID clsidFilter,
  3817. /* [in] */ LPCWSTR Name,
  3818. /* [out][in] */ IMoniker **ppMoniker,
  3819. /* [in] */ const CLSID *pclsidCategory,
  3820. /* [in] */ const OLECHAR *szInstance,
  3821. /* [in] */ const REGFILTER2 *prf2);
  3822. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  3823. IRpcStubBuffer *This,
  3824. IRpcChannelBuffer *_pRpcChannelBuffer,
  3825. PRPC_MESSAGE _pRpcMessage,
  3826. DWORD *_pdwStubPhase);
  3827. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(
  3828. IFilterMapper2 * This,
  3829. /* [out] */ IEnumMoniker **ppEnum,
  3830. /* [in] */ DWORD dwFlags,
  3831. /* [in] */ BOOL bExactMatch,
  3832. /* [in] */ DWORD dwMerit,
  3833. /* [in] */ BOOL bInputNeeded,
  3834. /* [in] */ DWORD cInputTypes,
  3835. /* [size_is] */ const GUID *pInputTypes,
  3836. /* [in] */ const REGPINMEDIUM *pMedIn,
  3837. /* [in] */ const CLSID *pPinCategoryIn,
  3838. /* [in] */ BOOL bRender,
  3839. /* [in] */ BOOL bOutputNeeded,
  3840. /* [in] */ DWORD cOutputTypes,
  3841. /* [size_is] */ const GUID *pOutputTypes,
  3842. /* [in] */ const REGPINMEDIUM *pMedOut,
  3843. /* [in] */ const CLSID *pPinCategoryOut);
  3844. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  3845. IRpcStubBuffer *This,
  3846. IRpcChannelBuffer *_pRpcChannelBuffer,
  3847. PRPC_MESSAGE _pRpcMessage,
  3848. DWORD *_pdwStubPhase);
  3849. #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */
  3850. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  3851. #define __IFilterMapper3_INTERFACE_DEFINED__
  3852. /* interface IFilterMapper3 */
  3853. /* [unique][uuid][object] */
  3854. EXTERN_C const IID IID_IFilterMapper3;
  3855. #if defined(__cplusplus) && !defined(CINTERFACE)
  3856. MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  3857. IFilterMapper3 : public IFilterMapper2
  3858. {
  3859. public:
  3860. virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
  3861. /* [out] */ ICreateDevEnum **ppEnum) = 0;
  3862. };
  3863. #else /* C style interface */
  3864. typedef struct IFilterMapper3Vtbl
  3865. {
  3866. BEGIN_INTERFACE
  3867. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3868. IFilterMapper3 * This,
  3869. /* [in] */ REFIID riid,
  3870. /* [iid_is][out] */ void **ppvObject);
  3871. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3872. IFilterMapper3 * This);
  3873. ULONG ( STDMETHODCALLTYPE *Release )(
  3874. IFilterMapper3 * This);
  3875. HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
  3876. IFilterMapper3 * This,
  3877. /* [in] */ REFCLSID clsidCategory,
  3878. /* [in] */ DWORD dwCategoryMerit,
  3879. /* [in] */ LPCWSTR Description);
  3880. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3881. IFilterMapper3 * This,
  3882. /* [in] */ const CLSID *pclsidCategory,
  3883. /* [in] */ const OLECHAR *szInstance,
  3884. /* [in] */ REFCLSID Filter);
  3885. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3886. IFilterMapper3 * This,
  3887. /* [in] */ REFCLSID clsidFilter,
  3888. /* [in] */ LPCWSTR Name,
  3889. /* [out][in] */ IMoniker **ppMoniker,
  3890. /* [in] */ const CLSID *pclsidCategory,
  3891. /* [in] */ const OLECHAR *szInstance,
  3892. /* [in] */ const REGFILTER2 *prf2);
  3893. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3894. IFilterMapper3 * This,
  3895. /* [out] */ IEnumMoniker **ppEnum,
  3896. /* [in] */ DWORD dwFlags,
  3897. /* [in] */ BOOL bExactMatch,
  3898. /* [in] */ DWORD dwMerit,
  3899. /* [in] */ BOOL bInputNeeded,
  3900. /* [in] */ DWORD cInputTypes,
  3901. /* [size_is] */ const GUID *pInputTypes,
  3902. /* [in] */ const REGPINMEDIUM *pMedIn,
  3903. /* [in] */ const CLSID *pPinCategoryIn,
  3904. /* [in] */ BOOL bRender,
  3905. /* [in] */ BOOL bOutputNeeded,
  3906. /* [in] */ DWORD cOutputTypes,
  3907. /* [size_is] */ const GUID *pOutputTypes,
  3908. /* [in] */ const REGPINMEDIUM *pMedOut,
  3909. /* [in] */ const CLSID *pPinCategoryOut);
  3910. HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )(
  3911. IFilterMapper3 * This,
  3912. /* [out] */ ICreateDevEnum **ppEnum);
  3913. END_INTERFACE
  3914. } IFilterMapper3Vtbl;
  3915. interface IFilterMapper3
  3916. {
  3917. CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  3918. };
  3919. #ifdef COBJMACROS
  3920. #define IFilterMapper3_QueryInterface(This,riid,ppvObject) \
  3921. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3922. #define IFilterMapper3_AddRef(This) \
  3923. (This)->lpVtbl -> AddRef(This)
  3924. #define IFilterMapper3_Release(This) \
  3925. (This)->lpVtbl -> Release(This)
  3926. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) \
  3927. (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  3928. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) \
  3929. (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  3930. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) \
  3931. (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  3932. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) \
  3933. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  3934. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) \
  3935. (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  3936. #endif /* COBJMACROS */
  3937. #endif /* C style interface */
  3938. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(
  3939. IFilterMapper3 * This,
  3940. /* [out] */ ICreateDevEnum **ppEnum);
  3941. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  3942. IRpcStubBuffer *This,
  3943. IRpcChannelBuffer *_pRpcChannelBuffer,
  3944. PRPC_MESSAGE _pRpcMessage,
  3945. DWORD *_pdwStubPhase);
  3946. #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */
  3947. /* interface __MIDL_itf_strmif_0141 */
  3948. /* [local] */
  3949. typedef
  3950. enum tagQualityMessageType
  3951. { Famine = 0,
  3952. Flood = Famine + 1
  3953. } QualityMessageType;
  3954. typedef struct tagQuality
  3955. {
  3956. QualityMessageType Type;
  3957. long Proportion;
  3958. REFERENCE_TIME Late;
  3959. REFERENCE_TIME TimeStamp;
  3960. } Quality;
  3961. typedef IQualityControl *PQUALITYCONTROL;
  3962. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  3963. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  3964. #ifndef __IQualityControl_INTERFACE_DEFINED__
  3965. #define __IQualityControl_INTERFACE_DEFINED__
  3966. /* interface IQualityControl */
  3967. /* [unique][uuid][object] */
  3968. EXTERN_C const IID IID_IQualityControl;
  3969. #if defined(__cplusplus) && !defined(CINTERFACE)
  3970. MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  3971. IQualityControl : public IUnknown
  3972. {
  3973. public:
  3974. virtual HRESULT STDMETHODCALLTYPE Notify(
  3975. /* [in] */ IBaseFilter *pSelf,
  3976. /* [in] */ Quality q) = 0;
  3977. virtual HRESULT STDMETHODCALLTYPE SetSink(
  3978. /* [in] */ IQualityControl *piqc) = 0;
  3979. };
  3980. #else /* C style interface */
  3981. typedef struct IQualityControlVtbl
  3982. {
  3983. BEGIN_INTERFACE
  3984. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3985. IQualityControl * This,
  3986. /* [in] */ REFIID riid,
  3987. /* [iid_is][out] */ void **ppvObject);
  3988. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3989. IQualityControl * This);
  3990. ULONG ( STDMETHODCALLTYPE *Release )(
  3991. IQualityControl * This);
  3992. HRESULT ( STDMETHODCALLTYPE *Notify )(
  3993. IQualityControl * This,
  3994. /* [in] */ IBaseFilter *pSelf,
  3995. /* [in] */ Quality q);
  3996. HRESULT ( STDMETHODCALLTYPE *SetSink )(
  3997. IQualityControl * This,
  3998. /* [in] */ IQualityControl *piqc);
  3999. END_INTERFACE
  4000. } IQualityControlVtbl;
  4001. interface IQualityControl
  4002. {
  4003. CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  4004. };
  4005. #ifdef COBJMACROS
  4006. #define IQualityControl_QueryInterface(This,riid,ppvObject) \
  4007. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4008. #define IQualityControl_AddRef(This) \
  4009. (This)->lpVtbl -> AddRef(This)
  4010. #define IQualityControl_Release(This) \
  4011. (This)->lpVtbl -> Release(This)
  4012. #define IQualityControl_Notify(This,pSelf,q) \
  4013. (This)->lpVtbl -> Notify(This,pSelf,q)
  4014. #define IQualityControl_SetSink(This,piqc) \
  4015. (This)->lpVtbl -> SetSink(This,piqc)
  4016. #endif /* COBJMACROS */
  4017. #endif /* C style interface */
  4018. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(
  4019. IQualityControl * This,
  4020. /* [in] */ IBaseFilter *pSelf,
  4021. /* [in] */ Quality q);
  4022. void __RPC_STUB IQualityControl_Notify_Stub(
  4023. IRpcStubBuffer *This,
  4024. IRpcChannelBuffer *_pRpcChannelBuffer,
  4025. PRPC_MESSAGE _pRpcMessage,
  4026. DWORD *_pdwStubPhase);
  4027. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(
  4028. IQualityControl * This,
  4029. /* [in] */ IQualityControl *piqc);
  4030. void __RPC_STUB IQualityControl_SetSink_Stub(
  4031. IRpcStubBuffer *This,
  4032. IRpcChannelBuffer *_pRpcChannelBuffer,
  4033. PRPC_MESSAGE _pRpcMessage,
  4034. DWORD *_pdwStubPhase);
  4035. #endif /* __IQualityControl_INTERFACE_DEFINED__ */
  4036. /* interface __MIDL_itf_strmif_0142 */
  4037. /* [local] */
  4038. enum __MIDL___MIDL_itf_strmif_0142_0001
  4039. { CK_NOCOLORKEY = 0,
  4040. CK_INDEX = 0x1,
  4041. CK_RGB = 0x2
  4042. } ;
  4043. typedef struct tagCOLORKEY
  4044. {
  4045. DWORD KeyType;
  4046. DWORD PaletteIndex;
  4047. COLORREF LowColorValue;
  4048. COLORREF HighColorValue;
  4049. } COLORKEY;
  4050. enum __MIDL___MIDL_itf_strmif_0142_0002
  4051. { ADVISE_NONE = 0,
  4052. ADVISE_CLIPPING = 0x1,
  4053. ADVISE_PALETTE = 0x2,
  4054. ADVISE_COLORKEY = 0x4,
  4055. ADVISE_POSITION = 0x8,
  4056. ADVISE_DISPLAY_CHANGE = 0x10
  4057. } ;
  4058. #define ADVISE_ALL ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  4059. #define ADVISE_ALL2 ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  4060. #ifndef _WINGDI_
  4061. typedef struct _RGNDATAHEADER
  4062. {
  4063. DWORD dwSize;
  4064. DWORD iType;
  4065. DWORD nCount;
  4066. DWORD nRgnSize;
  4067. RECT rcBound;
  4068. } RGNDATAHEADER;
  4069. typedef struct _RGNDATA
  4070. {
  4071. RGNDATAHEADER rdh;
  4072. char Buffer[ 1 ];
  4073. } RGNDATA;
  4074. #endif
  4075. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  4076. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  4077. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  4078. #define __IOverlayNotify_INTERFACE_DEFINED__
  4079. /* interface IOverlayNotify */
  4080. /* [unique][uuid][local][object] */
  4081. EXTERN_C const IID IID_IOverlayNotify;
  4082. #if defined(__cplusplus) && !defined(CINTERFACE)
  4083. MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  4084. IOverlayNotify : public IUnknown
  4085. {
  4086. public:
  4087. virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
  4088. /* [in] */ DWORD dwColors,
  4089. /* [in] */ const PALETTEENTRY *pPalette) = 0;
  4090. virtual HRESULT STDMETHODCALLTYPE OnClipChange(
  4091. /* [in] */ const RECT *pSourceRect,
  4092. /* [in] */ const RECT *pDestinationRect,
  4093. /* [in] */ const RGNDATA *pRgnData) = 0;
  4094. virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
  4095. /* [in] */ const COLORKEY *pColorKey) = 0;
  4096. virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
  4097. /* [in] */ const RECT *pSourceRect,
  4098. /* [in] */ const RECT *pDestinationRect) = 0;
  4099. };
  4100. #else /* C style interface */
  4101. typedef struct IOverlayNotifyVtbl
  4102. {
  4103. BEGIN_INTERFACE
  4104. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4105. IOverlayNotify * This,
  4106. /* [in] */ REFIID riid,
  4107. /* [iid_is][out] */ void **ppvObject);
  4108. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4109. IOverlayNotify * This);
  4110. ULONG ( STDMETHODCALLTYPE *Release )(
  4111. IOverlayNotify * This);
  4112. HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
  4113. IOverlayNotify * This,
  4114. /* [in] */ DWORD dwColors,
  4115. /* [in] */ const PALETTEENTRY *pPalette);
  4116. HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
  4117. IOverlayNotify * This,
  4118. /* [in] */ const RECT *pSourceRect,
  4119. /* [in] */ const RECT *pDestinationRect,
  4120. /* [in] */ const RGNDATA *pRgnData);
  4121. HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
  4122. IOverlayNotify * This,
  4123. /* [in] */ const COLORKEY *pColorKey);
  4124. HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
  4125. IOverlayNotify * This,
  4126. /* [in] */ const RECT *pSourceRect,
  4127. /* [in] */ const RECT *pDestinationRect);
  4128. END_INTERFACE
  4129. } IOverlayNotifyVtbl;
  4130. interface IOverlayNotify
  4131. {
  4132. CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  4133. };
  4134. #ifdef COBJMACROS
  4135. #define IOverlayNotify_QueryInterface(This,riid,ppvObject) \
  4136. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4137. #define IOverlayNotify_AddRef(This) \
  4138. (This)->lpVtbl -> AddRef(This)
  4139. #define IOverlayNotify_Release(This) \
  4140. (This)->lpVtbl -> Release(This)
  4141. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) \
  4142. (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  4143. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) \
  4144. (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  4145. #define IOverlayNotify_OnColorKeyChange(This,pColorKey) \
  4146. (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  4147. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) \
  4148. (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  4149. #endif /* COBJMACROS */
  4150. #endif /* C style interface */
  4151. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(
  4152. IOverlayNotify * This,
  4153. /* [in] */ DWORD dwColors,
  4154. /* [in] */ const PALETTEENTRY *pPalette);
  4155. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  4156. IRpcStubBuffer *This,
  4157. IRpcChannelBuffer *_pRpcChannelBuffer,
  4158. PRPC_MESSAGE _pRpcMessage,
  4159. DWORD *_pdwStubPhase);
  4160. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(
  4161. IOverlayNotify * This,
  4162. /* [in] */ const RECT *pSourceRect,
  4163. /* [in] */ const RECT *pDestinationRect,
  4164. /* [in] */ const RGNDATA *pRgnData);
  4165. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  4166. IRpcStubBuffer *This,
  4167. IRpcChannelBuffer *_pRpcChannelBuffer,
  4168. PRPC_MESSAGE _pRpcMessage,
  4169. DWORD *_pdwStubPhase);
  4170. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(
  4171. IOverlayNotify * This,
  4172. /* [in] */ const COLORKEY *pColorKey);
  4173. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  4174. IRpcStubBuffer *This,
  4175. IRpcChannelBuffer *_pRpcChannelBuffer,
  4176. PRPC_MESSAGE _pRpcMessage,
  4177. DWORD *_pdwStubPhase);
  4178. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(
  4179. IOverlayNotify * This,
  4180. /* [in] */ const RECT *pSourceRect,
  4181. /* [in] */ const RECT *pDestinationRect);
  4182. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  4183. IRpcStubBuffer *This,
  4184. IRpcChannelBuffer *_pRpcChannelBuffer,
  4185. PRPC_MESSAGE _pRpcMessage,
  4186. DWORD *_pdwStubPhase);
  4187. #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */
  4188. /* interface __MIDL_itf_strmif_0143 */
  4189. /* [local] */
  4190. typedef IOverlayNotify *POVERLAYNOTIFY;
  4191. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  4192. #define HMONITOR_DECLARED
  4193. #if 0
  4194. typedef HANDLE HMONITOR;
  4195. #endif
  4196. DECLARE_HANDLE(HMONITOR);
  4197. #endif
  4198. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
  4199. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
  4200. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  4201. #define __IOverlayNotify2_INTERFACE_DEFINED__
  4202. /* interface IOverlayNotify2 */
  4203. /* [unique][uuid][local][object] */
  4204. EXTERN_C const IID IID_IOverlayNotify2;
  4205. #if defined(__cplusplus) && !defined(CINTERFACE)
  4206. MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  4207. IOverlayNotify2 : public IOverlayNotify
  4208. {
  4209. public:
  4210. virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
  4211. HMONITOR hMonitor) = 0;
  4212. };
  4213. #else /* C style interface */
  4214. typedef struct IOverlayNotify2Vtbl
  4215. {
  4216. BEGIN_INTERFACE
  4217. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4218. IOverlayNotify2 * This,
  4219. /* [in] */ REFIID riid,
  4220. /* [iid_is][out] */ void **ppvObject);
  4221. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4222. IOverlayNotify2 * This);
  4223. ULONG ( STDMETHODCALLTYPE *Release )(
  4224. IOverlayNotify2 * This);
  4225. HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
  4226. IOverlayNotify2 * This,
  4227. /* [in] */ DWORD dwColors,
  4228. /* [in] */ const PALETTEENTRY *pPalette);
  4229. HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
  4230. IOverlayNotify2 * This,
  4231. /* [in] */ const RECT *pSourceRect,
  4232. /* [in] */ const RECT *pDestinationRect,
  4233. /* [in] */ const RGNDATA *pRgnData);
  4234. HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
  4235. IOverlayNotify2 * This,
  4236. /* [in] */ const COLORKEY *pColorKey);
  4237. HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
  4238. IOverlayNotify2 * This,
  4239. /* [in] */ const RECT *pSourceRect,
  4240. /* [in] */ const RECT *pDestinationRect);
  4241. HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )(
  4242. IOverlayNotify2 * This,
  4243. HMONITOR hMonitor);
  4244. END_INTERFACE
  4245. } IOverlayNotify2Vtbl;
  4246. interface IOverlayNotify2
  4247. {
  4248. CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  4249. };
  4250. #ifdef COBJMACROS
  4251. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) \
  4252. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4253. #define IOverlayNotify2_AddRef(This) \
  4254. (This)->lpVtbl -> AddRef(This)
  4255. #define IOverlayNotify2_Release(This) \
  4256. (This)->lpVtbl -> Release(This)
  4257. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) \
  4258. (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  4259. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) \
  4260. (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  4261. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) \
  4262. (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  4263. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) \
  4264. (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  4265. #define IOverlayNotify2_OnDisplayChange(This,hMonitor) \
  4266. (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  4267. #endif /* COBJMACROS */
  4268. #endif /* C style interface */
  4269. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(
  4270. IOverlayNotify2 * This,
  4271. HMONITOR hMonitor);
  4272. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  4273. IRpcStubBuffer *This,
  4274. IRpcChannelBuffer *_pRpcChannelBuffer,
  4275. PRPC_MESSAGE _pRpcMessage,
  4276. DWORD *_pdwStubPhase);
  4277. #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  4278. /* interface __MIDL_itf_strmif_0144 */
  4279. /* [local] */
  4280. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  4281. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  4282. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  4283. #ifndef __IOverlay_INTERFACE_DEFINED__
  4284. #define __IOverlay_INTERFACE_DEFINED__
  4285. /* interface IOverlay */
  4286. /* [unique][uuid][local][object] */
  4287. EXTERN_C const IID IID_IOverlay;
  4288. #if defined(__cplusplus) && !defined(CINTERFACE)
  4289. MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  4290. IOverlay : public IUnknown
  4291. {
  4292. public:
  4293. virtual HRESULT STDMETHODCALLTYPE GetPalette(
  4294. /* [out] */ DWORD *pdwColors,
  4295. /* [out] */ PALETTEENTRY **ppPalette) = 0;
  4296. virtual HRESULT STDMETHODCALLTYPE SetPalette(
  4297. /* [in] */ DWORD dwColors,
  4298. /* [in] */ PALETTEENTRY *pPalette) = 0;
  4299. virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
  4300. /* [out] */ COLORKEY *pColorKey) = 0;
  4301. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  4302. /* [out] */ COLORKEY *pColorKey) = 0;
  4303. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  4304. /* [out][in] */ COLORKEY *pColorKey) = 0;
  4305. virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
  4306. /* [out] */ HWND *pHwnd) = 0;
  4307. virtual HRESULT STDMETHODCALLTYPE GetClipList(
  4308. /* [out] */ RECT *pSourceRect,
  4309. /* [out] */ RECT *pDestinationRect,
  4310. /* [out] */ RGNDATA **ppRgnData) = 0;
  4311. virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
  4312. /* [out] */ RECT *pSourceRect,
  4313. /* [out] */ RECT *pDestinationRect) = 0;
  4314. virtual HRESULT STDMETHODCALLTYPE Advise(
  4315. /* [in] */ IOverlayNotify *pOverlayNotify,
  4316. /* [in] */ DWORD dwInterests) = 0;
  4317. virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  4318. };
  4319. #else /* C style interface */
  4320. typedef struct IOverlayVtbl
  4321. {
  4322. BEGIN_INTERFACE
  4323. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4324. IOverlay * This,
  4325. /* [in] */ REFIID riid,
  4326. /* [iid_is][out] */ void **ppvObject);
  4327. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4328. IOverlay * This);
  4329. ULONG ( STDMETHODCALLTYPE *Release )(
  4330. IOverlay * This);
  4331. HRESULT ( STDMETHODCALLTYPE *GetPalette )(
  4332. IOverlay * This,
  4333. /* [out] */ DWORD *pdwColors,
  4334. /* [out] */ PALETTEENTRY **ppPalette);
  4335. HRESULT ( STDMETHODCALLTYPE *SetPalette )(
  4336. IOverlay * This,
  4337. /* [in] */ DWORD dwColors,
  4338. /* [in] */ PALETTEENTRY *pPalette);
  4339. HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )(
  4340. IOverlay * This,
  4341. /* [out] */ COLORKEY *pColorKey);
  4342. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  4343. IOverlay * This,
  4344. /* [out] */ COLORKEY *pColorKey);
  4345. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  4346. IOverlay * This,
  4347. /* [out][in] */ COLORKEY *pColorKey);
  4348. HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )(
  4349. IOverlay * This,
  4350. /* [out] */ HWND *pHwnd);
  4351. HRESULT ( STDMETHODCALLTYPE *GetClipList )(
  4352. IOverlay * This,
  4353. /* [out] */ RECT *pSourceRect,
  4354. /* [out] */ RECT *pDestinationRect,
  4355. /* [out] */ RGNDATA **ppRgnData);
  4356. HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
  4357. IOverlay * This,
  4358. /* [out] */ RECT *pSourceRect,
  4359. /* [out] */ RECT *pDestinationRect);
  4360. HRESULT ( STDMETHODCALLTYPE *Advise )(
  4361. IOverlay * This,
  4362. /* [in] */ IOverlayNotify *pOverlayNotify,
  4363. /* [in] */ DWORD dwInterests);
  4364. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  4365. IOverlay * This);
  4366. END_INTERFACE
  4367. } IOverlayVtbl;
  4368. interface IOverlay
  4369. {
  4370. CONST_VTBL struct IOverlayVtbl *lpVtbl;
  4371. };
  4372. #ifdef COBJMACROS
  4373. #define IOverlay_QueryInterface(This,riid,ppvObject) \
  4374. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4375. #define IOverlay_AddRef(This) \
  4376. (This)->lpVtbl -> AddRef(This)
  4377. #define IOverlay_Release(This) \
  4378. (This)->lpVtbl -> Release(This)
  4379. #define IOverlay_GetPalette(This,pdwColors,ppPalette) \
  4380. (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  4381. #define IOverlay_SetPalette(This,dwColors,pPalette) \
  4382. (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  4383. #define IOverlay_GetDefaultColorKey(This,pColorKey) \
  4384. (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  4385. #define IOverlay_GetColorKey(This,pColorKey) \
  4386. (This)->lpVtbl -> GetColorKey(This,pColorKey)
  4387. #define IOverlay_SetColorKey(This,pColorKey) \
  4388. (This)->lpVtbl -> SetColorKey(This,pColorKey)
  4389. #define IOverlay_GetWindowHandle(This,pHwnd) \
  4390. (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  4391. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) \
  4392. (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  4393. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) \
  4394. (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  4395. #define IOverlay_Advise(This,pOverlayNotify,dwInterests) \
  4396. (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  4397. #define IOverlay_Unadvise(This) \
  4398. (This)->lpVtbl -> Unadvise(This)
  4399. #endif /* COBJMACROS */
  4400. #endif /* C style interface */
  4401. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(
  4402. IOverlay * This,
  4403. /* [out] */ DWORD *pdwColors,
  4404. /* [out] */ PALETTEENTRY **ppPalette);
  4405. void __RPC_STUB IOverlay_GetPalette_Stub(
  4406. IRpcStubBuffer *This,
  4407. IRpcChannelBuffer *_pRpcChannelBuffer,
  4408. PRPC_MESSAGE _pRpcMessage,
  4409. DWORD *_pdwStubPhase);
  4410. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(
  4411. IOverlay * This,
  4412. /* [in] */ DWORD dwColors,
  4413. /* [in] */ PALETTEENTRY *pPalette);
  4414. void __RPC_STUB IOverlay_SetPalette_Stub(
  4415. IRpcStubBuffer *This,
  4416. IRpcChannelBuffer *_pRpcChannelBuffer,
  4417. PRPC_MESSAGE _pRpcMessage,
  4418. DWORD *_pdwStubPhase);
  4419. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(
  4420. IOverlay * This,
  4421. /* [out] */ COLORKEY *pColorKey);
  4422. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  4423. IRpcStubBuffer *This,
  4424. IRpcChannelBuffer *_pRpcChannelBuffer,
  4425. PRPC_MESSAGE _pRpcMessage,
  4426. DWORD *_pdwStubPhase);
  4427. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(
  4428. IOverlay * This,
  4429. /* [out] */ COLORKEY *pColorKey);
  4430. void __RPC_STUB IOverlay_GetColorKey_Stub(
  4431. IRpcStubBuffer *This,
  4432. IRpcChannelBuffer *_pRpcChannelBuffer,
  4433. PRPC_MESSAGE _pRpcMessage,
  4434. DWORD *_pdwStubPhase);
  4435. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(
  4436. IOverlay * This,
  4437. /* [out][in] */ COLORKEY *pColorKey);
  4438. void __RPC_STUB IOverlay_SetColorKey_Stub(
  4439. IRpcStubBuffer *This,
  4440. IRpcChannelBuffer *_pRpcChannelBuffer,
  4441. PRPC_MESSAGE _pRpcMessage,
  4442. DWORD *_pdwStubPhase);
  4443. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(
  4444. IOverlay * This,
  4445. /* [out] */ HWND *pHwnd);
  4446. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  4447. IRpcStubBuffer *This,
  4448. IRpcChannelBuffer *_pRpcChannelBuffer,
  4449. PRPC_MESSAGE _pRpcMessage,
  4450. DWORD *_pdwStubPhase);
  4451. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(
  4452. IOverlay * This,
  4453. /* [out] */ RECT *pSourceRect,
  4454. /* [out] */ RECT *pDestinationRect,
  4455. /* [out] */ RGNDATA **ppRgnData);
  4456. void __RPC_STUB IOverlay_GetClipList_Stub(
  4457. IRpcStubBuffer *This,
  4458. IRpcChannelBuffer *_pRpcChannelBuffer,
  4459. PRPC_MESSAGE _pRpcMessage,
  4460. DWORD *_pdwStubPhase);
  4461. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(
  4462. IOverlay * This,
  4463. /* [out] */ RECT *pSourceRect,
  4464. /* [out] */ RECT *pDestinationRect);
  4465. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  4466. IRpcStubBuffer *This,
  4467. IRpcChannelBuffer *_pRpcChannelBuffer,
  4468. PRPC_MESSAGE _pRpcMessage,
  4469. DWORD *_pdwStubPhase);
  4470. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(
  4471. IOverlay * This,
  4472. /* [in] */ IOverlayNotify *pOverlayNotify,
  4473. /* [in] */ DWORD dwInterests);
  4474. void __RPC_STUB IOverlay_Advise_Stub(
  4475. IRpcStubBuffer *This,
  4476. IRpcChannelBuffer *_pRpcChannelBuffer,
  4477. PRPC_MESSAGE _pRpcMessage,
  4478. DWORD *_pdwStubPhase);
  4479. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(
  4480. IOverlay * This);
  4481. void __RPC_STUB IOverlay_Unadvise_Stub(
  4482. IRpcStubBuffer *This,
  4483. IRpcChannelBuffer *_pRpcChannelBuffer,
  4484. PRPC_MESSAGE _pRpcMessage,
  4485. DWORD *_pdwStubPhase);
  4486. #endif /* __IOverlay_INTERFACE_DEFINED__ */
  4487. /* interface __MIDL_itf_strmif_0145 */
  4488. /* [local] */
  4489. typedef IOverlay *POVERLAY;
  4490. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
  4491. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
  4492. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  4493. #define __IMediaEventSink_INTERFACE_DEFINED__
  4494. /* interface IMediaEventSink */
  4495. /* [unique][uuid][object] */
  4496. EXTERN_C const IID IID_IMediaEventSink;
  4497. #if defined(__cplusplus) && !defined(CINTERFACE)
  4498. MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  4499. IMediaEventSink : public IUnknown
  4500. {
  4501. public:
  4502. virtual HRESULT STDMETHODCALLTYPE Notify(
  4503. /* [in] */ long EventCode,
  4504. /* [in] */ LONG_PTR EventParam1,
  4505. /* [in] */ LONG_PTR EventParam2) = 0;
  4506. };
  4507. #else /* C style interface */
  4508. typedef struct IMediaEventSinkVtbl
  4509. {
  4510. BEGIN_INTERFACE
  4511. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4512. IMediaEventSink * This,
  4513. /* [in] */ REFIID riid,
  4514. /* [iid_is][out] */ void **ppvObject);
  4515. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4516. IMediaEventSink * This);
  4517. ULONG ( STDMETHODCALLTYPE *Release )(
  4518. IMediaEventSink * This);
  4519. HRESULT ( STDMETHODCALLTYPE *Notify )(
  4520. IMediaEventSink * This,
  4521. /* [in] */ long EventCode,
  4522. /* [in] */ LONG_PTR EventParam1,
  4523. /* [in] */ LONG_PTR EventParam2);
  4524. END_INTERFACE
  4525. } IMediaEventSinkVtbl;
  4526. interface IMediaEventSink
  4527. {
  4528. CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  4529. };
  4530. #ifdef COBJMACROS
  4531. #define IMediaEventSink_QueryInterface(This,riid,ppvObject) \
  4532. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4533. #define IMediaEventSink_AddRef(This) \
  4534. (This)->lpVtbl -> AddRef(This)
  4535. #define IMediaEventSink_Release(This) \
  4536. (This)->lpVtbl -> Release(This)
  4537. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) \
  4538. (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  4539. #endif /* COBJMACROS */
  4540. #endif /* C style interface */
  4541. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(
  4542. IMediaEventSink * This,
  4543. /* [in] */ long EventCode,
  4544. /* [in] */ LONG_PTR EventParam1,
  4545. /* [in] */ LONG_PTR EventParam2);
  4546. void __RPC_STUB IMediaEventSink_Notify_Stub(
  4547. IRpcStubBuffer *This,
  4548. IRpcChannelBuffer *_pRpcChannelBuffer,
  4549. PRPC_MESSAGE _pRpcMessage,
  4550. DWORD *_pdwStubPhase);
  4551. #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */
  4552. /* interface __MIDL_itf_strmif_0146 */
  4553. /* [local] */
  4554. typedef IMediaEventSink *PMEDIAEVENTSINK;
  4555. extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_c_ifspec;
  4556. extern RPC_IF_HANDLE __MIDL_itf_strmif_0146_v0_0_s_ifspec;
  4557. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  4558. #define __IFileSourceFilter_INTERFACE_DEFINED__
  4559. /* interface IFileSourceFilter */
  4560. /* [unique][uuid][object] */
  4561. EXTERN_C const IID IID_IFileSourceFilter;
  4562. #if defined(__cplusplus) && !defined(CINTERFACE)
  4563. MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  4564. IFileSourceFilter : public IUnknown
  4565. {
  4566. public:
  4567. virtual HRESULT STDMETHODCALLTYPE Load(
  4568. /* [in] */ LPCOLESTR pszFileName,
  4569. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  4570. virtual HRESULT STDMETHODCALLTYPE GetCurFile(
  4571. /* [out] */ LPOLESTR *ppszFileName,
  4572. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  4573. };
  4574. #else /* C style interface */
  4575. typedef struct IFileSourceFilterVtbl
  4576. {
  4577. BEGIN_INTERFACE
  4578. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4579. IFileSourceFilter * This,
  4580. /* [in] */ REFIID riid,
  4581. /* [iid_is][out] */ void **ppvObject);
  4582. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4583. IFileSourceFilter * This);
  4584. ULONG ( STDMETHODCALLTYPE *Release )(
  4585. IFileSourceFilter * This);
  4586. HRESULT ( STDMETHODCALLTYPE *Load )(
  4587. IFileSourceFilter * This,
  4588. /* [in] */ LPCOLESTR pszFileName,
  4589. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4590. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4591. IFileSourceFilter * This,
  4592. /* [out] */ LPOLESTR *ppszFileName,
  4593. /* [out] */ AM_MEDIA_TYPE *pmt);
  4594. END_INTERFACE
  4595. } IFileSourceFilterVtbl;
  4596. interface IFileSourceFilter
  4597. {
  4598. CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  4599. };
  4600. #ifdef COBJMACROS
  4601. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) \
  4602. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4603. #define IFileSourceFilter_AddRef(This) \
  4604. (This)->lpVtbl -> AddRef(This)
  4605. #define IFileSourceFilter_Release(This) \
  4606. (This)->lpVtbl -> Release(This)
  4607. #define IFileSourceFilter_Load(This,pszFileName,pmt) \
  4608. (This)->lpVtbl -> Load(This,pszFileName,pmt)
  4609. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) \
  4610. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4611. #endif /* COBJMACROS */
  4612. #endif /* C style interface */
  4613. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(
  4614. IFileSourceFilter * This,
  4615. /* [in] */ LPCOLESTR pszFileName,
  4616. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4617. void __RPC_STUB IFileSourceFilter_Load_Stub(
  4618. IRpcStubBuffer *This,
  4619. IRpcChannelBuffer *_pRpcChannelBuffer,
  4620. PRPC_MESSAGE _pRpcMessage,
  4621. DWORD *_pdwStubPhase);
  4622. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(
  4623. IFileSourceFilter * This,
  4624. /* [out] */ LPOLESTR *ppszFileName,
  4625. /* [out] */ AM_MEDIA_TYPE *pmt);
  4626. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  4627. IRpcStubBuffer *This,
  4628. IRpcChannelBuffer *_pRpcChannelBuffer,
  4629. PRPC_MESSAGE _pRpcMessage,
  4630. DWORD *_pdwStubPhase);
  4631. #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  4632. /* interface __MIDL_itf_strmif_0147 */
  4633. /* [local] */
  4634. typedef IFileSourceFilter *PFILTERFILESOURCE;
  4635. extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_c_ifspec;
  4636. extern RPC_IF_HANDLE __MIDL_itf_strmif_0147_v0_0_s_ifspec;
  4637. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  4638. #define __IFileSinkFilter_INTERFACE_DEFINED__
  4639. /* interface IFileSinkFilter */
  4640. /* [unique][uuid][object] */
  4641. EXTERN_C const IID IID_IFileSinkFilter;
  4642. #if defined(__cplusplus) && !defined(CINTERFACE)
  4643. MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  4644. IFileSinkFilter : public IUnknown
  4645. {
  4646. public:
  4647. virtual HRESULT STDMETHODCALLTYPE SetFileName(
  4648. /* [in] */ LPCOLESTR pszFileName,
  4649. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  4650. virtual HRESULT STDMETHODCALLTYPE GetCurFile(
  4651. /* [out] */ LPOLESTR *ppszFileName,
  4652. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  4653. };
  4654. #else /* C style interface */
  4655. typedef struct IFileSinkFilterVtbl
  4656. {
  4657. BEGIN_INTERFACE
  4658. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4659. IFileSinkFilter * This,
  4660. /* [in] */ REFIID riid,
  4661. /* [iid_is][out] */ void **ppvObject);
  4662. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4663. IFileSinkFilter * This);
  4664. ULONG ( STDMETHODCALLTYPE *Release )(
  4665. IFileSinkFilter * This);
  4666. HRESULT ( STDMETHODCALLTYPE *SetFileName )(
  4667. IFileSinkFilter * This,
  4668. /* [in] */ LPCOLESTR pszFileName,
  4669. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4670. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4671. IFileSinkFilter * This,
  4672. /* [out] */ LPOLESTR *ppszFileName,
  4673. /* [out] */ AM_MEDIA_TYPE *pmt);
  4674. END_INTERFACE
  4675. } IFileSinkFilterVtbl;
  4676. interface IFileSinkFilter
  4677. {
  4678. CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  4679. };
  4680. #ifdef COBJMACROS
  4681. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) \
  4682. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4683. #define IFileSinkFilter_AddRef(This) \
  4684. (This)->lpVtbl -> AddRef(This)
  4685. #define IFileSinkFilter_Release(This) \
  4686. (This)->lpVtbl -> Release(This)
  4687. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) \
  4688. (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  4689. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) \
  4690. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4691. #endif /* COBJMACROS */
  4692. #endif /* C style interface */
  4693. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(
  4694. IFileSinkFilter * This,
  4695. /* [in] */ LPCOLESTR pszFileName,
  4696. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4697. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  4698. IRpcStubBuffer *This,
  4699. IRpcChannelBuffer *_pRpcChannelBuffer,
  4700. PRPC_MESSAGE _pRpcMessage,
  4701. DWORD *_pdwStubPhase);
  4702. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(
  4703. IFileSinkFilter * This,
  4704. /* [out] */ LPOLESTR *ppszFileName,
  4705. /* [out] */ AM_MEDIA_TYPE *pmt);
  4706. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  4707. IRpcStubBuffer *This,
  4708. IRpcChannelBuffer *_pRpcChannelBuffer,
  4709. PRPC_MESSAGE _pRpcMessage,
  4710. DWORD *_pdwStubPhase);
  4711. #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  4712. /* interface __MIDL_itf_strmif_0148 */
  4713. /* [local] */
  4714. typedef IFileSinkFilter *PFILTERFILESINK;
  4715. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;
  4716. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;
  4717. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  4718. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  4719. /* interface IFileSinkFilter2 */
  4720. /* [unique][uuid][object] */
  4721. EXTERN_C const IID IID_IFileSinkFilter2;
  4722. #if defined(__cplusplus) && !defined(CINTERFACE)
  4723. MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  4724. IFileSinkFilter2 : public IFileSinkFilter
  4725. {
  4726. public:
  4727. virtual HRESULT STDMETHODCALLTYPE SetMode(
  4728. /* [in] */ DWORD dwFlags) = 0;
  4729. virtual HRESULT STDMETHODCALLTYPE GetMode(
  4730. /* [out] */ DWORD *pdwFlags) = 0;
  4731. };
  4732. #else /* C style interface */
  4733. typedef struct IFileSinkFilter2Vtbl
  4734. {
  4735. BEGIN_INTERFACE
  4736. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4737. IFileSinkFilter2 * This,
  4738. /* [in] */ REFIID riid,
  4739. /* [iid_is][out] */ void **ppvObject);
  4740. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4741. IFileSinkFilter2 * This);
  4742. ULONG ( STDMETHODCALLTYPE *Release )(
  4743. IFileSinkFilter2 * This);
  4744. HRESULT ( STDMETHODCALLTYPE *SetFileName )(
  4745. IFileSinkFilter2 * This,
  4746. /* [in] */ LPCOLESTR pszFileName,
  4747. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4748. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4749. IFileSinkFilter2 * This,
  4750. /* [out] */ LPOLESTR *ppszFileName,
  4751. /* [out] */ AM_MEDIA_TYPE *pmt);
  4752. HRESULT ( STDMETHODCALLTYPE *SetMode )(
  4753. IFileSinkFilter2 * This,
  4754. /* [in] */ DWORD dwFlags);
  4755. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  4756. IFileSinkFilter2 * This,
  4757. /* [out] */ DWORD *pdwFlags);
  4758. END_INTERFACE
  4759. } IFileSinkFilter2Vtbl;
  4760. interface IFileSinkFilter2
  4761. {
  4762. CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  4763. };
  4764. #ifdef COBJMACROS
  4765. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) \
  4766. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4767. #define IFileSinkFilter2_AddRef(This) \
  4768. (This)->lpVtbl -> AddRef(This)
  4769. #define IFileSinkFilter2_Release(This) \
  4770. (This)->lpVtbl -> Release(This)
  4771. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) \
  4772. (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  4773. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) \
  4774. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4775. #define IFileSinkFilter2_SetMode(This,dwFlags) \
  4776. (This)->lpVtbl -> SetMode(This,dwFlags)
  4777. #define IFileSinkFilter2_GetMode(This,pdwFlags) \
  4778. (This)->lpVtbl -> GetMode(This,pdwFlags)
  4779. #endif /* COBJMACROS */
  4780. #endif /* C style interface */
  4781. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(
  4782. IFileSinkFilter2 * This,
  4783. /* [in] */ DWORD dwFlags);
  4784. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  4785. IRpcStubBuffer *This,
  4786. IRpcChannelBuffer *_pRpcChannelBuffer,
  4787. PRPC_MESSAGE _pRpcMessage,
  4788. DWORD *_pdwStubPhase);
  4789. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(
  4790. IFileSinkFilter2 * This,
  4791. /* [out] */ DWORD *pdwFlags);
  4792. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  4793. IRpcStubBuffer *This,
  4794. IRpcChannelBuffer *_pRpcChannelBuffer,
  4795. PRPC_MESSAGE _pRpcMessage,
  4796. DWORD *_pdwStubPhase);
  4797. #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  4798. /* interface __MIDL_itf_strmif_0149 */
  4799. /* [local] */
  4800. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  4801. typedef /* [public] */
  4802. enum __MIDL___MIDL_itf_strmif_0149_0001
  4803. { AM_FILE_OVERWRITE = 0x1
  4804. } AM_FILESINK_FLAGS;
  4805. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
  4806. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
  4807. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  4808. #define __IGraphBuilder_INTERFACE_DEFINED__
  4809. /* interface IGraphBuilder */
  4810. /* [unique][uuid][object] */
  4811. EXTERN_C const IID IID_IGraphBuilder;
  4812. #if defined(__cplusplus) && !defined(CINTERFACE)
  4813. MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  4814. IGraphBuilder : public IFilterGraph
  4815. {
  4816. public:
  4817. virtual HRESULT STDMETHODCALLTYPE Connect(
  4818. /* [in] */ IPin *ppinOut,
  4819. /* [in] */ IPin *ppinIn) = 0;
  4820. virtual HRESULT STDMETHODCALLTYPE Render(
  4821. /* [in] */ IPin *ppinOut) = 0;
  4822. virtual HRESULT STDMETHODCALLTYPE RenderFile(
  4823. /* [in] */ LPCWSTR lpcwstrFile,
  4824. /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  4825. virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
  4826. /* [in] */ LPCWSTR lpcwstrFileName,
  4827. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4828. /* [out] */ IBaseFilter **ppFilter) = 0;
  4829. virtual HRESULT STDMETHODCALLTYPE SetLogFile(
  4830. /* [in] */ DWORD_PTR hFile) = 0;
  4831. virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  4832. virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  4833. };
  4834. #else /* C style interface */
  4835. typedef struct IGraphBuilderVtbl
  4836. {
  4837. BEGIN_INTERFACE
  4838. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4839. IGraphBuilder * This,
  4840. /* [in] */ REFIID riid,
  4841. /* [iid_is][out] */ void **ppvObject);
  4842. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4843. IGraphBuilder * This);
  4844. ULONG ( STDMETHODCALLTYPE *Release )(
  4845. IGraphBuilder * This);
  4846. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  4847. IGraphBuilder * This,
  4848. /* [in] */ IBaseFilter *pFilter,
  4849. /* [string][in] */ LPCWSTR pName);
  4850. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  4851. IGraphBuilder * This,
  4852. /* [in] */ IBaseFilter *pFilter);
  4853. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  4854. IGraphBuilder * This,
  4855. /* [out] */ IEnumFilters **ppEnum);
  4856. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  4857. IGraphBuilder * This,
  4858. /* [string][in] */ LPCWSTR pName,
  4859. /* [out] */ IBaseFilter **ppFilter);
  4860. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  4861. IGraphBuilder * This,
  4862. /* [in] */ IPin *ppinOut,
  4863. /* [in] */ IPin *ppinIn,
  4864. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4865. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  4866. IGraphBuilder * This,
  4867. /* [in] */ IPin *ppin);
  4868. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  4869. IGraphBuilder * This,
  4870. /* [in] */ IPin *ppin);
  4871. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  4872. IGraphBuilder * This);
  4873. HRESULT ( STDMETHODCALLTYPE *Connect )(
  4874. IGraphBuilder * This,
  4875. /* [in] */ IPin *ppinOut,
  4876. /* [in] */ IPin *ppinIn);
  4877. HRESULT ( STDMETHODCALLTYPE *Render )(
  4878. IGraphBuilder * This,
  4879. /* [in] */ IPin *ppinOut);
  4880. HRESULT ( STDMETHODCALLTYPE *RenderFile )(
  4881. IGraphBuilder * This,
  4882. /* [in] */ LPCWSTR lpcwstrFile,
  4883. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  4884. HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
  4885. IGraphBuilder * This,
  4886. /* [in] */ LPCWSTR lpcwstrFileName,
  4887. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4888. /* [out] */ IBaseFilter **ppFilter);
  4889. HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
  4890. IGraphBuilder * This,
  4891. /* [in] */ DWORD_PTR hFile);
  4892. HRESULT ( STDMETHODCALLTYPE *Abort )(
  4893. IGraphBuilder * This);
  4894. HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
  4895. IGraphBuilder * This);
  4896. END_INTERFACE
  4897. } IGraphBuilderVtbl;
  4898. interface IGraphBuilder
  4899. {
  4900. CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  4901. };
  4902. #ifdef COBJMACROS
  4903. #define IGraphBuilder_QueryInterface(This,riid,ppvObject) \
  4904. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4905. #define IGraphBuilder_AddRef(This) \
  4906. (This)->lpVtbl -> AddRef(This)
  4907. #define IGraphBuilder_Release(This) \
  4908. (This)->lpVtbl -> Release(This)
  4909. #define IGraphBuilder_AddFilter(This,pFilter,pName) \
  4910. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  4911. #define IGraphBuilder_RemoveFilter(This,pFilter) \
  4912. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  4913. #define IGraphBuilder_EnumFilters(This,ppEnum) \
  4914. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  4915. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) \
  4916. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  4917. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  4918. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  4919. #define IGraphBuilder_Reconnect(This,ppin) \
  4920. (This)->lpVtbl -> Reconnect(This,ppin)
  4921. #define IGraphBuilder_Disconnect(This,ppin) \
  4922. (This)->lpVtbl -> Disconnect(This,ppin)
  4923. #define IGraphBuilder_SetDefaultSyncSource(This) \
  4924. (This)->lpVtbl -> SetDefaultSyncSource(This)
  4925. #define IGraphBuilder_Connect(This,ppinOut,ppinIn) \
  4926. (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  4927. #define IGraphBuilder_Render(This,ppinOut) \
  4928. (This)->lpVtbl -> Render(This,ppinOut)
  4929. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) \
  4930. (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  4931. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) \
  4932. (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  4933. #define IGraphBuilder_SetLogFile(This,hFile) \
  4934. (This)->lpVtbl -> SetLogFile(This,hFile)
  4935. #define IGraphBuilder_Abort(This) \
  4936. (This)->lpVtbl -> Abort(This)
  4937. #define IGraphBuilder_ShouldOperationContinue(This) \
  4938. (This)->lpVtbl -> ShouldOperationContinue(This)
  4939. #endif /* COBJMACROS */
  4940. #endif /* C style interface */
  4941. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(
  4942. IGraphBuilder * This,
  4943. /* [in] */ IPin *ppinOut,
  4944. /* [in] */ IPin *ppinIn);
  4945. void __RPC_STUB IGraphBuilder_Connect_Stub(
  4946. IRpcStubBuffer *This,
  4947. IRpcChannelBuffer *_pRpcChannelBuffer,
  4948. PRPC_MESSAGE _pRpcMessage,
  4949. DWORD *_pdwStubPhase);
  4950. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(
  4951. IGraphBuilder * This,
  4952. /* [in] */ IPin *ppinOut);
  4953. void __RPC_STUB IGraphBuilder_Render_Stub(
  4954. IRpcStubBuffer *This,
  4955. IRpcChannelBuffer *_pRpcChannelBuffer,
  4956. PRPC_MESSAGE _pRpcMessage,
  4957. DWORD *_pdwStubPhase);
  4958. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(
  4959. IGraphBuilder * This,
  4960. /* [in] */ LPCWSTR lpcwstrFile,
  4961. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  4962. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  4963. IRpcStubBuffer *This,
  4964. IRpcChannelBuffer *_pRpcChannelBuffer,
  4965. PRPC_MESSAGE _pRpcMessage,
  4966. DWORD *_pdwStubPhase);
  4967. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(
  4968. IGraphBuilder * This,
  4969. /* [in] */ LPCWSTR lpcwstrFileName,
  4970. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4971. /* [out] */ IBaseFilter **ppFilter);
  4972. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  4973. IRpcStubBuffer *This,
  4974. IRpcChannelBuffer *_pRpcChannelBuffer,
  4975. PRPC_MESSAGE _pRpcMessage,
  4976. DWORD *_pdwStubPhase);
  4977. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(
  4978. IGraphBuilder * This,
  4979. /* [in] */ DWORD_PTR hFile);
  4980. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  4981. IRpcStubBuffer *This,
  4982. IRpcChannelBuffer *_pRpcChannelBuffer,
  4983. PRPC_MESSAGE _pRpcMessage,
  4984. DWORD *_pdwStubPhase);
  4985. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(
  4986. IGraphBuilder * This);
  4987. void __RPC_STUB IGraphBuilder_Abort_Stub(
  4988. IRpcStubBuffer *This,
  4989. IRpcChannelBuffer *_pRpcChannelBuffer,
  4990. PRPC_MESSAGE _pRpcMessage,
  4991. DWORD *_pdwStubPhase);
  4992. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(
  4993. IGraphBuilder * This);
  4994. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  4995. IRpcStubBuffer *This,
  4996. IRpcChannelBuffer *_pRpcChannelBuffer,
  4997. PRPC_MESSAGE _pRpcMessage,
  4998. DWORD *_pdwStubPhase);
  4999. #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */
  5000. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  5001. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  5002. /* interface ICaptureGraphBuilder */
  5003. /* [unique][uuid][object] */
  5004. EXTERN_C const IID IID_ICaptureGraphBuilder;
  5005. #if defined(__cplusplus) && !defined(CINTERFACE)
  5006. MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  5007. ICaptureGraphBuilder : public IUnknown
  5008. {
  5009. public:
  5010. virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
  5011. /* [in] */ IGraphBuilder *pfg) = 0;
  5012. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  5013. /* [out] */ IGraphBuilder **ppfg) = 0;
  5014. virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
  5015. /* [in] */ const GUID *pType,
  5016. /* [in] */ LPCOLESTR lpstrFile,
  5017. /* [out] */ IBaseFilter **ppf,
  5018. /* [out] */ IFileSinkFilter **ppSink) = 0;
  5019. virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
  5020. /* [unique][in] */ const GUID *pCategory,
  5021. /* [in] */ IBaseFilter *pf,
  5022. /* [in] */ REFIID riid,
  5023. /* [out] */ void **ppint) = 0;
  5024. virtual HRESULT STDMETHODCALLTYPE RenderStream(
  5025. /* [in] */ const GUID *pCategory,
  5026. /* [in] */ IUnknown *pSource,
  5027. /* [in] */ IBaseFilter *pfCompressor,
  5028. /* [in] */ IBaseFilter *pfRenderer) = 0;
  5029. virtual HRESULT STDMETHODCALLTYPE ControlStream(
  5030. /* [in] */ const GUID *pCategory,
  5031. /* [in] */ IBaseFilter *pFilter,
  5032. /* [in] */ REFERENCE_TIME *pstart,
  5033. /* [in] */ REFERENCE_TIME *pstop,
  5034. /* [in] */ WORD wStartCookie,
  5035. /* [in] */ WORD wStopCookie) = 0;
  5036. virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
  5037. /* [in] */ LPCOLESTR lpstr,
  5038. /* [in] */ DWORDLONG dwlSize) = 0;
  5039. virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
  5040. /* [in] */ LPOLESTR lpwstrOld,
  5041. /* [in] */ LPOLESTR lpwstrNew,
  5042. /* [in] */ int fAllowEscAbort,
  5043. /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  5044. };
  5045. #else /* C style interface */
  5046. typedef struct ICaptureGraphBuilderVtbl
  5047. {
  5048. BEGIN_INTERFACE
  5049. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5050. ICaptureGraphBuilder * This,
  5051. /* [in] */ REFIID riid,
  5052. /* [iid_is][out] */ void **ppvObject);
  5053. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5054. ICaptureGraphBuilder * This);
  5055. ULONG ( STDMETHODCALLTYPE *Release )(
  5056. ICaptureGraphBuilder * This);
  5057. HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
  5058. ICaptureGraphBuilder * This,
  5059. /* [in] */ IGraphBuilder *pfg);
  5060. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  5061. ICaptureGraphBuilder * This,
  5062. /* [out] */ IGraphBuilder **ppfg);
  5063. HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
  5064. ICaptureGraphBuilder * This,
  5065. /* [in] */ const GUID *pType,
  5066. /* [in] */ LPCOLESTR lpstrFile,
  5067. /* [out] */ IBaseFilter **ppf,
  5068. /* [out] */ IFileSinkFilter **ppSink);
  5069. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
  5070. ICaptureGraphBuilder * This,
  5071. /* [unique][in] */ const GUID *pCategory,
  5072. /* [in] */ IBaseFilter *pf,
  5073. /* [in] */ REFIID riid,
  5074. /* [out] */ void **ppint);
  5075. HRESULT ( STDMETHODCALLTYPE *RenderStream )(
  5076. ICaptureGraphBuilder * This,
  5077. /* [in] */ const GUID *pCategory,
  5078. /* [in] */ IUnknown *pSource,
  5079. /* [in] */ IBaseFilter *pfCompressor,
  5080. /* [in] */ IBaseFilter *pfRenderer);
  5081. HRESULT ( STDMETHODCALLTYPE *ControlStream )(
  5082. ICaptureGraphBuilder * This,
  5083. /* [in] */ const GUID *pCategory,
  5084. /* [in] */ IBaseFilter *pFilter,
  5085. /* [in] */ REFERENCE_TIME *pstart,
  5086. /* [in] */ REFERENCE_TIME *pstop,
  5087. /* [in] */ WORD wStartCookie,
  5088. /* [in] */ WORD wStopCookie);
  5089. HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
  5090. ICaptureGraphBuilder * This,
  5091. /* [in] */ LPCOLESTR lpstr,
  5092. /* [in] */ DWORDLONG dwlSize);
  5093. HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
  5094. ICaptureGraphBuilder * This,
  5095. /* [in] */ LPOLESTR lpwstrOld,
  5096. /* [in] */ LPOLESTR lpwstrNew,
  5097. /* [in] */ int fAllowEscAbort,
  5098. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5099. END_INTERFACE
  5100. } ICaptureGraphBuilderVtbl;
  5101. interface ICaptureGraphBuilder
  5102. {
  5103. CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  5104. };
  5105. #ifdef COBJMACROS
  5106. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) \
  5107. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5108. #define ICaptureGraphBuilder_AddRef(This) \
  5109. (This)->lpVtbl -> AddRef(This)
  5110. #define ICaptureGraphBuilder_Release(This) \
  5111. (This)->lpVtbl -> Release(This)
  5112. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) \
  5113. (This)->lpVtbl -> SetFiltergraph(This,pfg)
  5114. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) \
  5115. (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  5116. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) \
  5117. (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  5118. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) \
  5119. (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  5120. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) \
  5121. (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  5122. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) \
  5123. (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  5124. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) \
  5125. (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  5126. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) \
  5127. (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  5128. #endif /* COBJMACROS */
  5129. #endif /* C style interface */
  5130. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(
  5131. ICaptureGraphBuilder * This,
  5132. /* [in] */ IGraphBuilder *pfg);
  5133. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  5134. IRpcStubBuffer *This,
  5135. IRpcChannelBuffer *_pRpcChannelBuffer,
  5136. PRPC_MESSAGE _pRpcMessage,
  5137. DWORD *_pdwStubPhase);
  5138. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(
  5139. ICaptureGraphBuilder * This,
  5140. /* [out] */ IGraphBuilder **ppfg);
  5141. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  5142. IRpcStubBuffer *This,
  5143. IRpcChannelBuffer *_pRpcChannelBuffer,
  5144. PRPC_MESSAGE _pRpcMessage,
  5145. DWORD *_pdwStubPhase);
  5146. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(
  5147. ICaptureGraphBuilder * This,
  5148. /* [in] */ const GUID *pType,
  5149. /* [in] */ LPCOLESTR lpstrFile,
  5150. /* [out] */ IBaseFilter **ppf,
  5151. /* [out] */ IFileSinkFilter **ppSink);
  5152. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  5153. IRpcStubBuffer *This,
  5154. IRpcChannelBuffer *_pRpcChannelBuffer,
  5155. PRPC_MESSAGE _pRpcMessage,
  5156. DWORD *_pdwStubPhase);
  5157. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
  5158. ICaptureGraphBuilder * This,
  5159. /* [unique][in] */ const GUID *pCategory,
  5160. /* [in] */ IBaseFilter *pf,
  5161. /* [in] */ REFIID riid,
  5162. /* [out] */ IUnknown **ppint);
  5163. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  5164. IRpcStubBuffer *This,
  5165. IRpcChannelBuffer *_pRpcChannelBuffer,
  5166. PRPC_MESSAGE _pRpcMessage,
  5167. DWORD *_pdwStubPhase);
  5168. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(
  5169. ICaptureGraphBuilder * This,
  5170. /* [in] */ const GUID *pCategory,
  5171. /* [in] */ IUnknown *pSource,
  5172. /* [in] */ IBaseFilter *pfCompressor,
  5173. /* [in] */ IBaseFilter *pfRenderer);
  5174. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  5175. IRpcStubBuffer *This,
  5176. IRpcChannelBuffer *_pRpcChannelBuffer,
  5177. PRPC_MESSAGE _pRpcMessage,
  5178. DWORD *_pdwStubPhase);
  5179. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(
  5180. ICaptureGraphBuilder * This,
  5181. /* [in] */ const GUID *pCategory,
  5182. /* [in] */ IBaseFilter *pFilter,
  5183. /* [in] */ REFERENCE_TIME *pstart,
  5184. /* [in] */ REFERENCE_TIME *pstop,
  5185. /* [in] */ WORD wStartCookie,
  5186. /* [in] */ WORD wStopCookie);
  5187. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  5188. IRpcStubBuffer *This,
  5189. IRpcChannelBuffer *_pRpcChannelBuffer,
  5190. PRPC_MESSAGE _pRpcMessage,
  5191. DWORD *_pdwStubPhase);
  5192. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(
  5193. ICaptureGraphBuilder * This,
  5194. /* [in] */ LPCOLESTR lpstr,
  5195. /* [in] */ DWORDLONG dwlSize);
  5196. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  5197. IRpcStubBuffer *This,
  5198. IRpcChannelBuffer *_pRpcChannelBuffer,
  5199. PRPC_MESSAGE _pRpcMessage,
  5200. DWORD *_pdwStubPhase);
  5201. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(
  5202. ICaptureGraphBuilder * This,
  5203. /* [in] */ LPOLESTR lpwstrOld,
  5204. /* [in] */ LPOLESTR lpwstrNew,
  5205. /* [in] */ int fAllowEscAbort,
  5206. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5207. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  5208. IRpcStubBuffer *This,
  5209. IRpcChannelBuffer *_pRpcChannelBuffer,
  5210. PRPC_MESSAGE _pRpcMessage,
  5211. DWORD *_pdwStubPhase);
  5212. #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  5213. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  5214. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  5215. /* interface IAMCopyCaptureFileProgress */
  5216. /* [unique][uuid][object] */
  5217. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  5218. #if defined(__cplusplus) && !defined(CINTERFACE)
  5219. MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  5220. IAMCopyCaptureFileProgress : public IUnknown
  5221. {
  5222. public:
  5223. virtual HRESULT STDMETHODCALLTYPE Progress(
  5224. /* [in] */ int iProgress) = 0;
  5225. };
  5226. #else /* C style interface */
  5227. typedef struct IAMCopyCaptureFileProgressVtbl
  5228. {
  5229. BEGIN_INTERFACE
  5230. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5231. IAMCopyCaptureFileProgress * This,
  5232. /* [in] */ REFIID riid,
  5233. /* [iid_is][out] */ void **ppvObject);
  5234. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5235. IAMCopyCaptureFileProgress * This);
  5236. ULONG ( STDMETHODCALLTYPE *Release )(
  5237. IAMCopyCaptureFileProgress * This);
  5238. HRESULT ( STDMETHODCALLTYPE *Progress )(
  5239. IAMCopyCaptureFileProgress * This,
  5240. /* [in] */ int iProgress);
  5241. END_INTERFACE
  5242. } IAMCopyCaptureFileProgressVtbl;
  5243. interface IAMCopyCaptureFileProgress
  5244. {
  5245. CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  5246. };
  5247. #ifdef COBJMACROS
  5248. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) \
  5249. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5250. #define IAMCopyCaptureFileProgress_AddRef(This) \
  5251. (This)->lpVtbl -> AddRef(This)
  5252. #define IAMCopyCaptureFileProgress_Release(This) \
  5253. (This)->lpVtbl -> Release(This)
  5254. #define IAMCopyCaptureFileProgress_Progress(This,iProgress) \
  5255. (This)->lpVtbl -> Progress(This,iProgress)
  5256. #endif /* COBJMACROS */
  5257. #endif /* C style interface */
  5258. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(
  5259. IAMCopyCaptureFileProgress * This,
  5260. /* [in] */ int iProgress);
  5261. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  5262. IRpcStubBuffer *This,
  5263. IRpcChannelBuffer *_pRpcChannelBuffer,
  5264. PRPC_MESSAGE _pRpcMessage,
  5265. DWORD *_pdwStubPhase);
  5266. #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  5267. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  5268. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  5269. /* interface ICaptureGraphBuilder2 */
  5270. /* [unique][uuid][object] */
  5271. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  5272. #if defined(__cplusplus) && !defined(CINTERFACE)
  5273. MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  5274. ICaptureGraphBuilder2 : public IUnknown
  5275. {
  5276. public:
  5277. virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
  5278. /* [in] */ IGraphBuilder *pfg) = 0;
  5279. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  5280. /* [out] */ IGraphBuilder **ppfg) = 0;
  5281. virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
  5282. /* [in] */ const GUID *pType,
  5283. /* [in] */ LPCOLESTR lpstrFile,
  5284. /* [out] */ IBaseFilter **ppf,
  5285. /* [out] */ IFileSinkFilter **ppSink) = 0;
  5286. virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
  5287. /* [in] */ const GUID *pCategory,
  5288. /* [in] */ const GUID *pType,
  5289. /* [in] */ IBaseFilter *pf,
  5290. /* [in] */ REFIID riid,
  5291. /* [out] */ void **ppint) = 0;
  5292. virtual HRESULT STDMETHODCALLTYPE RenderStream(
  5293. /* [in] */ const GUID *pCategory,
  5294. /* [in] */ const GUID *pType,
  5295. /* [in] */ IUnknown *pSource,
  5296. /* [in] */ IBaseFilter *pfCompressor,
  5297. /* [in] */ IBaseFilter *pfRenderer) = 0;
  5298. virtual HRESULT STDMETHODCALLTYPE ControlStream(
  5299. /* [in] */ const GUID *pCategory,
  5300. /* [in] */ const GUID *pType,
  5301. /* [in] */ IBaseFilter *pFilter,
  5302. /* [in] */ REFERENCE_TIME *pstart,
  5303. /* [in] */ REFERENCE_TIME *pstop,
  5304. /* [in] */ WORD wStartCookie,
  5305. /* [in] */ WORD wStopCookie) = 0;
  5306. virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
  5307. /* [in] */ LPCOLESTR lpstr,
  5308. /* [in] */ DWORDLONG dwlSize) = 0;
  5309. virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
  5310. /* [in] */ LPOLESTR lpwstrOld,
  5311. /* [in] */ LPOLESTR lpwstrNew,
  5312. /* [in] */ int fAllowEscAbort,
  5313. /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  5314. virtual HRESULT STDMETHODCALLTYPE FindPin(
  5315. /* [in] */ IUnknown *pSource,
  5316. /* [in] */ PIN_DIRECTION pindir,
  5317. /* [in] */ const GUID *pCategory,
  5318. /* [in] */ const GUID *pType,
  5319. /* [in] */ BOOL fUnconnected,
  5320. /* [in] */ int num,
  5321. /* [out] */ IPin **ppPin) = 0;
  5322. };
  5323. #else /* C style interface */
  5324. typedef struct ICaptureGraphBuilder2Vtbl
  5325. {
  5326. BEGIN_INTERFACE
  5327. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5328. ICaptureGraphBuilder2 * This,
  5329. /* [in] */ REFIID riid,
  5330. /* [iid_is][out] */ void **ppvObject);
  5331. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5332. ICaptureGraphBuilder2 * This);
  5333. ULONG ( STDMETHODCALLTYPE *Release )(
  5334. ICaptureGraphBuilder2 * This);
  5335. HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
  5336. ICaptureGraphBuilder2 * This,
  5337. /* [in] */ IGraphBuilder *pfg);
  5338. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  5339. ICaptureGraphBuilder2 * This,
  5340. /* [out] */ IGraphBuilder **ppfg);
  5341. HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
  5342. ICaptureGraphBuilder2 * This,
  5343. /* [in] */ const GUID *pType,
  5344. /* [in] */ LPCOLESTR lpstrFile,
  5345. /* [out] */ IBaseFilter **ppf,
  5346. /* [out] */ IFileSinkFilter **ppSink);
  5347. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
  5348. ICaptureGraphBuilder2 * This,
  5349. /* [in] */ const GUID *pCategory,
  5350. /* [in] */ const GUID *pType,
  5351. /* [in] */ IBaseFilter *pf,
  5352. /* [in] */ REFIID riid,
  5353. /* [out] */ void **ppint);
  5354. HRESULT ( STDMETHODCALLTYPE *RenderStream )(
  5355. ICaptureGraphBuilder2 * This,
  5356. /* [in] */ const GUID *pCategory,
  5357. /* [in] */ const GUID *pType,
  5358. /* [in] */ IUnknown *pSource,
  5359. /* [in] */ IBaseFilter *pfCompressor,
  5360. /* [in] */ IBaseFilter *pfRenderer);
  5361. HRESULT ( STDMETHODCALLTYPE *ControlStream )(
  5362. ICaptureGraphBuilder2 * This,
  5363. /* [in] */ const GUID *pCategory,
  5364. /* [in] */ const GUID *pType,
  5365. /* [in] */ IBaseFilter *pFilter,
  5366. /* [in] */ REFERENCE_TIME *pstart,
  5367. /* [in] */ REFERENCE_TIME *pstop,
  5368. /* [in] */ WORD wStartCookie,
  5369. /* [in] */ WORD wStopCookie);
  5370. HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
  5371. ICaptureGraphBuilder2 * This,
  5372. /* [in] */ LPCOLESTR lpstr,
  5373. /* [in] */ DWORDLONG dwlSize);
  5374. HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
  5375. ICaptureGraphBuilder2 * This,
  5376. /* [in] */ LPOLESTR lpwstrOld,
  5377. /* [in] */ LPOLESTR lpwstrNew,
  5378. /* [in] */ int fAllowEscAbort,
  5379. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5380. HRESULT ( STDMETHODCALLTYPE *FindPin )(
  5381. ICaptureGraphBuilder2 * This,
  5382. /* [in] */ IUnknown *pSource,
  5383. /* [in] */ PIN_DIRECTION pindir,
  5384. /* [in] */ const GUID *pCategory,
  5385. /* [in] */ const GUID *pType,
  5386. /* [in] */ BOOL fUnconnected,
  5387. /* [in] */ int num,
  5388. /* [out] */ IPin **ppPin);
  5389. END_INTERFACE
  5390. } ICaptureGraphBuilder2Vtbl;
  5391. interface ICaptureGraphBuilder2
  5392. {
  5393. CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  5394. };
  5395. #ifdef COBJMACROS
  5396. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) \
  5397. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5398. #define ICaptureGraphBuilder2_AddRef(This) \
  5399. (This)->lpVtbl -> AddRef(This)
  5400. #define ICaptureGraphBuilder2_Release(This) \
  5401. (This)->lpVtbl -> Release(This)
  5402. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) \
  5403. (This)->lpVtbl -> SetFiltergraph(This,pfg)
  5404. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) \
  5405. (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  5406. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) \
  5407. (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  5408. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) \
  5409. (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  5410. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) \
  5411. (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  5412. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) \
  5413. (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  5414. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) \
  5415. (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  5416. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) \
  5417. (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  5418. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) \
  5419. (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  5420. #endif /* COBJMACROS */
  5421. #endif /* C style interface */
  5422. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(
  5423. ICaptureGraphBuilder2 * This,
  5424. /* [in] */ IGraphBuilder *pfg);
  5425. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  5426. IRpcStubBuffer *This,
  5427. IRpcChannelBuffer *_pRpcChannelBuffer,
  5428. PRPC_MESSAGE _pRpcMessage,
  5429. DWORD *_pdwStubPhase);
  5430. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(
  5431. ICaptureGraphBuilder2 * This,
  5432. /* [out] */ IGraphBuilder **ppfg);
  5433. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  5434. IRpcStubBuffer *This,
  5435. IRpcChannelBuffer *_pRpcChannelBuffer,
  5436. PRPC_MESSAGE _pRpcMessage,
  5437. DWORD *_pdwStubPhase);
  5438. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(
  5439. ICaptureGraphBuilder2 * This,
  5440. /* [in] */ const GUID *pType,
  5441. /* [in] */ LPCOLESTR lpstrFile,
  5442. /* [out] */ IBaseFilter **ppf,
  5443. /* [out] */ IFileSinkFilter **ppSink);
  5444. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  5445. IRpcStubBuffer *This,
  5446. IRpcChannelBuffer *_pRpcChannelBuffer,
  5447. PRPC_MESSAGE _pRpcMessage,
  5448. DWORD *_pdwStubPhase);
  5449. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
  5450. ICaptureGraphBuilder2 * This,
  5451. /* [in] */ const GUID *pCategory,
  5452. /* [in] */ const GUID *pType,
  5453. /* [in] */ IBaseFilter *pf,
  5454. /* [in] */ REFIID riid,
  5455. /* [out] */ IUnknown **ppint);
  5456. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  5457. IRpcStubBuffer *This,
  5458. IRpcChannelBuffer *_pRpcChannelBuffer,
  5459. PRPC_MESSAGE _pRpcMessage,
  5460. DWORD *_pdwStubPhase);
  5461. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(
  5462. ICaptureGraphBuilder2 * This,
  5463. /* [in] */ const GUID *pCategory,
  5464. /* [in] */ const GUID *pType,
  5465. /* [in] */ IUnknown *pSource,
  5466. /* [in] */ IBaseFilter *pfCompressor,
  5467. /* [in] */ IBaseFilter *pfRenderer);
  5468. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  5469. IRpcStubBuffer *This,
  5470. IRpcChannelBuffer *_pRpcChannelBuffer,
  5471. PRPC_MESSAGE _pRpcMessage,
  5472. DWORD *_pdwStubPhase);
  5473. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(
  5474. ICaptureGraphBuilder2 * This,
  5475. /* [in] */ const GUID *pCategory,
  5476. /* [in] */ const GUID *pType,
  5477. /* [in] */ IBaseFilter *pFilter,
  5478. /* [in] */ REFERENCE_TIME *pstart,
  5479. /* [in] */ REFERENCE_TIME *pstop,
  5480. /* [in] */ WORD wStartCookie,
  5481. /* [in] */ WORD wStopCookie);
  5482. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  5483. IRpcStubBuffer *This,
  5484. IRpcChannelBuffer *_pRpcChannelBuffer,
  5485. PRPC_MESSAGE _pRpcMessage,
  5486. DWORD *_pdwStubPhase);
  5487. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(
  5488. ICaptureGraphBuilder2 * This,
  5489. /* [in] */ LPCOLESTR lpstr,
  5490. /* [in] */ DWORDLONG dwlSize);
  5491. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  5492. IRpcStubBuffer *This,
  5493. IRpcChannelBuffer *_pRpcChannelBuffer,
  5494. PRPC_MESSAGE _pRpcMessage,
  5495. DWORD *_pdwStubPhase);
  5496. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(
  5497. ICaptureGraphBuilder2 * This,
  5498. /* [in] */ LPOLESTR lpwstrOld,
  5499. /* [in] */ LPOLESTR lpwstrNew,
  5500. /* [in] */ int fAllowEscAbort,
  5501. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5502. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  5503. IRpcStubBuffer *This,
  5504. IRpcChannelBuffer *_pRpcChannelBuffer,
  5505. PRPC_MESSAGE _pRpcMessage,
  5506. DWORD *_pdwStubPhase);
  5507. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(
  5508. ICaptureGraphBuilder2 * This,
  5509. /* [in] */ IUnknown *pSource,
  5510. /* [in] */ PIN_DIRECTION pindir,
  5511. /* [in] */ const GUID *pCategory,
  5512. /* [in] */ const GUID *pType,
  5513. /* [in] */ BOOL fUnconnected,
  5514. /* [in] */ int num,
  5515. /* [out] */ IPin **ppPin);
  5516. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  5517. IRpcStubBuffer *This,
  5518. IRpcChannelBuffer *_pRpcChannelBuffer,
  5519. PRPC_MESSAGE _pRpcMessage,
  5520. DWORD *_pdwStubPhase);
  5521. #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  5522. /* interface __MIDL_itf_strmif_0153 */
  5523. /* [local] */
  5524. enum _AM_RENSDEREXFLAGS
  5525. { AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
  5526. } ;
  5527. extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_c_ifspec;
  5528. extern RPC_IF_HANDLE __MIDL_itf_strmif_0153_v0_0_s_ifspec;
  5529. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  5530. #define __IFilterGraph2_INTERFACE_DEFINED__
  5531. /* interface IFilterGraph2 */
  5532. /* [unique][uuid][object] */
  5533. EXTERN_C const IID IID_IFilterGraph2;
  5534. #if defined(__cplusplus) && !defined(CINTERFACE)
  5535. MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  5536. IFilterGraph2 : public IGraphBuilder
  5537. {
  5538. public:
  5539. virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
  5540. /* [in] */ IMoniker *pMoniker,
  5541. /* [in] */ IBindCtx *pCtx,
  5542. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5543. /* [out] */ IBaseFilter **ppFilter) = 0;
  5544. virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
  5545. /* [in] */ IPin *ppin,
  5546. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  5547. virtual HRESULT STDMETHODCALLTYPE RenderEx(
  5548. /* [in] */ IPin *pPinOut,
  5549. /* [in] */ DWORD dwFlags,
  5550. /* [out][in] */ DWORD *pvContext) = 0;
  5551. };
  5552. #else /* C style interface */
  5553. typedef struct IFilterGraph2Vtbl
  5554. {
  5555. BEGIN_INTERFACE
  5556. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5557. IFilterGraph2 * This,
  5558. /* [in] */ REFIID riid,
  5559. /* [iid_is][out] */ void **ppvObject);
  5560. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5561. IFilterGraph2 * This);
  5562. ULONG ( STDMETHODCALLTYPE *Release )(
  5563. IFilterGraph2 * This);
  5564. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  5565. IFilterGraph2 * This,
  5566. /* [in] */ IBaseFilter *pFilter,
  5567. /* [string][in] */ LPCWSTR pName);
  5568. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  5569. IFilterGraph2 * This,
  5570. /* [in] */ IBaseFilter *pFilter);
  5571. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  5572. IFilterGraph2 * This,
  5573. /* [out] */ IEnumFilters **ppEnum);
  5574. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  5575. IFilterGraph2 * This,
  5576. /* [string][in] */ LPCWSTR pName,
  5577. /* [out] */ IBaseFilter **ppFilter);
  5578. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  5579. IFilterGraph2 * This,
  5580. /* [in] */ IPin *ppinOut,
  5581. /* [in] */ IPin *ppinIn,
  5582. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5583. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  5584. IFilterGraph2 * This,
  5585. /* [in] */ IPin *ppin);
  5586. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  5587. IFilterGraph2 * This,
  5588. /* [in] */ IPin *ppin);
  5589. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  5590. IFilterGraph2 * This);
  5591. HRESULT ( STDMETHODCALLTYPE *Connect )(
  5592. IFilterGraph2 * This,
  5593. /* [in] */ IPin *ppinOut,
  5594. /* [in] */ IPin *ppinIn);
  5595. HRESULT ( STDMETHODCALLTYPE *Render )(
  5596. IFilterGraph2 * This,
  5597. /* [in] */ IPin *ppinOut);
  5598. HRESULT ( STDMETHODCALLTYPE *RenderFile )(
  5599. IFilterGraph2 * This,
  5600. /* [in] */ LPCWSTR lpcwstrFile,
  5601. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  5602. HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
  5603. IFilterGraph2 * This,
  5604. /* [in] */ LPCWSTR lpcwstrFileName,
  5605. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5606. /* [out] */ IBaseFilter **ppFilter);
  5607. HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
  5608. IFilterGraph2 * This,
  5609. /* [in] */ DWORD_PTR hFile);
  5610. HRESULT ( STDMETHODCALLTYPE *Abort )(
  5611. IFilterGraph2 * This);
  5612. HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
  5613. IFilterGraph2 * This);
  5614. HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )(
  5615. IFilterGraph2 * This,
  5616. /* [in] */ IMoniker *pMoniker,
  5617. /* [in] */ IBindCtx *pCtx,
  5618. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5619. /* [out] */ IBaseFilter **ppFilter);
  5620. HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(
  5621. IFilterGraph2 * This,
  5622. /* [in] */ IPin *ppin,
  5623. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5624. HRESULT ( STDMETHODCALLTYPE *RenderEx )(
  5625. IFilterGraph2 * This,
  5626. /* [in] */ IPin *pPinOut,
  5627. /* [in] */ DWORD dwFlags,
  5628. /* [out][in] */ DWORD *pvContext);
  5629. END_INTERFACE
  5630. } IFilterGraph2Vtbl;
  5631. interface IFilterGraph2
  5632. {
  5633. CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  5634. };
  5635. #ifdef COBJMACROS
  5636. #define IFilterGraph2_QueryInterface(This,riid,ppvObject) \
  5637. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5638. #define IFilterGraph2_AddRef(This) \
  5639. (This)->lpVtbl -> AddRef(This)
  5640. #define IFilterGraph2_Release(This) \
  5641. (This)->lpVtbl -> Release(This)
  5642. #define IFilterGraph2_AddFilter(This,pFilter,pName) \
  5643. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  5644. #define IFilterGraph2_RemoveFilter(This,pFilter) \
  5645. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  5646. #define IFilterGraph2_EnumFilters(This,ppEnum) \
  5647. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  5648. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) \
  5649. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  5650. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  5651. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  5652. #define IFilterGraph2_Reconnect(This,ppin) \
  5653. (This)->lpVtbl -> Reconnect(This,ppin)
  5654. #define IFilterGraph2_Disconnect(This,ppin) \
  5655. (This)->lpVtbl -> Disconnect(This,ppin)
  5656. #define IFilterGraph2_SetDefaultSyncSource(This) \
  5657. (This)->lpVtbl -> SetDefaultSyncSource(This)
  5658. #define IFilterGraph2_Connect(This,ppinOut,ppinIn) \
  5659. (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  5660. #define IFilterGraph2_Render(This,ppinOut) \
  5661. (This)->lpVtbl -> Render(This,ppinOut)
  5662. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) \
  5663. (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  5664. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) \
  5665. (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  5666. #define IFilterGraph2_SetLogFile(This,hFile) \
  5667. (This)->lpVtbl -> SetLogFile(This,hFile)
  5668. #define IFilterGraph2_Abort(This) \
  5669. (This)->lpVtbl -> Abort(This)
  5670. #define IFilterGraph2_ShouldOperationContinue(This) \
  5671. (This)->lpVtbl -> ShouldOperationContinue(This)
  5672. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) \
  5673. (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  5674. #define IFilterGraph2_ReconnectEx(This,ppin,pmt) \
  5675. (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  5676. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) \
  5677. (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  5678. #endif /* COBJMACROS */
  5679. #endif /* C style interface */
  5680. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(
  5681. IFilterGraph2 * This,
  5682. /* [in] */ IMoniker *pMoniker,
  5683. /* [in] */ IBindCtx *pCtx,
  5684. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5685. /* [out] */ IBaseFilter **ppFilter);
  5686. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  5687. IRpcStubBuffer *This,
  5688. IRpcChannelBuffer *_pRpcChannelBuffer,
  5689. PRPC_MESSAGE _pRpcMessage,
  5690. DWORD *_pdwStubPhase);
  5691. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(
  5692. IFilterGraph2 * This,
  5693. /* [in] */ IPin *ppin,
  5694. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5695. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  5696. IRpcStubBuffer *This,
  5697. IRpcChannelBuffer *_pRpcChannelBuffer,
  5698. PRPC_MESSAGE _pRpcMessage,
  5699. DWORD *_pdwStubPhase);
  5700. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(
  5701. IFilterGraph2 * This,
  5702. /* [in] */ IPin *pPinOut,
  5703. /* [in] */ DWORD dwFlags,
  5704. /* [out][in] */ DWORD *pvContext);
  5705. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  5706. IRpcStubBuffer *This,
  5707. IRpcChannelBuffer *_pRpcChannelBuffer,
  5708. PRPC_MESSAGE _pRpcMessage,
  5709. DWORD *_pdwStubPhase);
  5710. #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */
  5711. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  5712. #define __IStreamBuilder_INTERFACE_DEFINED__
  5713. /* interface IStreamBuilder */
  5714. /* [unique][uuid][local][object] */
  5715. EXTERN_C const IID IID_IStreamBuilder;
  5716. #if defined(__cplusplus) && !defined(CINTERFACE)
  5717. MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  5718. IStreamBuilder : public IUnknown
  5719. {
  5720. public:
  5721. virtual HRESULT STDMETHODCALLTYPE Render(
  5722. /* [in] */ IPin *ppinOut,
  5723. /* [in] */ IGraphBuilder *pGraph) = 0;
  5724. virtual HRESULT STDMETHODCALLTYPE Backout(
  5725. /* [in] */ IPin *ppinOut,
  5726. /* [in] */ IGraphBuilder *pGraph) = 0;
  5727. };
  5728. #else /* C style interface */
  5729. typedef struct IStreamBuilderVtbl
  5730. {
  5731. BEGIN_INTERFACE
  5732. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5733. IStreamBuilder * This,
  5734. /* [in] */ REFIID riid,
  5735. /* [iid_is][out] */ void **ppvObject);
  5736. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5737. IStreamBuilder * This);
  5738. ULONG ( STDMETHODCALLTYPE *Release )(
  5739. IStreamBuilder * This);
  5740. HRESULT ( STDMETHODCALLTYPE *Render )(
  5741. IStreamBuilder * This,
  5742. /* [in] */ IPin *ppinOut,
  5743. /* [in] */ IGraphBuilder *pGraph);
  5744. HRESULT ( STDMETHODCALLTYPE *Backout )(
  5745. IStreamBuilder * This,
  5746. /* [in] */ IPin *ppinOut,
  5747. /* [in] */ IGraphBuilder *pGraph);
  5748. END_INTERFACE
  5749. } IStreamBuilderVtbl;
  5750. interface IStreamBuilder
  5751. {
  5752. CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  5753. };
  5754. #ifdef COBJMACROS
  5755. #define IStreamBuilder_QueryInterface(This,riid,ppvObject) \
  5756. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5757. #define IStreamBuilder_AddRef(This) \
  5758. (This)->lpVtbl -> AddRef(This)
  5759. #define IStreamBuilder_Release(This) \
  5760. (This)->lpVtbl -> Release(This)
  5761. #define IStreamBuilder_Render(This,ppinOut,pGraph) \
  5762. (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  5763. #define IStreamBuilder_Backout(This,ppinOut,pGraph) \
  5764. (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  5765. #endif /* COBJMACROS */
  5766. #endif /* C style interface */
  5767. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(
  5768. IStreamBuilder * This,
  5769. /* [in] */ IPin *ppinOut,
  5770. /* [in] */ IGraphBuilder *pGraph);
  5771. void __RPC_STUB IStreamBuilder_Render_Stub(
  5772. IRpcStubBuffer *This,
  5773. IRpcChannelBuffer *_pRpcChannelBuffer,
  5774. PRPC_MESSAGE _pRpcMessage,
  5775. DWORD *_pdwStubPhase);
  5776. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(
  5777. IStreamBuilder * This,
  5778. /* [in] */ IPin *ppinOut,
  5779. /* [in] */ IGraphBuilder *pGraph);
  5780. void __RPC_STUB IStreamBuilder_Backout_Stub(
  5781. IRpcStubBuffer *This,
  5782. IRpcChannelBuffer *_pRpcChannelBuffer,
  5783. PRPC_MESSAGE _pRpcMessage,
  5784. DWORD *_pdwStubPhase);
  5785. #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */
  5786. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  5787. #define __IAsyncReader_INTERFACE_DEFINED__
  5788. /* interface IAsyncReader */
  5789. /* [unique][uuid][object] */
  5790. EXTERN_C const IID IID_IAsyncReader;
  5791. #if defined(__cplusplus) && !defined(CINTERFACE)
  5792. MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  5793. IAsyncReader : public IUnknown
  5794. {
  5795. public:
  5796. virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
  5797. /* [in] */ IMemAllocator *pPreferred,
  5798. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5799. /* [out] */ IMemAllocator **ppActual) = 0;
  5800. virtual HRESULT STDMETHODCALLTYPE Request(
  5801. /* [in] */ IMediaSample *pSample,
  5802. /* [in] */ DWORD_PTR dwUser) = 0;
  5803. virtual HRESULT STDMETHODCALLTYPE WaitForNext(
  5804. /* [in] */ DWORD dwTimeout,
  5805. /* [out] */ IMediaSample **ppSample,
  5806. /* [out] */ DWORD_PTR *pdwUser) = 0;
  5807. virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
  5808. /* [in] */ IMediaSample *pSample) = 0;
  5809. virtual HRESULT STDMETHODCALLTYPE SyncRead(
  5810. /* [in] */ LONGLONG llPosition,
  5811. /* [in] */ LONG lLength,
  5812. /* [size_is][out] */ BYTE *pBuffer) = 0;
  5813. virtual HRESULT STDMETHODCALLTYPE Length(
  5814. /* [out] */ LONGLONG *pTotal,
  5815. /* [out] */ LONGLONG *pAvailable) = 0;
  5816. virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  5817. virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  5818. };
  5819. #else /* C style interface */
  5820. typedef struct IAsyncReaderVtbl
  5821. {
  5822. BEGIN_INTERFACE
  5823. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5824. IAsyncReader * This,
  5825. /* [in] */ REFIID riid,
  5826. /* [iid_is][out] */ void **ppvObject);
  5827. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5828. IAsyncReader * This);
  5829. ULONG ( STDMETHODCALLTYPE *Release )(
  5830. IAsyncReader * This);
  5831. HRESULT ( STDMETHODCALLTYPE *RequestAllocator )(
  5832. IAsyncReader * This,
  5833. /* [in] */ IMemAllocator *pPreferred,
  5834. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5835. /* [out] */ IMemAllocator **ppActual);
  5836. HRESULT ( STDMETHODCALLTYPE *Request )(
  5837. IAsyncReader * This,
  5838. /* [in] */ IMediaSample *pSample,
  5839. /* [in] */ DWORD_PTR dwUser);
  5840. HRESULT ( STDMETHODCALLTYPE *WaitForNext )(
  5841. IAsyncReader * This,
  5842. /* [in] */ DWORD dwTimeout,
  5843. /* [out] */ IMediaSample **ppSample,
  5844. /* [out] */ DWORD_PTR *pdwUser);
  5845. HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )(
  5846. IAsyncReader * This,
  5847. /* [in] */ IMediaSample *pSample);
  5848. HRESULT ( STDMETHODCALLTYPE *SyncRead )(
  5849. IAsyncReader * This,
  5850. /* [in] */ LONGLONG llPosition,
  5851. /* [in] */ LONG lLength,
  5852. /* [size_is][out] */ BYTE *pBuffer);
  5853. HRESULT ( STDMETHODCALLTYPE *Length )(
  5854. IAsyncReader * This,
  5855. /* [out] */ LONGLONG *pTotal,
  5856. /* [out] */ LONGLONG *pAvailable);
  5857. HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
  5858. IAsyncReader * This);
  5859. HRESULT ( STDMETHODCALLTYPE *EndFlush )(
  5860. IAsyncReader * This);
  5861. END_INTERFACE
  5862. } IAsyncReaderVtbl;
  5863. interface IAsyncReader
  5864. {
  5865. CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  5866. };
  5867. #ifdef COBJMACROS
  5868. #define IAsyncReader_QueryInterface(This,riid,ppvObject) \
  5869. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5870. #define IAsyncReader_AddRef(This) \
  5871. (This)->lpVtbl -> AddRef(This)
  5872. #define IAsyncReader_Release(This) \
  5873. (This)->lpVtbl -> Release(This)
  5874. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) \
  5875. (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  5876. #define IAsyncReader_Request(This,pSample,dwUser) \
  5877. (This)->lpVtbl -> Request(This,pSample,dwUser)
  5878. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) \
  5879. (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  5880. #define IAsyncReader_SyncReadAligned(This,pSample) \
  5881. (This)->lpVtbl -> SyncReadAligned(This,pSample)
  5882. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) \
  5883. (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  5884. #define IAsyncReader_Length(This,pTotal,pAvailable) \
  5885. (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  5886. #define IAsyncReader_BeginFlush(This) \
  5887. (This)->lpVtbl -> BeginFlush(This)
  5888. #define IAsyncReader_EndFlush(This) \
  5889. (This)->lpVtbl -> EndFlush(This)
  5890. #endif /* COBJMACROS */
  5891. #endif /* C style interface */
  5892. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(
  5893. IAsyncReader * This,
  5894. /* [in] */ IMemAllocator *pPreferred,
  5895. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5896. /* [out] */ IMemAllocator **ppActual);
  5897. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  5898. IRpcStubBuffer *This,
  5899. IRpcChannelBuffer *_pRpcChannelBuffer,
  5900. PRPC_MESSAGE _pRpcMessage,
  5901. DWORD *_pdwStubPhase);
  5902. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(
  5903. IAsyncReader * This,
  5904. /* [in] */ IMediaSample *pSample,
  5905. /* [in] */ DWORD_PTR dwUser);
  5906. void __RPC_STUB IAsyncReader_Request_Stub(
  5907. IRpcStubBuffer *This,
  5908. IRpcChannelBuffer *_pRpcChannelBuffer,
  5909. PRPC_MESSAGE _pRpcMessage,
  5910. DWORD *_pdwStubPhase);
  5911. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(
  5912. IAsyncReader * This,
  5913. /* [in] */ DWORD dwTimeout,
  5914. /* [out] */ IMediaSample **ppSample,
  5915. /* [out] */ DWORD_PTR *pdwUser);
  5916. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  5917. IRpcStubBuffer *This,
  5918. IRpcChannelBuffer *_pRpcChannelBuffer,
  5919. PRPC_MESSAGE _pRpcMessage,
  5920. DWORD *_pdwStubPhase);
  5921. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(
  5922. IAsyncReader * This,
  5923. /* [in] */ IMediaSample *pSample);
  5924. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  5925. IRpcStubBuffer *This,
  5926. IRpcChannelBuffer *_pRpcChannelBuffer,
  5927. PRPC_MESSAGE _pRpcMessage,
  5928. DWORD *_pdwStubPhase);
  5929. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(
  5930. IAsyncReader * This,
  5931. /* [in] */ LONGLONG llPosition,
  5932. /* [in] */ LONG lLength,
  5933. /* [size_is][out] */ BYTE *pBuffer);
  5934. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  5935. IRpcStubBuffer *This,
  5936. IRpcChannelBuffer *_pRpcChannelBuffer,
  5937. PRPC_MESSAGE _pRpcMessage,
  5938. DWORD *_pdwStubPhase);
  5939. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(
  5940. IAsyncReader * This,
  5941. /* [out] */ LONGLONG *pTotal,
  5942. /* [out] */ LONGLONG *pAvailable);
  5943. void __RPC_STUB IAsyncReader_Length_Stub(
  5944. IRpcStubBuffer *This,
  5945. IRpcChannelBuffer *_pRpcChannelBuffer,
  5946. PRPC_MESSAGE _pRpcMessage,
  5947. DWORD *_pdwStubPhase);
  5948. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(
  5949. IAsyncReader * This);
  5950. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  5951. IRpcStubBuffer *This,
  5952. IRpcChannelBuffer *_pRpcChannelBuffer,
  5953. PRPC_MESSAGE _pRpcMessage,
  5954. DWORD *_pdwStubPhase);
  5955. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(
  5956. IAsyncReader * This);
  5957. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  5958. IRpcStubBuffer *This,
  5959. IRpcChannelBuffer *_pRpcChannelBuffer,
  5960. PRPC_MESSAGE _pRpcMessage,
  5961. DWORD *_pdwStubPhase);
  5962. #endif /* __IAsyncReader_INTERFACE_DEFINED__ */
  5963. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  5964. #define __IGraphVersion_INTERFACE_DEFINED__
  5965. /* interface IGraphVersion */
  5966. /* [unique][uuid][object] */
  5967. EXTERN_C const IID IID_IGraphVersion;
  5968. #if defined(__cplusplus) && !defined(CINTERFACE)
  5969. MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  5970. IGraphVersion : public IUnknown
  5971. {
  5972. public:
  5973. virtual HRESULT STDMETHODCALLTYPE QueryVersion(
  5974. LONG *pVersion) = 0;
  5975. };
  5976. #else /* C style interface */
  5977. typedef struct IGraphVersionVtbl
  5978. {
  5979. BEGIN_INTERFACE
  5980. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5981. IGraphVersion * This,
  5982. /* [in] */ REFIID riid,
  5983. /* [iid_is][out] */ void **ppvObject);
  5984. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5985. IGraphVersion * This);
  5986. ULONG ( STDMETHODCALLTYPE *Release )(
  5987. IGraphVersion * This);
  5988. HRESULT ( STDMETHODCALLTYPE *QueryVersion )(
  5989. IGraphVersion * This,
  5990. LONG *pVersion);
  5991. END_INTERFACE
  5992. } IGraphVersionVtbl;
  5993. interface IGraphVersion
  5994. {
  5995. CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  5996. };
  5997. #ifdef COBJMACROS
  5998. #define IGraphVersion_QueryInterface(This,riid,ppvObject) \
  5999. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6000. #define IGraphVersion_AddRef(This) \
  6001. (This)->lpVtbl -> AddRef(This)
  6002. #define IGraphVersion_Release(This) \
  6003. (This)->lpVtbl -> Release(This)
  6004. #define IGraphVersion_QueryVersion(This,pVersion) \
  6005. (This)->lpVtbl -> QueryVersion(This,pVersion)
  6006. #endif /* COBJMACROS */
  6007. #endif /* C style interface */
  6008. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(
  6009. IGraphVersion * This,
  6010. LONG *pVersion);
  6011. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  6012. IRpcStubBuffer *This,
  6013. IRpcChannelBuffer *_pRpcChannelBuffer,
  6014. PRPC_MESSAGE _pRpcMessage,
  6015. DWORD *_pdwStubPhase);
  6016. #endif /* __IGraphVersion_INTERFACE_DEFINED__ */
  6017. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  6018. #define __IResourceConsumer_INTERFACE_DEFINED__
  6019. /* interface IResourceConsumer */
  6020. /* [unique][uuid][object] */
  6021. EXTERN_C const IID IID_IResourceConsumer;
  6022. #if defined(__cplusplus) && !defined(CINTERFACE)
  6023. MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  6024. IResourceConsumer : public IUnknown
  6025. {
  6026. public:
  6027. virtual HRESULT STDMETHODCALLTYPE AcquireResource(
  6028. /* [in] */ LONG idResource) = 0;
  6029. virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
  6030. /* [in] */ LONG idResource) = 0;
  6031. };
  6032. #else /* C style interface */
  6033. typedef struct IResourceConsumerVtbl
  6034. {
  6035. BEGIN_INTERFACE
  6036. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6037. IResourceConsumer * This,
  6038. /* [in] */ REFIID riid,
  6039. /* [iid_is][out] */ void **ppvObject);
  6040. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6041. IResourceConsumer * This);
  6042. ULONG ( STDMETHODCALLTYPE *Release )(
  6043. IResourceConsumer * This);
  6044. HRESULT ( STDMETHODCALLTYPE *AcquireResource )(
  6045. IResourceConsumer * This,
  6046. /* [in] */ LONG idResource);
  6047. HRESULT ( STDMETHODCALLTYPE *ReleaseResource )(
  6048. IResourceConsumer * This,
  6049. /* [in] */ LONG idResource);
  6050. END_INTERFACE
  6051. } IResourceConsumerVtbl;
  6052. interface IResourceConsumer
  6053. {
  6054. CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  6055. };
  6056. #ifdef COBJMACROS
  6057. #define IResourceConsumer_QueryInterface(This,riid,ppvObject) \
  6058. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6059. #define IResourceConsumer_AddRef(This) \
  6060. (This)->lpVtbl -> AddRef(This)
  6061. #define IResourceConsumer_Release(This) \
  6062. (This)->lpVtbl -> Release(This)
  6063. #define IResourceConsumer_AcquireResource(This,idResource) \
  6064. (This)->lpVtbl -> AcquireResource(This,idResource)
  6065. #define IResourceConsumer_ReleaseResource(This,idResource) \
  6066. (This)->lpVtbl -> ReleaseResource(This,idResource)
  6067. #endif /* COBJMACROS */
  6068. #endif /* C style interface */
  6069. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(
  6070. IResourceConsumer * This,
  6071. /* [in] */ LONG idResource);
  6072. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  6073. IRpcStubBuffer *This,
  6074. IRpcChannelBuffer *_pRpcChannelBuffer,
  6075. PRPC_MESSAGE _pRpcMessage,
  6076. DWORD *_pdwStubPhase);
  6077. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(
  6078. IResourceConsumer * This,
  6079. /* [in] */ LONG idResource);
  6080. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  6081. IRpcStubBuffer *This,
  6082. IRpcChannelBuffer *_pRpcChannelBuffer,
  6083. PRPC_MESSAGE _pRpcMessage,
  6084. DWORD *_pdwStubPhase);
  6085. #endif /* __IResourceConsumer_INTERFACE_DEFINED__ */
  6086. #ifndef __IResourceManager_INTERFACE_DEFINED__
  6087. #define __IResourceManager_INTERFACE_DEFINED__
  6088. /* interface IResourceManager */
  6089. /* [unique][uuid][object] */
  6090. EXTERN_C const IID IID_IResourceManager;
  6091. #if defined(__cplusplus) && !defined(CINTERFACE)
  6092. MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  6093. IResourceManager : public IUnknown
  6094. {
  6095. public:
  6096. virtual HRESULT STDMETHODCALLTYPE Register(
  6097. /* [in] */ LPCWSTR pName,
  6098. /* [in] */ LONG cResource,
  6099. /* [out] */ LONG *plToken) = 0;
  6100. virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
  6101. /* [in] */ LPCWSTR pName,
  6102. /* [in] */ LONG cResource,
  6103. /* [size_is][in] */ LONG *palTokens,
  6104. /* [out] */ LONG *plToken) = 0;
  6105. virtual HRESULT STDMETHODCALLTYPE RequestResource(
  6106. /* [in] */ LONG idResource,
  6107. /* [in] */ IUnknown *pFocusObject,
  6108. /* [in] */ IResourceConsumer *pConsumer) = 0;
  6109. virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
  6110. /* [in] */ LONG idResource,
  6111. /* [in] */ IResourceConsumer *pConsumer,
  6112. /* [in] */ HRESULT hr) = 0;
  6113. virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
  6114. /* [in] */ LONG idResource,
  6115. /* [in] */ IResourceConsumer *pConsumer,
  6116. /* [in] */ BOOL bStillWant) = 0;
  6117. virtual HRESULT STDMETHODCALLTYPE CancelRequest(
  6118. /* [in] */ LONG idResource,
  6119. /* [in] */ IResourceConsumer *pConsumer) = 0;
  6120. virtual HRESULT STDMETHODCALLTYPE SetFocus(
  6121. /* [in] */ IUnknown *pFocusObject) = 0;
  6122. virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
  6123. /* [in] */ IUnknown *pFocusObject) = 0;
  6124. };
  6125. #else /* C style interface */
  6126. typedef struct IResourceManagerVtbl
  6127. {
  6128. BEGIN_INTERFACE
  6129. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6130. IResourceManager * This,
  6131. /* [in] */ REFIID riid,
  6132. /* [iid_is][out] */ void **ppvObject);
  6133. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6134. IResourceManager * This);
  6135. ULONG ( STDMETHODCALLTYPE *Release )(
  6136. IResourceManager * This);
  6137. HRESULT ( STDMETHODCALLTYPE *Register )(
  6138. IResourceManager * This,
  6139. /* [in] */ LPCWSTR pName,
  6140. /* [in] */ LONG cResource,
  6141. /* [out] */ LONG *plToken);
  6142. HRESULT ( STDMETHODCALLTYPE *RegisterGroup )(
  6143. IResourceManager * This,
  6144. /* [in] */ LPCWSTR pName,
  6145. /* [in] */ LONG cResource,
  6146. /* [size_is][in] */ LONG *palTokens,
  6147. /* [out] */ LONG *plToken);
  6148. HRESULT ( STDMETHODCALLTYPE *RequestResource )(
  6149. IResourceManager * This,
  6150. /* [in] */ LONG idResource,
  6151. /* [in] */ IUnknown *pFocusObject,
  6152. /* [in] */ IResourceConsumer *pConsumer);
  6153. HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )(
  6154. IResourceManager * This,
  6155. /* [in] */ LONG idResource,
  6156. /* [in] */ IResourceConsumer *pConsumer,
  6157. /* [in] */ HRESULT hr);
  6158. HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
  6159. IResourceManager * This,
  6160. /* [in] */ LONG idResource,
  6161. /* [in] */ IResourceConsumer *pConsumer,
  6162. /* [in] */ BOOL bStillWant);
  6163. HRESULT ( STDMETHODCALLTYPE *CancelRequest )(
  6164. IResourceManager * This,
  6165. /* [in] */ LONG idResource,
  6166. /* [in] */ IResourceConsumer *pConsumer);
  6167. HRESULT ( STDMETHODCALLTYPE *SetFocus )(
  6168. IResourceManager * This,
  6169. /* [in] */ IUnknown *pFocusObject);
  6170. HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )(
  6171. IResourceManager * This,
  6172. /* [in] */ IUnknown *pFocusObject);
  6173. END_INTERFACE
  6174. } IResourceManagerVtbl;
  6175. interface IResourceManager
  6176. {
  6177. CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  6178. };
  6179. #ifdef COBJMACROS
  6180. #define IResourceManager_QueryInterface(This,riid,ppvObject) \
  6181. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6182. #define IResourceManager_AddRef(This) \
  6183. (This)->lpVtbl -> AddRef(This)
  6184. #define IResourceManager_Release(This) \
  6185. (This)->lpVtbl -> Release(This)
  6186. #define IResourceManager_Register(This,pName,cResource,plToken) \
  6187. (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  6188. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) \
  6189. (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  6190. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) \
  6191. (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  6192. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) \
  6193. (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  6194. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) \
  6195. (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  6196. #define IResourceManager_CancelRequest(This,idResource,pConsumer) \
  6197. (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  6198. #define IResourceManager_SetFocus(This,pFocusObject) \
  6199. (This)->lpVtbl -> SetFocus(This,pFocusObject)
  6200. #define IResourceManager_ReleaseFocus(This,pFocusObject) \
  6201. (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  6202. #endif /* COBJMACROS */
  6203. #endif /* C style interface */
  6204. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(
  6205. IResourceManager * This,
  6206. /* [in] */ LPCWSTR pName,
  6207. /* [in] */ LONG cResource,
  6208. /* [out] */ LONG *plToken);
  6209. void __RPC_STUB IResourceManager_Register_Stub(
  6210. IRpcStubBuffer *This,
  6211. IRpcChannelBuffer *_pRpcChannelBuffer,
  6212. PRPC_MESSAGE _pRpcMessage,
  6213. DWORD *_pdwStubPhase);
  6214. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(
  6215. IResourceManager * This,
  6216. /* [in] */ LPCWSTR pName,
  6217. /* [in] */ LONG cResource,
  6218. /* [size_is][in] */ LONG *palTokens,
  6219. /* [out] */ LONG *plToken);
  6220. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  6221. IRpcStubBuffer *This,
  6222. IRpcChannelBuffer *_pRpcChannelBuffer,
  6223. PRPC_MESSAGE _pRpcMessage,
  6224. DWORD *_pdwStubPhase);
  6225. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(
  6226. IResourceManager * This,
  6227. /* [in] */ LONG idResource,
  6228. /* [in] */ IUnknown *pFocusObject,
  6229. /* [in] */ IResourceConsumer *pConsumer);
  6230. void __RPC_STUB IResourceManager_RequestResource_Stub(
  6231. IRpcStubBuffer *This,
  6232. IRpcChannelBuffer *_pRpcChannelBuffer,
  6233. PRPC_MESSAGE _pRpcMessage,
  6234. DWORD *_pdwStubPhase);
  6235. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(
  6236. IResourceManager * This,
  6237. /* [in] */ LONG idResource,
  6238. /* [in] */ IResourceConsumer *pConsumer,
  6239. /* [in] */ HRESULT hr);
  6240. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  6241. IRpcStubBuffer *This,
  6242. IRpcChannelBuffer *_pRpcChannelBuffer,
  6243. PRPC_MESSAGE _pRpcMessage,
  6244. DWORD *_pdwStubPhase);
  6245. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(
  6246. IResourceManager * This,
  6247. /* [in] */ LONG idResource,
  6248. /* [in] */ IResourceConsumer *pConsumer,
  6249. /* [in] */ BOOL bStillWant);
  6250. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  6251. IRpcStubBuffer *This,
  6252. IRpcChannelBuffer *_pRpcChannelBuffer,
  6253. PRPC_MESSAGE _pRpcMessage,
  6254. DWORD *_pdwStubPhase);
  6255. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(
  6256. IResourceManager * This,
  6257. /* [in] */ LONG idResource,
  6258. /* [in] */ IResourceConsumer *pConsumer);
  6259. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  6260. IRpcStubBuffer *This,
  6261. IRpcChannelBuffer *_pRpcChannelBuffer,
  6262. PRPC_MESSAGE _pRpcMessage,
  6263. DWORD *_pdwStubPhase);
  6264. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(
  6265. IResourceManager * This,
  6266. /* [in] */ IUnknown *pFocusObject);
  6267. void __RPC_STUB IResourceManager_SetFocus_Stub(
  6268. IRpcStubBuffer *This,
  6269. IRpcChannelBuffer *_pRpcChannelBuffer,
  6270. PRPC_MESSAGE _pRpcMessage,
  6271. DWORD *_pdwStubPhase);
  6272. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(
  6273. IResourceManager * This,
  6274. /* [in] */ IUnknown *pFocusObject);
  6275. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  6276. IRpcStubBuffer *This,
  6277. IRpcChannelBuffer *_pRpcChannelBuffer,
  6278. PRPC_MESSAGE _pRpcMessage,
  6279. DWORD *_pdwStubPhase);
  6280. #endif /* __IResourceManager_INTERFACE_DEFINED__ */
  6281. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  6282. #define __IDistributorNotify_INTERFACE_DEFINED__
  6283. /* interface IDistributorNotify */
  6284. /* [unique][uuid][object] */
  6285. EXTERN_C const IID IID_IDistributorNotify;
  6286. #if defined(__cplusplus) && !defined(CINTERFACE)
  6287. MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  6288. IDistributorNotify : public IUnknown
  6289. {
  6290. public:
  6291. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  6292. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  6293. virtual HRESULT STDMETHODCALLTYPE Run(
  6294. REFERENCE_TIME tStart) = 0;
  6295. virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
  6296. /* [in] */ IReferenceClock *pClock) = 0;
  6297. virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  6298. };
  6299. #else /* C style interface */
  6300. typedef struct IDistributorNotifyVtbl
  6301. {
  6302. BEGIN_INTERFACE
  6303. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6304. IDistributorNotify * This,
  6305. /* [in] */ REFIID riid,
  6306. /* [iid_is][out] */ void **ppvObject);
  6307. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6308. IDistributorNotify * This);
  6309. ULONG ( STDMETHODCALLTYPE *Release )(
  6310. IDistributorNotify * This);
  6311. HRESULT ( STDMETHODCALLTYPE *Stop )(
  6312. IDistributorNotify * This);
  6313. HRESULT ( STDMETHODCALLTYPE *Pause )(
  6314. IDistributorNotify * This);
  6315. HRESULT ( STDMETHODCALLTYPE *Run )(
  6316. IDistributorNotify * This,
  6317. REFERENCE_TIME tStart);
  6318. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  6319. IDistributorNotify * This,
  6320. /* [in] */ IReferenceClock *pClock);
  6321. HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )(
  6322. IDistributorNotify * This);
  6323. END_INTERFACE
  6324. } IDistributorNotifyVtbl;
  6325. interface IDistributorNotify
  6326. {
  6327. CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  6328. };
  6329. #ifdef COBJMACROS
  6330. #define IDistributorNotify_QueryInterface(This,riid,ppvObject) \
  6331. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6332. #define IDistributorNotify_AddRef(This) \
  6333. (This)->lpVtbl -> AddRef(This)
  6334. #define IDistributorNotify_Release(This) \
  6335. (This)->lpVtbl -> Release(This)
  6336. #define IDistributorNotify_Stop(This) \
  6337. (This)->lpVtbl -> Stop(This)
  6338. #define IDistributorNotify_Pause(This) \
  6339. (This)->lpVtbl -> Pause(This)
  6340. #define IDistributorNotify_Run(This,tStart) \
  6341. (This)->lpVtbl -> Run(This,tStart)
  6342. #define IDistributorNotify_SetSyncSource(This,pClock) \
  6343. (This)->lpVtbl -> SetSyncSource(This,pClock)
  6344. #define IDistributorNotify_NotifyGraphChange(This) \
  6345. (This)->lpVtbl -> NotifyGraphChange(This)
  6346. #endif /* COBJMACROS */
  6347. #endif /* C style interface */
  6348. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy(
  6349. IDistributorNotify * This);
  6350. void __RPC_STUB IDistributorNotify_Stop_Stub(
  6351. IRpcStubBuffer *This,
  6352. IRpcChannelBuffer *_pRpcChannelBuffer,
  6353. PRPC_MESSAGE _pRpcMessage,
  6354. DWORD *_pdwStubPhase);
  6355. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy(
  6356. IDistributorNotify * This);
  6357. void __RPC_STUB IDistributorNotify_Pause_Stub(
  6358. IRpcStubBuffer *This,
  6359. IRpcChannelBuffer *_pRpcChannelBuffer,
  6360. PRPC_MESSAGE _pRpcMessage,
  6361. DWORD *_pdwStubPhase);
  6362. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy(
  6363. IDistributorNotify * This,
  6364. REFERENCE_TIME tStart);
  6365. void __RPC_STUB IDistributorNotify_Run_Stub(
  6366. IRpcStubBuffer *This,
  6367. IRpcChannelBuffer *_pRpcChannelBuffer,
  6368. PRPC_MESSAGE _pRpcMessage,
  6369. DWORD *_pdwStubPhase);
  6370. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy(
  6371. IDistributorNotify * This,
  6372. /* [in] */ IReferenceClock *pClock);
  6373. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  6374. IRpcStubBuffer *This,
  6375. IRpcChannelBuffer *_pRpcChannelBuffer,
  6376. PRPC_MESSAGE _pRpcMessage,
  6377. DWORD *_pdwStubPhase);
  6378. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy(
  6379. IDistributorNotify * This);
  6380. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  6381. IRpcStubBuffer *This,
  6382. IRpcChannelBuffer *_pRpcChannelBuffer,
  6383. PRPC_MESSAGE _pRpcMessage,
  6384. DWORD *_pdwStubPhase);
  6385. #endif /* __IDistributorNotify_INTERFACE_DEFINED__ */
  6386. /* interface __MIDL_itf_strmif_0160 */
  6387. /* [local] */
  6388. typedef /* [public] */
  6389. enum __MIDL___MIDL_itf_strmif_0160_0001
  6390. { AM_STREAM_INFO_START_DEFINED = 0x1,
  6391. AM_STREAM_INFO_STOP_DEFINED = 0x2,
  6392. AM_STREAM_INFO_DISCARDING = 0x4,
  6393. AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
  6394. } AM_STREAM_INFO_FLAGS;
  6395. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0160_0002
  6396. {
  6397. REFERENCE_TIME tStart;
  6398. REFERENCE_TIME tStop;
  6399. DWORD dwStartCookie;
  6400. DWORD dwStopCookie;
  6401. DWORD dwFlags;
  6402. } AM_STREAM_INFO;
  6403. extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_c_ifspec;
  6404. extern RPC_IF_HANDLE __MIDL_itf_strmif_0160_v0_0_s_ifspec;
  6405. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  6406. #define __IAMStreamControl_INTERFACE_DEFINED__
  6407. /* interface IAMStreamControl */
  6408. /* [unique][uuid][object] */
  6409. EXTERN_C const IID IID_IAMStreamControl;
  6410. #if defined(__cplusplus) && !defined(CINTERFACE)
  6411. MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  6412. IAMStreamControl : public IUnknown
  6413. {
  6414. public:
  6415. virtual HRESULT STDMETHODCALLTYPE StartAt(
  6416. /* [in] */ const REFERENCE_TIME *ptStart,
  6417. /* [in] */ DWORD dwCookie) = 0;
  6418. virtual HRESULT STDMETHODCALLTYPE StopAt(
  6419. /* [in] */ const REFERENCE_TIME *ptStop,
  6420. /* [in] */ BOOL bSendExtra,
  6421. /* [in] */ DWORD dwCookie) = 0;
  6422. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  6423. /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  6424. };
  6425. #else /* C style interface */
  6426. typedef struct IAMStreamControlVtbl
  6427. {
  6428. BEGIN_INTERFACE
  6429. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6430. IAMStreamControl * This,
  6431. /* [in] */ REFIID riid,
  6432. /* [iid_is][out] */ void **ppvObject);
  6433. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6434. IAMStreamControl * This);
  6435. ULONG ( STDMETHODCALLTYPE *Release )(
  6436. IAMStreamControl * This);
  6437. HRESULT ( STDMETHODCALLTYPE *StartAt )(
  6438. IAMStreamControl * This,
  6439. /* [in] */ const REFERENCE_TIME *ptStart,
  6440. /* [in] */ DWORD dwCookie);
  6441. HRESULT ( STDMETHODCALLTYPE *StopAt )(
  6442. IAMStreamControl * This,
  6443. /* [in] */ const REFERENCE_TIME *ptStop,
  6444. /* [in] */ BOOL bSendExtra,
  6445. /* [in] */ DWORD dwCookie);
  6446. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  6447. IAMStreamControl * This,
  6448. /* [out] */ AM_STREAM_INFO *pInfo);
  6449. END_INTERFACE
  6450. } IAMStreamControlVtbl;
  6451. interface IAMStreamControl
  6452. {
  6453. CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  6454. };
  6455. #ifdef COBJMACROS
  6456. #define IAMStreamControl_QueryInterface(This,riid,ppvObject) \
  6457. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6458. #define IAMStreamControl_AddRef(This) \
  6459. (This)->lpVtbl -> AddRef(This)
  6460. #define IAMStreamControl_Release(This) \
  6461. (This)->lpVtbl -> Release(This)
  6462. #define IAMStreamControl_StartAt(This,ptStart,dwCookie) \
  6463. (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  6464. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) \
  6465. (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  6466. #define IAMStreamControl_GetInfo(This,pInfo) \
  6467. (This)->lpVtbl -> GetInfo(This,pInfo)
  6468. #endif /* COBJMACROS */
  6469. #endif /* C style interface */
  6470. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy(
  6471. IAMStreamControl * This,
  6472. /* [in] */ const REFERENCE_TIME *ptStart,
  6473. /* [in] */ DWORD dwCookie);
  6474. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  6475. IRpcStubBuffer *This,
  6476. IRpcChannelBuffer *_pRpcChannelBuffer,
  6477. PRPC_MESSAGE _pRpcMessage,
  6478. DWORD *_pdwStubPhase);
  6479. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy(
  6480. IAMStreamControl * This,
  6481. /* [in] */ const REFERENCE_TIME *ptStop,
  6482. /* [in] */ BOOL bSendExtra,
  6483. /* [in] */ DWORD dwCookie);
  6484. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  6485. IRpcStubBuffer *This,
  6486. IRpcChannelBuffer *_pRpcChannelBuffer,
  6487. PRPC_MESSAGE _pRpcMessage,
  6488. DWORD *_pdwStubPhase);
  6489. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy(
  6490. IAMStreamControl * This,
  6491. /* [out] */ AM_STREAM_INFO *pInfo);
  6492. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  6493. IRpcStubBuffer *This,
  6494. IRpcChannelBuffer *_pRpcChannelBuffer,
  6495. PRPC_MESSAGE _pRpcMessage,
  6496. DWORD *_pdwStubPhase);
  6497. #endif /* __IAMStreamControl_INTERFACE_DEFINED__ */
  6498. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  6499. #define __ISeekingPassThru_INTERFACE_DEFINED__
  6500. /* interface ISeekingPassThru */
  6501. /* [unique][uuid][object] */
  6502. EXTERN_C const IID IID_ISeekingPassThru;
  6503. #if defined(__cplusplus) && !defined(CINTERFACE)
  6504. MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  6505. ISeekingPassThru : public IUnknown
  6506. {
  6507. public:
  6508. virtual HRESULT STDMETHODCALLTYPE Init(
  6509. /* [in] */ BOOL bSupportRendering,
  6510. /* [in] */ IPin *pPin) = 0;
  6511. };
  6512. #else /* C style interface */
  6513. typedef struct ISeekingPassThruVtbl
  6514. {
  6515. BEGIN_INTERFACE
  6516. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6517. ISeekingPassThru * This,
  6518. /* [in] */ REFIID riid,
  6519. /* [iid_is][out] */ void **ppvObject);
  6520. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6521. ISeekingPassThru * This);
  6522. ULONG ( STDMETHODCALLTYPE *Release )(
  6523. ISeekingPassThru * This);
  6524. HRESULT ( STDMETHODCALLTYPE *Init )(
  6525. ISeekingPassThru * This,
  6526. /* [in] */ BOOL bSupportRendering,
  6527. /* [in] */ IPin *pPin);
  6528. END_INTERFACE
  6529. } ISeekingPassThruVtbl;
  6530. interface ISeekingPassThru
  6531. {
  6532. CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  6533. };
  6534. #ifdef COBJMACROS
  6535. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) \
  6536. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6537. #define ISeekingPassThru_AddRef(This) \
  6538. (This)->lpVtbl -> AddRef(This)
  6539. #define ISeekingPassThru_Release(This) \
  6540. (This)->lpVtbl -> Release(This)
  6541. #define ISeekingPassThru_Init(This,bSupportRendering,pPin) \
  6542. (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  6543. #endif /* COBJMACROS */
  6544. #endif /* C style interface */
  6545. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(
  6546. ISeekingPassThru * This,
  6547. /* [in] */ BOOL bSupportRendering,
  6548. /* [in] */ IPin *pPin);
  6549. void __RPC_STUB ISeekingPassThru_Init_Stub(
  6550. IRpcStubBuffer *This,
  6551. IRpcChannelBuffer *_pRpcChannelBuffer,
  6552. PRPC_MESSAGE _pRpcMessage,
  6553. DWORD *_pdwStubPhase);
  6554. #endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  6555. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  6556. #define __IAMStreamConfig_INTERFACE_DEFINED__
  6557. /* interface IAMStreamConfig */
  6558. /* [unique][uuid][object] */
  6559. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  6560. {
  6561. GUID guid;
  6562. ULONG VideoStandard;
  6563. SIZE InputSize;
  6564. SIZE MinCroppingSize;
  6565. SIZE MaxCroppingSize;
  6566. int CropGranularityX;
  6567. int CropGranularityY;
  6568. int CropAlignX;
  6569. int CropAlignY;
  6570. SIZE MinOutputSize;
  6571. SIZE MaxOutputSize;
  6572. int OutputGranularityX;
  6573. int OutputGranularityY;
  6574. int StretchTapsX;
  6575. int StretchTapsY;
  6576. int ShrinkTapsX;
  6577. int ShrinkTapsY;
  6578. LONGLONG MinFrameInterval;
  6579. LONGLONG MaxFrameInterval;
  6580. LONG MinBitsPerSecond;
  6581. LONG MaxBitsPerSecond;
  6582. } VIDEO_STREAM_CONFIG_CAPS;
  6583. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  6584. {
  6585. GUID guid;
  6586. ULONG MinimumChannels;
  6587. ULONG MaximumChannels;
  6588. ULONG ChannelsGranularity;
  6589. ULONG MinimumBitsPerSample;
  6590. ULONG MaximumBitsPerSample;
  6591. ULONG BitsPerSampleGranularity;
  6592. ULONG MinimumSampleFrequency;
  6593. ULONG MaximumSampleFrequency;
  6594. ULONG SampleFrequencyGranularity;
  6595. } AUDIO_STREAM_CONFIG_CAPS;
  6596. EXTERN_C const IID IID_IAMStreamConfig;
  6597. #if defined(__cplusplus) && !defined(CINTERFACE)
  6598. MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  6599. IAMStreamConfig : public IUnknown
  6600. {
  6601. public:
  6602. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  6603. /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  6604. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  6605. /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  6606. virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
  6607. /* [out] */ int *piCount,
  6608. /* [out] */ int *piSize) = 0;
  6609. virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
  6610. /* [in] */ int iIndex,
  6611. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6612. /* [out] */ BYTE *pSCC) = 0;
  6613. };
  6614. #else /* C style interface */
  6615. typedef struct IAMStreamConfigVtbl
  6616. {
  6617. BEGIN_INTERFACE
  6618. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6619. IAMStreamConfig * This,
  6620. /* [in] */ REFIID riid,
  6621. /* [iid_is][out] */ void **ppvObject);
  6622. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6623. IAMStreamConfig * This);
  6624. ULONG ( STDMETHODCALLTYPE *Release )(
  6625. IAMStreamConfig * This);
  6626. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  6627. IAMStreamConfig * This,
  6628. /* [in] */ AM_MEDIA_TYPE *pmt);
  6629. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  6630. IAMStreamConfig * This,
  6631. /* [out] */ AM_MEDIA_TYPE **ppmt);
  6632. HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(
  6633. IAMStreamConfig * This,
  6634. /* [out] */ int *piCount,
  6635. /* [out] */ int *piSize);
  6636. HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(
  6637. IAMStreamConfig * This,
  6638. /* [in] */ int iIndex,
  6639. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6640. /* [out] */ BYTE *pSCC);
  6641. END_INTERFACE
  6642. } IAMStreamConfigVtbl;
  6643. interface IAMStreamConfig
  6644. {
  6645. CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  6646. };
  6647. #ifdef COBJMACROS
  6648. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) \
  6649. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6650. #define IAMStreamConfig_AddRef(This) \
  6651. (This)->lpVtbl -> AddRef(This)
  6652. #define IAMStreamConfig_Release(This) \
  6653. (This)->lpVtbl -> Release(This)
  6654. #define IAMStreamConfig_SetFormat(This,pmt) \
  6655. (This)->lpVtbl -> SetFormat(This,pmt)
  6656. #define IAMStreamConfig_GetFormat(This,ppmt) \
  6657. (This)->lpVtbl -> GetFormat(This,ppmt)
  6658. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) \
  6659. (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  6660. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC) \
  6661. (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  6662. #endif /* COBJMACROS */
  6663. #endif /* C style interface */
  6664. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(
  6665. IAMStreamConfig * This,
  6666. /* [in] */ AM_MEDIA_TYPE *pmt);
  6667. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  6668. IRpcStubBuffer *This,
  6669. IRpcChannelBuffer *_pRpcChannelBuffer,
  6670. PRPC_MESSAGE _pRpcMessage,
  6671. DWORD *_pdwStubPhase);
  6672. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(
  6673. IAMStreamConfig * This,
  6674. /* [out] */ AM_MEDIA_TYPE **ppmt);
  6675. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  6676. IRpcStubBuffer *This,
  6677. IRpcChannelBuffer *_pRpcChannelBuffer,
  6678. PRPC_MESSAGE _pRpcMessage,
  6679. DWORD *_pdwStubPhase);
  6680. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(
  6681. IAMStreamConfig * This,
  6682. /* [out] */ int *piCount,
  6683. /* [out] */ int *piSize);
  6684. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  6685. IRpcStubBuffer *This,
  6686. IRpcChannelBuffer *_pRpcChannelBuffer,
  6687. PRPC_MESSAGE _pRpcMessage,
  6688. DWORD *_pdwStubPhase);
  6689. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(
  6690. IAMStreamConfig * This,
  6691. /* [in] */ int iIndex,
  6692. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6693. /* [out] */ BYTE *pSCC);
  6694. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  6695. IRpcStubBuffer *This,
  6696. IRpcChannelBuffer *_pRpcChannelBuffer,
  6697. PRPC_MESSAGE _pRpcMessage,
  6698. DWORD *_pdwStubPhase);
  6699. #endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  6700. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  6701. #define __IConfigInterleaving_INTERFACE_DEFINED__
  6702. /* interface IConfigInterleaving */
  6703. /* [unique][uuid][object] */
  6704. typedef /* [public][public][public] */
  6705. enum __MIDL_IConfigInterleaving_0001
  6706. { INTERLEAVE_NONE = 0,
  6707. INTERLEAVE_CAPTURE = INTERLEAVE_NONE + 1,
  6708. INTERLEAVE_FULL = INTERLEAVE_CAPTURE + 1,
  6709. INTERLEAVE_NONE_BUFFERED = INTERLEAVE_FULL + 1
  6710. } InterleavingMode;
  6711. EXTERN_C const IID IID_IConfigInterleaving;
  6712. #if defined(__cplusplus) && !defined(CINTERFACE)
  6713. MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  6714. IConfigInterleaving : public IUnknown
  6715. {
  6716. public:
  6717. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  6718. /* [in] */ InterleavingMode mode) = 0;
  6719. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  6720. /* [out] */ InterleavingMode *pMode) = 0;
  6721. virtual HRESULT STDMETHODCALLTYPE put_Interleaving(
  6722. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6723. /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  6724. virtual HRESULT STDMETHODCALLTYPE get_Interleaving(
  6725. /* [out] */ REFERENCE_TIME *prtInterleave,
  6726. /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  6727. };
  6728. #else /* C style interface */
  6729. typedef struct IConfigInterleavingVtbl
  6730. {
  6731. BEGIN_INTERFACE
  6732. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6733. IConfigInterleaving * This,
  6734. /* [in] */ REFIID riid,
  6735. /* [iid_is][out] */ void **ppvObject);
  6736. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6737. IConfigInterleaving * This);
  6738. ULONG ( STDMETHODCALLTYPE *Release )(
  6739. IConfigInterleaving * This);
  6740. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  6741. IConfigInterleaving * This,
  6742. /* [in] */ InterleavingMode mode);
  6743. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  6744. IConfigInterleaving * This,
  6745. /* [out] */ InterleavingMode *pMode);
  6746. HRESULT ( STDMETHODCALLTYPE *put_Interleaving )(
  6747. IConfigInterleaving * This,
  6748. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6749. /* [in] */ const REFERENCE_TIME *prtPreroll);
  6750. HRESULT ( STDMETHODCALLTYPE *get_Interleaving )(
  6751. IConfigInterleaving * This,
  6752. /* [out] */ REFERENCE_TIME *prtInterleave,
  6753. /* [out] */ REFERENCE_TIME *prtPreroll);
  6754. END_INTERFACE
  6755. } IConfigInterleavingVtbl;
  6756. interface IConfigInterleaving
  6757. {
  6758. CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  6759. };
  6760. #ifdef COBJMACROS
  6761. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) \
  6762. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6763. #define IConfigInterleaving_AddRef(This) \
  6764. (This)->lpVtbl -> AddRef(This)
  6765. #define IConfigInterleaving_Release(This) \
  6766. (This)->lpVtbl -> Release(This)
  6767. #define IConfigInterleaving_put_Mode(This,mode) \
  6768. (This)->lpVtbl -> put_Mode(This,mode)
  6769. #define IConfigInterleaving_get_Mode(This,pMode) \
  6770. (This)->lpVtbl -> get_Mode(This,pMode)
  6771. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) \
  6772. (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  6773. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) \
  6774. (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  6775. #endif /* COBJMACROS */
  6776. #endif /* C style interface */
  6777. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy(
  6778. IConfigInterleaving * This,
  6779. /* [in] */ InterleavingMode mode);
  6780. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  6781. IRpcStubBuffer *This,
  6782. IRpcChannelBuffer *_pRpcChannelBuffer,
  6783. PRPC_MESSAGE _pRpcMessage,
  6784. DWORD *_pdwStubPhase);
  6785. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy(
  6786. IConfigInterleaving * This,
  6787. /* [out] */ InterleavingMode *pMode);
  6788. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  6789. IRpcStubBuffer *This,
  6790. IRpcChannelBuffer *_pRpcChannelBuffer,
  6791. PRPC_MESSAGE _pRpcMessage,
  6792. DWORD *_pdwStubPhase);
  6793. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy(
  6794. IConfigInterleaving * This,
  6795. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6796. /* [in] */ const REFERENCE_TIME *prtPreroll);
  6797. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  6798. IRpcStubBuffer *This,
  6799. IRpcChannelBuffer *_pRpcChannelBuffer,
  6800. PRPC_MESSAGE _pRpcMessage,
  6801. DWORD *_pdwStubPhase);
  6802. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy(
  6803. IConfigInterleaving * This,
  6804. /* [out] */ REFERENCE_TIME *prtInterleave,
  6805. /* [out] */ REFERENCE_TIME *prtPreroll);
  6806. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  6807. IRpcStubBuffer *This,
  6808. IRpcChannelBuffer *_pRpcChannelBuffer,
  6809. PRPC_MESSAGE _pRpcMessage,
  6810. DWORD *_pdwStubPhase);
  6811. #endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  6812. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  6813. #define __IConfigAviMux_INTERFACE_DEFINED__
  6814. /* interface IConfigAviMux */
  6815. /* [unique][uuid][object] */
  6816. EXTERN_C const IID IID_IConfigAviMux;
  6817. #if defined(__cplusplus) && !defined(CINTERFACE)
  6818. MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  6819. IConfigAviMux : public IUnknown
  6820. {
  6821. public:
  6822. virtual HRESULT STDMETHODCALLTYPE SetMasterStream(
  6823. /* [in] */ LONG iStream) = 0;
  6824. virtual HRESULT STDMETHODCALLTYPE GetMasterStream(
  6825. /* [out] */ LONG *pStream) = 0;
  6826. virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
  6827. /* [in] */ BOOL fOldIndex) = 0;
  6828. virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
  6829. /* [out] */ BOOL *pfOldIndex) = 0;
  6830. };
  6831. #else /* C style interface */
  6832. typedef struct IConfigAviMuxVtbl
  6833. {
  6834. BEGIN_INTERFACE
  6835. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6836. IConfigAviMux * This,
  6837. /* [in] */ REFIID riid,
  6838. /* [iid_is][out] */ void **ppvObject);
  6839. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6840. IConfigAviMux * This);
  6841. ULONG ( STDMETHODCALLTYPE *Release )(
  6842. IConfigAviMux * This);
  6843. HRESULT ( STDMETHODCALLTYPE *SetMasterStream )(
  6844. IConfigAviMux * This,
  6845. /* [in] */ LONG iStream);
  6846. HRESULT ( STDMETHODCALLTYPE *GetMasterStream )(
  6847. IConfigAviMux * This,
  6848. /* [out] */ LONG *pStream);
  6849. HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )(
  6850. IConfigAviMux * This,
  6851. /* [in] */ BOOL fOldIndex);
  6852. HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )(
  6853. IConfigAviMux * This,
  6854. /* [out] */ BOOL *pfOldIndex);
  6855. END_INTERFACE
  6856. } IConfigAviMuxVtbl;
  6857. interface IConfigAviMux
  6858. {
  6859. CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  6860. };
  6861. #ifdef COBJMACROS
  6862. #define IConfigAviMux_QueryInterface(This,riid,ppvObject) \
  6863. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6864. #define IConfigAviMux_AddRef(This) \
  6865. (This)->lpVtbl -> AddRef(This)
  6866. #define IConfigAviMux_Release(This) \
  6867. (This)->lpVtbl -> Release(This)
  6868. #define IConfigAviMux_SetMasterStream(This,iStream) \
  6869. (This)->lpVtbl -> SetMasterStream(This,iStream)
  6870. #define IConfigAviMux_GetMasterStream(This,pStream) \
  6871. (This)->lpVtbl -> GetMasterStream(This,pStream)
  6872. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) \
  6873. (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  6874. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) \
  6875. (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  6876. #endif /* COBJMACROS */
  6877. #endif /* C style interface */
  6878. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy(
  6879. IConfigAviMux * This,
  6880. /* [in] */ LONG iStream);
  6881. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  6882. IRpcStubBuffer *This,
  6883. IRpcChannelBuffer *_pRpcChannelBuffer,
  6884. PRPC_MESSAGE _pRpcMessage,
  6885. DWORD *_pdwStubPhase);
  6886. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy(
  6887. IConfigAviMux * This,
  6888. /* [out] */ LONG *pStream);
  6889. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  6890. IRpcStubBuffer *This,
  6891. IRpcChannelBuffer *_pRpcChannelBuffer,
  6892. PRPC_MESSAGE _pRpcMessage,
  6893. DWORD *_pdwStubPhase);
  6894. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy(
  6895. IConfigAviMux * This,
  6896. /* [in] */ BOOL fOldIndex);
  6897. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  6898. IRpcStubBuffer *This,
  6899. IRpcChannelBuffer *_pRpcChannelBuffer,
  6900. PRPC_MESSAGE _pRpcMessage,
  6901. DWORD *_pdwStubPhase);
  6902. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy(
  6903. IConfigAviMux * This,
  6904. /* [out] */ BOOL *pfOldIndex);
  6905. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  6906. IRpcStubBuffer *This,
  6907. IRpcChannelBuffer *_pRpcChannelBuffer,
  6908. PRPC_MESSAGE _pRpcMessage,
  6909. DWORD *_pdwStubPhase);
  6910. #endif /* __IConfigAviMux_INTERFACE_DEFINED__ */
  6911. /* interface __MIDL_itf_strmif_0167 */
  6912. /* [local] */
  6913. typedef /* [public] */
  6914. enum __MIDL___MIDL_itf_strmif_0167_0001
  6915. { CompressionCaps_CanQuality = 0x1,
  6916. CompressionCaps_CanCrunch = 0x2,
  6917. CompressionCaps_CanKeyFrame = 0x4,
  6918. CompressionCaps_CanBFrame = 0x8,
  6919. CompressionCaps_CanWindow = 0x10
  6920. } CompressionCaps;
  6921. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  6922. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  6923. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  6924. #define __IAMVideoCompression_INTERFACE_DEFINED__
  6925. /* interface IAMVideoCompression */
  6926. /* [unique][uuid][object] */
  6927. EXTERN_C const IID IID_IAMVideoCompression;
  6928. #if defined(__cplusplus) && !defined(CINTERFACE)
  6929. MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  6930. IAMVideoCompression : public IUnknown
  6931. {
  6932. public:
  6933. virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate(
  6934. /* [in] */ long KeyFrameRate) = 0;
  6935. virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate(
  6936. /* [out] */ long *pKeyFrameRate) = 0;
  6937. virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(
  6938. /* [in] */ long PFramesPerKeyFrame) = 0;
  6939. virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(
  6940. /* [out] */ long *pPFramesPerKeyFrame) = 0;
  6941. virtual HRESULT STDMETHODCALLTYPE put_Quality(
  6942. /* [in] */ double Quality) = 0;
  6943. virtual HRESULT STDMETHODCALLTYPE get_Quality(
  6944. /* [out] */ double *pQuality) = 0;
  6945. virtual HRESULT STDMETHODCALLTYPE put_WindowSize(
  6946. /* [in] */ DWORDLONG WindowSize) = 0;
  6947. virtual HRESULT STDMETHODCALLTYPE get_WindowSize(
  6948. /* [out] */ DWORDLONG *pWindowSize) = 0;
  6949. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  6950. /* [size_is][out] */ WCHAR *pszVersion,
  6951. /* [out][in] */ int *pcbVersion,
  6952. /* [size_is][out] */ LPWSTR pszDescription,
  6953. /* [out][in] */ int *pcbDescription,
  6954. /* [out] */ long *pDefaultKeyFrameRate,
  6955. /* [out] */ long *pDefaultPFramesPerKey,
  6956. /* [out] */ double *pDefaultQuality,
  6957. /* [out] */ long *pCapabilities) = 0;
  6958. virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame(
  6959. /* [in] */ long FrameNumber) = 0;
  6960. virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize(
  6961. /* [in] */ long FrameNumber,
  6962. /* [in] */ long Size) = 0;
  6963. };
  6964. #else /* C style interface */
  6965. typedef struct IAMVideoCompressionVtbl
  6966. {
  6967. BEGIN_INTERFACE
  6968. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6969. IAMVideoCompression * This,
  6970. /* [in] */ REFIID riid,
  6971. /* [iid_is][out] */ void **ppvObject);
  6972. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6973. IAMVideoCompression * This);
  6974. ULONG ( STDMETHODCALLTYPE *Release )(
  6975. IAMVideoCompression * This);
  6976. HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )(
  6977. IAMVideoCompression * This,
  6978. /* [in] */ long KeyFrameRate);
  6979. HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )(
  6980. IAMVideoCompression * This,
  6981. /* [out] */ long *pKeyFrameRate);
  6982. HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )(
  6983. IAMVideoCompression * This,
  6984. /* [in] */ long PFramesPerKeyFrame);
  6985. HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )(
  6986. IAMVideoCompression * This,
  6987. /* [out] */ long *pPFramesPerKeyFrame);
  6988. HRESULT ( STDMETHODCALLTYPE *put_Quality )(
  6989. IAMVideoCompression * This,
  6990. /* [in] */ double Quality);
  6991. HRESULT ( STDMETHODCALLTYPE *get_Quality )(
  6992. IAMVideoCompression * This,
  6993. /* [out] */ double *pQuality);
  6994. HRESULT ( STDMETHODCALLTYPE *put_WindowSize )(
  6995. IAMVideoCompression * This,
  6996. /* [in] */ DWORDLONG WindowSize);
  6997. HRESULT ( STDMETHODCALLTYPE *get_WindowSize )(
  6998. IAMVideoCompression * This,
  6999. /* [out] */ DWORDLONG *pWindowSize);
  7000. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  7001. IAMVideoCompression * This,
  7002. /* [size_is][out] */ WCHAR *pszVersion,
  7003. /* [out][in] */ int *pcbVersion,
  7004. /* [size_is][out] */ LPWSTR pszDescription,
  7005. /* [out][in] */ int *pcbDescription,
  7006. /* [out] */ long *pDefaultKeyFrameRate,
  7007. /* [out] */ long *pDefaultPFramesPerKey,
  7008. /* [out] */ double *pDefaultQuality,
  7009. /* [out] */ long *pCapabilities);
  7010. HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )(
  7011. IAMVideoCompression * This,
  7012. /* [in] */ long FrameNumber);
  7013. HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )(
  7014. IAMVideoCompression * This,
  7015. /* [in] */ long FrameNumber,
  7016. /* [in] */ long Size);
  7017. END_INTERFACE
  7018. } IAMVideoCompressionVtbl;
  7019. interface IAMVideoCompression
  7020. {
  7021. CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  7022. };
  7023. #ifdef COBJMACROS
  7024. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) \
  7025. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7026. #define IAMVideoCompression_AddRef(This) \
  7027. (This)->lpVtbl -> AddRef(This)
  7028. #define IAMVideoCompression_Release(This) \
  7029. (This)->lpVtbl -> Release(This)
  7030. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) \
  7031. (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  7032. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) \
  7033. (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  7034. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) \
  7035. (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  7036. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) \
  7037. (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  7038. #define IAMVideoCompression_put_Quality(This,Quality) \
  7039. (This)->lpVtbl -> put_Quality(This,Quality)
  7040. #define IAMVideoCompression_get_Quality(This,pQuality) \
  7041. (This)->lpVtbl -> get_Quality(This,pQuality)
  7042. #define IAMVideoCompression_put_WindowSize(This,WindowSize) \
  7043. (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  7044. #define IAMVideoCompression_get_WindowSize(This,pWindowSize) \
  7045. (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  7046. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) \
  7047. (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  7048. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) \
  7049. (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  7050. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) \
  7051. (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  7052. #endif /* COBJMACROS */
  7053. #endif /* C style interface */
  7054. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy(
  7055. IAMVideoCompression * This,
  7056. /* [in] */ long KeyFrameRate);
  7057. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  7058. IRpcStubBuffer *This,
  7059. IRpcChannelBuffer *_pRpcChannelBuffer,
  7060. PRPC_MESSAGE _pRpcMessage,
  7061. DWORD *_pdwStubPhase);
  7062. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy(
  7063. IAMVideoCompression * This,
  7064. /* [out] */ long *pKeyFrameRate);
  7065. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  7066. IRpcStubBuffer *This,
  7067. IRpcChannelBuffer *_pRpcChannelBuffer,
  7068. PRPC_MESSAGE _pRpcMessage,
  7069. DWORD *_pdwStubPhase);
  7070. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(
  7071. IAMVideoCompression * This,
  7072. /* [in] */ long PFramesPerKeyFrame);
  7073. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  7074. IRpcStubBuffer *This,
  7075. IRpcChannelBuffer *_pRpcChannelBuffer,
  7076. PRPC_MESSAGE _pRpcMessage,
  7077. DWORD *_pdwStubPhase);
  7078. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(
  7079. IAMVideoCompression * This,
  7080. /* [out] */ long *pPFramesPerKeyFrame);
  7081. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  7082. IRpcStubBuffer *This,
  7083. IRpcChannelBuffer *_pRpcChannelBuffer,
  7084. PRPC_MESSAGE _pRpcMessage,
  7085. DWORD *_pdwStubPhase);
  7086. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy(
  7087. IAMVideoCompression * This,
  7088. /* [in] */ double Quality);
  7089. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  7090. IRpcStubBuffer *This,
  7091. IRpcChannelBuffer *_pRpcChannelBuffer,
  7092. PRPC_MESSAGE _pRpcMessage,
  7093. DWORD *_pdwStubPhase);
  7094. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy(
  7095. IAMVideoCompression * This,
  7096. /* [out] */ double *pQuality);
  7097. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  7098. IRpcStubBuffer *This,
  7099. IRpcChannelBuffer *_pRpcChannelBuffer,
  7100. PRPC_MESSAGE _pRpcMessage,
  7101. DWORD *_pdwStubPhase);
  7102. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy(
  7103. IAMVideoCompression * This,
  7104. /* [in] */ DWORDLONG WindowSize);
  7105. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  7106. IRpcStubBuffer *This,
  7107. IRpcChannelBuffer *_pRpcChannelBuffer,
  7108. PRPC_MESSAGE _pRpcMessage,
  7109. DWORD *_pdwStubPhase);
  7110. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy(
  7111. IAMVideoCompression * This,
  7112. /* [out] */ DWORDLONG *pWindowSize);
  7113. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  7114. IRpcStubBuffer *This,
  7115. IRpcChannelBuffer *_pRpcChannelBuffer,
  7116. PRPC_MESSAGE _pRpcMessage,
  7117. DWORD *_pdwStubPhase);
  7118. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy(
  7119. IAMVideoCompression * This,
  7120. /* [size_is][out] */ WCHAR *pszVersion,
  7121. /* [out][in] */ int *pcbVersion,
  7122. /* [size_is][out] */ LPWSTR pszDescription,
  7123. /* [out][in] */ int *pcbDescription,
  7124. /* [out] */ long *pDefaultKeyFrameRate,
  7125. /* [out] */ long *pDefaultPFramesPerKey,
  7126. /* [out] */ double *pDefaultQuality,
  7127. /* [out] */ long *pCapabilities);
  7128. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  7129. IRpcStubBuffer *This,
  7130. IRpcChannelBuffer *_pRpcChannelBuffer,
  7131. PRPC_MESSAGE _pRpcMessage,
  7132. DWORD *_pdwStubPhase);
  7133. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy(
  7134. IAMVideoCompression * This,
  7135. /* [in] */ long FrameNumber);
  7136. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  7137. IRpcStubBuffer *This,
  7138. IRpcChannelBuffer *_pRpcChannelBuffer,
  7139. PRPC_MESSAGE _pRpcMessage,
  7140. DWORD *_pdwStubPhase);
  7141. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy(
  7142. IAMVideoCompression * This,
  7143. /* [in] */ long FrameNumber,
  7144. /* [in] */ long Size);
  7145. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  7146. IRpcStubBuffer *This,
  7147. IRpcChannelBuffer *_pRpcChannelBuffer,
  7148. PRPC_MESSAGE _pRpcMessage,
  7149. DWORD *_pdwStubPhase);
  7150. #endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  7151. /* interface __MIDL_itf_strmif_0168 */
  7152. /* [local] */
  7153. typedef /* [public] */
  7154. enum __MIDL___MIDL_itf_strmif_0168_0001
  7155. { VfwCaptureDialog_Source = 0x1,
  7156. VfwCaptureDialog_Format = 0x2,
  7157. VfwCaptureDialog_Display = 0x4
  7158. } VfwCaptureDialogs;
  7159. typedef /* [public] */
  7160. enum __MIDL___MIDL_itf_strmif_0168_0002
  7161. { VfwCompressDialog_Config = 0x1,
  7162. VfwCompressDialog_About = 0x2,
  7163. VfwCompressDialog_QueryConfig = 0x4,
  7164. VfwCompressDialog_QueryAbout = 0x8
  7165. } VfwCompressDialogs;
  7166. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
  7167. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
  7168. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  7169. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  7170. /* interface IAMVfwCaptureDialogs */
  7171. /* [unique][uuid][local][object] */
  7172. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  7173. #if defined(__cplusplus) && !defined(CINTERFACE)
  7174. MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  7175. IAMVfwCaptureDialogs : public IUnknown
  7176. {
  7177. public:
  7178. virtual HRESULT STDMETHODCALLTYPE HasDialog(
  7179. /* [in] */ int iDialog) = 0;
  7180. virtual HRESULT STDMETHODCALLTYPE ShowDialog(
  7181. /* [in] */ int iDialog,
  7182. /* [in] */ HWND hwnd) = 0;
  7183. virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
  7184. /* [in] */ int iDialog,
  7185. /* [in] */ int uMsg,
  7186. /* [in] */ long dw1,
  7187. /* [in] */ long dw2) = 0;
  7188. };
  7189. #else /* C style interface */
  7190. typedef struct IAMVfwCaptureDialogsVtbl
  7191. {
  7192. BEGIN_INTERFACE
  7193. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7194. IAMVfwCaptureDialogs * This,
  7195. /* [in] */ REFIID riid,
  7196. /* [iid_is][out] */ void **ppvObject);
  7197. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7198. IAMVfwCaptureDialogs * This);
  7199. ULONG ( STDMETHODCALLTYPE *Release )(
  7200. IAMVfwCaptureDialogs * This);
  7201. HRESULT ( STDMETHODCALLTYPE *HasDialog )(
  7202. IAMVfwCaptureDialogs * This,
  7203. /* [in] */ int iDialog);
  7204. HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
  7205. IAMVfwCaptureDialogs * This,
  7206. /* [in] */ int iDialog,
  7207. /* [in] */ HWND hwnd);
  7208. HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
  7209. IAMVfwCaptureDialogs * This,
  7210. /* [in] */ int iDialog,
  7211. /* [in] */ int uMsg,
  7212. /* [in] */ long dw1,
  7213. /* [in] */ long dw2);
  7214. END_INTERFACE
  7215. } IAMVfwCaptureDialogsVtbl;
  7216. interface IAMVfwCaptureDialogs
  7217. {
  7218. CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  7219. };
  7220. #ifdef COBJMACROS
  7221. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) \
  7222. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7223. #define IAMVfwCaptureDialogs_AddRef(This) \
  7224. (This)->lpVtbl -> AddRef(This)
  7225. #define IAMVfwCaptureDialogs_Release(This) \
  7226. (This)->lpVtbl -> Release(This)
  7227. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog) \
  7228. (This)->lpVtbl -> HasDialog(This,iDialog)
  7229. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) \
  7230. (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  7231. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) \
  7232. (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  7233. #endif /* COBJMACROS */
  7234. #endif /* C style interface */
  7235. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy(
  7236. IAMVfwCaptureDialogs * This,
  7237. /* [in] */ int iDialog);
  7238. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  7239. IRpcStubBuffer *This,
  7240. IRpcChannelBuffer *_pRpcChannelBuffer,
  7241. PRPC_MESSAGE _pRpcMessage,
  7242. DWORD *_pdwStubPhase);
  7243. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy(
  7244. IAMVfwCaptureDialogs * This,
  7245. /* [in] */ int iDialog,
  7246. /* [in] */ HWND hwnd);
  7247. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  7248. IRpcStubBuffer *This,
  7249. IRpcChannelBuffer *_pRpcChannelBuffer,
  7250. PRPC_MESSAGE _pRpcMessage,
  7251. DWORD *_pdwStubPhase);
  7252. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy(
  7253. IAMVfwCaptureDialogs * This,
  7254. /* [in] */ int iDialog,
  7255. /* [in] */ int uMsg,
  7256. /* [in] */ long dw1,
  7257. /* [in] */ long dw2);
  7258. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  7259. IRpcStubBuffer *This,
  7260. IRpcChannelBuffer *_pRpcChannelBuffer,
  7261. PRPC_MESSAGE _pRpcMessage,
  7262. DWORD *_pdwStubPhase);
  7263. #endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  7264. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  7265. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  7266. /* interface IAMVfwCompressDialogs */
  7267. /* [unique][uuid][local][object] */
  7268. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  7269. #if defined(__cplusplus) && !defined(CINTERFACE)
  7270. MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  7271. IAMVfwCompressDialogs : public IUnknown
  7272. {
  7273. public:
  7274. virtual HRESULT STDMETHODCALLTYPE ShowDialog(
  7275. /* [in] */ int iDialog,
  7276. /* [in] */ HWND hwnd) = 0;
  7277. virtual HRESULT STDMETHODCALLTYPE GetState(
  7278. /* [size_is][out] */ LPVOID pState,
  7279. /* [out][in] */ int *pcbState) = 0;
  7280. virtual HRESULT STDMETHODCALLTYPE SetState(
  7281. /* [size_is][in] */ LPVOID pState,
  7282. /* [in] */ int cbState) = 0;
  7283. virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
  7284. /* [in] */ int uMsg,
  7285. /* [in] */ long dw1,
  7286. /* [in] */ long dw2) = 0;
  7287. };
  7288. #else /* C style interface */
  7289. typedef struct IAMVfwCompressDialogsVtbl
  7290. {
  7291. BEGIN_INTERFACE
  7292. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7293. IAMVfwCompressDialogs * This,
  7294. /* [in] */ REFIID riid,
  7295. /* [iid_is][out] */ void **ppvObject);
  7296. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7297. IAMVfwCompressDialogs * This);
  7298. ULONG ( STDMETHODCALLTYPE *Release )(
  7299. IAMVfwCompressDialogs * This);
  7300. HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
  7301. IAMVfwCompressDialogs * This,
  7302. /* [in] */ int iDialog,
  7303. /* [in] */ HWND hwnd);
  7304. HRESULT ( STDMETHODCALLTYPE *GetState )(
  7305. IAMVfwCompressDialogs * This,
  7306. /* [size_is][out] */ LPVOID pState,
  7307. /* [out][in] */ int *pcbState);
  7308. HRESULT ( STDMETHODCALLTYPE *SetState )(
  7309. IAMVfwCompressDialogs * This,
  7310. /* [size_is][in] */ LPVOID pState,
  7311. /* [in] */ int cbState);
  7312. HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
  7313. IAMVfwCompressDialogs * This,
  7314. /* [in] */ int uMsg,
  7315. /* [in] */ long dw1,
  7316. /* [in] */ long dw2);
  7317. END_INTERFACE
  7318. } IAMVfwCompressDialogsVtbl;
  7319. interface IAMVfwCompressDialogs
  7320. {
  7321. CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  7322. };
  7323. #ifdef COBJMACROS
  7324. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) \
  7325. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7326. #define IAMVfwCompressDialogs_AddRef(This) \
  7327. (This)->lpVtbl -> AddRef(This)
  7328. #define IAMVfwCompressDialogs_Release(This) \
  7329. (This)->lpVtbl -> Release(This)
  7330. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) \
  7331. (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  7332. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) \
  7333. (This)->lpVtbl -> GetState(This,pState,pcbState)
  7334. #define IAMVfwCompressDialogs_SetState(This,pState,cbState) \
  7335. (This)->lpVtbl -> SetState(This,pState,cbState)
  7336. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) \
  7337. (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  7338. #endif /* COBJMACROS */
  7339. #endif /* C style interface */
  7340. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy(
  7341. IAMVfwCompressDialogs * This,
  7342. /* [in] */ int iDialog,
  7343. /* [in] */ HWND hwnd);
  7344. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  7345. IRpcStubBuffer *This,
  7346. IRpcChannelBuffer *_pRpcChannelBuffer,
  7347. PRPC_MESSAGE _pRpcMessage,
  7348. DWORD *_pdwStubPhase);
  7349. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy(
  7350. IAMVfwCompressDialogs * This,
  7351. /* [size_is][out] */ LPVOID pState,
  7352. /* [out][in] */ int *pcbState);
  7353. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  7354. IRpcStubBuffer *This,
  7355. IRpcChannelBuffer *_pRpcChannelBuffer,
  7356. PRPC_MESSAGE _pRpcMessage,
  7357. DWORD *_pdwStubPhase);
  7358. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy(
  7359. IAMVfwCompressDialogs * This,
  7360. /* [size_is][in] */ LPVOID pState,
  7361. /* [in] */ int cbState);
  7362. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  7363. IRpcStubBuffer *This,
  7364. IRpcChannelBuffer *_pRpcChannelBuffer,
  7365. PRPC_MESSAGE _pRpcMessage,
  7366. DWORD *_pdwStubPhase);
  7367. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy(
  7368. IAMVfwCompressDialogs * This,
  7369. /* [in] */ int uMsg,
  7370. /* [in] */ long dw1,
  7371. /* [in] */ long dw2);
  7372. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  7373. IRpcStubBuffer *This,
  7374. IRpcChannelBuffer *_pRpcChannelBuffer,
  7375. PRPC_MESSAGE _pRpcMessage,
  7376. DWORD *_pdwStubPhase);
  7377. #endif /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  7378. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  7379. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  7380. /* interface IAMDroppedFrames */
  7381. /* [unique][uuid][object] */
  7382. EXTERN_C const IID IID_IAMDroppedFrames;
  7383. #if defined(__cplusplus) && !defined(CINTERFACE)
  7384. MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  7385. IAMDroppedFrames : public IUnknown
  7386. {
  7387. public:
  7388. virtual HRESULT STDMETHODCALLTYPE GetNumDropped(
  7389. /* [out] */ long *plDropped) = 0;
  7390. virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(
  7391. /* [out] */ long *plNotDropped) = 0;
  7392. virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(
  7393. /* [in] */ long lSize,
  7394. /* [out] */ long *plArray,
  7395. /* [out] */ long *plNumCopied) = 0;
  7396. virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(
  7397. /* [out] */ long *plAverageSize) = 0;
  7398. };
  7399. #else /* C style interface */
  7400. typedef struct IAMDroppedFramesVtbl
  7401. {
  7402. BEGIN_INTERFACE
  7403. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7404. IAMDroppedFrames * This,
  7405. /* [in] */ REFIID riid,
  7406. /* [iid_is][out] */ void **ppvObject);
  7407. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7408. IAMDroppedFrames * This);
  7409. ULONG ( STDMETHODCALLTYPE *Release )(
  7410. IAMDroppedFrames * This);
  7411. HRESULT ( STDMETHODCALLTYPE *GetNumDropped )(
  7412. IAMDroppedFrames * This,
  7413. /* [out] */ long *plDropped);
  7414. HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )(
  7415. IAMDroppedFrames * This,
  7416. /* [out] */ long *plNotDropped);
  7417. HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )(
  7418. IAMDroppedFrames * This,
  7419. /* [in] */ long lSize,
  7420. /* [out] */ long *plArray,
  7421. /* [out] */ long *plNumCopied);
  7422. HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )(
  7423. IAMDroppedFrames * This,
  7424. /* [out] */ long *plAverageSize);
  7425. END_INTERFACE
  7426. } IAMDroppedFramesVtbl;
  7427. interface IAMDroppedFrames
  7428. {
  7429. CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  7430. };
  7431. #ifdef COBJMACROS
  7432. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) \
  7433. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7434. #define IAMDroppedFrames_AddRef(This) \
  7435. (This)->lpVtbl -> AddRef(This)
  7436. #define IAMDroppedFrames_Release(This) \
  7437. (This)->lpVtbl -> Release(This)
  7438. #define IAMDroppedFrames_GetNumDropped(This,plDropped) \
  7439. (This)->lpVtbl -> GetNumDropped(This,plDropped)
  7440. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) \
  7441. (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  7442. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) \
  7443. (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  7444. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) \
  7445. (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  7446. #endif /* COBJMACROS */
  7447. #endif /* C style interface */
  7448. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy(
  7449. IAMDroppedFrames * This,
  7450. /* [out] */ long *plDropped);
  7451. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  7452. IRpcStubBuffer *This,
  7453. IRpcChannelBuffer *_pRpcChannelBuffer,
  7454. PRPC_MESSAGE _pRpcMessage,
  7455. DWORD *_pdwStubPhase);
  7456. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy(
  7457. IAMDroppedFrames * This,
  7458. /* [out] */ long *plNotDropped);
  7459. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  7460. IRpcStubBuffer *This,
  7461. IRpcChannelBuffer *_pRpcChannelBuffer,
  7462. PRPC_MESSAGE _pRpcMessage,
  7463. DWORD *_pdwStubPhase);
  7464. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy(
  7465. IAMDroppedFrames * This,
  7466. /* [in] */ long lSize,
  7467. /* [out] */ long *plArray,
  7468. /* [out] */ long *plNumCopied);
  7469. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  7470. IRpcStubBuffer *This,
  7471. IRpcChannelBuffer *_pRpcChannelBuffer,
  7472. PRPC_MESSAGE _pRpcMessage,
  7473. DWORD *_pdwStubPhase);
  7474. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy(
  7475. IAMDroppedFrames * This,
  7476. /* [out] */ long *plAverageSize);
  7477. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  7478. IRpcStubBuffer *This,
  7479. IRpcChannelBuffer *_pRpcChannelBuffer,
  7480. PRPC_MESSAGE _pRpcMessage,
  7481. DWORD *_pdwStubPhase);
  7482. #endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  7483. /* interface __MIDL_itf_strmif_0171 */
  7484. /* [local] */
  7485. #define AMF_AUTOMATICGAIN -1.0
  7486. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
  7487. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
  7488. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  7489. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  7490. /* interface IAMAudioInputMixer */
  7491. /* [unique][uuid][object] */
  7492. EXTERN_C const IID IID_IAMAudioInputMixer;
  7493. #if defined(__cplusplus) && !defined(CINTERFACE)
  7494. MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  7495. IAMAudioInputMixer : public IUnknown
  7496. {
  7497. public:
  7498. virtual HRESULT STDMETHODCALLTYPE put_Enable(
  7499. /* [in] */ BOOL fEnable) = 0;
  7500. virtual HRESULT STDMETHODCALLTYPE get_Enable(
  7501. /* [out] */ BOOL *pfEnable) = 0;
  7502. virtual HRESULT STDMETHODCALLTYPE put_Mono(
  7503. /* [in] */ BOOL fMono) = 0;
  7504. virtual HRESULT STDMETHODCALLTYPE get_Mono(
  7505. /* [out] */ BOOL *pfMono) = 0;
  7506. virtual HRESULT STDMETHODCALLTYPE put_MixLevel(
  7507. /* [in] */ double Level) = 0;
  7508. virtual HRESULT STDMETHODCALLTYPE get_MixLevel(
  7509. /* [out] */ double *pLevel) = 0;
  7510. virtual HRESULT STDMETHODCALLTYPE put_Pan(
  7511. /* [in] */ double Pan) = 0;
  7512. virtual HRESULT STDMETHODCALLTYPE get_Pan(
  7513. /* [out] */ double *pPan) = 0;
  7514. virtual HRESULT STDMETHODCALLTYPE put_Loudness(
  7515. /* [in] */ BOOL fLoudness) = 0;
  7516. virtual HRESULT STDMETHODCALLTYPE get_Loudness(
  7517. /* [out] */ BOOL *pfLoudness) = 0;
  7518. virtual HRESULT STDMETHODCALLTYPE put_Treble(
  7519. /* [in] */ double Treble) = 0;
  7520. virtual HRESULT STDMETHODCALLTYPE get_Treble(
  7521. /* [out] */ double *pTreble) = 0;
  7522. virtual HRESULT STDMETHODCALLTYPE get_TrebleRange(
  7523. /* [out] */ double *pRange) = 0;
  7524. virtual HRESULT STDMETHODCALLTYPE put_Bass(
  7525. /* [in] */ double Bass) = 0;
  7526. virtual HRESULT STDMETHODCALLTYPE get_Bass(
  7527. /* [out] */ double *pBass) = 0;
  7528. virtual HRESULT STDMETHODCALLTYPE get_BassRange(
  7529. /* [out] */ double *pRange) = 0;
  7530. };
  7531. #else /* C style interface */
  7532. typedef struct IAMAudioInputMixerVtbl
  7533. {
  7534. BEGIN_INTERFACE
  7535. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7536. IAMAudioInputMixer * This,
  7537. /* [in] */ REFIID riid,
  7538. /* [iid_is][out] */ void **ppvObject);
  7539. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7540. IAMAudioInputMixer * This);
  7541. ULONG ( STDMETHODCALLTYPE *Release )(
  7542. IAMAudioInputMixer * This);
  7543. HRESULT ( STDMETHODCALLTYPE *put_Enable )(
  7544. IAMAudioInputMixer * This,
  7545. /* [in] */ BOOL fEnable);
  7546. HRESULT ( STDMETHODCALLTYPE *get_Enable )(
  7547. IAMAudioInputMixer * This,
  7548. /* [out] */ BOOL *pfEnable);
  7549. HRESULT ( STDMETHODCALLTYPE *put_Mono )(
  7550. IAMAudioInputMixer * This,
  7551. /* [in] */ BOOL fMono);
  7552. HRESULT ( STDMETHODCALLTYPE *get_Mono )(
  7553. IAMAudioInputMixer * This,
  7554. /* [out] */ BOOL *pfMono);
  7555. HRESULT ( STDMETHODCALLTYPE *put_MixLevel )(
  7556. IAMAudioInputMixer * This,
  7557. /* [in] */ double Level);
  7558. HRESULT ( STDMETHODCALLTYPE *get_MixLevel )(
  7559. IAMAudioInputMixer * This,
  7560. /* [out] */ double *pLevel);
  7561. HRESULT ( STDMETHODCALLTYPE *put_Pan )(
  7562. IAMAudioInputMixer * This,
  7563. /* [in] */ double Pan);
  7564. HRESULT ( STDMETHODCALLTYPE *get_Pan )(
  7565. IAMAudioInputMixer * This,
  7566. /* [out] */ double *pPan);
  7567. HRESULT ( STDMETHODCALLTYPE *put_Loudness )(
  7568. IAMAudioInputMixer * This,
  7569. /* [in] */ BOOL fLoudness);
  7570. HRESULT ( STDMETHODCALLTYPE *get_Loudness )(
  7571. IAMAudioInputMixer * This,
  7572. /* [out] */ BOOL *pfLoudness);
  7573. HRESULT ( STDMETHODCALLTYPE *put_Treble )(
  7574. IAMAudioInputMixer * This,
  7575. /* [in] */ double Treble);
  7576. HRESULT ( STDMETHODCALLTYPE *get_Treble )(
  7577. IAMAudioInputMixer * This,
  7578. /* [out] */ double *pTreble);
  7579. HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )(
  7580. IAMAudioInputMixer * This,
  7581. /* [out] */ double *pRange);
  7582. HRESULT ( STDMETHODCALLTYPE *put_Bass )(
  7583. IAMAudioInputMixer * This,
  7584. /* [in] */ double Bass);
  7585. HRESULT ( STDMETHODCALLTYPE *get_Bass )(
  7586. IAMAudioInputMixer * This,
  7587. /* [out] */ double *pBass);
  7588. HRESULT ( STDMETHODCALLTYPE *get_BassRange )(
  7589. IAMAudioInputMixer * This,
  7590. /* [out] */ double *pRange);
  7591. END_INTERFACE
  7592. } IAMAudioInputMixerVtbl;
  7593. interface IAMAudioInputMixer
  7594. {
  7595. CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  7596. };
  7597. #ifdef COBJMACROS
  7598. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) \
  7599. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7600. #define IAMAudioInputMixer_AddRef(This) \
  7601. (This)->lpVtbl -> AddRef(This)
  7602. #define IAMAudioInputMixer_Release(This) \
  7603. (This)->lpVtbl -> Release(This)
  7604. #define IAMAudioInputMixer_put_Enable(This,fEnable) \
  7605. (This)->lpVtbl -> put_Enable(This,fEnable)
  7606. #define IAMAudioInputMixer_get_Enable(This,pfEnable) \
  7607. (This)->lpVtbl -> get_Enable(This,pfEnable)
  7608. #define IAMAudioInputMixer_put_Mono(This,fMono) \
  7609. (This)->lpVtbl -> put_Mono(This,fMono)
  7610. #define IAMAudioInputMixer_get_Mono(This,pfMono) \
  7611. (This)->lpVtbl -> get_Mono(This,pfMono)
  7612. #define IAMAudioInputMixer_put_MixLevel(This,Level) \
  7613. (This)->lpVtbl -> put_MixLevel(This,Level)
  7614. #define IAMAudioInputMixer_get_MixLevel(This,pLevel) \
  7615. (This)->lpVtbl -> get_MixLevel(This,pLevel)
  7616. #define IAMAudioInputMixer_put_Pan(This,Pan) \
  7617. (This)->lpVtbl -> put_Pan(This,Pan)
  7618. #define IAMAudioInputMixer_get_Pan(This,pPan) \
  7619. (This)->lpVtbl -> get_Pan(This,pPan)
  7620. #define IAMAudioInputMixer_put_Loudness(This,fLoudness) \
  7621. (This)->lpVtbl -> put_Loudness(This,fLoudness)
  7622. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) \
  7623. (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  7624. #define IAMAudioInputMixer_put_Treble(This,Treble) \
  7625. (This)->lpVtbl -> put_Treble(This,Treble)
  7626. #define IAMAudioInputMixer_get_Treble(This,pTreble) \
  7627. (This)->lpVtbl -> get_Treble(This,pTreble)
  7628. #define IAMAudioInputMixer_get_TrebleRange(This,pRange) \
  7629. (This)->lpVtbl -> get_TrebleRange(This,pRange)
  7630. #define IAMAudioInputMixer_put_Bass(This,Bass) \
  7631. (This)->lpVtbl -> put_Bass(This,Bass)
  7632. #define IAMAudioInputMixer_get_Bass(This,pBass) \
  7633. (This)->lpVtbl -> get_Bass(This,pBass)
  7634. #define IAMAudioInputMixer_get_BassRange(This,pRange) \
  7635. (This)->lpVtbl -> get_BassRange(This,pRange)
  7636. #endif /* COBJMACROS */
  7637. #endif /* C style interface */
  7638. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy(
  7639. IAMAudioInputMixer * This,
  7640. /* [in] */ BOOL fEnable);
  7641. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  7642. IRpcStubBuffer *This,
  7643. IRpcChannelBuffer *_pRpcChannelBuffer,
  7644. PRPC_MESSAGE _pRpcMessage,
  7645. DWORD *_pdwStubPhase);
  7646. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy(
  7647. IAMAudioInputMixer * This,
  7648. /* [out] */ BOOL *pfEnable);
  7649. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  7650. IRpcStubBuffer *This,
  7651. IRpcChannelBuffer *_pRpcChannelBuffer,
  7652. PRPC_MESSAGE _pRpcMessage,
  7653. DWORD *_pdwStubPhase);
  7654. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy(
  7655. IAMAudioInputMixer * This,
  7656. /* [in] */ BOOL fMono);
  7657. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  7658. IRpcStubBuffer *This,
  7659. IRpcChannelBuffer *_pRpcChannelBuffer,
  7660. PRPC_MESSAGE _pRpcMessage,
  7661. DWORD *_pdwStubPhase);
  7662. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy(
  7663. IAMAudioInputMixer * This,
  7664. /* [out] */ BOOL *pfMono);
  7665. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  7666. IRpcStubBuffer *This,
  7667. IRpcChannelBuffer *_pRpcChannelBuffer,
  7668. PRPC_MESSAGE _pRpcMessage,
  7669. DWORD *_pdwStubPhase);
  7670. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy(
  7671. IAMAudioInputMixer * This,
  7672. /* [in] */ double Level);
  7673. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  7674. IRpcStubBuffer *This,
  7675. IRpcChannelBuffer *_pRpcChannelBuffer,
  7676. PRPC_MESSAGE _pRpcMessage,
  7677. DWORD *_pdwStubPhase);
  7678. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy(
  7679. IAMAudioInputMixer * This,
  7680. /* [out] */ double *pLevel);
  7681. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  7682. IRpcStubBuffer *This,
  7683. IRpcChannelBuffer *_pRpcChannelBuffer,
  7684. PRPC_MESSAGE _pRpcMessage,
  7685. DWORD *_pdwStubPhase);
  7686. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy(
  7687. IAMAudioInputMixer * This,
  7688. /* [in] */ double Pan);
  7689. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  7690. IRpcStubBuffer *This,
  7691. IRpcChannelBuffer *_pRpcChannelBuffer,
  7692. PRPC_MESSAGE _pRpcMessage,
  7693. DWORD *_pdwStubPhase);
  7694. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy(
  7695. IAMAudioInputMixer * This,
  7696. /* [out] */ double *pPan);
  7697. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  7698. IRpcStubBuffer *This,
  7699. IRpcChannelBuffer *_pRpcChannelBuffer,
  7700. PRPC_MESSAGE _pRpcMessage,
  7701. DWORD *_pdwStubPhase);
  7702. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy(
  7703. IAMAudioInputMixer * This,
  7704. /* [in] */ BOOL fLoudness);
  7705. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  7706. IRpcStubBuffer *This,
  7707. IRpcChannelBuffer *_pRpcChannelBuffer,
  7708. PRPC_MESSAGE _pRpcMessage,
  7709. DWORD *_pdwStubPhase);
  7710. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy(
  7711. IAMAudioInputMixer * This,
  7712. /* [out] */ BOOL *pfLoudness);
  7713. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  7714. IRpcStubBuffer *This,
  7715. IRpcChannelBuffer *_pRpcChannelBuffer,
  7716. PRPC_MESSAGE _pRpcMessage,
  7717. DWORD *_pdwStubPhase);
  7718. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy(
  7719. IAMAudioInputMixer * This,
  7720. /* [in] */ double Treble);
  7721. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  7722. IRpcStubBuffer *This,
  7723. IRpcChannelBuffer *_pRpcChannelBuffer,
  7724. PRPC_MESSAGE _pRpcMessage,
  7725. DWORD *_pdwStubPhase);
  7726. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy(
  7727. IAMAudioInputMixer * This,
  7728. /* [out] */ double *pTreble);
  7729. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  7730. IRpcStubBuffer *This,
  7731. IRpcChannelBuffer *_pRpcChannelBuffer,
  7732. PRPC_MESSAGE _pRpcMessage,
  7733. DWORD *_pdwStubPhase);
  7734. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy(
  7735. IAMAudioInputMixer * This,
  7736. /* [out] */ double *pRange);
  7737. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  7738. IRpcStubBuffer *This,
  7739. IRpcChannelBuffer *_pRpcChannelBuffer,
  7740. PRPC_MESSAGE _pRpcMessage,
  7741. DWORD *_pdwStubPhase);
  7742. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy(
  7743. IAMAudioInputMixer * This,
  7744. /* [in] */ double Bass);
  7745. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  7746. IRpcStubBuffer *This,
  7747. IRpcChannelBuffer *_pRpcChannelBuffer,
  7748. PRPC_MESSAGE _pRpcMessage,
  7749. DWORD *_pdwStubPhase);
  7750. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy(
  7751. IAMAudioInputMixer * This,
  7752. /* [out] */ double *pBass);
  7753. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  7754. IRpcStubBuffer *This,
  7755. IRpcChannelBuffer *_pRpcChannelBuffer,
  7756. PRPC_MESSAGE _pRpcMessage,
  7757. DWORD *_pdwStubPhase);
  7758. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy(
  7759. IAMAudioInputMixer * This,
  7760. /* [out] */ double *pRange);
  7761. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  7762. IRpcStubBuffer *This,
  7763. IRpcChannelBuffer *_pRpcChannelBuffer,
  7764. PRPC_MESSAGE _pRpcMessage,
  7765. DWORD *_pdwStubPhase);
  7766. #endif /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  7767. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  7768. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  7769. /* interface IAMBufferNegotiation */
  7770. /* [unique][uuid][object] */
  7771. EXTERN_C const IID IID_IAMBufferNegotiation;
  7772. #if defined(__cplusplus) && !defined(CINTERFACE)
  7773. MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  7774. IAMBufferNegotiation : public IUnknown
  7775. {
  7776. public:
  7777. virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties(
  7778. /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  7779. virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties(
  7780. /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  7781. };
  7782. #else /* C style interface */
  7783. typedef struct IAMBufferNegotiationVtbl
  7784. {
  7785. BEGIN_INTERFACE
  7786. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7787. IAMBufferNegotiation * This,
  7788. /* [in] */ REFIID riid,
  7789. /* [iid_is][out] */ void **ppvObject);
  7790. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7791. IAMBufferNegotiation * This);
  7792. ULONG ( STDMETHODCALLTYPE *Release )(
  7793. IAMBufferNegotiation * This);
  7794. HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )(
  7795. IAMBufferNegotiation * This,
  7796. /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  7797. HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )(
  7798. IAMBufferNegotiation * This,
  7799. /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  7800. END_INTERFACE
  7801. } IAMBufferNegotiationVtbl;
  7802. interface IAMBufferNegotiation
  7803. {
  7804. CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  7805. };
  7806. #ifdef COBJMACROS
  7807. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) \
  7808. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7809. #define IAMBufferNegotiation_AddRef(This) \
  7810. (This)->lpVtbl -> AddRef(This)
  7811. #define IAMBufferNegotiation_Release(This) \
  7812. (This)->lpVtbl -> Release(This)
  7813. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) \
  7814. (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  7815. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) \
  7816. (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  7817. #endif /* COBJMACROS */
  7818. #endif /* C style interface */
  7819. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(
  7820. IAMBufferNegotiation * This,
  7821. /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  7822. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  7823. IRpcStubBuffer *This,
  7824. IRpcChannelBuffer *_pRpcChannelBuffer,
  7825. PRPC_MESSAGE _pRpcMessage,
  7826. DWORD *_pdwStubPhase);
  7827. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy(
  7828. IAMBufferNegotiation * This,
  7829. /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  7830. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  7831. IRpcStubBuffer *This,
  7832. IRpcChannelBuffer *_pRpcChannelBuffer,
  7833. PRPC_MESSAGE _pRpcMessage,
  7834. DWORD *_pdwStubPhase);
  7835. #endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  7836. /* interface __MIDL_itf_strmif_0173 */
  7837. /* [local] */
  7838. typedef
  7839. enum tagAnalogVideoStandard
  7840. { AnalogVideo_None = 0,
  7841. AnalogVideo_NTSC_M = 0x1,
  7842. AnalogVideo_NTSC_M_J = 0x2,
  7843. AnalogVideo_NTSC_433 = 0x4,
  7844. AnalogVideo_PAL_B = 0x10,
  7845. AnalogVideo_PAL_D = 0x20,
  7846. AnalogVideo_PAL_G = 0x40,
  7847. AnalogVideo_PAL_H = 0x80,
  7848. AnalogVideo_PAL_I = 0x100,
  7849. AnalogVideo_PAL_M = 0x200,
  7850. AnalogVideo_PAL_N = 0x400,
  7851. AnalogVideo_PAL_60 = 0x800,
  7852. AnalogVideo_SECAM_B = 0x1000,
  7853. AnalogVideo_SECAM_D = 0x2000,
  7854. AnalogVideo_SECAM_G = 0x4000,
  7855. AnalogVideo_SECAM_H = 0x8000,
  7856. AnalogVideo_SECAM_K = 0x10000,
  7857. AnalogVideo_SECAM_K1 = 0x20000,
  7858. AnalogVideo_SECAM_L = 0x40000,
  7859. AnalogVideo_SECAM_L1 = 0x80000,
  7860. AnalogVideo_PAL_N_COMBO = 0x100000
  7861. } AnalogVideoStandard;
  7862. #define AnalogVideo_NTSC_Mask 0x00000007
  7863. #define AnalogVideo_PAL_Mask 0x00100FF0
  7864. #define AnalogVideo_SECAM_Mask 0x000FF000
  7865. typedef
  7866. enum tagTunerInputType
  7867. { TunerInputCable = 0,
  7868. TunerInputAntenna = TunerInputCable + 1
  7869. } TunerInputType;
  7870. typedef /* [public] */
  7871. enum __MIDL___MIDL_itf_strmif_0173_0001
  7872. { VideoCopyProtectionMacrovisionBasic = 0,
  7873. VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
  7874. } VideoCopyProtectionType;
  7875. typedef
  7876. enum tagPhysicalConnectorType
  7877. { PhysConn_Video_Tuner = 1,
  7878. PhysConn_Video_Composite = PhysConn_Video_Tuner + 1,
  7879. PhysConn_Video_SVideo = PhysConn_Video_Composite + 1,
  7880. PhysConn_Video_RGB = PhysConn_Video_SVideo + 1,
  7881. PhysConn_Video_YRYBY = PhysConn_Video_RGB + 1,
  7882. PhysConn_Video_SerialDigital = PhysConn_Video_YRYBY + 1,
  7883. PhysConn_Video_ParallelDigital = PhysConn_Video_SerialDigital + 1,
  7884. PhysConn_Video_SCSI = PhysConn_Video_ParallelDigital + 1,
  7885. PhysConn_Video_AUX = PhysConn_Video_SCSI + 1,
  7886. PhysConn_Video_1394 = PhysConn_Video_AUX + 1,
  7887. PhysConn_Video_USB = PhysConn_Video_1394 + 1,
  7888. PhysConn_Video_VideoDecoder = PhysConn_Video_USB + 1,
  7889. PhysConn_Video_VideoEncoder = PhysConn_Video_VideoDecoder + 1,
  7890. PhysConn_Video_SCART = PhysConn_Video_VideoEncoder + 1,
  7891. PhysConn_Video_Black = PhysConn_Video_SCART + 1,
  7892. PhysConn_Audio_Tuner = 0x1000,
  7893. PhysConn_Audio_Line = PhysConn_Audio_Tuner + 1,
  7894. PhysConn_Audio_Mic = PhysConn_Audio_Line + 1,
  7895. PhysConn_Audio_AESDigital = PhysConn_Audio_Mic + 1,
  7896. PhysConn_Audio_SPDIFDigital = PhysConn_Audio_AESDigital + 1,
  7897. PhysConn_Audio_SCSI = PhysConn_Audio_SPDIFDigital + 1,
  7898. PhysConn_Audio_AUX = PhysConn_Audio_SCSI + 1,
  7899. PhysConn_Audio_1394 = PhysConn_Audio_AUX + 1,
  7900. PhysConn_Audio_USB = PhysConn_Audio_1394 + 1,
  7901. PhysConn_Audio_AudioDecoder = PhysConn_Audio_USB + 1
  7902. } PhysicalConnectorType;
  7903. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
  7904. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
  7905. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  7906. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  7907. /* interface IAMAnalogVideoDecoder */
  7908. /* [unique][uuid][object] */
  7909. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  7910. #if defined(__cplusplus) && !defined(CINTERFACE)
  7911. MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  7912. IAMAnalogVideoDecoder : public IUnknown
  7913. {
  7914. public:
  7915. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  7916. /* [out] */ long *lAnalogVideoStandard) = 0;
  7917. virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
  7918. /* [in] */ long lAnalogVideoStandard) = 0;
  7919. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  7920. /* [out] */ long *plAnalogVideoStandard) = 0;
  7921. virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked(
  7922. /* [out] */ long *plLocked) = 0;
  7923. virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking(
  7924. /* [in] */ long lVCRHorizontalLocking) = 0;
  7925. virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking(
  7926. /* [out] */ long *plVCRHorizontalLocking) = 0;
  7927. virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines(
  7928. /* [out] */ long *plNumberOfLines) = 0;
  7929. virtual HRESULT STDMETHODCALLTYPE put_OutputEnable(
  7930. /* [in] */ long lOutputEnable) = 0;
  7931. virtual HRESULT STDMETHODCALLTYPE get_OutputEnable(
  7932. /* [out] */ long *plOutputEnable) = 0;
  7933. };
  7934. #else /* C style interface */
  7935. typedef struct IAMAnalogVideoDecoderVtbl
  7936. {
  7937. BEGIN_INTERFACE
  7938. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7939. IAMAnalogVideoDecoder * This,
  7940. /* [in] */ REFIID riid,
  7941. /* [iid_is][out] */ void **ppvObject);
  7942. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7943. IAMAnalogVideoDecoder * This);
  7944. ULONG ( STDMETHODCALLTYPE *Release )(
  7945. IAMAnalogVideoDecoder * This);
  7946. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  7947. IAMAnalogVideoDecoder * This,
  7948. /* [out] */ long *lAnalogVideoStandard);
  7949. HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
  7950. IAMAnalogVideoDecoder * This,
  7951. /* [in] */ long lAnalogVideoStandard);
  7952. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  7953. IAMAnalogVideoDecoder * This,
  7954. /* [out] */ long *plAnalogVideoStandard);
  7955. HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )(
  7956. IAMAnalogVideoDecoder * This,
  7957. /* [out] */ long *plLocked);
  7958. HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )(
  7959. IAMAnalogVideoDecoder * This,
  7960. /* [in] */ long lVCRHorizontalLocking);
  7961. HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )(
  7962. IAMAnalogVideoDecoder * This,
  7963. /* [out] */ long *plVCRHorizontalLocking);
  7964. HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )(
  7965. IAMAnalogVideoDecoder * This,
  7966. /* [out] */ long *plNumberOfLines);
  7967. HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )(
  7968. IAMAnalogVideoDecoder * This,
  7969. /* [in] */ long lOutputEnable);
  7970. HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )(
  7971. IAMAnalogVideoDecoder * This,
  7972. /* [out] */ long *plOutputEnable);
  7973. END_INTERFACE
  7974. } IAMAnalogVideoDecoderVtbl;
  7975. interface IAMAnalogVideoDecoder
  7976. {
  7977. CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  7978. };
  7979. #ifdef COBJMACROS
  7980. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) \
  7981. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7982. #define IAMAnalogVideoDecoder_AddRef(This) \
  7983. (This)->lpVtbl -> AddRef(This)
  7984. #define IAMAnalogVideoDecoder_Release(This) \
  7985. (This)->lpVtbl -> Release(This)
  7986. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  7987. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  7988. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) \
  7989. (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  7990. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) \
  7991. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  7992. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) \
  7993. (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  7994. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) \
  7995. (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  7996. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) \
  7997. (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  7998. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) \
  7999. (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  8000. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) \
  8001. (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  8002. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) \
  8003. (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  8004. #endif /* COBJMACROS */
  8005. #endif /* C style interface */
  8006. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(
  8007. IAMAnalogVideoDecoder * This,
  8008. /* [out] */ long *lAnalogVideoStandard);
  8009. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  8010. IRpcStubBuffer *This,
  8011. IRpcChannelBuffer *_pRpcChannelBuffer,
  8012. PRPC_MESSAGE _pRpcMessage,
  8013. DWORD *_pdwStubPhase);
  8014. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy(
  8015. IAMAnalogVideoDecoder * This,
  8016. /* [in] */ long lAnalogVideoStandard);
  8017. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  8018. IRpcStubBuffer *This,
  8019. IRpcChannelBuffer *_pRpcChannelBuffer,
  8020. PRPC_MESSAGE _pRpcMessage,
  8021. DWORD *_pdwStubPhase);
  8022. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy(
  8023. IAMAnalogVideoDecoder * This,
  8024. /* [out] */ long *plAnalogVideoStandard);
  8025. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  8026. IRpcStubBuffer *This,
  8027. IRpcChannelBuffer *_pRpcChannelBuffer,
  8028. PRPC_MESSAGE _pRpcMessage,
  8029. DWORD *_pdwStubPhase);
  8030. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(
  8031. IAMAnalogVideoDecoder * This,
  8032. /* [out] */ long *plLocked);
  8033. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  8034. IRpcStubBuffer *This,
  8035. IRpcChannelBuffer *_pRpcChannelBuffer,
  8036. PRPC_MESSAGE _pRpcMessage,
  8037. DWORD *_pdwStubPhase);
  8038. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(
  8039. IAMAnalogVideoDecoder * This,
  8040. /* [in] */ long lVCRHorizontalLocking);
  8041. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  8042. IRpcStubBuffer *This,
  8043. IRpcChannelBuffer *_pRpcChannelBuffer,
  8044. PRPC_MESSAGE _pRpcMessage,
  8045. DWORD *_pdwStubPhase);
  8046. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(
  8047. IAMAnalogVideoDecoder * This,
  8048. /* [out] */ long *plVCRHorizontalLocking);
  8049. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  8050. IRpcStubBuffer *This,
  8051. IRpcChannelBuffer *_pRpcChannelBuffer,
  8052. PRPC_MESSAGE _pRpcMessage,
  8053. DWORD *_pdwStubPhase);
  8054. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(
  8055. IAMAnalogVideoDecoder * This,
  8056. /* [out] */ long *plNumberOfLines);
  8057. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  8058. IRpcStubBuffer *This,
  8059. IRpcChannelBuffer *_pRpcChannelBuffer,
  8060. PRPC_MESSAGE _pRpcMessage,
  8061. DWORD *_pdwStubPhase);
  8062. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy(
  8063. IAMAnalogVideoDecoder * This,
  8064. /* [in] */ long lOutputEnable);
  8065. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  8066. IRpcStubBuffer *This,
  8067. IRpcChannelBuffer *_pRpcChannelBuffer,
  8068. PRPC_MESSAGE _pRpcMessage,
  8069. DWORD *_pdwStubPhase);
  8070. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy(
  8071. IAMAnalogVideoDecoder * This,
  8072. /* [out] */ long *plOutputEnable);
  8073. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  8074. IRpcStubBuffer *This,
  8075. IRpcChannelBuffer *_pRpcChannelBuffer,
  8076. PRPC_MESSAGE _pRpcMessage,
  8077. DWORD *_pdwStubPhase);
  8078. #endif /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  8079. /* interface __MIDL_itf_strmif_0174 */
  8080. /* [local] */
  8081. typedef
  8082. enum tagVideoProcAmpProperty
  8083. { VideoProcAmp_Brightness = 0,
  8084. VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
  8085. VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
  8086. VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
  8087. VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
  8088. VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
  8089. VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
  8090. VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
  8091. VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
  8092. VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
  8093. } VideoProcAmpProperty;
  8094. typedef
  8095. enum tagVideoProcAmpFlags
  8096. { VideoProcAmp_Flags_Auto = 0x1,
  8097. VideoProcAmp_Flags_Manual = 0x2
  8098. } VideoProcAmpFlags;
  8099. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
  8100. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
  8101. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  8102. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  8103. /* interface IAMVideoProcAmp */
  8104. /* [unique][uuid][object] */
  8105. EXTERN_C const IID IID_IAMVideoProcAmp;
  8106. #if defined(__cplusplus) && !defined(CINTERFACE)
  8107. MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  8108. IAMVideoProcAmp : public IUnknown
  8109. {
  8110. public:
  8111. virtual HRESULT STDMETHODCALLTYPE GetRange(
  8112. /* [in] */ long Property,
  8113. /* [out] */ long *pMin,
  8114. /* [out] */ long *pMax,
  8115. /* [out] */ long *pSteppingDelta,
  8116. /* [out] */ long *pDefault,
  8117. /* [out] */ long *pCapsFlags) = 0;
  8118. virtual HRESULT STDMETHODCALLTYPE Set(
  8119. /* [in] */ long Property,
  8120. /* [in] */ long lValue,
  8121. /* [in] */ long Flags) = 0;
  8122. virtual HRESULT STDMETHODCALLTYPE Get(
  8123. /* [in] */ long Property,
  8124. /* [out] */ long *lValue,
  8125. /* [out] */ long *Flags) = 0;
  8126. };
  8127. #else /* C style interface */
  8128. typedef struct IAMVideoProcAmpVtbl
  8129. {
  8130. BEGIN_INTERFACE
  8131. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8132. IAMVideoProcAmp * This,
  8133. /* [in] */ REFIID riid,
  8134. /* [iid_is][out] */ void **ppvObject);
  8135. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8136. IAMVideoProcAmp * This);
  8137. ULONG ( STDMETHODCALLTYPE *Release )(
  8138. IAMVideoProcAmp * This);
  8139. HRESULT ( STDMETHODCALLTYPE *GetRange )(
  8140. IAMVideoProcAmp * This,
  8141. /* [in] */ long Property,
  8142. /* [out] */ long *pMin,
  8143. /* [out] */ long *pMax,
  8144. /* [out] */ long *pSteppingDelta,
  8145. /* [out] */ long *pDefault,
  8146. /* [out] */ long *pCapsFlags);
  8147. HRESULT ( STDMETHODCALLTYPE *Set )(
  8148. IAMVideoProcAmp * This,
  8149. /* [in] */ long Property,
  8150. /* [in] */ long lValue,
  8151. /* [in] */ long Flags);
  8152. HRESULT ( STDMETHODCALLTYPE *Get )(
  8153. IAMVideoProcAmp * This,
  8154. /* [in] */ long Property,
  8155. /* [out] */ long *lValue,
  8156. /* [out] */ long *Flags);
  8157. END_INTERFACE
  8158. } IAMVideoProcAmpVtbl;
  8159. interface IAMVideoProcAmp
  8160. {
  8161. CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  8162. };
  8163. #ifdef COBJMACROS
  8164. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) \
  8165. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8166. #define IAMVideoProcAmp_AddRef(This) \
  8167. (This)->lpVtbl -> AddRef(This)
  8168. #define IAMVideoProcAmp_Release(This) \
  8169. (This)->lpVtbl -> Release(This)
  8170. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) \
  8171. (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  8172. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) \
  8173. (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  8174. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) \
  8175. (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  8176. #endif /* COBJMACROS */
  8177. #endif /* C style interface */
  8178. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(
  8179. IAMVideoProcAmp * This,
  8180. /* [in] */ long Property,
  8181. /* [out] */ long *pMin,
  8182. /* [out] */ long *pMax,
  8183. /* [out] */ long *pSteppingDelta,
  8184. /* [out] */ long *pDefault,
  8185. /* [out] */ long *pCapsFlags);
  8186. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  8187. IRpcStubBuffer *This,
  8188. IRpcChannelBuffer *_pRpcChannelBuffer,
  8189. PRPC_MESSAGE _pRpcMessage,
  8190. DWORD *_pdwStubPhase);
  8191. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(
  8192. IAMVideoProcAmp * This,
  8193. /* [in] */ long Property,
  8194. /* [in] */ long lValue,
  8195. /* [in] */ long Flags);
  8196. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  8197. IRpcStubBuffer *This,
  8198. IRpcChannelBuffer *_pRpcChannelBuffer,
  8199. PRPC_MESSAGE _pRpcMessage,
  8200. DWORD *_pdwStubPhase);
  8201. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(
  8202. IAMVideoProcAmp * This,
  8203. /* [in] */ long Property,
  8204. /* [out] */ long *lValue,
  8205. /* [out] */ long *Flags);
  8206. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  8207. IRpcStubBuffer *This,
  8208. IRpcChannelBuffer *_pRpcChannelBuffer,
  8209. PRPC_MESSAGE _pRpcMessage,
  8210. DWORD *_pdwStubPhase);
  8211. #endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  8212. /* interface __MIDL_itf_strmif_0175 */
  8213. /* [local] */
  8214. typedef
  8215. enum tagCameraControlProperty
  8216. { CameraControl_Pan = 0,
  8217. CameraControl_Tilt = CameraControl_Pan + 1,
  8218. CameraControl_Roll = CameraControl_Tilt + 1,
  8219. CameraControl_Zoom = CameraControl_Roll + 1,
  8220. CameraControl_Exposure = CameraControl_Zoom + 1,
  8221. CameraControl_Iris = CameraControl_Exposure + 1,
  8222. CameraControl_Focus = CameraControl_Iris + 1
  8223. } CameraControlProperty;
  8224. typedef
  8225. enum tagCameraControlFlags
  8226. { CameraControl_Flags_Auto = 0x1,
  8227. CameraControl_Flags_Manual = 0x2
  8228. } CameraControlFlags;
  8229. extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_c_ifspec;
  8230. extern RPC_IF_HANDLE __MIDL_itf_strmif_0175_v0_0_s_ifspec;
  8231. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  8232. #define __IAMCameraControl_INTERFACE_DEFINED__
  8233. /* interface IAMCameraControl */
  8234. /* [unique][uuid][object] */
  8235. EXTERN_C const IID IID_IAMCameraControl;
  8236. #if defined(__cplusplus) && !defined(CINTERFACE)
  8237. MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  8238. IAMCameraControl : public IUnknown
  8239. {
  8240. public:
  8241. virtual HRESULT STDMETHODCALLTYPE GetRange(
  8242. /* [in] */ long Property,
  8243. /* [out] */ long *pMin,
  8244. /* [out] */ long *pMax,
  8245. /* [out] */ long *pSteppingDelta,
  8246. /* [out] */ long *pDefault,
  8247. /* [out] */ long *pCapsFlags) = 0;
  8248. virtual HRESULT STDMETHODCALLTYPE Set(
  8249. /* [in] */ long Property,
  8250. /* [in] */ long lValue,
  8251. /* [in] */ long Flags) = 0;
  8252. virtual HRESULT STDMETHODCALLTYPE Get(
  8253. /* [in] */ long Property,
  8254. /* [out] */ long *lValue,
  8255. /* [out] */ long *Flags) = 0;
  8256. };
  8257. #else /* C style interface */
  8258. typedef struct IAMCameraControlVtbl
  8259. {
  8260. BEGIN_INTERFACE
  8261. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8262. IAMCameraControl * This,
  8263. /* [in] */ REFIID riid,
  8264. /* [iid_is][out] */ void **ppvObject);
  8265. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8266. IAMCameraControl * This);
  8267. ULONG ( STDMETHODCALLTYPE *Release )(
  8268. IAMCameraControl * This);
  8269. HRESULT ( STDMETHODCALLTYPE *GetRange )(
  8270. IAMCameraControl * This,
  8271. /* [in] */ long Property,
  8272. /* [out] */ long *pMin,
  8273. /* [out] */ long *pMax,
  8274. /* [out] */ long *pSteppingDelta,
  8275. /* [out] */ long *pDefault,
  8276. /* [out] */ long *pCapsFlags);
  8277. HRESULT ( STDMETHODCALLTYPE *Set )(
  8278. IAMCameraControl * This,
  8279. /* [in] */ long Property,
  8280. /* [in] */ long lValue,
  8281. /* [in] */ long Flags);
  8282. HRESULT ( STDMETHODCALLTYPE *Get )(
  8283. IAMCameraControl * This,
  8284. /* [in] */ long Property,
  8285. /* [out] */ long *lValue,
  8286. /* [out] */ long *Flags);
  8287. END_INTERFACE
  8288. } IAMCameraControlVtbl;
  8289. interface IAMCameraControl
  8290. {
  8291. CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  8292. };
  8293. #ifdef COBJMACROS
  8294. #define IAMCameraControl_QueryInterface(This,riid,ppvObject) \
  8295. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8296. #define IAMCameraControl_AddRef(This) \
  8297. (This)->lpVtbl -> AddRef(This)
  8298. #define IAMCameraControl_Release(This) \
  8299. (This)->lpVtbl -> Release(This)
  8300. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) \
  8301. (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  8302. #define IAMCameraControl_Set(This,Property,lValue,Flags) \
  8303. (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  8304. #define IAMCameraControl_Get(This,Property,lValue,Flags) \
  8305. (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  8306. #endif /* COBJMACROS */
  8307. #endif /* C style interface */
  8308. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy(
  8309. IAMCameraControl * This,
  8310. /* [in] */ long Property,
  8311. /* [out] */ long *pMin,
  8312. /* [out] */ long *pMax,
  8313. /* [out] */ long *pSteppingDelta,
  8314. /* [out] */ long *pDefault,
  8315. /* [out] */ long *pCapsFlags);
  8316. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  8317. IRpcStubBuffer *This,
  8318. IRpcChannelBuffer *_pRpcChannelBuffer,
  8319. PRPC_MESSAGE _pRpcMessage,
  8320. DWORD *_pdwStubPhase);
  8321. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy(
  8322. IAMCameraControl * This,
  8323. /* [in] */ long Property,
  8324. /* [in] */ long lValue,
  8325. /* [in] */ long Flags);
  8326. void __RPC_STUB IAMCameraControl_Set_Stub(
  8327. IRpcStubBuffer *This,
  8328. IRpcChannelBuffer *_pRpcChannelBuffer,
  8329. PRPC_MESSAGE _pRpcMessage,
  8330. DWORD *_pdwStubPhase);
  8331. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy(
  8332. IAMCameraControl * This,
  8333. /* [in] */ long Property,
  8334. /* [out] */ long *lValue,
  8335. /* [out] */ long *Flags);
  8336. void __RPC_STUB IAMCameraControl_Get_Stub(
  8337. IRpcStubBuffer *This,
  8338. IRpcChannelBuffer *_pRpcChannelBuffer,
  8339. PRPC_MESSAGE _pRpcMessage,
  8340. DWORD *_pdwStubPhase);
  8341. #endif /* __IAMCameraControl_INTERFACE_DEFINED__ */
  8342. /* interface __MIDL_itf_strmif_0176 */
  8343. /* [local] */
  8344. typedef
  8345. enum tagVideoControlFlags
  8346. { VideoControlFlag_FlipHorizontal = 0x1,
  8347. VideoControlFlag_FlipVertical = 0x2,
  8348. VideoControlFlag_ExternalTriggerEnable = 0x4,
  8349. VideoControlFlag_Trigger = 0x8
  8350. } VideoControlFlags;
  8351. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
  8352. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
  8353. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  8354. #define __IAMVideoControl_INTERFACE_DEFINED__
  8355. /* interface IAMVideoControl */
  8356. /* [unique][uuid][object] */
  8357. EXTERN_C const IID IID_IAMVideoControl;
  8358. #if defined(__cplusplus) && !defined(CINTERFACE)
  8359. MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  8360. IAMVideoControl : public IUnknown
  8361. {
  8362. public:
  8363. virtual HRESULT STDMETHODCALLTYPE GetCaps(
  8364. /* [in] */ IPin *pPin,
  8365. /* [out] */ long *pCapsFlags) = 0;
  8366. virtual HRESULT STDMETHODCALLTYPE SetMode(
  8367. /* [in] */ IPin *pPin,
  8368. /* [in] */ long Mode) = 0;
  8369. virtual HRESULT STDMETHODCALLTYPE GetMode(
  8370. /* [in] */ IPin *pPin,
  8371. /* [out] */ long *Mode) = 0;
  8372. virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(
  8373. /* [in] */ IPin *pPin,
  8374. /* [out] */ LONGLONG *ActualFrameRate) = 0;
  8375. virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(
  8376. /* [in] */ IPin *pPin,
  8377. /* [in] */ long iIndex,
  8378. /* [in] */ SIZE Dimensions,
  8379. /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  8380. virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(
  8381. /* [in] */ IPin *pPin,
  8382. /* [in] */ long iIndex,
  8383. /* [in] */ SIZE Dimensions,
  8384. /* [out] */ long *ListSize,
  8385. /* [out] */ LONGLONG **FrameRates) = 0;
  8386. };
  8387. #else /* C style interface */
  8388. typedef struct IAMVideoControlVtbl
  8389. {
  8390. BEGIN_INTERFACE
  8391. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8392. IAMVideoControl * This,
  8393. /* [in] */ REFIID riid,
  8394. /* [iid_is][out] */ void **ppvObject);
  8395. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8396. IAMVideoControl * This);
  8397. ULONG ( STDMETHODCALLTYPE *Release )(
  8398. IAMVideoControl * This);
  8399. HRESULT ( STDMETHODCALLTYPE *GetCaps )(
  8400. IAMVideoControl * This,
  8401. /* [in] */ IPin *pPin,
  8402. /* [out] */ long *pCapsFlags);
  8403. HRESULT ( STDMETHODCALLTYPE *SetMode )(
  8404. IAMVideoControl * This,
  8405. /* [in] */ IPin *pPin,
  8406. /* [in] */ long Mode);
  8407. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  8408. IAMVideoControl * This,
  8409. /* [in] */ IPin *pPin,
  8410. /* [out] */ long *Mode);
  8411. HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )(
  8412. IAMVideoControl * This,
  8413. /* [in] */ IPin *pPin,
  8414. /* [out] */ LONGLONG *ActualFrameRate);
  8415. HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )(
  8416. IAMVideoControl * This,
  8417. /* [in] */ IPin *pPin,
  8418. /* [in] */ long iIndex,
  8419. /* [in] */ SIZE Dimensions,
  8420. /* [out] */ LONGLONG *MaxAvailableFrameRate);
  8421. HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )(
  8422. IAMVideoControl * This,
  8423. /* [in] */ IPin *pPin,
  8424. /* [in] */ long iIndex,
  8425. /* [in] */ SIZE Dimensions,
  8426. /* [out] */ long *ListSize,
  8427. /* [out] */ LONGLONG **FrameRates);
  8428. END_INTERFACE
  8429. } IAMVideoControlVtbl;
  8430. interface IAMVideoControl
  8431. {
  8432. CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  8433. };
  8434. #ifdef COBJMACROS
  8435. #define IAMVideoControl_QueryInterface(This,riid,ppvObject) \
  8436. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8437. #define IAMVideoControl_AddRef(This) \
  8438. (This)->lpVtbl -> AddRef(This)
  8439. #define IAMVideoControl_Release(This) \
  8440. (This)->lpVtbl -> Release(This)
  8441. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) \
  8442. (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  8443. #define IAMVideoControl_SetMode(This,pPin,Mode) \
  8444. (This)->lpVtbl -> SetMode(This,pPin,Mode)
  8445. #define IAMVideoControl_GetMode(This,pPin,Mode) \
  8446. (This)->lpVtbl -> GetMode(This,pPin,Mode)
  8447. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) \
  8448. (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  8449. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) \
  8450. (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  8451. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) \
  8452. (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  8453. #endif /* COBJMACROS */
  8454. #endif /* C style interface */
  8455. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy(
  8456. IAMVideoControl * This,
  8457. /* [in] */ IPin *pPin,
  8458. /* [out] */ long *pCapsFlags);
  8459. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  8460. IRpcStubBuffer *This,
  8461. IRpcChannelBuffer *_pRpcChannelBuffer,
  8462. PRPC_MESSAGE _pRpcMessage,
  8463. DWORD *_pdwStubPhase);
  8464. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy(
  8465. IAMVideoControl * This,
  8466. /* [in] */ IPin *pPin,
  8467. /* [in] */ long Mode);
  8468. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  8469. IRpcStubBuffer *This,
  8470. IRpcChannelBuffer *_pRpcChannelBuffer,
  8471. PRPC_MESSAGE _pRpcMessage,
  8472. DWORD *_pdwStubPhase);
  8473. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy(
  8474. IAMVideoControl * This,
  8475. /* [in] */ IPin *pPin,
  8476. /* [out] */ long *Mode);
  8477. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  8478. IRpcStubBuffer *This,
  8479. IRpcChannelBuffer *_pRpcChannelBuffer,
  8480. PRPC_MESSAGE _pRpcMessage,
  8481. DWORD *_pdwStubPhase);
  8482. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy(
  8483. IAMVideoControl * This,
  8484. /* [in] */ IPin *pPin,
  8485. /* [out] */ LONGLONG *ActualFrameRate);
  8486. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  8487. IRpcStubBuffer *This,
  8488. IRpcChannelBuffer *_pRpcChannelBuffer,
  8489. PRPC_MESSAGE _pRpcMessage,
  8490. DWORD *_pdwStubPhase);
  8491. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy(
  8492. IAMVideoControl * This,
  8493. /* [in] */ IPin *pPin,
  8494. /* [in] */ long iIndex,
  8495. /* [in] */ SIZE Dimensions,
  8496. /* [out] */ LONGLONG *MaxAvailableFrameRate);
  8497. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  8498. IRpcStubBuffer *This,
  8499. IRpcChannelBuffer *_pRpcChannelBuffer,
  8500. PRPC_MESSAGE _pRpcMessage,
  8501. DWORD *_pdwStubPhase);
  8502. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy(
  8503. IAMVideoControl * This,
  8504. /* [in] */ IPin *pPin,
  8505. /* [in] */ long iIndex,
  8506. /* [in] */ SIZE Dimensions,
  8507. /* [out] */ long *ListSize,
  8508. /* [out] */ LONGLONG **FrameRates);
  8509. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  8510. IRpcStubBuffer *This,
  8511. IRpcChannelBuffer *_pRpcChannelBuffer,
  8512. PRPC_MESSAGE _pRpcMessage,
  8513. DWORD *_pdwStubPhase);
  8514. #endif /* __IAMVideoControl_INTERFACE_DEFINED__ */
  8515. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  8516. #define __IAMCrossbar_INTERFACE_DEFINED__
  8517. /* interface IAMCrossbar */
  8518. /* [unique][uuid][object] */
  8519. EXTERN_C const IID IID_IAMCrossbar;
  8520. #if defined(__cplusplus) && !defined(CINTERFACE)
  8521. MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  8522. IAMCrossbar : public IUnknown
  8523. {
  8524. public:
  8525. virtual HRESULT STDMETHODCALLTYPE get_PinCounts(
  8526. /* [out] */ long *OutputPinCount,
  8527. /* [out] */ long *InputPinCount) = 0;
  8528. virtual HRESULT STDMETHODCALLTYPE CanRoute(
  8529. /* [in] */ long OutputPinIndex,
  8530. /* [in] */ long InputPinIndex) = 0;
  8531. virtual HRESULT STDMETHODCALLTYPE Route(
  8532. /* [in] */ long OutputPinIndex,
  8533. /* [in] */ long InputPinIndex) = 0;
  8534. virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo(
  8535. /* [in] */ long OutputPinIndex,
  8536. /* [out] */ long *InputPinIndex) = 0;
  8537. virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(
  8538. /* [in] */ BOOL IsInputPin,
  8539. /* [in] */ long PinIndex,
  8540. /* [out] */ long *PinIndexRelated,
  8541. /* [out] */ long *PhysicalType) = 0;
  8542. };
  8543. #else /* C style interface */
  8544. typedef struct IAMCrossbarVtbl
  8545. {
  8546. BEGIN_INTERFACE
  8547. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8548. IAMCrossbar * This,
  8549. /* [in] */ REFIID riid,
  8550. /* [iid_is][out] */ void **ppvObject);
  8551. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8552. IAMCrossbar * This);
  8553. ULONG ( STDMETHODCALLTYPE *Release )(
  8554. IAMCrossbar * This);
  8555. HRESULT ( STDMETHODCALLTYPE *get_PinCounts )(
  8556. IAMCrossbar * This,
  8557. /* [out] */ long *OutputPinCount,
  8558. /* [out] */ long *InputPinCount);
  8559. HRESULT ( STDMETHODCALLTYPE *CanRoute )(
  8560. IAMCrossbar * This,
  8561. /* [in] */ long OutputPinIndex,
  8562. /* [in] */ long InputPinIndex);
  8563. HRESULT ( STDMETHODCALLTYPE *Route )(
  8564. IAMCrossbar * This,
  8565. /* [in] */ long OutputPinIndex,
  8566. /* [in] */ long InputPinIndex);
  8567. HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )(
  8568. IAMCrossbar * This,
  8569. /* [in] */ long OutputPinIndex,
  8570. /* [out] */ long *InputPinIndex);
  8571. HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )(
  8572. IAMCrossbar * This,
  8573. /* [in] */ BOOL IsInputPin,
  8574. /* [in] */ long PinIndex,
  8575. /* [out] */ long *PinIndexRelated,
  8576. /* [out] */ long *PhysicalType);
  8577. END_INTERFACE
  8578. } IAMCrossbarVtbl;
  8579. interface IAMCrossbar
  8580. {
  8581. CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  8582. };
  8583. #ifdef COBJMACROS
  8584. #define IAMCrossbar_QueryInterface(This,riid,ppvObject) \
  8585. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8586. #define IAMCrossbar_AddRef(This) \
  8587. (This)->lpVtbl -> AddRef(This)
  8588. #define IAMCrossbar_Release(This) \
  8589. (This)->lpVtbl -> Release(This)
  8590. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) \
  8591. (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  8592. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) \
  8593. (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  8594. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) \
  8595. (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  8596. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) \
  8597. (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  8598. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) \
  8599. (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  8600. #endif /* COBJMACROS */
  8601. #endif /* C style interface */
  8602. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy(
  8603. IAMCrossbar * This,
  8604. /* [out] */ long *OutputPinCount,
  8605. /* [out] */ long *InputPinCount);
  8606. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  8607. IRpcStubBuffer *This,
  8608. IRpcChannelBuffer *_pRpcChannelBuffer,
  8609. PRPC_MESSAGE _pRpcMessage,
  8610. DWORD *_pdwStubPhase);
  8611. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy(
  8612. IAMCrossbar * This,
  8613. /* [in] */ long OutputPinIndex,
  8614. /* [in] */ long InputPinIndex);
  8615. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  8616. IRpcStubBuffer *This,
  8617. IRpcChannelBuffer *_pRpcChannelBuffer,
  8618. PRPC_MESSAGE _pRpcMessage,
  8619. DWORD *_pdwStubPhase);
  8620. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy(
  8621. IAMCrossbar * This,
  8622. /* [in] */ long OutputPinIndex,
  8623. /* [in] */ long InputPinIndex);
  8624. void __RPC_STUB IAMCrossbar_Route_Stub(
  8625. IRpcStubBuffer *This,
  8626. IRpcChannelBuffer *_pRpcChannelBuffer,
  8627. PRPC_MESSAGE _pRpcMessage,
  8628. DWORD *_pdwStubPhase);
  8629. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy(
  8630. IAMCrossbar * This,
  8631. /* [in] */ long OutputPinIndex,
  8632. /* [out] */ long *InputPinIndex);
  8633. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  8634. IRpcStubBuffer *This,
  8635. IRpcChannelBuffer *_pRpcChannelBuffer,
  8636. PRPC_MESSAGE _pRpcMessage,
  8637. DWORD *_pdwStubPhase);
  8638. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy(
  8639. IAMCrossbar * This,
  8640. /* [in] */ BOOL IsInputPin,
  8641. /* [in] */ long PinIndex,
  8642. /* [out] */ long *PinIndexRelated,
  8643. /* [out] */ long *PhysicalType);
  8644. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  8645. IRpcStubBuffer *This,
  8646. IRpcChannelBuffer *_pRpcChannelBuffer,
  8647. PRPC_MESSAGE _pRpcMessage,
  8648. DWORD *_pdwStubPhase);
  8649. #endif /* __IAMCrossbar_INTERFACE_DEFINED__ */
  8650. /* interface __MIDL_itf_strmif_0178 */
  8651. /* [local] */
  8652. typedef
  8653. enum tagAMTunerSubChannel
  8654. { AMTUNER_SUBCHAN_NO_TUNE = -2,
  8655. AMTUNER_SUBCHAN_DEFAULT = -1
  8656. } AMTunerSubChannel;
  8657. typedef
  8658. enum tagAMTunerSignalStrength
  8659. { AMTUNER_HASNOSIGNALSTRENGTH = -1,
  8660. AMTUNER_NOSIGNAL = 0,
  8661. AMTUNER_SIGNALPRESENT = 1
  8662. } AMTunerSignalStrength;
  8663. typedef
  8664. enum tagAMTunerModeType
  8665. { AMTUNER_MODE_DEFAULT = 0,
  8666. AMTUNER_MODE_TV = 0x1,
  8667. AMTUNER_MODE_FM_RADIO = 0x2,
  8668. AMTUNER_MODE_AM_RADIO = 0x4,
  8669. AMTUNER_MODE_DSS = 0x8
  8670. } AMTunerModeType;
  8671. typedef
  8672. enum tagAMTunerEventType
  8673. { AMTUNER_EVENT_CHANGED = 0x1
  8674. } AMTunerEventType;
  8675. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
  8676. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
  8677. #ifndef __IAMTuner_INTERFACE_DEFINED__
  8678. #define __IAMTuner_INTERFACE_DEFINED__
  8679. /* interface IAMTuner */
  8680. /* [unique][uuid][object] */
  8681. EXTERN_C const IID IID_IAMTuner;
  8682. #if defined(__cplusplus) && !defined(CINTERFACE)
  8683. MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  8684. IAMTuner : public IUnknown
  8685. {
  8686. public:
  8687. virtual HRESULT STDMETHODCALLTYPE put_Channel(
  8688. /* [in] */ long lChannel,
  8689. /* [in] */ long lVideoSubChannel,
  8690. /* [in] */ long lAudioSubChannel) = 0;
  8691. virtual HRESULT STDMETHODCALLTYPE get_Channel(
  8692. /* [out] */ long *plChannel,
  8693. /* [out] */ long *plVideoSubChannel,
  8694. /* [out] */ long *plAudioSubChannel) = 0;
  8695. virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(
  8696. /* [out] */ long *lChannelMin,
  8697. /* [out] */ long *lChannelMax) = 0;
  8698. virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
  8699. /* [in] */ long lCountryCode) = 0;
  8700. virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
  8701. /* [out] */ long *plCountryCode) = 0;
  8702. virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
  8703. /* [in] */ long lTuningSpace) = 0;
  8704. virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
  8705. /* [out] */ long *plTuningSpace) = 0;
  8706. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon(
  8707. /* [in] */ HANDLE hCurrentUser) = 0;
  8708. virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  8709. virtual HRESULT STDMETHODCALLTYPE SignalPresent(
  8710. /* [out] */ long *plSignalStrength) = 0;
  8711. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  8712. /* [in] */ AMTunerModeType lMode) = 0;
  8713. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  8714. /* [out] */ AMTunerModeType *plMode) = 0;
  8715. virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(
  8716. /* [out] */ long *plModes) = 0;
  8717. virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
  8718. /* [in] */ IAMTunerNotification *pNotify,
  8719. /* [in] */ long lEvents) = 0;
  8720. virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
  8721. /* [in] */ IAMTunerNotification *pNotify) = 0;
  8722. };
  8723. #else /* C style interface */
  8724. typedef struct IAMTunerVtbl
  8725. {
  8726. BEGIN_INTERFACE
  8727. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8728. IAMTuner * This,
  8729. /* [in] */ REFIID riid,
  8730. /* [iid_is][out] */ void **ppvObject);
  8731. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8732. IAMTuner * This);
  8733. ULONG ( STDMETHODCALLTYPE *Release )(
  8734. IAMTuner * This);
  8735. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  8736. IAMTuner * This,
  8737. /* [in] */ long lChannel,
  8738. /* [in] */ long lVideoSubChannel,
  8739. /* [in] */ long lAudioSubChannel);
  8740. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  8741. IAMTuner * This,
  8742. /* [out] */ long *plChannel,
  8743. /* [out] */ long *plVideoSubChannel,
  8744. /* [out] */ long *plAudioSubChannel);
  8745. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  8746. IAMTuner * This,
  8747. /* [out] */ long *lChannelMin,
  8748. /* [out] */ long *lChannelMax);
  8749. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  8750. IAMTuner * This,
  8751. /* [in] */ long lCountryCode);
  8752. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  8753. IAMTuner * This,
  8754. /* [out] */ long *plCountryCode);
  8755. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  8756. IAMTuner * This,
  8757. /* [in] */ long lTuningSpace);
  8758. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  8759. IAMTuner * This,
  8760. /* [out] */ long *plTuningSpace);
  8761. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  8762. IAMTuner * This,
  8763. /* [in] */ HANDLE hCurrentUser);
  8764. HRESULT ( STDMETHODCALLTYPE *Logout )(
  8765. IAMTuner * This);
  8766. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  8767. IAMTuner * This,
  8768. /* [out] */ long *plSignalStrength);
  8769. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  8770. IAMTuner * This,
  8771. /* [in] */ AMTunerModeType lMode);
  8772. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  8773. IAMTuner * This,
  8774. /* [out] */ AMTunerModeType *plMode);
  8775. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  8776. IAMTuner * This,
  8777. /* [out] */ long *plModes);
  8778. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  8779. IAMTuner * This,
  8780. /* [in] */ IAMTunerNotification *pNotify,
  8781. /* [in] */ long lEvents);
  8782. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  8783. IAMTuner * This,
  8784. /* [in] */ IAMTunerNotification *pNotify);
  8785. END_INTERFACE
  8786. } IAMTunerVtbl;
  8787. interface IAMTuner
  8788. {
  8789. CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  8790. };
  8791. #ifdef COBJMACROS
  8792. #define IAMTuner_QueryInterface(This,riid,ppvObject) \
  8793. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8794. #define IAMTuner_AddRef(This) \
  8795. (This)->lpVtbl -> AddRef(This)
  8796. #define IAMTuner_Release(This) \
  8797. (This)->lpVtbl -> Release(This)
  8798. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  8799. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  8800. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  8801. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  8802. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  8803. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  8804. #define IAMTuner_put_CountryCode(This,lCountryCode) \
  8805. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  8806. #define IAMTuner_get_CountryCode(This,plCountryCode) \
  8807. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  8808. #define IAMTuner_put_TuningSpace(This,lTuningSpace) \
  8809. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  8810. #define IAMTuner_get_TuningSpace(This,plTuningSpace) \
  8811. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  8812. #define IAMTuner_Logon(This,hCurrentUser) \
  8813. (This)->lpVtbl -> Logon(This,hCurrentUser)
  8814. #define IAMTuner_Logout(This) \
  8815. (This)->lpVtbl -> Logout(This)
  8816. #define IAMTuner_SignalPresent(This,plSignalStrength) \
  8817. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  8818. #define IAMTuner_put_Mode(This,lMode) \
  8819. (This)->lpVtbl -> put_Mode(This,lMode)
  8820. #define IAMTuner_get_Mode(This,plMode) \
  8821. (This)->lpVtbl -> get_Mode(This,plMode)
  8822. #define IAMTuner_GetAvailableModes(This,plModes) \
  8823. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  8824. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  8825. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  8826. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) \
  8827. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  8828. #endif /* COBJMACROS */
  8829. #endif /* C style interface */
  8830. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy(
  8831. IAMTuner * This,
  8832. /* [in] */ long lChannel,
  8833. /* [in] */ long lVideoSubChannel,
  8834. /* [in] */ long lAudioSubChannel);
  8835. void __RPC_STUB IAMTuner_put_Channel_Stub(
  8836. IRpcStubBuffer *This,
  8837. IRpcChannelBuffer *_pRpcChannelBuffer,
  8838. PRPC_MESSAGE _pRpcMessage,
  8839. DWORD *_pdwStubPhase);
  8840. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy(
  8841. IAMTuner * This,
  8842. /* [out] */ long *plChannel,
  8843. /* [out] */ long *plVideoSubChannel,
  8844. /* [out] */ long *plAudioSubChannel);
  8845. void __RPC_STUB IAMTuner_get_Channel_Stub(
  8846. IRpcStubBuffer *This,
  8847. IRpcChannelBuffer *_pRpcChannelBuffer,
  8848. PRPC_MESSAGE _pRpcMessage,
  8849. DWORD *_pdwStubPhase);
  8850. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy(
  8851. IAMTuner * This,
  8852. /* [out] */ long *lChannelMin,
  8853. /* [out] */ long *lChannelMax);
  8854. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  8855. IRpcStubBuffer *This,
  8856. IRpcChannelBuffer *_pRpcChannelBuffer,
  8857. PRPC_MESSAGE _pRpcMessage,
  8858. DWORD *_pdwStubPhase);
  8859. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy(
  8860. IAMTuner * This,
  8861. /* [in] */ long lCountryCode);
  8862. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  8863. IRpcStubBuffer *This,
  8864. IRpcChannelBuffer *_pRpcChannelBuffer,
  8865. PRPC_MESSAGE _pRpcMessage,
  8866. DWORD *_pdwStubPhase);
  8867. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy(
  8868. IAMTuner * This,
  8869. /* [out] */ long *plCountryCode);
  8870. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  8871. IRpcStubBuffer *This,
  8872. IRpcChannelBuffer *_pRpcChannelBuffer,
  8873. PRPC_MESSAGE _pRpcMessage,
  8874. DWORD *_pdwStubPhase);
  8875. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy(
  8876. IAMTuner * This,
  8877. /* [in] */ long lTuningSpace);
  8878. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  8879. IRpcStubBuffer *This,
  8880. IRpcChannelBuffer *_pRpcChannelBuffer,
  8881. PRPC_MESSAGE _pRpcMessage,
  8882. DWORD *_pdwStubPhase);
  8883. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy(
  8884. IAMTuner * This,
  8885. /* [out] */ long *plTuningSpace);
  8886. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  8887. IRpcStubBuffer *This,
  8888. IRpcChannelBuffer *_pRpcChannelBuffer,
  8889. PRPC_MESSAGE _pRpcMessage,
  8890. DWORD *_pdwStubPhase);
  8891. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy(
  8892. IAMTuner * This,
  8893. /* [in] */ HANDLE hCurrentUser);
  8894. void __RPC_STUB IAMTuner_Logon_Stub(
  8895. IRpcStubBuffer *This,
  8896. IRpcChannelBuffer *_pRpcChannelBuffer,
  8897. PRPC_MESSAGE _pRpcMessage,
  8898. DWORD *_pdwStubPhase);
  8899. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy(
  8900. IAMTuner * This);
  8901. void __RPC_STUB IAMTuner_Logout_Stub(
  8902. IRpcStubBuffer *This,
  8903. IRpcChannelBuffer *_pRpcChannelBuffer,
  8904. PRPC_MESSAGE _pRpcMessage,
  8905. DWORD *_pdwStubPhase);
  8906. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy(
  8907. IAMTuner * This,
  8908. /* [out] */ long *plSignalStrength);
  8909. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  8910. IRpcStubBuffer *This,
  8911. IRpcChannelBuffer *_pRpcChannelBuffer,
  8912. PRPC_MESSAGE _pRpcMessage,
  8913. DWORD *_pdwStubPhase);
  8914. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy(
  8915. IAMTuner * This,
  8916. /* [in] */ AMTunerModeType lMode);
  8917. void __RPC_STUB IAMTuner_put_Mode_Stub(
  8918. IRpcStubBuffer *This,
  8919. IRpcChannelBuffer *_pRpcChannelBuffer,
  8920. PRPC_MESSAGE _pRpcMessage,
  8921. DWORD *_pdwStubPhase);
  8922. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy(
  8923. IAMTuner * This,
  8924. /* [out] */ AMTunerModeType *plMode);
  8925. void __RPC_STUB IAMTuner_get_Mode_Stub(
  8926. IRpcStubBuffer *This,
  8927. IRpcChannelBuffer *_pRpcChannelBuffer,
  8928. PRPC_MESSAGE _pRpcMessage,
  8929. DWORD *_pdwStubPhase);
  8930. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy(
  8931. IAMTuner * This,
  8932. /* [out] */ long *plModes);
  8933. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  8934. IRpcStubBuffer *This,
  8935. IRpcChannelBuffer *_pRpcChannelBuffer,
  8936. PRPC_MESSAGE _pRpcMessage,
  8937. DWORD *_pdwStubPhase);
  8938. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy(
  8939. IAMTuner * This,
  8940. /* [in] */ IAMTunerNotification *pNotify,
  8941. /* [in] */ long lEvents);
  8942. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  8943. IRpcStubBuffer *This,
  8944. IRpcChannelBuffer *_pRpcChannelBuffer,
  8945. PRPC_MESSAGE _pRpcMessage,
  8946. DWORD *_pdwStubPhase);
  8947. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy(
  8948. IAMTuner * This,
  8949. /* [in] */ IAMTunerNotification *pNotify);
  8950. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  8951. IRpcStubBuffer *This,
  8952. IRpcChannelBuffer *_pRpcChannelBuffer,
  8953. PRPC_MESSAGE _pRpcMessage,
  8954. DWORD *_pdwStubPhase);
  8955. #endif /* __IAMTuner_INTERFACE_DEFINED__ */
  8956. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  8957. #define __IAMTunerNotification_INTERFACE_DEFINED__
  8958. /* interface IAMTunerNotification */
  8959. /* [unique][uuid][object] */
  8960. EXTERN_C const IID IID_IAMTunerNotification;
  8961. #if defined(__cplusplus) && !defined(CINTERFACE)
  8962. MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  8963. IAMTunerNotification : public IUnknown
  8964. {
  8965. public:
  8966. virtual HRESULT STDMETHODCALLTYPE OnEvent(
  8967. /* [in] */ AMTunerEventType Event) = 0;
  8968. };
  8969. #else /* C style interface */
  8970. typedef struct IAMTunerNotificationVtbl
  8971. {
  8972. BEGIN_INTERFACE
  8973. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8974. IAMTunerNotification * This,
  8975. /* [in] */ REFIID riid,
  8976. /* [iid_is][out] */ void **ppvObject);
  8977. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8978. IAMTunerNotification * This);
  8979. ULONG ( STDMETHODCALLTYPE *Release )(
  8980. IAMTunerNotification * This);
  8981. HRESULT ( STDMETHODCALLTYPE *OnEvent )(
  8982. IAMTunerNotification * This,
  8983. /* [in] */ AMTunerEventType Event);
  8984. END_INTERFACE
  8985. } IAMTunerNotificationVtbl;
  8986. interface IAMTunerNotification
  8987. {
  8988. CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  8989. };
  8990. #ifdef COBJMACROS
  8991. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) \
  8992. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8993. #define IAMTunerNotification_AddRef(This) \
  8994. (This)->lpVtbl -> AddRef(This)
  8995. #define IAMTunerNotification_Release(This) \
  8996. (This)->lpVtbl -> Release(This)
  8997. #define IAMTunerNotification_OnEvent(This,Event) \
  8998. (This)->lpVtbl -> OnEvent(This,Event)
  8999. #endif /* COBJMACROS */
  9000. #endif /* C style interface */
  9001. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy(
  9002. IAMTunerNotification * This,
  9003. /* [in] */ AMTunerEventType Event);
  9004. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  9005. IRpcStubBuffer *This,
  9006. IRpcChannelBuffer *_pRpcChannelBuffer,
  9007. PRPC_MESSAGE _pRpcMessage,
  9008. DWORD *_pdwStubPhase);
  9009. #endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  9010. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  9011. #define __IAMTVTuner_INTERFACE_DEFINED__
  9012. /* interface IAMTVTuner */
  9013. /* [unique][uuid][object] */
  9014. EXTERN_C const IID IID_IAMTVTuner;
  9015. #if defined(__cplusplus) && !defined(CINTERFACE)
  9016. MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  9017. IAMTVTuner : public IAMTuner
  9018. {
  9019. public:
  9020. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  9021. /* [out] */ long *lAnalogVideoStandard) = 0;
  9022. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  9023. /* [out] */ long *plAnalogVideoStandard) = 0;
  9024. virtual HRESULT STDMETHODCALLTYPE AutoTune(
  9025. /* [in] */ long lChannel,
  9026. /* [out] */ long *plFoundSignal) = 0;
  9027. virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  9028. virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(
  9029. /* [out] */ long *plNumInputConnections) = 0;
  9030. virtual HRESULT STDMETHODCALLTYPE put_InputType(
  9031. /* [in] */ long lIndex,
  9032. /* [in] */ TunerInputType InputType) = 0;
  9033. virtual HRESULT STDMETHODCALLTYPE get_InputType(
  9034. /* [in] */ long lIndex,
  9035. /* [out] */ TunerInputType *pInputType) = 0;
  9036. virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(
  9037. /* [in] */ long lIndex) = 0;
  9038. virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(
  9039. /* [out] */ long *plIndex) = 0;
  9040. virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(
  9041. /* [out] */ long *lFreq) = 0;
  9042. virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(
  9043. /* [out] */ long *lFreq) = 0;
  9044. };
  9045. #else /* C style interface */
  9046. typedef struct IAMTVTunerVtbl
  9047. {
  9048. BEGIN_INTERFACE
  9049. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9050. IAMTVTuner * This,
  9051. /* [in] */ REFIID riid,
  9052. /* [iid_is][out] */ void **ppvObject);
  9053. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9054. IAMTVTuner * This);
  9055. ULONG ( STDMETHODCALLTYPE *Release )(
  9056. IAMTVTuner * This);
  9057. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  9058. IAMTVTuner * This,
  9059. /* [in] */ long lChannel,
  9060. /* [in] */ long lVideoSubChannel,
  9061. /* [in] */ long lAudioSubChannel);
  9062. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  9063. IAMTVTuner * This,
  9064. /* [out] */ long *plChannel,
  9065. /* [out] */ long *plVideoSubChannel,
  9066. /* [out] */ long *plAudioSubChannel);
  9067. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  9068. IAMTVTuner * This,
  9069. /* [out] */ long *lChannelMin,
  9070. /* [out] */ long *lChannelMax);
  9071. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  9072. IAMTVTuner * This,
  9073. /* [in] */ long lCountryCode);
  9074. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  9075. IAMTVTuner * This,
  9076. /* [out] */ long *plCountryCode);
  9077. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  9078. IAMTVTuner * This,
  9079. /* [in] */ long lTuningSpace);
  9080. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  9081. IAMTVTuner * This,
  9082. /* [out] */ long *plTuningSpace);
  9083. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  9084. IAMTVTuner * This,
  9085. /* [in] */ HANDLE hCurrentUser);
  9086. HRESULT ( STDMETHODCALLTYPE *Logout )(
  9087. IAMTVTuner * This);
  9088. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  9089. IAMTVTuner * This,
  9090. /* [out] */ long *plSignalStrength);
  9091. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  9092. IAMTVTuner * This,
  9093. /* [in] */ AMTunerModeType lMode);
  9094. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  9095. IAMTVTuner * This,
  9096. /* [out] */ AMTunerModeType *plMode);
  9097. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  9098. IAMTVTuner * This,
  9099. /* [out] */ long *plModes);
  9100. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9101. IAMTVTuner * This,
  9102. /* [in] */ IAMTunerNotification *pNotify,
  9103. /* [in] */ long lEvents);
  9104. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9105. IAMTVTuner * This,
  9106. /* [in] */ IAMTunerNotification *pNotify);
  9107. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  9108. IAMTVTuner * This,
  9109. /* [out] */ long *lAnalogVideoStandard);
  9110. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  9111. IAMTVTuner * This,
  9112. /* [out] */ long *plAnalogVideoStandard);
  9113. HRESULT ( STDMETHODCALLTYPE *AutoTune )(
  9114. IAMTVTuner * This,
  9115. /* [in] */ long lChannel,
  9116. /* [out] */ long *plFoundSignal);
  9117. HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )(
  9118. IAMTVTuner * This);
  9119. HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )(
  9120. IAMTVTuner * This,
  9121. /* [out] */ long *plNumInputConnections);
  9122. HRESULT ( STDMETHODCALLTYPE *put_InputType )(
  9123. IAMTVTuner * This,
  9124. /* [in] */ long lIndex,
  9125. /* [in] */ TunerInputType InputType);
  9126. HRESULT ( STDMETHODCALLTYPE *get_InputType )(
  9127. IAMTVTuner * This,
  9128. /* [in] */ long lIndex,
  9129. /* [out] */ TunerInputType *pInputType);
  9130. HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )(
  9131. IAMTVTuner * This,
  9132. /* [in] */ long lIndex);
  9133. HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )(
  9134. IAMTVTuner * This,
  9135. /* [out] */ long *plIndex);
  9136. HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )(
  9137. IAMTVTuner * This,
  9138. /* [out] */ long *lFreq);
  9139. HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )(
  9140. IAMTVTuner * This,
  9141. /* [out] */ long *lFreq);
  9142. END_INTERFACE
  9143. } IAMTVTunerVtbl;
  9144. interface IAMTVTuner
  9145. {
  9146. CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  9147. };
  9148. #ifdef COBJMACROS
  9149. #define IAMTVTuner_QueryInterface(This,riid,ppvObject) \
  9150. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9151. #define IAMTVTuner_AddRef(This) \
  9152. (This)->lpVtbl -> AddRef(This)
  9153. #define IAMTVTuner_Release(This) \
  9154. (This)->lpVtbl -> Release(This)
  9155. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  9156. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  9157. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  9158. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  9159. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  9160. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  9161. #define IAMTVTuner_put_CountryCode(This,lCountryCode) \
  9162. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  9163. #define IAMTVTuner_get_CountryCode(This,plCountryCode) \
  9164. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  9165. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) \
  9166. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  9167. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) \
  9168. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  9169. #define IAMTVTuner_Logon(This,hCurrentUser) \
  9170. (This)->lpVtbl -> Logon(This,hCurrentUser)
  9171. #define IAMTVTuner_Logout(This) \
  9172. (This)->lpVtbl -> Logout(This)
  9173. #define IAMTVTuner_SignalPresent(This,plSignalStrength) \
  9174. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  9175. #define IAMTVTuner_put_Mode(This,lMode) \
  9176. (This)->lpVtbl -> put_Mode(This,lMode)
  9177. #define IAMTVTuner_get_Mode(This,plMode) \
  9178. (This)->lpVtbl -> get_Mode(This,plMode)
  9179. #define IAMTVTuner_GetAvailableModes(This,plModes) \
  9180. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  9181. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9182. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9183. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) \
  9184. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9185. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  9186. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  9187. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) \
  9188. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  9189. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) \
  9190. (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  9191. #define IAMTVTuner_StoreAutoTune(This) \
  9192. (This)->lpVtbl -> StoreAutoTune(This)
  9193. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) \
  9194. (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  9195. #define IAMTVTuner_put_InputType(This,lIndex,InputType) \
  9196. (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  9197. #define IAMTVTuner_get_InputType(This,lIndex,pInputType) \
  9198. (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  9199. #define IAMTVTuner_put_ConnectInput(This,lIndex) \
  9200. (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  9201. #define IAMTVTuner_get_ConnectInput(This,plIndex) \
  9202. (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  9203. #define IAMTVTuner_get_VideoFrequency(This,lFreq) \
  9204. (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  9205. #define IAMTVTuner_get_AudioFrequency(This,lFreq) \
  9206. (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  9207. #endif /* COBJMACROS */
  9208. #endif /* C style interface */
  9209. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy(
  9210. IAMTVTuner * This,
  9211. /* [out] */ long *lAnalogVideoStandard);
  9212. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  9213. IRpcStubBuffer *This,
  9214. IRpcChannelBuffer *_pRpcChannelBuffer,
  9215. PRPC_MESSAGE _pRpcMessage,
  9216. DWORD *_pdwStubPhase);
  9217. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy(
  9218. IAMTVTuner * This,
  9219. /* [out] */ long *plAnalogVideoStandard);
  9220. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  9221. IRpcStubBuffer *This,
  9222. IRpcChannelBuffer *_pRpcChannelBuffer,
  9223. PRPC_MESSAGE _pRpcMessage,
  9224. DWORD *_pdwStubPhase);
  9225. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy(
  9226. IAMTVTuner * This,
  9227. /* [in] */ long lChannel,
  9228. /* [out] */ long *plFoundSignal);
  9229. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  9230. IRpcStubBuffer *This,
  9231. IRpcChannelBuffer *_pRpcChannelBuffer,
  9232. PRPC_MESSAGE _pRpcMessage,
  9233. DWORD *_pdwStubPhase);
  9234. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy(
  9235. IAMTVTuner * This);
  9236. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  9237. IRpcStubBuffer *This,
  9238. IRpcChannelBuffer *_pRpcChannelBuffer,
  9239. PRPC_MESSAGE _pRpcMessage,
  9240. DWORD *_pdwStubPhase);
  9241. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy(
  9242. IAMTVTuner * This,
  9243. /* [out] */ long *plNumInputConnections);
  9244. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  9245. IRpcStubBuffer *This,
  9246. IRpcChannelBuffer *_pRpcChannelBuffer,
  9247. PRPC_MESSAGE _pRpcMessage,
  9248. DWORD *_pdwStubPhase);
  9249. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy(
  9250. IAMTVTuner * This,
  9251. /* [in] */ long lIndex,
  9252. /* [in] */ TunerInputType InputType);
  9253. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  9254. IRpcStubBuffer *This,
  9255. IRpcChannelBuffer *_pRpcChannelBuffer,
  9256. PRPC_MESSAGE _pRpcMessage,
  9257. DWORD *_pdwStubPhase);
  9258. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy(
  9259. IAMTVTuner * This,
  9260. /* [in] */ long lIndex,
  9261. /* [out] */ TunerInputType *pInputType);
  9262. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  9263. IRpcStubBuffer *This,
  9264. IRpcChannelBuffer *_pRpcChannelBuffer,
  9265. PRPC_MESSAGE _pRpcMessage,
  9266. DWORD *_pdwStubPhase);
  9267. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy(
  9268. IAMTVTuner * This,
  9269. /* [in] */ long lIndex);
  9270. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  9271. IRpcStubBuffer *This,
  9272. IRpcChannelBuffer *_pRpcChannelBuffer,
  9273. PRPC_MESSAGE _pRpcMessage,
  9274. DWORD *_pdwStubPhase);
  9275. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy(
  9276. IAMTVTuner * This,
  9277. /* [out] */ long *plIndex);
  9278. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  9279. IRpcStubBuffer *This,
  9280. IRpcChannelBuffer *_pRpcChannelBuffer,
  9281. PRPC_MESSAGE _pRpcMessage,
  9282. DWORD *_pdwStubPhase);
  9283. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy(
  9284. IAMTVTuner * This,
  9285. /* [out] */ long *lFreq);
  9286. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  9287. IRpcStubBuffer *This,
  9288. IRpcChannelBuffer *_pRpcChannelBuffer,
  9289. PRPC_MESSAGE _pRpcMessage,
  9290. DWORD *_pdwStubPhase);
  9291. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy(
  9292. IAMTVTuner * This,
  9293. /* [out] */ long *lFreq);
  9294. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  9295. IRpcStubBuffer *This,
  9296. IRpcChannelBuffer *_pRpcChannelBuffer,
  9297. PRPC_MESSAGE _pRpcMessage,
  9298. DWORD *_pdwStubPhase);
  9299. #endif /* __IAMTVTuner_INTERFACE_DEFINED__ */
  9300. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  9301. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  9302. /* interface IBPCSatelliteTuner */
  9303. /* [unique][uuid][local][object] */
  9304. EXTERN_C const IID IID_IBPCSatelliteTuner;
  9305. #if defined(__cplusplus) && !defined(CINTERFACE)
  9306. MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  9307. IBPCSatelliteTuner : public IAMTuner
  9308. {
  9309. public:
  9310. virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes(
  9311. /* [out] */ long *plDefaultVideoType,
  9312. /* [out] */ long *plDefaultAudioType) = 0;
  9313. virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes(
  9314. /* [in] */ long lDefaultVideoType,
  9315. /* [in] */ long lDefaultAudioType) = 0;
  9316. virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  9317. };
  9318. #else /* C style interface */
  9319. typedef struct IBPCSatelliteTunerVtbl
  9320. {
  9321. BEGIN_INTERFACE
  9322. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9323. IBPCSatelliteTuner * This,
  9324. /* [in] */ REFIID riid,
  9325. /* [iid_is][out] */ void **ppvObject);
  9326. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9327. IBPCSatelliteTuner * This);
  9328. ULONG ( STDMETHODCALLTYPE *Release )(
  9329. IBPCSatelliteTuner * This);
  9330. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  9331. IBPCSatelliteTuner * This,
  9332. /* [in] */ long lChannel,
  9333. /* [in] */ long lVideoSubChannel,
  9334. /* [in] */ long lAudioSubChannel);
  9335. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  9336. IBPCSatelliteTuner * This,
  9337. /* [out] */ long *plChannel,
  9338. /* [out] */ long *plVideoSubChannel,
  9339. /* [out] */ long *plAudioSubChannel);
  9340. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  9341. IBPCSatelliteTuner * This,
  9342. /* [out] */ long *lChannelMin,
  9343. /* [out] */ long *lChannelMax);
  9344. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  9345. IBPCSatelliteTuner * This,
  9346. /* [in] */ long lCountryCode);
  9347. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  9348. IBPCSatelliteTuner * This,
  9349. /* [out] */ long *plCountryCode);
  9350. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  9351. IBPCSatelliteTuner * This,
  9352. /* [in] */ long lTuningSpace);
  9353. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  9354. IBPCSatelliteTuner * This,
  9355. /* [out] */ long *plTuningSpace);
  9356. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  9357. IBPCSatelliteTuner * This,
  9358. /* [in] */ HANDLE hCurrentUser);
  9359. HRESULT ( STDMETHODCALLTYPE *Logout )(
  9360. IBPCSatelliteTuner * This);
  9361. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  9362. IBPCSatelliteTuner * This,
  9363. /* [out] */ long *plSignalStrength);
  9364. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  9365. IBPCSatelliteTuner * This,
  9366. /* [in] */ AMTunerModeType lMode);
  9367. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  9368. IBPCSatelliteTuner * This,
  9369. /* [out] */ AMTunerModeType *plMode);
  9370. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  9371. IBPCSatelliteTuner * This,
  9372. /* [out] */ long *plModes);
  9373. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9374. IBPCSatelliteTuner * This,
  9375. /* [in] */ IAMTunerNotification *pNotify,
  9376. /* [in] */ long lEvents);
  9377. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9378. IBPCSatelliteTuner * This,
  9379. /* [in] */ IAMTunerNotification *pNotify);
  9380. HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )(
  9381. IBPCSatelliteTuner * This,
  9382. /* [out] */ long *plDefaultVideoType,
  9383. /* [out] */ long *plDefaultAudioType);
  9384. HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )(
  9385. IBPCSatelliteTuner * This,
  9386. /* [in] */ long lDefaultVideoType,
  9387. /* [in] */ long lDefaultAudioType);
  9388. HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )(
  9389. IBPCSatelliteTuner * This);
  9390. END_INTERFACE
  9391. } IBPCSatelliteTunerVtbl;
  9392. interface IBPCSatelliteTuner
  9393. {
  9394. CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  9395. };
  9396. #ifdef COBJMACROS
  9397. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) \
  9398. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9399. #define IBPCSatelliteTuner_AddRef(This) \
  9400. (This)->lpVtbl -> AddRef(This)
  9401. #define IBPCSatelliteTuner_Release(This) \
  9402. (This)->lpVtbl -> Release(This)
  9403. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  9404. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  9405. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  9406. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  9407. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  9408. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  9409. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) \
  9410. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  9411. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) \
  9412. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  9413. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) \
  9414. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  9415. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) \
  9416. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  9417. #define IBPCSatelliteTuner_Logon(This,hCurrentUser) \
  9418. (This)->lpVtbl -> Logon(This,hCurrentUser)
  9419. #define IBPCSatelliteTuner_Logout(This) \
  9420. (This)->lpVtbl -> Logout(This)
  9421. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) \
  9422. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  9423. #define IBPCSatelliteTuner_put_Mode(This,lMode) \
  9424. (This)->lpVtbl -> put_Mode(This,lMode)
  9425. #define IBPCSatelliteTuner_get_Mode(This,plMode) \
  9426. (This)->lpVtbl -> get_Mode(This,plMode)
  9427. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) \
  9428. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  9429. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9430. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9431. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) \
  9432. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9433. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) \
  9434. (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  9435. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) \
  9436. (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  9437. #define IBPCSatelliteTuner_IsTapingPermitted(This) \
  9438. (This)->lpVtbl -> IsTapingPermitted(This)
  9439. #endif /* COBJMACROS */
  9440. #endif /* C style interface */
  9441. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(
  9442. IBPCSatelliteTuner * This,
  9443. /* [out] */ long *plDefaultVideoType,
  9444. /* [out] */ long *plDefaultAudioType);
  9445. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  9446. IRpcStubBuffer *This,
  9447. IRpcChannelBuffer *_pRpcChannelBuffer,
  9448. PRPC_MESSAGE _pRpcMessage,
  9449. DWORD *_pdwStubPhase);
  9450. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(
  9451. IBPCSatelliteTuner * This,
  9452. /* [in] */ long lDefaultVideoType,
  9453. /* [in] */ long lDefaultAudioType);
  9454. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  9455. IRpcStubBuffer *This,
  9456. IRpcChannelBuffer *_pRpcChannelBuffer,
  9457. PRPC_MESSAGE _pRpcMessage,
  9458. DWORD *_pdwStubPhase);
  9459. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy(
  9460. IBPCSatelliteTuner * This);
  9461. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  9462. IRpcStubBuffer *This,
  9463. IRpcChannelBuffer *_pRpcChannelBuffer,
  9464. PRPC_MESSAGE _pRpcMessage,
  9465. DWORD *_pdwStubPhase);
  9466. #endif /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  9467. /* interface __MIDL_itf_strmif_0182 */
  9468. /* [local] */
  9469. typedef
  9470. enum tagTVAudioMode
  9471. { AMTVAUDIO_MODE_MONO = 0x1,
  9472. AMTVAUDIO_MODE_STEREO = 0x2,
  9473. AMTVAUDIO_MODE_LANG_A = 0x10,
  9474. AMTVAUDIO_MODE_LANG_B = 0x20,
  9475. AMTVAUDIO_MODE_LANG_C = 0x40
  9476. } TVAudioMode;
  9477. typedef
  9478. enum tagAMTVAudioEventType
  9479. { AMTVAUDIO_EVENT_CHANGED = 0x1
  9480. } AMTVAudioEventType;
  9481. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
  9482. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
  9483. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  9484. #define __IAMTVAudio_INTERFACE_DEFINED__
  9485. /* interface IAMTVAudio */
  9486. /* [unique][uuid][local][object] */
  9487. EXTERN_C const IID IID_IAMTVAudio;
  9488. #if defined(__cplusplus) && !defined(CINTERFACE)
  9489. MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  9490. IAMTVAudio : public IUnknown
  9491. {
  9492. public:
  9493. virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes(
  9494. /* [out] */ long *plModes) = 0;
  9495. virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes(
  9496. /* [out] */ long *plModes) = 0;
  9497. virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode(
  9498. /* [out] */ long *plMode) = 0;
  9499. virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode(
  9500. /* [in] */ long lMode) = 0;
  9501. virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
  9502. /* [in] */ IAMTunerNotification *pNotify,
  9503. /* [in] */ long lEvents) = 0;
  9504. virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
  9505. IAMTunerNotification *pNotify) = 0;
  9506. };
  9507. #else /* C style interface */
  9508. typedef struct IAMTVAudioVtbl
  9509. {
  9510. BEGIN_INTERFACE
  9511. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9512. IAMTVAudio * This,
  9513. /* [in] */ REFIID riid,
  9514. /* [iid_is][out] */ void **ppvObject);
  9515. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9516. IAMTVAudio * This);
  9517. ULONG ( STDMETHODCALLTYPE *Release )(
  9518. IAMTVAudio * This);
  9519. HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )(
  9520. IAMTVAudio * This,
  9521. /* [out] */ long *plModes);
  9522. HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )(
  9523. IAMTVAudio * This,
  9524. /* [out] */ long *plModes);
  9525. HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )(
  9526. IAMTVAudio * This,
  9527. /* [out] */ long *plMode);
  9528. HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )(
  9529. IAMTVAudio * This,
  9530. /* [in] */ long lMode);
  9531. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9532. IAMTVAudio * This,
  9533. /* [in] */ IAMTunerNotification *pNotify,
  9534. /* [in] */ long lEvents);
  9535. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9536. IAMTVAudio * This,
  9537. IAMTunerNotification *pNotify);
  9538. END_INTERFACE
  9539. } IAMTVAudioVtbl;
  9540. interface IAMTVAudio
  9541. {
  9542. CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  9543. };
  9544. #ifdef COBJMACROS
  9545. #define IAMTVAudio_QueryInterface(This,riid,ppvObject) \
  9546. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9547. #define IAMTVAudio_AddRef(This) \
  9548. (This)->lpVtbl -> AddRef(This)
  9549. #define IAMTVAudio_Release(This) \
  9550. (This)->lpVtbl -> Release(This)
  9551. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) \
  9552. (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  9553. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) \
  9554. (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  9555. #define IAMTVAudio_get_TVAudioMode(This,plMode) \
  9556. (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  9557. #define IAMTVAudio_put_TVAudioMode(This,lMode) \
  9558. (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  9559. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9560. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9561. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) \
  9562. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9563. #endif /* COBJMACROS */
  9564. #endif /* C style interface */
  9565. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(
  9566. IAMTVAudio * This,
  9567. /* [out] */ long *plModes);
  9568. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  9569. IRpcStubBuffer *This,
  9570. IRpcChannelBuffer *_pRpcChannelBuffer,
  9571. PRPC_MESSAGE _pRpcMessage,
  9572. DWORD *_pdwStubPhase);
  9573. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy(
  9574. IAMTVAudio * This,
  9575. /* [out] */ long *plModes);
  9576. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  9577. IRpcStubBuffer *This,
  9578. IRpcChannelBuffer *_pRpcChannelBuffer,
  9579. PRPC_MESSAGE _pRpcMessage,
  9580. DWORD *_pdwStubPhase);
  9581. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy(
  9582. IAMTVAudio * This,
  9583. /* [out] */ long *plMode);
  9584. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  9585. IRpcStubBuffer *This,
  9586. IRpcChannelBuffer *_pRpcChannelBuffer,
  9587. PRPC_MESSAGE _pRpcMessage,
  9588. DWORD *_pdwStubPhase);
  9589. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy(
  9590. IAMTVAudio * This,
  9591. /* [in] */ long lMode);
  9592. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  9593. IRpcStubBuffer *This,
  9594. IRpcChannelBuffer *_pRpcChannelBuffer,
  9595. PRPC_MESSAGE _pRpcMessage,
  9596. DWORD *_pdwStubPhase);
  9597. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy(
  9598. IAMTVAudio * This,
  9599. /* [in] */ IAMTunerNotification *pNotify,
  9600. /* [in] */ long lEvents);
  9601. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  9602. IRpcStubBuffer *This,
  9603. IRpcChannelBuffer *_pRpcChannelBuffer,
  9604. PRPC_MESSAGE _pRpcMessage,
  9605. DWORD *_pdwStubPhase);
  9606. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy(
  9607. IAMTVAudio * This,
  9608. IAMTunerNotification *pNotify);
  9609. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  9610. IRpcStubBuffer *This,
  9611. IRpcChannelBuffer *_pRpcChannelBuffer,
  9612. PRPC_MESSAGE _pRpcMessage,
  9613. DWORD *_pdwStubPhase);
  9614. #endif /* __IAMTVAudio_INTERFACE_DEFINED__ */
  9615. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  9616. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  9617. /* interface IAMTVAudioNotification */
  9618. /* [unique][uuid][local][object] */
  9619. EXTERN_C const IID IID_IAMTVAudioNotification;
  9620. #if defined(__cplusplus) && !defined(CINTERFACE)
  9621. MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  9622. IAMTVAudioNotification : public IUnknown
  9623. {
  9624. public:
  9625. virtual HRESULT STDMETHODCALLTYPE OnEvent(
  9626. /* [in] */ AMTVAudioEventType Event) = 0;
  9627. };
  9628. #else /* C style interface */
  9629. typedef struct IAMTVAudioNotificationVtbl
  9630. {
  9631. BEGIN_INTERFACE
  9632. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9633. IAMTVAudioNotification * This,
  9634. /* [in] */ REFIID riid,
  9635. /* [iid_is][out] */ void **ppvObject);
  9636. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9637. IAMTVAudioNotification * This);
  9638. ULONG ( STDMETHODCALLTYPE *Release )(
  9639. IAMTVAudioNotification * This);
  9640. HRESULT ( STDMETHODCALLTYPE *OnEvent )(
  9641. IAMTVAudioNotification * This,
  9642. /* [in] */ AMTVAudioEventType Event);
  9643. END_INTERFACE
  9644. } IAMTVAudioNotificationVtbl;
  9645. interface IAMTVAudioNotification
  9646. {
  9647. CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  9648. };
  9649. #ifdef COBJMACROS
  9650. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) \
  9651. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9652. #define IAMTVAudioNotification_AddRef(This) \
  9653. (This)->lpVtbl -> AddRef(This)
  9654. #define IAMTVAudioNotification_Release(This) \
  9655. (This)->lpVtbl -> Release(This)
  9656. #define IAMTVAudioNotification_OnEvent(This,Event) \
  9657. (This)->lpVtbl -> OnEvent(This,Event)
  9658. #endif /* COBJMACROS */
  9659. #endif /* C style interface */
  9660. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy(
  9661. IAMTVAudioNotification * This,
  9662. /* [in] */ AMTVAudioEventType Event);
  9663. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  9664. IRpcStubBuffer *This,
  9665. IRpcChannelBuffer *_pRpcChannelBuffer,
  9666. PRPC_MESSAGE _pRpcMessage,
  9667. DWORD *_pdwStubPhase);
  9668. #endif /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  9669. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  9670. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  9671. /* interface IAMAnalogVideoEncoder */
  9672. /* [unique][uuid][object] */
  9673. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  9674. #if defined(__cplusplus) && !defined(CINTERFACE)
  9675. MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  9676. IAMAnalogVideoEncoder : public IUnknown
  9677. {
  9678. public:
  9679. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  9680. /* [out] */ long *lAnalogVideoStandard) = 0;
  9681. virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
  9682. /* [in] */ long lAnalogVideoStandard) = 0;
  9683. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  9684. /* [out] */ long *plAnalogVideoStandard) = 0;
  9685. virtual HRESULT STDMETHODCALLTYPE put_CopyProtection(
  9686. /* [in] */ long lVideoCopyProtection) = 0;
  9687. virtual HRESULT STDMETHODCALLTYPE get_CopyProtection(
  9688. /* [out] */ long *lVideoCopyProtection) = 0;
  9689. virtual HRESULT STDMETHODCALLTYPE put_CCEnable(
  9690. /* [in] */ long lCCEnable) = 0;
  9691. virtual HRESULT STDMETHODCALLTYPE get_CCEnable(
  9692. /* [out] */ long *lCCEnable) = 0;
  9693. };
  9694. #else /* C style interface */
  9695. typedef struct IAMAnalogVideoEncoderVtbl
  9696. {
  9697. BEGIN_INTERFACE
  9698. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9699. IAMAnalogVideoEncoder * This,
  9700. /* [in] */ REFIID riid,
  9701. /* [iid_is][out] */ void **ppvObject);
  9702. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9703. IAMAnalogVideoEncoder * This);
  9704. ULONG ( STDMETHODCALLTYPE *Release )(
  9705. IAMAnalogVideoEncoder * This);
  9706. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  9707. IAMAnalogVideoEncoder * This,
  9708. /* [out] */ long *lAnalogVideoStandard);
  9709. HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
  9710. IAMAnalogVideoEncoder * This,
  9711. /* [in] */ long lAnalogVideoStandard);
  9712. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  9713. IAMAnalogVideoEncoder * This,
  9714. /* [out] */ long *plAnalogVideoStandard);
  9715. HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )(
  9716. IAMAnalogVideoEncoder * This,
  9717. /* [in] */ long lVideoCopyProtection);
  9718. HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )(
  9719. IAMAnalogVideoEncoder * This,
  9720. /* [out] */ long *lVideoCopyProtection);
  9721. HRESULT ( STDMETHODCALLTYPE *put_CCEnable )(
  9722. IAMAnalogVideoEncoder * This,
  9723. /* [in] */ long lCCEnable);
  9724. HRESULT ( STDMETHODCALLTYPE *get_CCEnable )(
  9725. IAMAnalogVideoEncoder * This,
  9726. /* [out] */ long *lCCEnable);
  9727. END_INTERFACE
  9728. } IAMAnalogVideoEncoderVtbl;
  9729. interface IAMAnalogVideoEncoder
  9730. {
  9731. CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  9732. };
  9733. #ifdef COBJMACROS
  9734. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) \
  9735. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9736. #define IAMAnalogVideoEncoder_AddRef(This) \
  9737. (This)->lpVtbl -> AddRef(This)
  9738. #define IAMAnalogVideoEncoder_Release(This) \
  9739. (This)->lpVtbl -> Release(This)
  9740. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  9741. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  9742. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) \
  9743. (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  9744. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) \
  9745. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  9746. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) \
  9747. (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  9748. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) \
  9749. (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  9750. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) \
  9751. (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  9752. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) \
  9753. (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  9754. #endif /* COBJMACROS */
  9755. #endif /* C style interface */
  9756. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(
  9757. IAMAnalogVideoEncoder * This,
  9758. /* [out] */ long *lAnalogVideoStandard);
  9759. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  9760. IRpcStubBuffer *This,
  9761. IRpcChannelBuffer *_pRpcChannelBuffer,
  9762. PRPC_MESSAGE _pRpcMessage,
  9763. DWORD *_pdwStubPhase);
  9764. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy(
  9765. IAMAnalogVideoEncoder * This,
  9766. /* [in] */ long lAnalogVideoStandard);
  9767. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  9768. IRpcStubBuffer *This,
  9769. IRpcChannelBuffer *_pRpcChannelBuffer,
  9770. PRPC_MESSAGE _pRpcMessage,
  9771. DWORD *_pdwStubPhase);
  9772. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy(
  9773. IAMAnalogVideoEncoder * This,
  9774. /* [out] */ long *plAnalogVideoStandard);
  9775. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  9776. IRpcStubBuffer *This,
  9777. IRpcChannelBuffer *_pRpcChannelBuffer,
  9778. PRPC_MESSAGE _pRpcMessage,
  9779. DWORD *_pdwStubPhase);
  9780. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy(
  9781. IAMAnalogVideoEncoder * This,
  9782. /* [in] */ long lVideoCopyProtection);
  9783. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  9784. IRpcStubBuffer *This,
  9785. IRpcChannelBuffer *_pRpcChannelBuffer,
  9786. PRPC_MESSAGE _pRpcMessage,
  9787. DWORD *_pdwStubPhase);
  9788. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy(
  9789. IAMAnalogVideoEncoder * This,
  9790. /* [out] */ long *lVideoCopyProtection);
  9791. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  9792. IRpcStubBuffer *This,
  9793. IRpcChannelBuffer *_pRpcChannelBuffer,
  9794. PRPC_MESSAGE _pRpcMessage,
  9795. DWORD *_pdwStubPhase);
  9796. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy(
  9797. IAMAnalogVideoEncoder * This,
  9798. /* [in] */ long lCCEnable);
  9799. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  9800. IRpcStubBuffer *This,
  9801. IRpcChannelBuffer *_pRpcChannelBuffer,
  9802. PRPC_MESSAGE _pRpcMessage,
  9803. DWORD *_pdwStubPhase);
  9804. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy(
  9805. IAMAnalogVideoEncoder * This,
  9806. /* [out] */ long *lCCEnable);
  9807. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  9808. IRpcStubBuffer *This,
  9809. IRpcChannelBuffer *_pRpcChannelBuffer,
  9810. PRPC_MESSAGE _pRpcMessage,
  9811. DWORD *_pdwStubPhase);
  9812. #endif /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  9813. /* interface __MIDL_itf_strmif_0185 */
  9814. /* [local] */
  9815. typedef /* [public] */
  9816. enum __MIDL___MIDL_itf_strmif_0185_0001
  9817. { AMPROPERTY_PIN_CATEGORY = 0,
  9818. AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
  9819. } AMPROPERTY_PIN;
  9820. #ifndef _IKsPropertySet_
  9821. #define _IKsPropertySet_
  9822. #define KSPROPERTY_SUPPORT_GET 1
  9823. #define KSPROPERTY_SUPPORT_SET 2
  9824. extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_c_ifspec;
  9825. extern RPC_IF_HANDLE __MIDL_itf_strmif_0185_v0_0_s_ifspec;
  9826. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  9827. #define __IKsPropertySet_INTERFACE_DEFINED__
  9828. /* interface IKsPropertySet */
  9829. /* [unique][uuid][object] */
  9830. EXTERN_C const IID IID_IKsPropertySet;
  9831. #if defined(__cplusplus) && !defined(CINTERFACE)
  9832. MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  9833. IKsPropertySet : public IUnknown
  9834. {
  9835. public:
  9836. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set(
  9837. /* [in] */ REFGUID guidPropSet,
  9838. /* [in] */ DWORD dwPropID,
  9839. /* [size_is][in] */ LPVOID pInstanceData,
  9840. /* [in] */ DWORD cbInstanceData,
  9841. /* [size_is][in] */ LPVOID pPropData,
  9842. /* [in] */ DWORD cbPropData) = 0;
  9843. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get(
  9844. /* [in] */ REFGUID guidPropSet,
  9845. /* [in] */ DWORD dwPropID,
  9846. /* [size_is][in] */ LPVOID pInstanceData,
  9847. /* [in] */ DWORD cbInstanceData,
  9848. /* [size_is][out] */ LPVOID pPropData,
  9849. /* [in] */ DWORD cbPropData,
  9850. /* [out] */ DWORD *pcbReturned) = 0;
  9851. virtual HRESULT STDMETHODCALLTYPE QuerySupported(
  9852. /* [in] */ REFGUID guidPropSet,
  9853. /* [in] */ DWORD dwPropID,
  9854. /* [out] */ DWORD *pTypeSupport) = 0;
  9855. };
  9856. #else /* C style interface */
  9857. typedef struct IKsPropertySetVtbl
  9858. {
  9859. BEGIN_INTERFACE
  9860. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9861. IKsPropertySet * This,
  9862. /* [in] */ REFIID riid,
  9863. /* [iid_is][out] */ void **ppvObject);
  9864. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9865. IKsPropertySet * This);
  9866. ULONG ( STDMETHODCALLTYPE *Release )(
  9867. IKsPropertySet * This);
  9868. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )(
  9869. IKsPropertySet * This,
  9870. /* [in] */ REFGUID guidPropSet,
  9871. /* [in] */ DWORD dwPropID,
  9872. /* [size_is][in] */ LPVOID pInstanceData,
  9873. /* [in] */ DWORD cbInstanceData,
  9874. /* [size_is][in] */ LPVOID pPropData,
  9875. /* [in] */ DWORD cbPropData);
  9876. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )(
  9877. IKsPropertySet * This,
  9878. /* [in] */ REFGUID guidPropSet,
  9879. /* [in] */ DWORD dwPropID,
  9880. /* [size_is][in] */ LPVOID pInstanceData,
  9881. /* [in] */ DWORD cbInstanceData,
  9882. /* [size_is][out] */ LPVOID pPropData,
  9883. /* [in] */ DWORD cbPropData,
  9884. /* [out] */ DWORD *pcbReturned);
  9885. HRESULT ( STDMETHODCALLTYPE *QuerySupported )(
  9886. IKsPropertySet * This,
  9887. /* [in] */ REFGUID guidPropSet,
  9888. /* [in] */ DWORD dwPropID,
  9889. /* [out] */ DWORD *pTypeSupport);
  9890. END_INTERFACE
  9891. } IKsPropertySetVtbl;
  9892. interface IKsPropertySet
  9893. {
  9894. CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  9895. };
  9896. #ifdef COBJMACROS
  9897. #define IKsPropertySet_QueryInterface(This,riid,ppvObject) \
  9898. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9899. #define IKsPropertySet_AddRef(This) \
  9900. (This)->lpVtbl -> AddRef(This)
  9901. #define IKsPropertySet_Release(This) \
  9902. (This)->lpVtbl -> Release(This)
  9903. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) \
  9904. (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  9905. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) \
  9906. (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  9907. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) \
  9908. (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  9909. #endif /* COBJMACROS */
  9910. #endif /* C style interface */
  9911. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy(
  9912. IKsPropertySet * This,
  9913. /* [in] */ REFGUID guidPropSet,
  9914. /* [in] */ DWORD dwPropID,
  9915. /* [size_is][in] */ byte *pInstanceData,
  9916. /* [in] */ DWORD cbInstanceData,
  9917. /* [size_is][in] */ byte *pPropData,
  9918. /* [in] */ DWORD cbPropData);
  9919. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  9920. IRpcStubBuffer *This,
  9921. IRpcChannelBuffer *_pRpcChannelBuffer,
  9922. PRPC_MESSAGE _pRpcMessage,
  9923. DWORD *_pdwStubPhase);
  9924. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy(
  9925. IKsPropertySet * This,
  9926. /* [in] */ REFGUID guidPropSet,
  9927. /* [in] */ DWORD dwPropID,
  9928. /* [size_is][in] */ byte *pInstanceData,
  9929. /* [in] */ DWORD cbInstanceData,
  9930. /* [size_is][out] */ byte *pPropData,
  9931. /* [in] */ DWORD cbPropData,
  9932. /* [out] */ DWORD *pcbReturned);
  9933. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  9934. IRpcStubBuffer *This,
  9935. IRpcChannelBuffer *_pRpcChannelBuffer,
  9936. PRPC_MESSAGE _pRpcMessage,
  9937. DWORD *_pdwStubPhase);
  9938. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(
  9939. IKsPropertySet * This,
  9940. /* [in] */ REFGUID guidPropSet,
  9941. /* [in] */ DWORD dwPropID,
  9942. /* [out] */ DWORD *pTypeSupport);
  9943. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  9944. IRpcStubBuffer *This,
  9945. IRpcChannelBuffer *_pRpcChannelBuffer,
  9946. PRPC_MESSAGE _pRpcMessage,
  9947. DWORD *_pdwStubPhase);
  9948. #endif /* __IKsPropertySet_INTERFACE_DEFINED__ */
  9949. /* interface __MIDL_itf_strmif_0186 */
  9950. /* [local] */
  9951. #endif // _IKsPropertySet_
  9952. extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_c_ifspec;
  9953. extern RPC_IF_HANDLE __MIDL_itf_strmif_0186_v0_0_s_ifspec;
  9954. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  9955. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  9956. /* interface IMediaPropertyBag */
  9957. /* [unique][uuid][object] */
  9958. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  9959. EXTERN_C const IID IID_IMediaPropertyBag;
  9960. #if defined(__cplusplus) && !defined(CINTERFACE)
  9961. MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  9962. IMediaPropertyBag : public IPropertyBag
  9963. {
  9964. public:
  9965. virtual HRESULT STDMETHODCALLTYPE EnumProperty(
  9966. /* [in] */ ULONG iProperty,
  9967. /* [out][in] */ VARIANT *pvarPropertyName,
  9968. /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  9969. };
  9970. #else /* C style interface */
  9971. typedef struct IMediaPropertyBagVtbl
  9972. {
  9973. BEGIN_INTERFACE
  9974. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9975. IMediaPropertyBag * This,
  9976. /* [in] */ REFIID riid,
  9977. /* [iid_is][out] */ void **ppvObject);
  9978. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9979. IMediaPropertyBag * This);
  9980. ULONG ( STDMETHODCALLTYPE *Release )(
  9981. IMediaPropertyBag * This);
  9982. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  9983. IMediaPropertyBag * This,
  9984. /* [in] */ LPCOLESTR pszPropName,
  9985. /* [out][in] */ VARIANT *pVar,
  9986. /* [in] */ IErrorLog *pErrorLog);
  9987. HRESULT ( STDMETHODCALLTYPE *Write )(
  9988. IMediaPropertyBag * This,
  9989. /* [in] */ LPCOLESTR pszPropName,
  9990. /* [in] */ VARIANT *pVar);
  9991. HRESULT ( STDMETHODCALLTYPE *EnumProperty )(
  9992. IMediaPropertyBag * This,
  9993. /* [in] */ ULONG iProperty,
  9994. /* [out][in] */ VARIANT *pvarPropertyName,
  9995. /* [out][in] */ VARIANT *pvarPropertyValue);
  9996. END_INTERFACE
  9997. } IMediaPropertyBagVtbl;
  9998. interface IMediaPropertyBag
  9999. {
  10000. CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  10001. };
  10002. #ifdef COBJMACROS
  10003. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) \
  10004. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10005. #define IMediaPropertyBag_AddRef(This) \
  10006. (This)->lpVtbl -> AddRef(This)
  10007. #define IMediaPropertyBag_Release(This) \
  10008. (This)->lpVtbl -> Release(This)
  10009. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) \
  10010. (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  10011. #define IMediaPropertyBag_Write(This,pszPropName,pVar) \
  10012. (This)->lpVtbl -> Write(This,pszPropName,pVar)
  10013. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) \
  10014. (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  10015. #endif /* COBJMACROS */
  10016. #endif /* C style interface */
  10017. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy(
  10018. IMediaPropertyBag * This,
  10019. /* [in] */ ULONG iProperty,
  10020. /* [out][in] */ VARIANT *pvarPropertyName,
  10021. /* [out][in] */ VARIANT *pvarPropertyValue);
  10022. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  10023. IRpcStubBuffer *This,
  10024. IRpcChannelBuffer *_pRpcChannelBuffer,
  10025. PRPC_MESSAGE _pRpcMessage,
  10026. DWORD *_pdwStubPhase);
  10027. #endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  10028. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  10029. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  10030. /* interface IPersistMediaPropertyBag */
  10031. /* [unique][uuid][object] */
  10032. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  10033. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  10034. #if defined(__cplusplus) && !defined(CINTERFACE)
  10035. MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  10036. IPersistMediaPropertyBag : public IPersist
  10037. {
  10038. public:
  10039. virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  10040. virtual HRESULT STDMETHODCALLTYPE Load(
  10041. /* [in] */ IMediaPropertyBag *pPropBag,
  10042. /* [in] */ IErrorLog *pErrorLog) = 0;
  10043. virtual HRESULT STDMETHODCALLTYPE Save(
  10044. /* [in] */ IMediaPropertyBag *pPropBag,
  10045. /* [in] */ BOOL fClearDirty,
  10046. /* [in] */ BOOL fSaveAllProperties) = 0;
  10047. };
  10048. #else /* C style interface */
  10049. typedef struct IPersistMediaPropertyBagVtbl
  10050. {
  10051. BEGIN_INTERFACE
  10052. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10053. IPersistMediaPropertyBag * This,
  10054. /* [in] */ REFIID riid,
  10055. /* [iid_is][out] */ void **ppvObject);
  10056. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10057. IPersistMediaPropertyBag * This);
  10058. ULONG ( STDMETHODCALLTYPE *Release )(
  10059. IPersistMediaPropertyBag * This);
  10060. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  10061. IPersistMediaPropertyBag * This,
  10062. /* [out] */ CLSID *pClassID);
  10063. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  10064. IPersistMediaPropertyBag * This);
  10065. HRESULT ( STDMETHODCALLTYPE *Load )(
  10066. IPersistMediaPropertyBag * This,
  10067. /* [in] */ IMediaPropertyBag *pPropBag,
  10068. /* [in] */ IErrorLog *pErrorLog);
  10069. HRESULT ( STDMETHODCALLTYPE *Save )(
  10070. IPersistMediaPropertyBag * This,
  10071. /* [in] */ IMediaPropertyBag *pPropBag,
  10072. /* [in] */ BOOL fClearDirty,
  10073. /* [in] */ BOOL fSaveAllProperties);
  10074. END_INTERFACE
  10075. } IPersistMediaPropertyBagVtbl;
  10076. interface IPersistMediaPropertyBag
  10077. {
  10078. CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  10079. };
  10080. #ifdef COBJMACROS
  10081. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) \
  10082. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10083. #define IPersistMediaPropertyBag_AddRef(This) \
  10084. (This)->lpVtbl -> AddRef(This)
  10085. #define IPersistMediaPropertyBag_Release(This) \
  10086. (This)->lpVtbl -> Release(This)
  10087. #define IPersistMediaPropertyBag_GetClassID(This,pClassID) \
  10088. (This)->lpVtbl -> GetClassID(This,pClassID)
  10089. #define IPersistMediaPropertyBag_InitNew(This) \
  10090. (This)->lpVtbl -> InitNew(This)
  10091. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) \
  10092. (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  10093. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) \
  10094. (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  10095. #endif /* COBJMACROS */
  10096. #endif /* C style interface */
  10097. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy(
  10098. IPersistMediaPropertyBag * This);
  10099. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  10100. IRpcStubBuffer *This,
  10101. IRpcChannelBuffer *_pRpcChannelBuffer,
  10102. PRPC_MESSAGE _pRpcMessage,
  10103. DWORD *_pdwStubPhase);
  10104. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy(
  10105. IPersistMediaPropertyBag * This,
  10106. /* [in] */ IMediaPropertyBag *pPropBag,
  10107. /* [in] */ IErrorLog *pErrorLog);
  10108. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  10109. IRpcStubBuffer *This,
  10110. IRpcChannelBuffer *_pRpcChannelBuffer,
  10111. PRPC_MESSAGE _pRpcMessage,
  10112. DWORD *_pdwStubPhase);
  10113. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy(
  10114. IPersistMediaPropertyBag * This,
  10115. /* [in] */ IMediaPropertyBag *pPropBag,
  10116. /* [in] */ BOOL fClearDirty,
  10117. /* [in] */ BOOL fSaveAllProperties);
  10118. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  10119. IRpcStubBuffer *This,
  10120. IRpcChannelBuffer *_pRpcChannelBuffer,
  10121. PRPC_MESSAGE _pRpcMessage,
  10122. DWORD *_pdwStubPhase);
  10123. #endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  10124. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  10125. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  10126. /* interface IAMPhysicalPinInfo */
  10127. /* [unique][uuid][object] */
  10128. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  10129. #if defined(__cplusplus) && !defined(CINTERFACE)
  10130. MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  10131. IAMPhysicalPinInfo : public IUnknown
  10132. {
  10133. public:
  10134. virtual HRESULT STDMETHODCALLTYPE GetPhysicalType(
  10135. /* [out] */ long *pType,
  10136. /* [out] */ LPOLESTR *ppszType) = 0;
  10137. };
  10138. #else /* C style interface */
  10139. typedef struct IAMPhysicalPinInfoVtbl
  10140. {
  10141. BEGIN_INTERFACE
  10142. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10143. IAMPhysicalPinInfo * This,
  10144. /* [in] */ REFIID riid,
  10145. /* [iid_is][out] */ void **ppvObject);
  10146. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10147. IAMPhysicalPinInfo * This);
  10148. ULONG ( STDMETHODCALLTYPE *Release )(
  10149. IAMPhysicalPinInfo * This);
  10150. HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )(
  10151. IAMPhysicalPinInfo * This,
  10152. /* [out] */ long *pType,
  10153. /* [out] */ LPOLESTR *ppszType);
  10154. END_INTERFACE
  10155. } IAMPhysicalPinInfoVtbl;
  10156. interface IAMPhysicalPinInfo
  10157. {
  10158. CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  10159. };
  10160. #ifdef COBJMACROS
  10161. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) \
  10162. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10163. #define IAMPhysicalPinInfo_AddRef(This) \
  10164. (This)->lpVtbl -> AddRef(This)
  10165. #define IAMPhysicalPinInfo_Release(This) \
  10166. (This)->lpVtbl -> Release(This)
  10167. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) \
  10168. (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  10169. #endif /* COBJMACROS */
  10170. #endif /* C style interface */
  10171. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy(
  10172. IAMPhysicalPinInfo * This,
  10173. /* [out] */ long *pType,
  10174. /* [out] */ LPOLESTR *ppszType);
  10175. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  10176. IRpcStubBuffer *This,
  10177. IRpcChannelBuffer *_pRpcChannelBuffer,
  10178. PRPC_MESSAGE _pRpcMessage,
  10179. DWORD *_pdwStubPhase);
  10180. #endif /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  10181. /* interface __MIDL_itf_strmif_0334 */
  10182. /* [local] */
  10183. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  10184. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  10185. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  10186. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  10187. #define __IAMExtDevice_INTERFACE_DEFINED__
  10188. /* interface IAMExtDevice */
  10189. /* [unique][uuid][object] */
  10190. EXTERN_C const IID IID_IAMExtDevice;
  10191. #if defined(__cplusplus) && !defined(CINTERFACE)
  10192. MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  10193. IAMExtDevice : public IUnknown
  10194. {
  10195. public:
  10196. virtual HRESULT STDMETHODCALLTYPE GetCapability(
  10197. /* [in] */ long Capability,
  10198. /* [out] */ long *pValue,
  10199. /* [out] */ double *pdblValue) = 0;
  10200. virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID(
  10201. /* [out] */ LPOLESTR *ppszData) = 0;
  10202. virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion(
  10203. /* [out] */ LPOLESTR *ppszData) = 0;
  10204. virtual HRESULT STDMETHODCALLTYPE put_DevicePower(
  10205. /* [in] */ long PowerMode) = 0;
  10206. virtual HRESULT STDMETHODCALLTYPE get_DevicePower(
  10207. /* [out] */ long *pPowerMode) = 0;
  10208. virtual HRESULT STDMETHODCALLTYPE Calibrate(
  10209. /* [in] */ HEVENT hEvent,
  10210. /* [in] */ long Mode,
  10211. /* [out] */ long *pStatus) = 0;
  10212. virtual HRESULT STDMETHODCALLTYPE put_DevicePort(
  10213. /* [in] */ long DevicePort) = 0;
  10214. virtual HRESULT STDMETHODCALLTYPE get_DevicePort(
  10215. /* [out] */ long *pDevicePort) = 0;
  10216. };
  10217. #else /* C style interface */
  10218. typedef struct IAMExtDeviceVtbl
  10219. {
  10220. BEGIN_INTERFACE
  10221. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10222. IAMExtDevice * This,
  10223. /* [in] */ REFIID riid,
  10224. /* [iid_is][out] */ void **ppvObject);
  10225. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10226. IAMExtDevice * This);
  10227. ULONG ( STDMETHODCALLTYPE *Release )(
  10228. IAMExtDevice * This);
  10229. HRESULT ( STDMETHODCALLTYPE *GetCapability )(
  10230. IAMExtDevice * This,
  10231. /* [in] */ long Capability,
  10232. /* [out] */ long *pValue,
  10233. /* [out] */ double *pdblValue);
  10234. HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )(
  10235. IAMExtDevice * This,
  10236. /* [out] */ LPOLESTR *ppszData);
  10237. HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )(
  10238. IAMExtDevice * This,
  10239. /* [out] */ LPOLESTR *ppszData);
  10240. HRESULT ( STDMETHODCALLTYPE *put_DevicePower )(
  10241. IAMExtDevice * This,
  10242. /* [in] */ long PowerMode);
  10243. HRESULT ( STDMETHODCALLTYPE *get_DevicePower )(
  10244. IAMExtDevice * This,
  10245. /* [out] */ long *pPowerMode);
  10246. HRESULT ( STDMETHODCALLTYPE *Calibrate )(
  10247. IAMExtDevice * This,
  10248. /* [in] */ HEVENT hEvent,
  10249. /* [in] */ long Mode,
  10250. /* [out] */ long *pStatus);
  10251. HRESULT ( STDMETHODCALLTYPE *put_DevicePort )(
  10252. IAMExtDevice * This,
  10253. /* [in] */ long DevicePort);
  10254. HRESULT ( STDMETHODCALLTYPE *get_DevicePort )(
  10255. IAMExtDevice * This,
  10256. /* [out] */ long *pDevicePort);
  10257. END_INTERFACE
  10258. } IAMExtDeviceVtbl;
  10259. interface IAMExtDevice
  10260. {
  10261. CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  10262. };
  10263. #ifdef COBJMACROS
  10264. #define IAMExtDevice_QueryInterface(This,riid,ppvObject) \
  10265. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10266. #define IAMExtDevice_AddRef(This) \
  10267. (This)->lpVtbl -> AddRef(This)
  10268. #define IAMExtDevice_Release(This) \
  10269. (This)->lpVtbl -> Release(This)
  10270. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) \
  10271. (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  10272. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) \
  10273. (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  10274. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) \
  10275. (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  10276. #define IAMExtDevice_put_DevicePower(This,PowerMode) \
  10277. (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  10278. #define IAMExtDevice_get_DevicePower(This,pPowerMode) \
  10279. (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  10280. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) \
  10281. (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  10282. #define IAMExtDevice_put_DevicePort(This,DevicePort) \
  10283. (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  10284. #define IAMExtDevice_get_DevicePort(This,pDevicePort) \
  10285. (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  10286. #endif /* COBJMACROS */
  10287. #endif /* C style interface */
  10288. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy(
  10289. IAMExtDevice * This,
  10290. /* [in] */ long Capability,
  10291. /* [out] */ long *pValue,
  10292. /* [out] */ double *pdblValue);
  10293. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  10294. IRpcStubBuffer *This,
  10295. IRpcChannelBuffer *_pRpcChannelBuffer,
  10296. PRPC_MESSAGE _pRpcMessage,
  10297. DWORD *_pdwStubPhase);
  10298. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy(
  10299. IAMExtDevice * This,
  10300. /* [out] */ LPOLESTR *ppszData);
  10301. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  10302. IRpcStubBuffer *This,
  10303. IRpcChannelBuffer *_pRpcChannelBuffer,
  10304. PRPC_MESSAGE _pRpcMessage,
  10305. DWORD *_pdwStubPhase);
  10306. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy(
  10307. IAMExtDevice * This,
  10308. /* [out] */ LPOLESTR *ppszData);
  10309. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  10310. IRpcStubBuffer *This,
  10311. IRpcChannelBuffer *_pRpcChannelBuffer,
  10312. PRPC_MESSAGE _pRpcMessage,
  10313. DWORD *_pdwStubPhase);
  10314. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy(
  10315. IAMExtDevice * This,
  10316. /* [in] */ long PowerMode);
  10317. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  10318. IRpcStubBuffer *This,
  10319. IRpcChannelBuffer *_pRpcChannelBuffer,
  10320. PRPC_MESSAGE _pRpcMessage,
  10321. DWORD *_pdwStubPhase);
  10322. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy(
  10323. IAMExtDevice * This,
  10324. /* [out] */ long *pPowerMode);
  10325. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  10326. IRpcStubBuffer *This,
  10327. IRpcChannelBuffer *_pRpcChannelBuffer,
  10328. PRPC_MESSAGE _pRpcMessage,
  10329. DWORD *_pdwStubPhase);
  10330. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy(
  10331. IAMExtDevice * This,
  10332. /* [in] */ HEVENT hEvent,
  10333. /* [in] */ long Mode,
  10334. /* [out] */ long *pStatus);
  10335. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  10336. IRpcStubBuffer *This,
  10337. IRpcChannelBuffer *_pRpcChannelBuffer,
  10338. PRPC_MESSAGE _pRpcMessage,
  10339. DWORD *_pdwStubPhase);
  10340. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy(
  10341. IAMExtDevice * This,
  10342. /* [in] */ long DevicePort);
  10343. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  10344. IRpcStubBuffer *This,
  10345. IRpcChannelBuffer *_pRpcChannelBuffer,
  10346. PRPC_MESSAGE _pRpcMessage,
  10347. DWORD *_pdwStubPhase);
  10348. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy(
  10349. IAMExtDevice * This,
  10350. /* [out] */ long *pDevicePort);
  10351. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  10352. IRpcStubBuffer *This,
  10353. IRpcChannelBuffer *_pRpcChannelBuffer,
  10354. PRPC_MESSAGE _pRpcMessage,
  10355. DWORD *_pdwStubPhase);
  10356. #endif /* __IAMExtDevice_INTERFACE_DEFINED__ */
  10357. /* interface __MIDL_itf_strmif_0335 */
  10358. /* [local] */
  10359. typedef IAMExtDevice *PEXTDEVICE;
  10360. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  10361. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  10362. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  10363. #define __IAMExtTransport_INTERFACE_DEFINED__
  10364. /* interface IAMExtTransport */
  10365. /* [unique][uuid][object] */
  10366. EXTERN_C const IID IID_IAMExtTransport;
  10367. #if defined(__cplusplus) && !defined(CINTERFACE)
  10368. MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  10369. IAMExtTransport : public IUnknown
  10370. {
  10371. public:
  10372. virtual HRESULT STDMETHODCALLTYPE GetCapability(
  10373. /* [in] */ long Capability,
  10374. /* [out] */ long *pValue,
  10375. /* [out] */ double *pdblValue) = 0;
  10376. virtual HRESULT STDMETHODCALLTYPE put_MediaState(
  10377. /* [in] */ long State) = 0;
  10378. virtual HRESULT STDMETHODCALLTYPE get_MediaState(
  10379. /* [out] */ long *pState) = 0;
  10380. virtual HRESULT STDMETHODCALLTYPE put_LocalControl(
  10381. /* [in] */ long State) = 0;
  10382. virtual HRESULT STDMETHODCALLTYPE get_LocalControl(
  10383. /* [out] */ long *pState) = 0;
  10384. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  10385. /* [in] */ long StatusItem,
  10386. /* [out] */ long *pValue) = 0;
  10387. virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters(
  10388. /* [in] */ long Param,
  10389. /* [out] */ long *pValue,
  10390. /* [out] */ LPOLESTR *ppszData) = 0;
  10391. virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters(
  10392. /* [in] */ long Param,
  10393. /* [in] */ long Value,
  10394. /* [in] */ LPCOLESTR pszData) = 0;
  10395. virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters(
  10396. /* [in] */ long Param,
  10397. /* [out] */ long *pValue) = 0;
  10398. virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters(
  10399. /* [in] */ long Param,
  10400. /* [in] */ long Value) = 0;
  10401. virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters(
  10402. /* [in] */ long Param,
  10403. /* [out] */ long *pValue) = 0;
  10404. virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters(
  10405. /* [in] */ long Param,
  10406. /* [in] */ long Value) = 0;
  10407. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  10408. /* [in] */ long Mode) = 0;
  10409. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  10410. /* [out] */ long *pMode) = 0;
  10411. virtual HRESULT STDMETHODCALLTYPE put_Rate(
  10412. /* [in] */ double dblRate) = 0;
  10413. virtual HRESULT STDMETHODCALLTYPE get_Rate(
  10414. /* [out] */ double *pdblRate) = 0;
  10415. virtual HRESULT STDMETHODCALLTYPE GetChase(
  10416. /* [out] */ long *pEnabled,
  10417. /* [out] */ long *pOffset,
  10418. /* [out] */ HEVENT *phEvent) = 0;
  10419. virtual HRESULT STDMETHODCALLTYPE SetChase(
  10420. /* [in] */ long Enable,
  10421. /* [in] */ long Offset,
  10422. /* [in] */ HEVENT hEvent) = 0;
  10423. virtual HRESULT STDMETHODCALLTYPE GetBump(
  10424. /* [out] */ long *pSpeed,
  10425. /* [out] */ long *pDuration) = 0;
  10426. virtual HRESULT STDMETHODCALLTYPE SetBump(
  10427. /* [in] */ long Speed,
  10428. /* [in] */ long Duration) = 0;
  10429. virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl(
  10430. /* [out] */ long *pEnabled) = 0;
  10431. virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl(
  10432. /* [in] */ long Enable) = 0;
  10433. virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet(
  10434. /* [in] */ long EditID,
  10435. /* [out] */ long *pState) = 0;
  10436. virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet(
  10437. /* [out][in] */ long *pEditID,
  10438. /* [in] */ long State) = 0;
  10439. virtual HRESULT STDMETHODCALLTYPE GetEditProperty(
  10440. /* [in] */ long EditID,
  10441. /* [in] */ long Param,
  10442. /* [out] */ long *pValue) = 0;
  10443. virtual HRESULT STDMETHODCALLTYPE SetEditProperty(
  10444. /* [in] */ long EditID,
  10445. /* [in] */ long Param,
  10446. /* [in] */ long Value) = 0;
  10447. virtual HRESULT STDMETHODCALLTYPE get_EditStart(
  10448. /* [out] */ long *pValue) = 0;
  10449. virtual HRESULT STDMETHODCALLTYPE put_EditStart(
  10450. /* [in] */ long Value) = 0;
  10451. };
  10452. #else /* C style interface */
  10453. typedef struct IAMExtTransportVtbl
  10454. {
  10455. BEGIN_INTERFACE
  10456. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10457. IAMExtTransport * This,
  10458. /* [in] */ REFIID riid,
  10459. /* [iid_is][out] */ void **ppvObject);
  10460. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10461. IAMExtTransport * This);
  10462. ULONG ( STDMETHODCALLTYPE *Release )(
  10463. IAMExtTransport * This);
  10464. HRESULT ( STDMETHODCALLTYPE *GetCapability )(
  10465. IAMExtTransport * This,
  10466. /* [in] */ long Capability,
  10467. /* [out] */ long *pValue,
  10468. /* [out] */ double *pdblValue);
  10469. HRESULT ( STDMETHODCALLTYPE *put_MediaState )(
  10470. IAMExtTransport * This,
  10471. /* [in] */ long State);
  10472. HRESULT ( STDMETHODCALLTYPE *get_MediaState )(
  10473. IAMExtTransport * This,
  10474. /* [out] */ long *pState);
  10475. HRESULT ( STDMETHODCALLTYPE *put_LocalControl )(
  10476. IAMExtTransport * This,
  10477. /* [in] */ long State);
  10478. HRESULT ( STDMETHODCALLTYPE *get_LocalControl )(
  10479. IAMExtTransport * This,
  10480. /* [out] */ long *pState);
  10481. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  10482. IAMExtTransport * This,
  10483. /* [in] */ long StatusItem,
  10484. /* [out] */ long *pValue);
  10485. HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )(
  10486. IAMExtTransport * This,
  10487. /* [in] */ long Param,
  10488. /* [out] */ long *pValue,
  10489. /* [out] */ LPOLESTR *ppszData);
  10490. HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )(
  10491. IAMExtTransport * This,
  10492. /* [in] */ long Param,
  10493. /* [in] */ long Value,
  10494. /* [in] */ LPCOLESTR pszData);
  10495. HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )(
  10496. IAMExtTransport * This,
  10497. /* [in] */ long Param,
  10498. /* [out] */ long *pValue);
  10499. HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )(
  10500. IAMExtTransport * This,
  10501. /* [in] */ long Param,
  10502. /* [in] */ long Value);
  10503. HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )(
  10504. IAMExtTransport * This,
  10505. /* [in] */ long Param,
  10506. /* [out] */ long *pValue);
  10507. HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )(
  10508. IAMExtTransport * This,
  10509. /* [in] */ long Param,
  10510. /* [in] */ long Value);
  10511. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  10512. IAMExtTransport * This,
  10513. /* [in] */ long Mode);
  10514. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  10515. IAMExtTransport * This,
  10516. /* [out] */ long *pMode);
  10517. HRESULT ( STDMETHODCALLTYPE *put_Rate )(
  10518. IAMExtTransport * This,
  10519. /* [in] */ double dblRate);
  10520. HRESULT ( STDMETHODCALLTYPE *get_Rate )(
  10521. IAMExtTransport * This,
  10522. /* [out] */ double *pdblRate);
  10523. HRESULT ( STDMETHODCALLTYPE *GetChase )(
  10524. IAMExtTransport * This,
  10525. /* [out] */ long *pEnabled,
  10526. /* [out] */ long *pOffset,
  10527. /* [out] */ HEVENT *phEvent);
  10528. HRESULT ( STDMETHODCALLTYPE *SetChase )(
  10529. IAMExtTransport * This,
  10530. /* [in] */ long Enable,
  10531. /* [in] */ long Offset,
  10532. /* [in] */ HEVENT hEvent);
  10533. HRESULT ( STDMETHODCALLTYPE *GetBump )(
  10534. IAMExtTransport * This,
  10535. /* [out] */ long *pSpeed,
  10536. /* [out] */ long *pDuration);
  10537. HRESULT ( STDMETHODCALLTYPE *SetBump )(
  10538. IAMExtTransport * This,
  10539. /* [in] */ long Speed,
  10540. /* [in] */ long Duration);
  10541. HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )(
  10542. IAMExtTransport * This,
  10543. /* [out] */ long *pEnabled);
  10544. HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )(
  10545. IAMExtTransport * This,
  10546. /* [in] */ long Enable);
  10547. HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )(
  10548. IAMExtTransport * This,
  10549. /* [in] */ long EditID,
  10550. /* [out] */ long *pState);
  10551. HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )(
  10552. IAMExtTransport * This,
  10553. /* [out][in] */ long *pEditID,
  10554. /* [in] */ long State);
  10555. HRESULT ( STDMETHODCALLTYPE *GetEditProperty )(
  10556. IAMExtTransport * This,
  10557. /* [in] */ long EditID,
  10558. /* [in] */ long Param,
  10559. /* [out] */ long *pValue);
  10560. HRESULT ( STDMETHODCALLTYPE *SetEditProperty )(
  10561. IAMExtTransport * This,
  10562. /* [in] */ long EditID,
  10563. /* [in] */ long Param,
  10564. /* [in] */ long Value);
  10565. HRESULT ( STDMETHODCALLTYPE *get_EditStart )(
  10566. IAMExtTransport * This,
  10567. /* [out] */ long *pValue);
  10568. HRESULT ( STDMETHODCALLTYPE *put_EditStart )(
  10569. IAMExtTransport * This,
  10570. /* [in] */ long Value);
  10571. END_INTERFACE
  10572. } IAMExtTransportVtbl;
  10573. interface IAMExtTransport
  10574. {
  10575. CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  10576. };
  10577. #ifdef COBJMACROS
  10578. #define IAMExtTransport_QueryInterface(This,riid,ppvObject) \
  10579. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10580. #define IAMExtTransport_AddRef(This) \
  10581. (This)->lpVtbl -> AddRef(This)
  10582. #define IAMExtTransport_Release(This) \
  10583. (This)->lpVtbl -> Release(This)
  10584. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) \
  10585. (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  10586. #define IAMExtTransport_put_MediaState(This,State) \
  10587. (This)->lpVtbl -> put_MediaState(This,State)
  10588. #define IAMExtTransport_get_MediaState(This,pState) \
  10589. (This)->lpVtbl -> get_MediaState(This,pState)
  10590. #define IAMExtTransport_put_LocalControl(This,State) \
  10591. (This)->lpVtbl -> put_LocalControl(This,State)
  10592. #define IAMExtTransport_get_LocalControl(This,pState) \
  10593. (This)->lpVtbl -> get_LocalControl(This,pState)
  10594. #define IAMExtTransport_GetStatus(This,StatusItem,pValue) \
  10595. (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  10596. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) \
  10597. (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  10598. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) \
  10599. (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  10600. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) \
  10601. (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  10602. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) \
  10603. (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  10604. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) \
  10605. (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  10606. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) \
  10607. (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  10608. #define IAMExtTransport_put_Mode(This,Mode) \
  10609. (This)->lpVtbl -> put_Mode(This,Mode)
  10610. #define IAMExtTransport_get_Mode(This,pMode) \
  10611. (This)->lpVtbl -> get_Mode(This,pMode)
  10612. #define IAMExtTransport_put_Rate(This,dblRate) \
  10613. (This)->lpVtbl -> put_Rate(This,dblRate)
  10614. #define IAMExtTransport_get_Rate(This,pdblRate) \
  10615. (This)->lpVtbl -> get_Rate(This,pdblRate)
  10616. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) \
  10617. (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  10618. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) \
  10619. (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  10620. #define IAMExtTransport_GetBump(This,pSpeed,pDuration) \
  10621. (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  10622. #define IAMExtTransport_SetBump(This,Speed,Duration) \
  10623. (This)->lpVtbl -> SetBump(This,Speed,Duration)
  10624. #define IAMExtTransport_get_AntiClogControl(This,pEnabled) \
  10625. (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  10626. #define IAMExtTransport_put_AntiClogControl(This,Enable) \
  10627. (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  10628. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) \
  10629. (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  10630. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) \
  10631. (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  10632. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) \
  10633. (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  10634. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) \
  10635. (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  10636. #define IAMExtTransport_get_EditStart(This,pValue) \
  10637. (This)->lpVtbl -> get_EditStart(This,pValue)
  10638. #define IAMExtTransport_put_EditStart(This,Value) \
  10639. (This)->lpVtbl -> put_EditStart(This,Value)
  10640. #endif /* COBJMACROS */
  10641. #endif /* C style interface */
  10642. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy(
  10643. IAMExtTransport * This,
  10644. /* [in] */ long Capability,
  10645. /* [out] */ long *pValue,
  10646. /* [out] */ double *pdblValue);
  10647. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  10648. IRpcStubBuffer *This,
  10649. IRpcChannelBuffer *_pRpcChannelBuffer,
  10650. PRPC_MESSAGE _pRpcMessage,
  10651. DWORD *_pdwStubPhase);
  10652. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy(
  10653. IAMExtTransport * This,
  10654. /* [in] */ long State);
  10655. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  10656. IRpcStubBuffer *This,
  10657. IRpcChannelBuffer *_pRpcChannelBuffer,
  10658. PRPC_MESSAGE _pRpcMessage,
  10659. DWORD *_pdwStubPhase);
  10660. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy(
  10661. IAMExtTransport * This,
  10662. /* [out] */ long *pState);
  10663. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  10664. IRpcStubBuffer *This,
  10665. IRpcChannelBuffer *_pRpcChannelBuffer,
  10666. PRPC_MESSAGE _pRpcMessage,
  10667. DWORD *_pdwStubPhase);
  10668. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy(
  10669. IAMExtTransport * This,
  10670. /* [in] */ long State);
  10671. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  10672. IRpcStubBuffer *This,
  10673. IRpcChannelBuffer *_pRpcChannelBuffer,
  10674. PRPC_MESSAGE _pRpcMessage,
  10675. DWORD *_pdwStubPhase);
  10676. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy(
  10677. IAMExtTransport * This,
  10678. /* [out] */ long *pState);
  10679. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  10680. IRpcStubBuffer *This,
  10681. IRpcChannelBuffer *_pRpcChannelBuffer,
  10682. PRPC_MESSAGE _pRpcMessage,
  10683. DWORD *_pdwStubPhase);
  10684. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy(
  10685. IAMExtTransport * This,
  10686. /* [in] */ long StatusItem,
  10687. /* [out] */ long *pValue);
  10688. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  10689. IRpcStubBuffer *This,
  10690. IRpcChannelBuffer *_pRpcChannelBuffer,
  10691. PRPC_MESSAGE _pRpcMessage,
  10692. DWORD *_pdwStubPhase);
  10693. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy(
  10694. IAMExtTransport * This,
  10695. /* [in] */ long Param,
  10696. /* [out] */ long *pValue,
  10697. /* [out] */ LPOLESTR *ppszData);
  10698. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  10699. IRpcStubBuffer *This,
  10700. IRpcChannelBuffer *_pRpcChannelBuffer,
  10701. PRPC_MESSAGE _pRpcMessage,
  10702. DWORD *_pdwStubPhase);
  10703. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy(
  10704. IAMExtTransport * This,
  10705. /* [in] */ long Param,
  10706. /* [in] */ long Value,
  10707. /* [in] */ LPCOLESTR pszData);
  10708. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  10709. IRpcStubBuffer *This,
  10710. IRpcChannelBuffer *_pRpcChannelBuffer,
  10711. PRPC_MESSAGE _pRpcMessage,
  10712. DWORD *_pdwStubPhase);
  10713. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy(
  10714. IAMExtTransport * This,
  10715. /* [in] */ long Param,
  10716. /* [out] */ long *pValue);
  10717. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  10718. IRpcStubBuffer *This,
  10719. IRpcChannelBuffer *_pRpcChannelBuffer,
  10720. PRPC_MESSAGE _pRpcMessage,
  10721. DWORD *_pdwStubPhase);
  10722. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy(
  10723. IAMExtTransport * This,
  10724. /* [in] */ long Param,
  10725. /* [in] */ long Value);
  10726. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  10727. IRpcStubBuffer *This,
  10728. IRpcChannelBuffer *_pRpcChannelBuffer,
  10729. PRPC_MESSAGE _pRpcMessage,
  10730. DWORD *_pdwStubPhase);
  10731. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy(
  10732. IAMExtTransport * This,
  10733. /* [in] */ long Param,
  10734. /* [out] */ long *pValue);
  10735. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  10736. IRpcStubBuffer *This,
  10737. IRpcChannelBuffer *_pRpcChannelBuffer,
  10738. PRPC_MESSAGE _pRpcMessage,
  10739. DWORD *_pdwStubPhase);
  10740. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy(
  10741. IAMExtTransport * This,
  10742. /* [in] */ long Param,
  10743. /* [in] */ long Value);
  10744. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  10745. IRpcStubBuffer *This,
  10746. IRpcChannelBuffer *_pRpcChannelBuffer,
  10747. PRPC_MESSAGE _pRpcMessage,
  10748. DWORD *_pdwStubPhase);
  10749. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy(
  10750. IAMExtTransport * This,
  10751. /* [in] */ long Mode);
  10752. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  10753. IRpcStubBuffer *This,
  10754. IRpcChannelBuffer *_pRpcChannelBuffer,
  10755. PRPC_MESSAGE _pRpcMessage,
  10756. DWORD *_pdwStubPhase);
  10757. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy(
  10758. IAMExtTransport * This,
  10759. /* [out] */ long *pMode);
  10760. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  10761. IRpcStubBuffer *This,
  10762. IRpcChannelBuffer *_pRpcChannelBuffer,
  10763. PRPC_MESSAGE _pRpcMessage,
  10764. DWORD *_pdwStubPhase);
  10765. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy(
  10766. IAMExtTransport * This,
  10767. /* [in] */ double dblRate);
  10768. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  10769. IRpcStubBuffer *This,
  10770. IRpcChannelBuffer *_pRpcChannelBuffer,
  10771. PRPC_MESSAGE _pRpcMessage,
  10772. DWORD *_pdwStubPhase);
  10773. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy(
  10774. IAMExtTransport * This,
  10775. /* [out] */ double *pdblRate);
  10776. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  10777. IRpcStubBuffer *This,
  10778. IRpcChannelBuffer *_pRpcChannelBuffer,
  10779. PRPC_MESSAGE _pRpcMessage,
  10780. DWORD *_pdwStubPhase);
  10781. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy(
  10782. IAMExtTransport * This,
  10783. /* [out] */ long *pEnabled,
  10784. /* [out] */ long *pOffset,
  10785. /* [out] */ HEVENT *phEvent);
  10786. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  10787. IRpcStubBuffer *This,
  10788. IRpcChannelBuffer *_pRpcChannelBuffer,
  10789. PRPC_MESSAGE _pRpcMessage,
  10790. DWORD *_pdwStubPhase);
  10791. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy(
  10792. IAMExtTransport * This,
  10793. /* [in] */ long Enable,
  10794. /* [in] */ long Offset,
  10795. /* [in] */ HEVENT hEvent);
  10796. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  10797. IRpcStubBuffer *This,
  10798. IRpcChannelBuffer *_pRpcChannelBuffer,
  10799. PRPC_MESSAGE _pRpcMessage,
  10800. DWORD *_pdwStubPhase);
  10801. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy(
  10802. IAMExtTransport * This,
  10803. /* [out] */ long *pSpeed,
  10804. /* [out] */ long *pDuration);
  10805. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  10806. IRpcStubBuffer *This,
  10807. IRpcChannelBuffer *_pRpcChannelBuffer,
  10808. PRPC_MESSAGE _pRpcMessage,
  10809. DWORD *_pdwStubPhase);
  10810. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy(
  10811. IAMExtTransport * This,
  10812. /* [in] */ long Speed,
  10813. /* [in] */ long Duration);
  10814. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  10815. IRpcStubBuffer *This,
  10816. IRpcChannelBuffer *_pRpcChannelBuffer,
  10817. PRPC_MESSAGE _pRpcMessage,
  10818. DWORD *_pdwStubPhase);
  10819. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy(
  10820. IAMExtTransport * This,
  10821. /* [out] */ long *pEnabled);
  10822. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  10823. IRpcStubBuffer *This,
  10824. IRpcChannelBuffer *_pRpcChannelBuffer,
  10825. PRPC_MESSAGE _pRpcMessage,
  10826. DWORD *_pdwStubPhase);
  10827. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy(
  10828. IAMExtTransport * This,
  10829. /* [in] */ long Enable);
  10830. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  10831. IRpcStubBuffer *This,
  10832. IRpcChannelBuffer *_pRpcChannelBuffer,
  10833. PRPC_MESSAGE _pRpcMessage,
  10834. DWORD *_pdwStubPhase);
  10835. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy(
  10836. IAMExtTransport * This,
  10837. /* [in] */ long EditID,
  10838. /* [out] */ long *pState);
  10839. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  10840. IRpcStubBuffer *This,
  10841. IRpcChannelBuffer *_pRpcChannelBuffer,
  10842. PRPC_MESSAGE _pRpcMessage,
  10843. DWORD *_pdwStubPhase);
  10844. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy(
  10845. IAMExtTransport * This,
  10846. /* [out][in] */ long *pEditID,
  10847. /* [in] */ long State);
  10848. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  10849. IRpcStubBuffer *This,
  10850. IRpcChannelBuffer *_pRpcChannelBuffer,
  10851. PRPC_MESSAGE _pRpcMessage,
  10852. DWORD *_pdwStubPhase);
  10853. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy(
  10854. IAMExtTransport * This,
  10855. /* [in] */ long EditID,
  10856. /* [in] */ long Param,
  10857. /* [out] */ long *pValue);
  10858. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  10859. IRpcStubBuffer *This,
  10860. IRpcChannelBuffer *_pRpcChannelBuffer,
  10861. PRPC_MESSAGE _pRpcMessage,
  10862. DWORD *_pdwStubPhase);
  10863. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy(
  10864. IAMExtTransport * This,
  10865. /* [in] */ long EditID,
  10866. /* [in] */ long Param,
  10867. /* [in] */ long Value);
  10868. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  10869. IRpcStubBuffer *This,
  10870. IRpcChannelBuffer *_pRpcChannelBuffer,
  10871. PRPC_MESSAGE _pRpcMessage,
  10872. DWORD *_pdwStubPhase);
  10873. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy(
  10874. IAMExtTransport * This,
  10875. /* [out] */ long *pValue);
  10876. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  10877. IRpcStubBuffer *This,
  10878. IRpcChannelBuffer *_pRpcChannelBuffer,
  10879. PRPC_MESSAGE _pRpcMessage,
  10880. DWORD *_pdwStubPhase);
  10881. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy(
  10882. IAMExtTransport * This,
  10883. /* [in] */ long Value);
  10884. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  10885. IRpcStubBuffer *This,
  10886. IRpcChannelBuffer *_pRpcChannelBuffer,
  10887. PRPC_MESSAGE _pRpcMessage,
  10888. DWORD *_pdwStubPhase);
  10889. #endif /* __IAMExtTransport_INTERFACE_DEFINED__ */
  10890. /* interface __MIDL_itf_strmif_0336 */
  10891. /* [local] */
  10892. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  10893. #if 0
  10894. /* the following is what MIDL knows how to remote */
  10895. typedef struct tagTIMECODE
  10896. {
  10897. WORD wFrameRate;
  10898. WORD wFrameFract;
  10899. DWORD dwFrames;
  10900. } TIMECODE;
  10901. #else /* 0 */
  10902. #ifndef TIMECODE_DEFINED
  10903. #define TIMECODE_DEFINED
  10904. typedef union _timecode {
  10905. struct {
  10906. WORD wFrameRate;
  10907. WORD wFrameFract;
  10908. DWORD dwFrames;
  10909. };
  10910. DWORDLONG qw;
  10911. } TIMECODE;
  10912. #endif /* TIMECODE_DEFINED */
  10913. #endif /* 0 */
  10914. typedef TIMECODE *PTIMECODE;
  10915. typedef struct tagTIMECODE_SAMPLE
  10916. {
  10917. LONGLONG qwTick;
  10918. TIMECODE timecode;
  10919. DWORD dwUser;
  10920. DWORD dwFlags;
  10921. } TIMECODE_SAMPLE;
  10922. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  10923. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  10924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  10925. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  10926. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  10927. /* interface IAMTimecodeReader */
  10928. /* [unique][uuid][object] */
  10929. EXTERN_C const IID IID_IAMTimecodeReader;
  10930. #if defined(__cplusplus) && !defined(CINTERFACE)
  10931. MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  10932. IAMTimecodeReader : public IUnknown
  10933. {
  10934. public:
  10935. virtual HRESULT STDMETHODCALLTYPE GetTCRMode(
  10936. /* [in] */ long Param,
  10937. /* [out] */ long *pValue) = 0;
  10938. virtual HRESULT STDMETHODCALLTYPE SetTCRMode(
  10939. /* [in] */ long Param,
  10940. /* [in] */ long Value) = 0;
  10941. virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
  10942. /* [in] */ long Line) = 0;
  10943. virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
  10944. /* [out] */ long *pLine) = 0;
  10945. virtual HRESULT STDMETHODCALLTYPE GetTimecode(
  10946. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  10947. };
  10948. #else /* C style interface */
  10949. typedef struct IAMTimecodeReaderVtbl
  10950. {
  10951. BEGIN_INTERFACE
  10952. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10953. IAMTimecodeReader * This,
  10954. /* [in] */ REFIID riid,
  10955. /* [iid_is][out] */ void **ppvObject);
  10956. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10957. IAMTimecodeReader * This);
  10958. ULONG ( STDMETHODCALLTYPE *Release )(
  10959. IAMTimecodeReader * This);
  10960. HRESULT ( STDMETHODCALLTYPE *GetTCRMode )(
  10961. IAMTimecodeReader * This,
  10962. /* [in] */ long Param,
  10963. /* [out] */ long *pValue);
  10964. HRESULT ( STDMETHODCALLTYPE *SetTCRMode )(
  10965. IAMTimecodeReader * This,
  10966. /* [in] */ long Param,
  10967. /* [in] */ long Value);
  10968. HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
  10969. IAMTimecodeReader * This,
  10970. /* [in] */ long Line);
  10971. HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
  10972. IAMTimecodeReader * This,
  10973. /* [out] */ long *pLine);
  10974. HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
  10975. IAMTimecodeReader * This,
  10976. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  10977. END_INTERFACE
  10978. } IAMTimecodeReaderVtbl;
  10979. interface IAMTimecodeReader
  10980. {
  10981. CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  10982. };
  10983. #ifdef COBJMACROS
  10984. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) \
  10985. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10986. #define IAMTimecodeReader_AddRef(This) \
  10987. (This)->lpVtbl -> AddRef(This)
  10988. #define IAMTimecodeReader_Release(This) \
  10989. (This)->lpVtbl -> Release(This)
  10990. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) \
  10991. (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  10992. #define IAMTimecodeReader_SetTCRMode(This,Param,Value) \
  10993. (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  10994. #define IAMTimecodeReader_put_VITCLine(This,Line) \
  10995. (This)->lpVtbl -> put_VITCLine(This,Line)
  10996. #define IAMTimecodeReader_get_VITCLine(This,pLine) \
  10997. (This)->lpVtbl -> get_VITCLine(This,pLine)
  10998. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) \
  10999. (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  11000. #endif /* COBJMACROS */
  11001. #endif /* C style interface */
  11002. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy(
  11003. IAMTimecodeReader * This,
  11004. /* [in] */ long Param,
  11005. /* [out] */ long *pValue);
  11006. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  11007. IRpcStubBuffer *This,
  11008. IRpcChannelBuffer *_pRpcChannelBuffer,
  11009. PRPC_MESSAGE _pRpcMessage,
  11010. DWORD *_pdwStubPhase);
  11011. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy(
  11012. IAMTimecodeReader * This,
  11013. /* [in] */ long Param,
  11014. /* [in] */ long Value);
  11015. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  11016. IRpcStubBuffer *This,
  11017. IRpcChannelBuffer *_pRpcChannelBuffer,
  11018. PRPC_MESSAGE _pRpcMessage,
  11019. DWORD *_pdwStubPhase);
  11020. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy(
  11021. IAMTimecodeReader * This,
  11022. /* [in] */ long Line);
  11023. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  11024. IRpcStubBuffer *This,
  11025. IRpcChannelBuffer *_pRpcChannelBuffer,
  11026. PRPC_MESSAGE _pRpcMessage,
  11027. DWORD *_pdwStubPhase);
  11028. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy(
  11029. IAMTimecodeReader * This,
  11030. /* [out] */ long *pLine);
  11031. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  11032. IRpcStubBuffer *This,
  11033. IRpcChannelBuffer *_pRpcChannelBuffer,
  11034. PRPC_MESSAGE _pRpcMessage,
  11035. DWORD *_pdwStubPhase);
  11036. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy(
  11037. IAMTimecodeReader * This,
  11038. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11039. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  11040. IRpcStubBuffer *This,
  11041. IRpcChannelBuffer *_pRpcChannelBuffer,
  11042. PRPC_MESSAGE _pRpcMessage,
  11043. DWORD *_pdwStubPhase);
  11044. #endif /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  11045. /* interface __MIDL_itf_strmif_0337 */
  11046. /* [local] */
  11047. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  11048. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  11049. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  11050. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  11051. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  11052. /* interface IAMTimecodeGenerator */
  11053. /* [unique][uuid][object] */
  11054. EXTERN_C const IID IID_IAMTimecodeGenerator;
  11055. #if defined(__cplusplus) && !defined(CINTERFACE)
  11056. MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  11057. IAMTimecodeGenerator : public IUnknown
  11058. {
  11059. public:
  11060. virtual HRESULT STDMETHODCALLTYPE GetTCGMode(
  11061. /* [in] */ long Param,
  11062. /* [out] */ long *pValue) = 0;
  11063. virtual HRESULT STDMETHODCALLTYPE SetTCGMode(
  11064. /* [in] */ long Param,
  11065. /* [in] */ long Value) = 0;
  11066. virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
  11067. /* [in] */ long Line) = 0;
  11068. virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
  11069. /* [out] */ long *pLine) = 0;
  11070. virtual HRESULT STDMETHODCALLTYPE SetTimecode(
  11071. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  11072. virtual HRESULT STDMETHODCALLTYPE GetTimecode(
  11073. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  11074. };
  11075. #else /* C style interface */
  11076. typedef struct IAMTimecodeGeneratorVtbl
  11077. {
  11078. BEGIN_INTERFACE
  11079. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11080. IAMTimecodeGenerator * This,
  11081. /* [in] */ REFIID riid,
  11082. /* [iid_is][out] */ void **ppvObject);
  11083. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11084. IAMTimecodeGenerator * This);
  11085. ULONG ( STDMETHODCALLTYPE *Release )(
  11086. IAMTimecodeGenerator * This);
  11087. HRESULT ( STDMETHODCALLTYPE *GetTCGMode )(
  11088. IAMTimecodeGenerator * This,
  11089. /* [in] */ long Param,
  11090. /* [out] */ long *pValue);
  11091. HRESULT ( STDMETHODCALLTYPE *SetTCGMode )(
  11092. IAMTimecodeGenerator * This,
  11093. /* [in] */ long Param,
  11094. /* [in] */ long Value);
  11095. HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
  11096. IAMTimecodeGenerator * This,
  11097. /* [in] */ long Line);
  11098. HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
  11099. IAMTimecodeGenerator * This,
  11100. /* [out] */ long *pLine);
  11101. HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
  11102. IAMTimecodeGenerator * This,
  11103. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  11104. HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
  11105. IAMTimecodeGenerator * This,
  11106. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11107. END_INTERFACE
  11108. } IAMTimecodeGeneratorVtbl;
  11109. interface IAMTimecodeGenerator
  11110. {
  11111. CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  11112. };
  11113. #ifdef COBJMACROS
  11114. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) \
  11115. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11116. #define IAMTimecodeGenerator_AddRef(This) \
  11117. (This)->lpVtbl -> AddRef(This)
  11118. #define IAMTimecodeGenerator_Release(This) \
  11119. (This)->lpVtbl -> Release(This)
  11120. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) \
  11121. (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  11122. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) \
  11123. (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  11124. #define IAMTimecodeGenerator_put_VITCLine(This,Line) \
  11125. (This)->lpVtbl -> put_VITCLine(This,Line)
  11126. #define IAMTimecodeGenerator_get_VITCLine(This,pLine) \
  11127. (This)->lpVtbl -> get_VITCLine(This,pLine)
  11128. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) \
  11129. (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  11130. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) \
  11131. (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  11132. #endif /* COBJMACROS */
  11133. #endif /* C style interface */
  11134. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy(
  11135. IAMTimecodeGenerator * This,
  11136. /* [in] */ long Param,
  11137. /* [out] */ long *pValue);
  11138. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  11139. IRpcStubBuffer *This,
  11140. IRpcChannelBuffer *_pRpcChannelBuffer,
  11141. PRPC_MESSAGE _pRpcMessage,
  11142. DWORD *_pdwStubPhase);
  11143. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy(
  11144. IAMTimecodeGenerator * This,
  11145. /* [in] */ long Param,
  11146. /* [in] */ long Value);
  11147. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  11148. IRpcStubBuffer *This,
  11149. IRpcChannelBuffer *_pRpcChannelBuffer,
  11150. PRPC_MESSAGE _pRpcMessage,
  11151. DWORD *_pdwStubPhase);
  11152. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy(
  11153. IAMTimecodeGenerator * This,
  11154. /* [in] */ long Line);
  11155. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  11156. IRpcStubBuffer *This,
  11157. IRpcChannelBuffer *_pRpcChannelBuffer,
  11158. PRPC_MESSAGE _pRpcMessage,
  11159. DWORD *_pdwStubPhase);
  11160. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy(
  11161. IAMTimecodeGenerator * This,
  11162. /* [out] */ long *pLine);
  11163. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  11164. IRpcStubBuffer *This,
  11165. IRpcChannelBuffer *_pRpcChannelBuffer,
  11166. PRPC_MESSAGE _pRpcMessage,
  11167. DWORD *_pdwStubPhase);
  11168. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy(
  11169. IAMTimecodeGenerator * This,
  11170. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  11171. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  11172. IRpcStubBuffer *This,
  11173. IRpcChannelBuffer *_pRpcChannelBuffer,
  11174. PRPC_MESSAGE _pRpcMessage,
  11175. DWORD *_pdwStubPhase);
  11176. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy(
  11177. IAMTimecodeGenerator * This,
  11178. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11179. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  11180. IRpcStubBuffer *This,
  11181. IRpcChannelBuffer *_pRpcChannelBuffer,
  11182. PRPC_MESSAGE _pRpcMessage,
  11183. DWORD *_pdwStubPhase);
  11184. #endif /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  11185. /* interface __MIDL_itf_strmif_0338 */
  11186. /* [local] */
  11187. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  11188. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
  11189. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
  11190. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  11191. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  11192. /* interface IAMTimecodeDisplay */
  11193. /* [unique][uuid][object] */
  11194. EXTERN_C const IID IID_IAMTimecodeDisplay;
  11195. #if defined(__cplusplus) && !defined(CINTERFACE)
  11196. MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  11197. IAMTimecodeDisplay : public IUnknown
  11198. {
  11199. public:
  11200. virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable(
  11201. /* [out] */ long *pState) = 0;
  11202. virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable(
  11203. /* [in] */ long State) = 0;
  11204. virtual HRESULT STDMETHODCALLTYPE GetTCDisplay(
  11205. /* [in] */ long Param,
  11206. /* [out] */ long *pValue) = 0;
  11207. virtual HRESULT STDMETHODCALLTYPE SetTCDisplay(
  11208. /* [in] */ long Param,
  11209. /* [in] */ long Value) = 0;
  11210. };
  11211. #else /* C style interface */
  11212. typedef struct IAMTimecodeDisplayVtbl
  11213. {
  11214. BEGIN_INTERFACE
  11215. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11216. IAMTimecodeDisplay * This,
  11217. /* [in] */ REFIID riid,
  11218. /* [iid_is][out] */ void **ppvObject);
  11219. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11220. IAMTimecodeDisplay * This);
  11221. ULONG ( STDMETHODCALLTYPE *Release )(
  11222. IAMTimecodeDisplay * This);
  11223. HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )(
  11224. IAMTimecodeDisplay * This,
  11225. /* [out] */ long *pState);
  11226. HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )(
  11227. IAMTimecodeDisplay * This,
  11228. /* [in] */ long State);
  11229. HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )(
  11230. IAMTimecodeDisplay * This,
  11231. /* [in] */ long Param,
  11232. /* [out] */ long *pValue);
  11233. HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )(
  11234. IAMTimecodeDisplay * This,
  11235. /* [in] */ long Param,
  11236. /* [in] */ long Value);
  11237. END_INTERFACE
  11238. } IAMTimecodeDisplayVtbl;
  11239. interface IAMTimecodeDisplay
  11240. {
  11241. CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  11242. };
  11243. #ifdef COBJMACROS
  11244. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) \
  11245. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11246. #define IAMTimecodeDisplay_AddRef(This) \
  11247. (This)->lpVtbl -> AddRef(This)
  11248. #define IAMTimecodeDisplay_Release(This) \
  11249. (This)->lpVtbl -> Release(This)
  11250. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) \
  11251. (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  11252. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) \
  11253. (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  11254. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) \
  11255. (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  11256. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) \
  11257. (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  11258. #endif /* COBJMACROS */
  11259. #endif /* C style interface */
  11260. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(
  11261. IAMTimecodeDisplay * This,
  11262. /* [out] */ long *pState);
  11263. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  11264. IRpcStubBuffer *This,
  11265. IRpcChannelBuffer *_pRpcChannelBuffer,
  11266. PRPC_MESSAGE _pRpcMessage,
  11267. DWORD *_pdwStubPhase);
  11268. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(
  11269. IAMTimecodeDisplay * This,
  11270. /* [in] */ long State);
  11271. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  11272. IRpcStubBuffer *This,
  11273. IRpcChannelBuffer *_pRpcChannelBuffer,
  11274. PRPC_MESSAGE _pRpcMessage,
  11275. DWORD *_pdwStubPhase);
  11276. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy(
  11277. IAMTimecodeDisplay * This,
  11278. /* [in] */ long Param,
  11279. /* [out] */ long *pValue);
  11280. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  11281. IRpcStubBuffer *This,
  11282. IRpcChannelBuffer *_pRpcChannelBuffer,
  11283. PRPC_MESSAGE _pRpcMessage,
  11284. DWORD *_pdwStubPhase);
  11285. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy(
  11286. IAMTimecodeDisplay * This,
  11287. /* [in] */ long Param,
  11288. /* [in] */ long Value);
  11289. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  11290. IRpcStubBuffer *This,
  11291. IRpcChannelBuffer *_pRpcChannelBuffer,
  11292. PRPC_MESSAGE _pRpcMessage,
  11293. DWORD *_pdwStubPhase);
  11294. #endif /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  11295. /* interface __MIDL_itf_strmif_0339 */
  11296. /* [local] */
  11297. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  11298. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
  11299. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
  11300. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  11301. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  11302. /* interface IAMDevMemoryAllocator */
  11303. /* [unique][uuid][object] */
  11304. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  11305. #if defined(__cplusplus) && !defined(CINTERFACE)
  11306. MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  11307. IAMDevMemoryAllocator : public IUnknown
  11308. {
  11309. public:
  11310. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  11311. /* [out] */ DWORD *pdwcbTotalFree,
  11312. /* [out] */ DWORD *pdwcbLargestFree,
  11313. /* [out] */ DWORD *pdwcbTotalMemory,
  11314. /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  11315. virtual HRESULT STDMETHODCALLTYPE CheckMemory(
  11316. /* [in] */ const BYTE *pBuffer) = 0;
  11317. virtual HRESULT STDMETHODCALLTYPE Alloc(
  11318. /* [out] */ BYTE **ppBuffer,
  11319. /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  11320. virtual HRESULT STDMETHODCALLTYPE Free(
  11321. /* [in] */ BYTE *pBuffer) = 0;
  11322. virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject(
  11323. /* [out] */ IUnknown **ppUnkInnner,
  11324. /* [in] */ IUnknown *pUnkOuter) = 0;
  11325. };
  11326. #else /* C style interface */
  11327. typedef struct IAMDevMemoryAllocatorVtbl
  11328. {
  11329. BEGIN_INTERFACE
  11330. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11331. IAMDevMemoryAllocator * This,
  11332. /* [in] */ REFIID riid,
  11333. /* [iid_is][out] */ void **ppvObject);
  11334. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11335. IAMDevMemoryAllocator * This);
  11336. ULONG ( STDMETHODCALLTYPE *Release )(
  11337. IAMDevMemoryAllocator * This);
  11338. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  11339. IAMDevMemoryAllocator * This,
  11340. /* [out] */ DWORD *pdwcbTotalFree,
  11341. /* [out] */ DWORD *pdwcbLargestFree,
  11342. /* [out] */ DWORD *pdwcbTotalMemory,
  11343. /* [out] */ DWORD *pdwcbMinimumChunk);
  11344. HRESULT ( STDMETHODCALLTYPE *CheckMemory )(
  11345. IAMDevMemoryAllocator * This,
  11346. /* [in] */ const BYTE *pBuffer);
  11347. HRESULT ( STDMETHODCALLTYPE *Alloc )(
  11348. IAMDevMemoryAllocator * This,
  11349. /* [out] */ BYTE **ppBuffer,
  11350. /* [out][in] */ DWORD *pdwcbBuffer);
  11351. HRESULT ( STDMETHODCALLTYPE *Free )(
  11352. IAMDevMemoryAllocator * This,
  11353. /* [in] */ BYTE *pBuffer);
  11354. HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )(
  11355. IAMDevMemoryAllocator * This,
  11356. /* [out] */ IUnknown **ppUnkInnner,
  11357. /* [in] */ IUnknown *pUnkOuter);
  11358. END_INTERFACE
  11359. } IAMDevMemoryAllocatorVtbl;
  11360. interface IAMDevMemoryAllocator
  11361. {
  11362. CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  11363. };
  11364. #ifdef COBJMACROS
  11365. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) \
  11366. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11367. #define IAMDevMemoryAllocator_AddRef(This) \
  11368. (This)->lpVtbl -> AddRef(This)
  11369. #define IAMDevMemoryAllocator_Release(This) \
  11370. (This)->lpVtbl -> Release(This)
  11371. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) \
  11372. (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  11373. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) \
  11374. (This)->lpVtbl -> CheckMemory(This,pBuffer)
  11375. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) \
  11376. (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  11377. #define IAMDevMemoryAllocator_Free(This,pBuffer) \
  11378. (This)->lpVtbl -> Free(This,pBuffer)
  11379. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) \
  11380. (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  11381. #endif /* COBJMACROS */
  11382. #endif /* C style interface */
  11383. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy(
  11384. IAMDevMemoryAllocator * This,
  11385. /* [out] */ DWORD *pdwcbTotalFree,
  11386. /* [out] */ DWORD *pdwcbLargestFree,
  11387. /* [out] */ DWORD *pdwcbTotalMemory,
  11388. /* [out] */ DWORD *pdwcbMinimumChunk);
  11389. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  11390. IRpcStubBuffer *This,
  11391. IRpcChannelBuffer *_pRpcChannelBuffer,
  11392. PRPC_MESSAGE _pRpcMessage,
  11393. DWORD *_pdwStubPhase);
  11394. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy(
  11395. IAMDevMemoryAllocator * This,
  11396. /* [in] */ const BYTE *pBuffer);
  11397. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  11398. IRpcStubBuffer *This,
  11399. IRpcChannelBuffer *_pRpcChannelBuffer,
  11400. PRPC_MESSAGE _pRpcMessage,
  11401. DWORD *_pdwStubPhase);
  11402. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy(
  11403. IAMDevMemoryAllocator * This,
  11404. /* [out] */ BYTE **ppBuffer,
  11405. /* [out][in] */ DWORD *pdwcbBuffer);
  11406. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  11407. IRpcStubBuffer *This,
  11408. IRpcChannelBuffer *_pRpcChannelBuffer,
  11409. PRPC_MESSAGE _pRpcMessage,
  11410. DWORD *_pdwStubPhase);
  11411. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy(
  11412. IAMDevMemoryAllocator * This,
  11413. /* [in] */ BYTE *pBuffer);
  11414. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  11415. IRpcStubBuffer *This,
  11416. IRpcChannelBuffer *_pRpcChannelBuffer,
  11417. PRPC_MESSAGE _pRpcMessage,
  11418. DWORD *_pdwStubPhase);
  11419. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(
  11420. IAMDevMemoryAllocator * This,
  11421. /* [out] */ IUnknown **ppUnkInnner,
  11422. /* [in] */ IUnknown *pUnkOuter);
  11423. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  11424. IRpcStubBuffer *This,
  11425. IRpcChannelBuffer *_pRpcChannelBuffer,
  11426. PRPC_MESSAGE _pRpcMessage,
  11427. DWORD *_pdwStubPhase);
  11428. #endif /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  11429. /* interface __MIDL_itf_strmif_0340 */
  11430. /* [local] */
  11431. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  11432. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
  11433. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
  11434. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  11435. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  11436. /* interface IAMDevMemoryControl */
  11437. /* [unique][uuid][object] */
  11438. EXTERN_C const IID IID_IAMDevMemoryControl;
  11439. #if defined(__cplusplus) && !defined(CINTERFACE)
  11440. MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  11441. IAMDevMemoryControl : public IUnknown
  11442. {
  11443. public:
  11444. virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  11445. virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  11446. virtual HRESULT STDMETHODCALLTYPE GetDevId(
  11447. /* [out] */ DWORD *pdwDevId) = 0;
  11448. };
  11449. #else /* C style interface */
  11450. typedef struct IAMDevMemoryControlVtbl
  11451. {
  11452. BEGIN_INTERFACE
  11453. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11454. IAMDevMemoryControl * This,
  11455. /* [in] */ REFIID riid,
  11456. /* [iid_is][out] */ void **ppvObject);
  11457. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11458. IAMDevMemoryControl * This);
  11459. ULONG ( STDMETHODCALLTYPE *Release )(
  11460. IAMDevMemoryControl * This);
  11461. HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )(
  11462. IAMDevMemoryControl * This);
  11463. HRESULT ( STDMETHODCALLTYPE *WriteSync )(
  11464. IAMDevMemoryControl * This);
  11465. HRESULT ( STDMETHODCALLTYPE *GetDevId )(
  11466. IAMDevMemoryControl * This,
  11467. /* [out] */ DWORD *pdwDevId);
  11468. END_INTERFACE
  11469. } IAMDevMemoryControlVtbl;
  11470. interface IAMDevMemoryControl
  11471. {
  11472. CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  11473. };
  11474. #ifdef COBJMACROS
  11475. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) \
  11476. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11477. #define IAMDevMemoryControl_AddRef(This) \
  11478. (This)->lpVtbl -> AddRef(This)
  11479. #define IAMDevMemoryControl_Release(This) \
  11480. (This)->lpVtbl -> Release(This)
  11481. #define IAMDevMemoryControl_QueryWriteSync(This) \
  11482. (This)->lpVtbl -> QueryWriteSync(This)
  11483. #define IAMDevMemoryControl_WriteSync(This) \
  11484. (This)->lpVtbl -> WriteSync(This)
  11485. #define IAMDevMemoryControl_GetDevId(This,pdwDevId) \
  11486. (This)->lpVtbl -> GetDevId(This,pdwDevId)
  11487. #endif /* COBJMACROS */
  11488. #endif /* C style interface */
  11489. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy(
  11490. IAMDevMemoryControl * This);
  11491. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  11492. IRpcStubBuffer *This,
  11493. IRpcChannelBuffer *_pRpcChannelBuffer,
  11494. PRPC_MESSAGE _pRpcMessage,
  11495. DWORD *_pdwStubPhase);
  11496. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy(
  11497. IAMDevMemoryControl * This);
  11498. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  11499. IRpcStubBuffer *This,
  11500. IRpcChannelBuffer *_pRpcChannelBuffer,
  11501. PRPC_MESSAGE _pRpcMessage,
  11502. DWORD *_pdwStubPhase);
  11503. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy(
  11504. IAMDevMemoryControl * This,
  11505. /* [out] */ DWORD *pdwDevId);
  11506. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  11507. IRpcStubBuffer *This,
  11508. IRpcChannelBuffer *_pRpcChannelBuffer,
  11509. PRPC_MESSAGE _pRpcMessage,
  11510. DWORD *_pdwStubPhase);
  11511. #endif /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  11512. /* interface __MIDL_itf_strmif_0341 */
  11513. /* [local] */
  11514. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  11515. enum _AMSTREAMSELECTINFOFLAGS
  11516. { AMSTREAMSELECTINFO_ENABLED = 0x1,
  11517. AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
  11518. } ;
  11519. enum _AMSTREAMSELECTENABLEFLAGS
  11520. { AMSTREAMSELECTENABLE_ENABLE = 0x1,
  11521. AMSTREAMSELECTENABLE_ENABLEALL = 0x2
  11522. } ;
  11523. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
  11524. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
  11525. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  11526. #define __IAMStreamSelect_INTERFACE_DEFINED__
  11527. /* interface IAMStreamSelect */
  11528. /* [unique][uuid][object] */
  11529. EXTERN_C const IID IID_IAMStreamSelect;
  11530. #if defined(__cplusplus) && !defined(CINTERFACE)
  11531. MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  11532. IAMStreamSelect : public IUnknown
  11533. {
  11534. public:
  11535. virtual HRESULT STDMETHODCALLTYPE Count(
  11536. /* [out] */ DWORD *pcStreams) = 0;
  11537. virtual HRESULT STDMETHODCALLTYPE Info(
  11538. /* [in] */ long lIndex,
  11539. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11540. /* [out] */ DWORD *pdwFlags,
  11541. /* [out] */ LCID *plcid,
  11542. /* [out] */ DWORD *pdwGroup,
  11543. /* [out] */ WCHAR **ppszName,
  11544. /* [out] */ IUnknown **ppObject,
  11545. /* [out] */ IUnknown **ppUnk) = 0;
  11546. virtual HRESULT STDMETHODCALLTYPE Enable(
  11547. /* [in] */ long lIndex,
  11548. /* [in] */ DWORD dwFlags) = 0;
  11549. };
  11550. #else /* C style interface */
  11551. typedef struct IAMStreamSelectVtbl
  11552. {
  11553. BEGIN_INTERFACE
  11554. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11555. IAMStreamSelect * This,
  11556. /* [in] */ REFIID riid,
  11557. /* [iid_is][out] */ void **ppvObject);
  11558. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11559. IAMStreamSelect * This);
  11560. ULONG ( STDMETHODCALLTYPE *Release )(
  11561. IAMStreamSelect * This);
  11562. HRESULT ( STDMETHODCALLTYPE *Count )(
  11563. IAMStreamSelect * This,
  11564. /* [out] */ DWORD *pcStreams);
  11565. HRESULT ( STDMETHODCALLTYPE *Info )(
  11566. IAMStreamSelect * This,
  11567. /* [in] */ long lIndex,
  11568. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11569. /* [out] */ DWORD *pdwFlags,
  11570. /* [out] */ LCID *plcid,
  11571. /* [out] */ DWORD *pdwGroup,
  11572. /* [out] */ WCHAR **ppszName,
  11573. /* [out] */ IUnknown **ppObject,
  11574. /* [out] */ IUnknown **ppUnk);
  11575. HRESULT ( STDMETHODCALLTYPE *Enable )(
  11576. IAMStreamSelect * This,
  11577. /* [in] */ long lIndex,
  11578. /* [in] */ DWORD dwFlags);
  11579. END_INTERFACE
  11580. } IAMStreamSelectVtbl;
  11581. interface IAMStreamSelect
  11582. {
  11583. CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  11584. };
  11585. #ifdef COBJMACROS
  11586. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) \
  11587. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11588. #define IAMStreamSelect_AddRef(This) \
  11589. (This)->lpVtbl -> AddRef(This)
  11590. #define IAMStreamSelect_Release(This) \
  11591. (This)->lpVtbl -> Release(This)
  11592. #define IAMStreamSelect_Count(This,pcStreams) \
  11593. (This)->lpVtbl -> Count(This,pcStreams)
  11594. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) \
  11595. (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  11596. #define IAMStreamSelect_Enable(This,lIndex,dwFlags) \
  11597. (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  11598. #endif /* COBJMACROS */
  11599. #endif /* C style interface */
  11600. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy(
  11601. IAMStreamSelect * This,
  11602. /* [out] */ DWORD *pcStreams);
  11603. void __RPC_STUB IAMStreamSelect_Count_Stub(
  11604. IRpcStubBuffer *This,
  11605. IRpcChannelBuffer *_pRpcChannelBuffer,
  11606. PRPC_MESSAGE _pRpcMessage,
  11607. DWORD *_pdwStubPhase);
  11608. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy(
  11609. IAMStreamSelect * This,
  11610. /* [in] */ long lIndex,
  11611. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11612. /* [out] */ DWORD *pdwFlags,
  11613. /* [out] */ LCID *plcid,
  11614. /* [out] */ DWORD *pdwGroup,
  11615. /* [out] */ WCHAR **ppszName,
  11616. /* [out] */ IUnknown **ppObject,
  11617. /* [out] */ IUnknown **ppUnk);
  11618. void __RPC_STUB IAMStreamSelect_Info_Stub(
  11619. IRpcStubBuffer *This,
  11620. IRpcChannelBuffer *_pRpcChannelBuffer,
  11621. PRPC_MESSAGE _pRpcMessage,
  11622. DWORD *_pdwStubPhase);
  11623. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy(
  11624. IAMStreamSelect * This,
  11625. /* [in] */ long lIndex,
  11626. /* [in] */ DWORD dwFlags);
  11627. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  11628. IRpcStubBuffer *This,
  11629. IRpcChannelBuffer *_pRpcChannelBuffer,
  11630. PRPC_MESSAGE _pRpcMessage,
  11631. DWORD *_pdwStubPhase);
  11632. #endif /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  11633. /* interface __MIDL_itf_strmif_0342 */
  11634. /* [local] */
  11635. typedef IAMStreamSelect *PAMSTREAMSELECT;
  11636. enum _AMRESCTL_RESERVEFLAGS
  11637. { AMRESCTL_RESERVEFLAGS_RESERVE = 0,
  11638. AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
  11639. } ;
  11640. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
  11641. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
  11642. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  11643. #define __IAMResourceControl_INTERFACE_DEFINED__
  11644. /* interface IAMResourceControl */
  11645. /* [local][unique][uuid][object] */
  11646. EXTERN_C const IID IID_IAMResourceControl;
  11647. #if defined(__cplusplus) && !defined(CINTERFACE)
  11648. MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  11649. IAMResourceControl : public IUnknown
  11650. {
  11651. public:
  11652. virtual HRESULT STDMETHODCALLTYPE Reserve(
  11653. /* [in] */ DWORD dwFlags,
  11654. /* [in] */ PVOID pvReserved) = 0;
  11655. };
  11656. #else /* C style interface */
  11657. typedef struct IAMResourceControlVtbl
  11658. {
  11659. BEGIN_INTERFACE
  11660. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11661. IAMResourceControl * This,
  11662. /* [in] */ REFIID riid,
  11663. /* [iid_is][out] */ void **ppvObject);
  11664. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11665. IAMResourceControl * This);
  11666. ULONG ( STDMETHODCALLTYPE *Release )(
  11667. IAMResourceControl * This);
  11668. HRESULT ( STDMETHODCALLTYPE *Reserve )(
  11669. IAMResourceControl * This,
  11670. /* [in] */ DWORD dwFlags,
  11671. /* [in] */ PVOID pvReserved);
  11672. END_INTERFACE
  11673. } IAMResourceControlVtbl;
  11674. interface IAMResourceControl
  11675. {
  11676. CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  11677. };
  11678. #ifdef COBJMACROS
  11679. #define IAMResourceControl_QueryInterface(This,riid,ppvObject) \
  11680. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11681. #define IAMResourceControl_AddRef(This) \
  11682. (This)->lpVtbl -> AddRef(This)
  11683. #define IAMResourceControl_Release(This) \
  11684. (This)->lpVtbl -> Release(This)
  11685. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) \
  11686. (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  11687. #endif /* COBJMACROS */
  11688. #endif /* C style interface */
  11689. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy(
  11690. IAMResourceControl * This,
  11691. /* [in] */ DWORD dwFlags,
  11692. /* [in] */ PVOID pvReserved);
  11693. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  11694. IRpcStubBuffer *This,
  11695. IRpcChannelBuffer *_pRpcChannelBuffer,
  11696. PRPC_MESSAGE _pRpcMessage,
  11697. DWORD *_pdwStubPhase);
  11698. #endif /* __IAMResourceControl_INTERFACE_DEFINED__ */
  11699. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  11700. #define __IAMClockAdjust_INTERFACE_DEFINED__
  11701. /* interface IAMClockAdjust */
  11702. /* [local][unique][uuid][object] */
  11703. EXTERN_C const IID IID_IAMClockAdjust;
  11704. #if defined(__cplusplus) && !defined(CINTERFACE)
  11705. MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  11706. IAMClockAdjust : public IUnknown
  11707. {
  11708. public:
  11709. virtual HRESULT STDMETHODCALLTYPE SetClockDelta(
  11710. /* [in] */ REFERENCE_TIME rtDelta) = 0;
  11711. };
  11712. #else /* C style interface */
  11713. typedef struct IAMClockAdjustVtbl
  11714. {
  11715. BEGIN_INTERFACE
  11716. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11717. IAMClockAdjust * This,
  11718. /* [in] */ REFIID riid,
  11719. /* [iid_is][out] */ void **ppvObject);
  11720. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11721. IAMClockAdjust * This);
  11722. ULONG ( STDMETHODCALLTYPE *Release )(
  11723. IAMClockAdjust * This);
  11724. HRESULT ( STDMETHODCALLTYPE *SetClockDelta )(
  11725. IAMClockAdjust * This,
  11726. /* [in] */ REFERENCE_TIME rtDelta);
  11727. END_INTERFACE
  11728. } IAMClockAdjustVtbl;
  11729. interface IAMClockAdjust
  11730. {
  11731. CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  11732. };
  11733. #ifdef COBJMACROS
  11734. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) \
  11735. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11736. #define IAMClockAdjust_AddRef(This) \
  11737. (This)->lpVtbl -> AddRef(This)
  11738. #define IAMClockAdjust_Release(This) \
  11739. (This)->lpVtbl -> Release(This)
  11740. #define IAMClockAdjust_SetClockDelta(This,rtDelta) \
  11741. (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  11742. #endif /* COBJMACROS */
  11743. #endif /* C style interface */
  11744. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy(
  11745. IAMClockAdjust * This,
  11746. /* [in] */ REFERENCE_TIME rtDelta);
  11747. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  11748. IRpcStubBuffer *This,
  11749. IRpcChannelBuffer *_pRpcChannelBuffer,
  11750. PRPC_MESSAGE _pRpcMessage,
  11751. DWORD *_pdwStubPhase);
  11752. #endif /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  11753. /* interface __MIDL_itf_strmif_0344 */
  11754. /* [local] */
  11755. enum _AM_FILTER_MISC_FLAGS
  11756. { AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
  11757. AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
  11758. } ;
  11759. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  11760. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  11761. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  11762. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  11763. /* interface IAMFilterMiscFlags */
  11764. /* [local][unique][uuid][object] */
  11765. EXTERN_C const IID IID_IAMFilterMiscFlags;
  11766. #if defined(__cplusplus) && !defined(CINTERFACE)
  11767. MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  11768. IAMFilterMiscFlags : public IUnknown
  11769. {
  11770. public:
  11771. virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  11772. };
  11773. #else /* C style interface */
  11774. typedef struct IAMFilterMiscFlagsVtbl
  11775. {
  11776. BEGIN_INTERFACE
  11777. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11778. IAMFilterMiscFlags * This,
  11779. /* [in] */ REFIID riid,
  11780. /* [iid_is][out] */ void **ppvObject);
  11781. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11782. IAMFilterMiscFlags * This);
  11783. ULONG ( STDMETHODCALLTYPE *Release )(
  11784. IAMFilterMiscFlags * This);
  11785. ULONG ( STDMETHODCALLTYPE *GetMiscFlags )(
  11786. IAMFilterMiscFlags * This);
  11787. END_INTERFACE
  11788. } IAMFilterMiscFlagsVtbl;
  11789. interface IAMFilterMiscFlags
  11790. {
  11791. CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  11792. };
  11793. #ifdef COBJMACROS
  11794. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) \
  11795. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11796. #define IAMFilterMiscFlags_AddRef(This) \
  11797. (This)->lpVtbl -> AddRef(This)
  11798. #define IAMFilterMiscFlags_Release(This) \
  11799. (This)->lpVtbl -> Release(This)
  11800. #define IAMFilterMiscFlags_GetMiscFlags(This) \
  11801. (This)->lpVtbl -> GetMiscFlags(This)
  11802. #endif /* COBJMACROS */
  11803. #endif /* C style interface */
  11804. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(
  11805. IAMFilterMiscFlags * This);
  11806. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  11807. IRpcStubBuffer *This,
  11808. IRpcChannelBuffer *_pRpcChannelBuffer,
  11809. PRPC_MESSAGE _pRpcMessage,
  11810. DWORD *_pdwStubPhase);
  11811. #endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  11812. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  11813. #define __IDrawVideoImage_INTERFACE_DEFINED__
  11814. /* interface IDrawVideoImage */
  11815. /* [unique][uuid][local][object] */
  11816. EXTERN_C const IID IID_IDrawVideoImage;
  11817. #if defined(__cplusplus) && !defined(CINTERFACE)
  11818. MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  11819. IDrawVideoImage : public IUnknown
  11820. {
  11821. public:
  11822. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  11823. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  11824. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw(
  11825. /* [in] */ HDC hdc,
  11826. /* [in] */ LPRECT lprcSrc,
  11827. /* [in] */ LPRECT lprcDst) = 0;
  11828. };
  11829. #else /* C style interface */
  11830. typedef struct IDrawVideoImageVtbl
  11831. {
  11832. BEGIN_INTERFACE
  11833. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11834. IDrawVideoImage * This,
  11835. /* [in] */ REFIID riid,
  11836. /* [iid_is][out] */ void **ppvObject);
  11837. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11838. IDrawVideoImage * This);
  11839. ULONG ( STDMETHODCALLTYPE *Release )(
  11840. IDrawVideoImage * This);
  11841. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )(
  11842. IDrawVideoImage * This);
  11843. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )(
  11844. IDrawVideoImage * This);
  11845. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )(
  11846. IDrawVideoImage * This,
  11847. /* [in] */ HDC hdc,
  11848. /* [in] */ LPRECT lprcSrc,
  11849. /* [in] */ LPRECT lprcDst);
  11850. END_INTERFACE
  11851. } IDrawVideoImageVtbl;
  11852. interface IDrawVideoImage
  11853. {
  11854. CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  11855. };
  11856. #ifdef COBJMACROS
  11857. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) \
  11858. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11859. #define IDrawVideoImage_AddRef(This) \
  11860. (This)->lpVtbl -> AddRef(This)
  11861. #define IDrawVideoImage_Release(This) \
  11862. (This)->lpVtbl -> Release(This)
  11863. #define IDrawVideoImage_DrawVideoImageBegin(This) \
  11864. (This)->lpVtbl -> DrawVideoImageBegin(This)
  11865. #define IDrawVideoImage_DrawVideoImageEnd(This) \
  11866. (This)->lpVtbl -> DrawVideoImageEnd(This)
  11867. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) \
  11868. (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  11869. #endif /* COBJMACROS */
  11870. #endif /* C style interface */
  11871. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy(
  11872. IDrawVideoImage * This);
  11873. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  11874. IRpcStubBuffer *This,
  11875. IRpcChannelBuffer *_pRpcChannelBuffer,
  11876. PRPC_MESSAGE _pRpcMessage,
  11877. DWORD *_pdwStubPhase);
  11878. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy(
  11879. IDrawVideoImage * This);
  11880. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  11881. IRpcStubBuffer *This,
  11882. IRpcChannelBuffer *_pRpcChannelBuffer,
  11883. PRPC_MESSAGE _pRpcMessage,
  11884. DWORD *_pdwStubPhase);
  11885. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy(
  11886. IDrawVideoImage * This,
  11887. /* [in] */ HDC hdc,
  11888. /* [in] */ LPRECT lprcSrc,
  11889. /* [in] */ LPRECT lprcDst);
  11890. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  11891. IRpcStubBuffer *This,
  11892. IRpcChannelBuffer *_pRpcChannelBuffer,
  11893. PRPC_MESSAGE _pRpcMessage,
  11894. DWORD *_pdwStubPhase);
  11895. #endif /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  11896. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  11897. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  11898. /* interface IDecimateVideoImage */
  11899. /* [unique][uuid][local][object] */
  11900. EXTERN_C const IID IID_IDecimateVideoImage;
  11901. #if defined(__cplusplus) && !defined(CINTERFACE)
  11902. MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  11903. IDecimateVideoImage : public IUnknown
  11904. {
  11905. public:
  11906. virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize(
  11907. /* [in] */ long lWidth,
  11908. /* [in] */ long lHeight) = 0;
  11909. virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  11910. };
  11911. #else /* C style interface */
  11912. typedef struct IDecimateVideoImageVtbl
  11913. {
  11914. BEGIN_INTERFACE
  11915. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11916. IDecimateVideoImage * This,
  11917. /* [in] */ REFIID riid,
  11918. /* [iid_is][out] */ void **ppvObject);
  11919. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11920. IDecimateVideoImage * This);
  11921. ULONG ( STDMETHODCALLTYPE *Release )(
  11922. IDecimateVideoImage * This);
  11923. HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )(
  11924. IDecimateVideoImage * This,
  11925. /* [in] */ long lWidth,
  11926. /* [in] */ long lHeight);
  11927. HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )(
  11928. IDecimateVideoImage * This);
  11929. END_INTERFACE
  11930. } IDecimateVideoImageVtbl;
  11931. interface IDecimateVideoImage
  11932. {
  11933. CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  11934. };
  11935. #ifdef COBJMACROS
  11936. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) \
  11937. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11938. #define IDecimateVideoImage_AddRef(This) \
  11939. (This)->lpVtbl -> AddRef(This)
  11940. #define IDecimateVideoImage_Release(This) \
  11941. (This)->lpVtbl -> Release(This)
  11942. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) \
  11943. (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  11944. #define IDecimateVideoImage_ResetDecimationImageSize(This) \
  11945. (This)->lpVtbl -> ResetDecimationImageSize(This)
  11946. #endif /* COBJMACROS */
  11947. #endif /* C style interface */
  11948. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy(
  11949. IDecimateVideoImage * This,
  11950. /* [in] */ long lWidth,
  11951. /* [in] */ long lHeight);
  11952. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  11953. IRpcStubBuffer *This,
  11954. IRpcChannelBuffer *_pRpcChannelBuffer,
  11955. PRPC_MESSAGE _pRpcMessage,
  11956. DWORD *_pdwStubPhase);
  11957. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy(
  11958. IDecimateVideoImage * This);
  11959. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  11960. IRpcStubBuffer *This,
  11961. IRpcChannelBuffer *_pRpcChannelBuffer,
  11962. PRPC_MESSAGE _pRpcMessage,
  11963. DWORD *_pdwStubPhase);
  11964. #endif /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  11965. /* interface __MIDL_itf_strmif_0347 */
  11966. /* [local] */
  11967. typedef
  11968. enum _DECIMATION_USAGE
  11969. { DECIMATION_LEGACY = 0,
  11970. DECIMATION_USE_DECODER_ONLY = DECIMATION_LEGACY + 1,
  11971. DECIMATION_USE_VIDEOPORT_ONLY = DECIMATION_USE_DECODER_ONLY + 1,
  11972. DECIMATION_USE_OVERLAY_ONLY = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  11973. DECIMATION_DEFAULT = DECIMATION_USE_OVERLAY_ONLY + 1
  11974. } DECIMATION_USAGE;
  11975. extern RPC_IF_HANDLE __MIDL_itf_strmif_0347_v0_0_c_ifspec;
  11976. extern RPC_IF_HANDLE __MIDL_itf_strmif_0347_v0_0_s_ifspec;
  11977. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  11978. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  11979. /* interface IAMVideoDecimationProperties */
  11980. /* [unique][uuid][local][object] */
  11981. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  11982. #if defined(__cplusplus) && !defined(CINTERFACE)
  11983. MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  11984. IAMVideoDecimationProperties : public IUnknown
  11985. {
  11986. public:
  11987. virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage(
  11988. /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  11989. virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage(
  11990. /* [in] */ DECIMATION_USAGE Usage) = 0;
  11991. };
  11992. #else /* C style interface */
  11993. typedef struct IAMVideoDecimationPropertiesVtbl
  11994. {
  11995. BEGIN_INTERFACE
  11996. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11997. IAMVideoDecimationProperties * This,
  11998. /* [in] */ REFIID riid,
  11999. /* [iid_is][out] */ void **ppvObject);
  12000. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12001. IAMVideoDecimationProperties * This);
  12002. ULONG ( STDMETHODCALLTYPE *Release )(
  12003. IAMVideoDecimationProperties * This);
  12004. HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )(
  12005. IAMVideoDecimationProperties * This,
  12006. /* [out] */ DECIMATION_USAGE *lpUsage);
  12007. HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )(
  12008. IAMVideoDecimationProperties * This,
  12009. /* [in] */ DECIMATION_USAGE Usage);
  12010. END_INTERFACE
  12011. } IAMVideoDecimationPropertiesVtbl;
  12012. interface IAMVideoDecimationProperties
  12013. {
  12014. CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  12015. };
  12016. #ifdef COBJMACROS
  12017. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) \
  12018. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12019. #define IAMVideoDecimationProperties_AddRef(This) \
  12020. (This)->lpVtbl -> AddRef(This)
  12021. #define IAMVideoDecimationProperties_Release(This) \
  12022. (This)->lpVtbl -> Release(This)
  12023. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) \
  12024. (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  12025. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) \
  12026. (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  12027. #endif /* COBJMACROS */
  12028. #endif /* C style interface */
  12029. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(
  12030. IAMVideoDecimationProperties * This,
  12031. /* [out] */ DECIMATION_USAGE *lpUsage);
  12032. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  12033. IRpcStubBuffer *This,
  12034. IRpcChannelBuffer *_pRpcChannelBuffer,
  12035. PRPC_MESSAGE _pRpcMessage,
  12036. DWORD *_pdwStubPhase);
  12037. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy(
  12038. IAMVideoDecimationProperties * This,
  12039. /* [in] */ DECIMATION_USAGE Usage);
  12040. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  12041. IRpcStubBuffer *This,
  12042. IRpcChannelBuffer *_pRpcChannelBuffer,
  12043. PRPC_MESSAGE _pRpcMessage,
  12044. DWORD *_pdwStubPhase);
  12045. #endif /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  12046. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  12047. #define __IVideoFrameStep_INTERFACE_DEFINED__
  12048. /* interface IVideoFrameStep */
  12049. /* [unique][uuid][object] */
  12050. EXTERN_C const IID IID_IVideoFrameStep;
  12051. #if defined(__cplusplus) && !defined(CINTERFACE)
  12052. MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  12053. IVideoFrameStep : public IUnknown
  12054. {
  12055. public:
  12056. virtual HRESULT STDMETHODCALLTYPE Step(
  12057. DWORD dwFrames,
  12058. /* [unique] */ IUnknown *pStepObject) = 0;
  12059. virtual HRESULT STDMETHODCALLTYPE CanStep(
  12060. long bMultiple,
  12061. /* [unique] */ IUnknown *pStepObject) = 0;
  12062. virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  12063. };
  12064. #else /* C style interface */
  12065. typedef struct IVideoFrameStepVtbl
  12066. {
  12067. BEGIN_INTERFACE
  12068. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12069. IVideoFrameStep * This,
  12070. /* [in] */ REFIID riid,
  12071. /* [iid_is][out] */ void **ppvObject);
  12072. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12073. IVideoFrameStep * This);
  12074. ULONG ( STDMETHODCALLTYPE *Release )(
  12075. IVideoFrameStep * This);
  12076. HRESULT ( STDMETHODCALLTYPE *Step )(
  12077. IVideoFrameStep * This,
  12078. DWORD dwFrames,
  12079. /* [unique] */ IUnknown *pStepObject);
  12080. HRESULT ( STDMETHODCALLTYPE *CanStep )(
  12081. IVideoFrameStep * This,
  12082. long bMultiple,
  12083. /* [unique] */ IUnknown *pStepObject);
  12084. HRESULT ( STDMETHODCALLTYPE *CancelStep )(
  12085. IVideoFrameStep * This);
  12086. END_INTERFACE
  12087. } IVideoFrameStepVtbl;
  12088. interface IVideoFrameStep
  12089. {
  12090. CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  12091. };
  12092. #ifdef COBJMACROS
  12093. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) \
  12094. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12095. #define IVideoFrameStep_AddRef(This) \
  12096. (This)->lpVtbl -> AddRef(This)
  12097. #define IVideoFrameStep_Release(This) \
  12098. (This)->lpVtbl -> Release(This)
  12099. #define IVideoFrameStep_Step(This,dwFrames,pStepObject) \
  12100. (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  12101. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) \
  12102. (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  12103. #define IVideoFrameStep_CancelStep(This) \
  12104. (This)->lpVtbl -> CancelStep(This)
  12105. #endif /* COBJMACROS */
  12106. #endif /* C style interface */
  12107. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy(
  12108. IVideoFrameStep * This,
  12109. DWORD dwFrames,
  12110. /* [unique] */ IUnknown *pStepObject);
  12111. void __RPC_STUB IVideoFrameStep_Step_Stub(
  12112. IRpcStubBuffer *This,
  12113. IRpcChannelBuffer *_pRpcChannelBuffer,
  12114. PRPC_MESSAGE _pRpcMessage,
  12115. DWORD *_pdwStubPhase);
  12116. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy(
  12117. IVideoFrameStep * This,
  12118. long bMultiple,
  12119. /* [unique] */ IUnknown *pStepObject);
  12120. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  12121. IRpcStubBuffer *This,
  12122. IRpcChannelBuffer *_pRpcChannelBuffer,
  12123. PRPC_MESSAGE _pRpcMessage,
  12124. DWORD *_pdwStubPhase);
  12125. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy(
  12126. IVideoFrameStep * This);
  12127. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  12128. IRpcStubBuffer *This,
  12129. IRpcChannelBuffer *_pRpcChannelBuffer,
  12130. PRPC_MESSAGE _pRpcMessage,
  12131. DWORD *_pdwStubPhase);
  12132. #endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  12133. /* interface __MIDL_itf_strmif_0349 */
  12134. /* [local] */
  12135. enum _AM_PUSHSOURCE_FLAGS
  12136. { AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,
  12137. AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,
  12138. AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
  12139. AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000
  12140. } ;
  12141. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_c_ifspec;
  12142. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_s_ifspec;
  12143. #ifndef __IAMLatency_INTERFACE_DEFINED__
  12144. #define __IAMLatency_INTERFACE_DEFINED__
  12145. /* interface IAMLatency */
  12146. /* [unique][uuid][object] */
  12147. EXTERN_C const IID IID_IAMLatency;
  12148. #if defined(__cplusplus) && !defined(CINTERFACE)
  12149. MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  12150. IAMLatency : public IUnknown
  12151. {
  12152. public:
  12153. virtual HRESULT STDMETHODCALLTYPE GetLatency(
  12154. /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  12155. };
  12156. #else /* C style interface */
  12157. typedef struct IAMLatencyVtbl
  12158. {
  12159. BEGIN_INTERFACE
  12160. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12161. IAMLatency * This,
  12162. /* [in] */ REFIID riid,
  12163. /* [iid_is][out] */ void **ppvObject);
  12164. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12165. IAMLatency * This);
  12166. ULONG ( STDMETHODCALLTYPE *Release )(
  12167. IAMLatency * This);
  12168. HRESULT ( STDMETHODCALLTYPE *GetLatency )(
  12169. IAMLatency * This,
  12170. /* [in] */ REFERENCE_TIME *prtLatency);
  12171. END_INTERFACE
  12172. } IAMLatencyVtbl;
  12173. interface IAMLatency
  12174. {
  12175. CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  12176. };
  12177. #ifdef COBJMACROS
  12178. #define IAMLatency_QueryInterface(This,riid,ppvObject) \
  12179. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12180. #define IAMLatency_AddRef(This) \
  12181. (This)->lpVtbl -> AddRef(This)
  12182. #define IAMLatency_Release(This) \
  12183. (This)->lpVtbl -> Release(This)
  12184. #define IAMLatency_GetLatency(This,prtLatency) \
  12185. (This)->lpVtbl -> GetLatency(This,prtLatency)
  12186. #endif /* COBJMACROS */
  12187. #endif /* C style interface */
  12188. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy(
  12189. IAMLatency * This,
  12190. /* [in] */ REFERENCE_TIME *prtLatency);
  12191. void __RPC_STUB IAMLatency_GetLatency_Stub(
  12192. IRpcStubBuffer *This,
  12193. IRpcChannelBuffer *_pRpcChannelBuffer,
  12194. PRPC_MESSAGE _pRpcMessage,
  12195. DWORD *_pdwStubPhase);
  12196. #endif /* __IAMLatency_INTERFACE_DEFINED__ */
  12197. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  12198. #define __IAMPushSource_INTERFACE_DEFINED__
  12199. /* interface IAMPushSource */
  12200. /* [unique][uuid][object] */
  12201. EXTERN_C const IID IID_IAMPushSource;
  12202. #if defined(__cplusplus) && !defined(CINTERFACE)
  12203. MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  12204. IAMPushSource : public IAMLatency
  12205. {
  12206. public:
  12207. virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags(
  12208. /* [out] */ ULONG *pFlags) = 0;
  12209. virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags(
  12210. /* [in] */ ULONG Flags) = 0;
  12211. virtual HRESULT STDMETHODCALLTYPE SetStreamOffset(
  12212. /* [in] */ REFERENCE_TIME rtOffset) = 0;
  12213. virtual HRESULT STDMETHODCALLTYPE GetStreamOffset(
  12214. /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  12215. virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(
  12216. /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  12217. virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset(
  12218. /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  12219. };
  12220. #else /* C style interface */
  12221. typedef struct IAMPushSourceVtbl
  12222. {
  12223. BEGIN_INTERFACE
  12224. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12225. IAMPushSource * This,
  12226. /* [in] */ REFIID riid,
  12227. /* [iid_is][out] */ void **ppvObject);
  12228. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12229. IAMPushSource * This);
  12230. ULONG ( STDMETHODCALLTYPE *Release )(
  12231. IAMPushSource * This);
  12232. HRESULT ( STDMETHODCALLTYPE *GetLatency )(
  12233. IAMPushSource * This,
  12234. /* [in] */ REFERENCE_TIME *prtLatency);
  12235. HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )(
  12236. IAMPushSource * This,
  12237. /* [out] */ ULONG *pFlags);
  12238. HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )(
  12239. IAMPushSource * This,
  12240. /* [in] */ ULONG Flags);
  12241. HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )(
  12242. IAMPushSource * This,
  12243. /* [in] */ REFERENCE_TIME rtOffset);
  12244. HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )(
  12245. IAMPushSource * This,
  12246. /* [out] */ REFERENCE_TIME *prtOffset);
  12247. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )(
  12248. IAMPushSource * This,
  12249. /* [out] */ REFERENCE_TIME *prtMaxOffset);
  12250. HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )(
  12251. IAMPushSource * This,
  12252. /* [in] */ REFERENCE_TIME rtMaxOffset);
  12253. END_INTERFACE
  12254. } IAMPushSourceVtbl;
  12255. interface IAMPushSource
  12256. {
  12257. CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  12258. };
  12259. #ifdef COBJMACROS
  12260. #define IAMPushSource_QueryInterface(This,riid,ppvObject) \
  12261. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12262. #define IAMPushSource_AddRef(This) \
  12263. (This)->lpVtbl -> AddRef(This)
  12264. #define IAMPushSource_Release(This) \
  12265. (This)->lpVtbl -> Release(This)
  12266. #define IAMPushSource_GetLatency(This,prtLatency) \
  12267. (This)->lpVtbl -> GetLatency(This,prtLatency)
  12268. #define IAMPushSource_GetPushSourceFlags(This,pFlags) \
  12269. (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  12270. #define IAMPushSource_SetPushSourceFlags(This,Flags) \
  12271. (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  12272. #define IAMPushSource_SetStreamOffset(This,rtOffset) \
  12273. (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  12274. #define IAMPushSource_GetStreamOffset(This,prtOffset) \
  12275. (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  12276. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) \
  12277. (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  12278. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) \
  12279. (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  12280. #endif /* COBJMACROS */
  12281. #endif /* C style interface */
  12282. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy(
  12283. IAMPushSource * This,
  12284. /* [out] */ ULONG *pFlags);
  12285. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  12286. IRpcStubBuffer *This,
  12287. IRpcChannelBuffer *_pRpcChannelBuffer,
  12288. PRPC_MESSAGE _pRpcMessage,
  12289. DWORD *_pdwStubPhase);
  12290. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy(
  12291. IAMPushSource * This,
  12292. /* [in] */ ULONG Flags);
  12293. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  12294. IRpcStubBuffer *This,
  12295. IRpcChannelBuffer *_pRpcChannelBuffer,
  12296. PRPC_MESSAGE _pRpcMessage,
  12297. DWORD *_pdwStubPhase);
  12298. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy(
  12299. IAMPushSource * This,
  12300. /* [in] */ REFERENCE_TIME rtOffset);
  12301. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  12302. IRpcStubBuffer *This,
  12303. IRpcChannelBuffer *_pRpcChannelBuffer,
  12304. PRPC_MESSAGE _pRpcMessage,
  12305. DWORD *_pdwStubPhase);
  12306. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy(
  12307. IAMPushSource * This,
  12308. /* [out] */ REFERENCE_TIME *prtOffset);
  12309. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  12310. IRpcStubBuffer *This,
  12311. IRpcChannelBuffer *_pRpcChannelBuffer,
  12312. PRPC_MESSAGE _pRpcMessage,
  12313. DWORD *_pdwStubPhase);
  12314. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy(
  12315. IAMPushSource * This,
  12316. /* [out] */ REFERENCE_TIME *prtMaxOffset);
  12317. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  12318. IRpcStubBuffer *This,
  12319. IRpcChannelBuffer *_pRpcChannelBuffer,
  12320. PRPC_MESSAGE _pRpcMessage,
  12321. DWORD *_pdwStubPhase);
  12322. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy(
  12323. IAMPushSource * This,
  12324. /* [in] */ REFERENCE_TIME rtMaxOffset);
  12325. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  12326. IRpcStubBuffer *This,
  12327. IRpcChannelBuffer *_pRpcChannelBuffer,
  12328. PRPC_MESSAGE _pRpcMessage,
  12329. DWORD *_pdwStubPhase);
  12330. #endif /* __IAMPushSource_INTERFACE_DEFINED__ */
  12331. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  12332. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  12333. /* interface IAMDeviceRemoval */
  12334. /* [unique][uuid][object] */
  12335. EXTERN_C const IID IID_IAMDeviceRemoval;
  12336. #if defined(__cplusplus) && !defined(CINTERFACE)
  12337. MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  12338. IAMDeviceRemoval : public IUnknown
  12339. {
  12340. public:
  12341. virtual HRESULT STDMETHODCALLTYPE DeviceInfo(
  12342. /* [out] */ CLSID *pclsidInterfaceClass,
  12343. /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  12344. virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  12345. virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  12346. };
  12347. #else /* C style interface */
  12348. typedef struct IAMDeviceRemovalVtbl
  12349. {
  12350. BEGIN_INTERFACE
  12351. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12352. IAMDeviceRemoval * This,
  12353. /* [in] */ REFIID riid,
  12354. /* [iid_is][out] */ void **ppvObject);
  12355. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12356. IAMDeviceRemoval * This);
  12357. ULONG ( STDMETHODCALLTYPE *Release )(
  12358. IAMDeviceRemoval * This);
  12359. HRESULT ( STDMETHODCALLTYPE *DeviceInfo )(
  12360. IAMDeviceRemoval * This,
  12361. /* [out] */ CLSID *pclsidInterfaceClass,
  12362. /* [out] */ WCHAR **pwszSymbolicLink);
  12363. HRESULT ( STDMETHODCALLTYPE *Reassociate )(
  12364. IAMDeviceRemoval * This);
  12365. HRESULT ( STDMETHODCALLTYPE *Disassociate )(
  12366. IAMDeviceRemoval * This);
  12367. END_INTERFACE
  12368. } IAMDeviceRemovalVtbl;
  12369. interface IAMDeviceRemoval
  12370. {
  12371. CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  12372. };
  12373. #ifdef COBJMACROS
  12374. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) \
  12375. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12376. #define IAMDeviceRemoval_AddRef(This) \
  12377. (This)->lpVtbl -> AddRef(This)
  12378. #define IAMDeviceRemoval_Release(This) \
  12379. (This)->lpVtbl -> Release(This)
  12380. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) \
  12381. (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  12382. #define IAMDeviceRemoval_Reassociate(This) \
  12383. (This)->lpVtbl -> Reassociate(This)
  12384. #define IAMDeviceRemoval_Disassociate(This) \
  12385. (This)->lpVtbl -> Disassociate(This)
  12386. #endif /* COBJMACROS */
  12387. #endif /* C style interface */
  12388. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy(
  12389. IAMDeviceRemoval * This,
  12390. /* [out] */ CLSID *pclsidInterfaceClass,
  12391. /* [out] */ WCHAR **pwszSymbolicLink);
  12392. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  12393. IRpcStubBuffer *This,
  12394. IRpcChannelBuffer *_pRpcChannelBuffer,
  12395. PRPC_MESSAGE _pRpcMessage,
  12396. DWORD *_pdwStubPhase);
  12397. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy(
  12398. IAMDeviceRemoval * This);
  12399. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  12400. IRpcStubBuffer *This,
  12401. IRpcChannelBuffer *_pRpcChannelBuffer,
  12402. PRPC_MESSAGE _pRpcMessage,
  12403. DWORD *_pdwStubPhase);
  12404. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy(
  12405. IAMDeviceRemoval * This);
  12406. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  12407. IRpcStubBuffer *This,
  12408. IRpcChannelBuffer *_pRpcChannelBuffer,
  12409. PRPC_MESSAGE _pRpcMessage,
  12410. DWORD *_pdwStubPhase);
  12411. #endif /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  12412. /* interface __MIDL_itf_strmif_0351 */
  12413. /* [local] */
  12414. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0351_0001
  12415. {
  12416. DWORD dwDVAAuxSrc;
  12417. DWORD dwDVAAuxCtl;
  12418. DWORD dwDVAAuxSrc1;
  12419. DWORD dwDVAAuxCtl1;
  12420. DWORD dwDVVAuxSrc;
  12421. DWORD dwDVVAuxCtl;
  12422. DWORD dwDVReserved[ 2 ];
  12423. } DVINFO;
  12424. typedef struct __MIDL___MIDL_itf_strmif_0351_0001 *PDVINFO;
  12425. enum _DVENCODERRESOLUTION
  12426. { DVENCODERRESOLUTION_720x480 = 2012,
  12427. DVENCODERRESOLUTION_360x240 = 2013,
  12428. DVENCODERRESOLUTION_180x120 = 2014,
  12429. DVENCODERRESOLUTION_88x60 = 2015
  12430. } ;
  12431. enum _DVENCODERVIDEOFORMAT
  12432. { DVENCODERVIDEOFORMAT_NTSC = 2000,
  12433. DVENCODERVIDEOFORMAT_PAL = 2001
  12434. } ;
  12435. enum _DVENCODERFORMAT
  12436. { DVENCODERFORMAT_DVSD = 2007,
  12437. DVENCODERFORMAT_DVHD = 2008,
  12438. DVENCODERFORMAT_DVSL = 2009
  12439. } ;
  12440. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
  12441. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
  12442. #ifndef __IDVEnc_INTERFACE_DEFINED__
  12443. #define __IDVEnc_INTERFACE_DEFINED__
  12444. /* interface IDVEnc */
  12445. /* [unique][uuid][object] */
  12446. EXTERN_C const IID IID_IDVEnc;
  12447. #if defined(__cplusplus) && !defined(CINTERFACE)
  12448. MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  12449. IDVEnc : public IUnknown
  12450. {
  12451. public:
  12452. virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution(
  12453. /* [out] */ int *VideoFormat,
  12454. /* [out] */ int *DVFormat,
  12455. /* [out] */ int *Resolution,
  12456. /* [in] */ BYTE fDVInfo,
  12457. /* [out] */ DVINFO *sDVInfo) = 0;
  12458. virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution(
  12459. /* [in] */ int VideoFormat,
  12460. /* [in] */ int DVFormat,
  12461. /* [in] */ int Resolution,
  12462. /* [in] */ BYTE fDVInfo,
  12463. /* [in] */ DVINFO *sDVInfo) = 0;
  12464. };
  12465. #else /* C style interface */
  12466. typedef struct IDVEncVtbl
  12467. {
  12468. BEGIN_INTERFACE
  12469. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12470. IDVEnc * This,
  12471. /* [in] */ REFIID riid,
  12472. /* [iid_is][out] */ void **ppvObject);
  12473. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12474. IDVEnc * This);
  12475. ULONG ( STDMETHODCALLTYPE *Release )(
  12476. IDVEnc * This);
  12477. HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )(
  12478. IDVEnc * This,
  12479. /* [out] */ int *VideoFormat,
  12480. /* [out] */ int *DVFormat,
  12481. /* [out] */ int *Resolution,
  12482. /* [in] */ BYTE fDVInfo,
  12483. /* [out] */ DVINFO *sDVInfo);
  12484. HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )(
  12485. IDVEnc * This,
  12486. /* [in] */ int VideoFormat,
  12487. /* [in] */ int DVFormat,
  12488. /* [in] */ int Resolution,
  12489. /* [in] */ BYTE fDVInfo,
  12490. /* [in] */ DVINFO *sDVInfo);
  12491. END_INTERFACE
  12492. } IDVEncVtbl;
  12493. interface IDVEnc
  12494. {
  12495. CONST_VTBL struct IDVEncVtbl *lpVtbl;
  12496. };
  12497. #ifdef COBJMACROS
  12498. #define IDVEnc_QueryInterface(This,riid,ppvObject) \
  12499. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12500. #define IDVEnc_AddRef(This) \
  12501. (This)->lpVtbl -> AddRef(This)
  12502. #define IDVEnc_Release(This) \
  12503. (This)->lpVtbl -> Release(This)
  12504. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) \
  12505. (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  12506. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) \
  12507. (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  12508. #endif /* COBJMACROS */
  12509. #endif /* C style interface */
  12510. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy(
  12511. IDVEnc * This,
  12512. /* [out] */ int *VideoFormat,
  12513. /* [out] */ int *DVFormat,
  12514. /* [out] */ int *Resolution,
  12515. /* [in] */ BYTE fDVInfo,
  12516. /* [out] */ DVINFO *sDVInfo);
  12517. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  12518. IRpcStubBuffer *This,
  12519. IRpcChannelBuffer *_pRpcChannelBuffer,
  12520. PRPC_MESSAGE _pRpcMessage,
  12521. DWORD *_pdwStubPhase);
  12522. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy(
  12523. IDVEnc * This,
  12524. /* [in] */ int VideoFormat,
  12525. /* [in] */ int DVFormat,
  12526. /* [in] */ int Resolution,
  12527. /* [in] */ BYTE fDVInfo,
  12528. /* [in] */ DVINFO *sDVInfo);
  12529. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  12530. IRpcStubBuffer *This,
  12531. IRpcChannelBuffer *_pRpcChannelBuffer,
  12532. PRPC_MESSAGE _pRpcMessage,
  12533. DWORD *_pdwStubPhase);
  12534. #endif /* __IDVEnc_INTERFACE_DEFINED__ */
  12535. /* interface __MIDL_itf_strmif_0352 */
  12536. /* [local] */
  12537. enum _DVDECODERRESOLUTION
  12538. { DVDECODERRESOLUTION_720x480 = 1000,
  12539. DVDECODERRESOLUTION_360x240 = 1001,
  12540. DVDECODERRESOLUTION_180x120 = 1002,
  12541. DVDECODERRESOLUTION_88x60 = 1003
  12542. } ;
  12543. enum _DVRESOLUTION
  12544. { DVRESOLUTION_FULL = 1000,
  12545. DVRESOLUTION_HALF = 1001,
  12546. DVRESOLUTION_QUARTER = 1002,
  12547. DVRESOLUTION_DC = 1003
  12548. } ;
  12549. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;
  12550. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
  12551. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  12552. #define __IIPDVDec_INTERFACE_DEFINED__
  12553. /* interface IIPDVDec */
  12554. /* [unique][uuid][object] */
  12555. EXTERN_C const IID IID_IIPDVDec;
  12556. #if defined(__cplusplus) && !defined(CINTERFACE)
  12557. MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  12558. IIPDVDec : public IUnknown
  12559. {
  12560. public:
  12561. virtual HRESULT STDMETHODCALLTYPE get_IPDisplay(
  12562. /* [out] */ int *displayPix) = 0;
  12563. virtual HRESULT STDMETHODCALLTYPE put_IPDisplay(
  12564. /* [in] */ int displayPix) = 0;
  12565. };
  12566. #else /* C style interface */
  12567. typedef struct IIPDVDecVtbl
  12568. {
  12569. BEGIN_INTERFACE
  12570. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12571. IIPDVDec * This,
  12572. /* [in] */ REFIID riid,
  12573. /* [iid_is][out] */ void **ppvObject);
  12574. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12575. IIPDVDec * This);
  12576. ULONG ( STDMETHODCALLTYPE *Release )(
  12577. IIPDVDec * This);
  12578. HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )(
  12579. IIPDVDec * This,
  12580. /* [out] */ int *displayPix);
  12581. HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )(
  12582. IIPDVDec * This,
  12583. /* [in] */ int displayPix);
  12584. END_INTERFACE
  12585. } IIPDVDecVtbl;
  12586. interface IIPDVDec
  12587. {
  12588. CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  12589. };
  12590. #ifdef COBJMACROS
  12591. #define IIPDVDec_QueryInterface(This,riid,ppvObject) \
  12592. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12593. #define IIPDVDec_AddRef(This) \
  12594. (This)->lpVtbl -> AddRef(This)
  12595. #define IIPDVDec_Release(This) \
  12596. (This)->lpVtbl -> Release(This)
  12597. #define IIPDVDec_get_IPDisplay(This,displayPix) \
  12598. (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  12599. #define IIPDVDec_put_IPDisplay(This,displayPix) \
  12600. (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  12601. #endif /* COBJMACROS */
  12602. #endif /* C style interface */
  12603. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy(
  12604. IIPDVDec * This,
  12605. /* [out] */ int *displayPix);
  12606. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  12607. IRpcStubBuffer *This,
  12608. IRpcChannelBuffer *_pRpcChannelBuffer,
  12609. PRPC_MESSAGE _pRpcMessage,
  12610. DWORD *_pdwStubPhase);
  12611. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy(
  12612. IIPDVDec * This,
  12613. /* [in] */ int displayPix);
  12614. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  12615. IRpcStubBuffer *This,
  12616. IRpcChannelBuffer *_pRpcChannelBuffer,
  12617. PRPC_MESSAGE _pRpcMessage,
  12618. DWORD *_pdwStubPhase);
  12619. #endif /* __IIPDVDec_INTERFACE_DEFINED__ */
  12620. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  12621. #define __IDVRGB219_INTERFACE_DEFINED__
  12622. /* interface IDVRGB219 */
  12623. /* [unique][uuid][object] */
  12624. EXTERN_C const IID IID_IDVRGB219;
  12625. #if defined(__cplusplus) && !defined(CINTERFACE)
  12626. MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  12627. IDVRGB219 : public IUnknown
  12628. {
  12629. public:
  12630. virtual HRESULT STDMETHODCALLTYPE SetRGB219(
  12631. /* [in] */ BOOL bState) = 0;
  12632. };
  12633. #else /* C style interface */
  12634. typedef struct IDVRGB219Vtbl
  12635. {
  12636. BEGIN_INTERFACE
  12637. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12638. IDVRGB219 * This,
  12639. /* [in] */ REFIID riid,
  12640. /* [iid_is][out] */ void **ppvObject);
  12641. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12642. IDVRGB219 * This);
  12643. ULONG ( STDMETHODCALLTYPE *Release )(
  12644. IDVRGB219 * This);
  12645. HRESULT ( STDMETHODCALLTYPE *SetRGB219 )(
  12646. IDVRGB219 * This,
  12647. /* [in] */ BOOL bState);
  12648. END_INTERFACE
  12649. } IDVRGB219Vtbl;
  12650. interface IDVRGB219
  12651. {
  12652. CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  12653. };
  12654. #ifdef COBJMACROS
  12655. #define IDVRGB219_QueryInterface(This,riid,ppvObject) \
  12656. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12657. #define IDVRGB219_AddRef(This) \
  12658. (This)->lpVtbl -> AddRef(This)
  12659. #define IDVRGB219_Release(This) \
  12660. (This)->lpVtbl -> Release(This)
  12661. #define IDVRGB219_SetRGB219(This,bState) \
  12662. (This)->lpVtbl -> SetRGB219(This,bState)
  12663. #endif /* COBJMACROS */
  12664. #endif /* C style interface */
  12665. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy(
  12666. IDVRGB219 * This,
  12667. /* [in] */ BOOL bState);
  12668. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  12669. IRpcStubBuffer *This,
  12670. IRpcChannelBuffer *_pRpcChannelBuffer,
  12671. PRPC_MESSAGE _pRpcMessage,
  12672. DWORD *_pdwStubPhase);
  12673. #endif /* __IDVRGB219_INTERFACE_DEFINED__ */
  12674. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  12675. #define __IDVSplitter_INTERFACE_DEFINED__
  12676. /* interface IDVSplitter */
  12677. /* [uuid][object] */
  12678. EXTERN_C const IID IID_IDVSplitter;
  12679. #if defined(__cplusplus) && !defined(CINTERFACE)
  12680. MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  12681. IDVSplitter : public IUnknown
  12682. {
  12683. public:
  12684. virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames(
  12685. /* [in] */ int nDiscard) = 0;
  12686. };
  12687. #else /* C style interface */
  12688. typedef struct IDVSplitterVtbl
  12689. {
  12690. BEGIN_INTERFACE
  12691. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12692. IDVSplitter * This,
  12693. /* [in] */ REFIID riid,
  12694. /* [iid_is][out] */ void **ppvObject);
  12695. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12696. IDVSplitter * This);
  12697. ULONG ( STDMETHODCALLTYPE *Release )(
  12698. IDVSplitter * This);
  12699. HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )(
  12700. IDVSplitter * This,
  12701. /* [in] */ int nDiscard);
  12702. END_INTERFACE
  12703. } IDVSplitterVtbl;
  12704. interface IDVSplitter
  12705. {
  12706. CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  12707. };
  12708. #ifdef COBJMACROS
  12709. #define IDVSplitter_QueryInterface(This,riid,ppvObject) \
  12710. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12711. #define IDVSplitter_AddRef(This) \
  12712. (This)->lpVtbl -> AddRef(This)
  12713. #define IDVSplitter_Release(This) \
  12714. (This)->lpVtbl -> Release(This)
  12715. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) \
  12716. (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  12717. #endif /* COBJMACROS */
  12718. #endif /* C style interface */
  12719. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy(
  12720. IDVSplitter * This,
  12721. /* [in] */ int nDiscard);
  12722. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  12723. IRpcStubBuffer *This,
  12724. IRpcChannelBuffer *_pRpcChannelBuffer,
  12725. PRPC_MESSAGE _pRpcMessage,
  12726. DWORD *_pdwStubPhase);
  12727. #endif /* __IDVSplitter_INTERFACE_DEFINED__ */
  12728. /* interface __MIDL_itf_strmif_0355 */
  12729. /* [local] */
  12730. enum _AM_AUDIO_RENDERER_STAT_PARAM
  12731. { AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
  12732. AM_AUDREND_STAT_PARAM_SLAVE_MODE = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  12733. AM_AUDREND_STAT_PARAM_SILENCE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  12734. AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  12735. AM_AUDREND_STAT_PARAM_DISCONTINUITIES = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  12736. AM_AUDREND_STAT_PARAM_SLAVE_RATE = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  12737. AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  12738. AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  12739. AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  12740. AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  12741. AM_AUDREND_STAT_PARAM_BUFFERFULLNESS = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  12742. AM_AUDREND_STAT_PARAM_JITTER = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  12743. } ;
  12744. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
  12745. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
  12746. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  12747. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  12748. /* interface IAMAudioRendererStats */
  12749. /* [unique][uuid][object] */
  12750. EXTERN_C const IID IID_IAMAudioRendererStats;
  12751. #if defined(__cplusplus) && !defined(CINTERFACE)
  12752. MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  12753. IAMAudioRendererStats : public IUnknown
  12754. {
  12755. public:
  12756. virtual HRESULT STDMETHODCALLTYPE GetStatParam(
  12757. /* [in] */ DWORD dwParam,
  12758. /* [out] */ DWORD *pdwParam1,
  12759. /* [out] */ DWORD *pdwParam2) = 0;
  12760. };
  12761. #else /* C style interface */
  12762. typedef struct IAMAudioRendererStatsVtbl
  12763. {
  12764. BEGIN_INTERFACE
  12765. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12766. IAMAudioRendererStats * This,
  12767. /* [in] */ REFIID riid,
  12768. /* [iid_is][out] */ void **ppvObject);
  12769. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12770. IAMAudioRendererStats * This);
  12771. ULONG ( STDMETHODCALLTYPE *Release )(
  12772. IAMAudioRendererStats * This);
  12773. HRESULT ( STDMETHODCALLTYPE *GetStatParam )(
  12774. IAMAudioRendererStats * This,
  12775. /* [in] */ DWORD dwParam,
  12776. /* [out] */ DWORD *pdwParam1,
  12777. /* [out] */ DWORD *pdwParam2);
  12778. END_INTERFACE
  12779. } IAMAudioRendererStatsVtbl;
  12780. interface IAMAudioRendererStats
  12781. {
  12782. CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  12783. };
  12784. #ifdef COBJMACROS
  12785. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) \
  12786. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12787. #define IAMAudioRendererStats_AddRef(This) \
  12788. (This)->lpVtbl -> AddRef(This)
  12789. #define IAMAudioRendererStats_Release(This) \
  12790. (This)->lpVtbl -> Release(This)
  12791. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) \
  12792. (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  12793. #endif /* COBJMACROS */
  12794. #endif /* C style interface */
  12795. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy(
  12796. IAMAudioRendererStats * This,
  12797. /* [in] */ DWORD dwParam,
  12798. /* [out] */ DWORD *pdwParam1,
  12799. /* [out] */ DWORD *pdwParam2);
  12800. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  12801. IRpcStubBuffer *This,
  12802. IRpcChannelBuffer *_pRpcChannelBuffer,
  12803. PRPC_MESSAGE _pRpcMessage,
  12804. DWORD *_pdwStubPhase);
  12805. #endif /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  12806. /* interface __MIDL_itf_strmif_0357 */
  12807. /* [local] */
  12808. enum _AM_INTF_SEARCH_FLAGS
  12809. { AM_INTF_SEARCH_INPUT_PIN = 0x1,
  12810. AM_INTF_SEARCH_OUTPUT_PIN = 0x2,
  12811. AM_INTF_SEARCH_FILTER = 0x4
  12812. } ;
  12813. extern RPC_IF_HANDLE __MIDL_itf_strmif_0357_v0_0_c_ifspec;
  12814. extern RPC_IF_HANDLE __MIDL_itf_strmif_0357_v0_0_s_ifspec;
  12815. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  12816. #define __IAMGraphStreams_INTERFACE_DEFINED__
  12817. /* interface IAMGraphStreams */
  12818. /* [unique][uuid][object] */
  12819. EXTERN_C const IID IID_IAMGraphStreams;
  12820. #if defined(__cplusplus) && !defined(CINTERFACE)
  12821. MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  12822. IAMGraphStreams : public IUnknown
  12823. {
  12824. public:
  12825. virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface(
  12826. /* [in] */ IPin *pPin,
  12827. /* [in] */ REFIID riid,
  12828. /* [iid_is][out] */ void **ppvInterface,
  12829. /* [in] */ DWORD dwFlags) = 0;
  12830. virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset(
  12831. /* [in] */ BOOL bUseStreamOffset) = 0;
  12832. virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency(
  12833. /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  12834. };
  12835. #else /* C style interface */
  12836. typedef struct IAMGraphStreamsVtbl
  12837. {
  12838. BEGIN_INTERFACE
  12839. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12840. IAMGraphStreams * This,
  12841. /* [in] */ REFIID riid,
  12842. /* [iid_is][out] */ void **ppvObject);
  12843. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12844. IAMGraphStreams * This);
  12845. ULONG ( STDMETHODCALLTYPE *Release )(
  12846. IAMGraphStreams * This);
  12847. HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )(
  12848. IAMGraphStreams * This,
  12849. /* [in] */ IPin *pPin,
  12850. /* [in] */ REFIID riid,
  12851. /* [iid_is][out] */ void **ppvInterface,
  12852. /* [in] */ DWORD dwFlags);
  12853. HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )(
  12854. IAMGraphStreams * This,
  12855. /* [in] */ BOOL bUseStreamOffset);
  12856. HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )(
  12857. IAMGraphStreams * This,
  12858. /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  12859. END_INTERFACE
  12860. } IAMGraphStreamsVtbl;
  12861. interface IAMGraphStreams
  12862. {
  12863. CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  12864. };
  12865. #ifdef COBJMACROS
  12866. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) \
  12867. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12868. #define IAMGraphStreams_AddRef(This) \
  12869. (This)->lpVtbl -> AddRef(This)
  12870. #define IAMGraphStreams_Release(This) \
  12871. (This)->lpVtbl -> Release(This)
  12872. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) \
  12873. (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  12874. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) \
  12875. (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  12876. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) \
  12877. (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  12878. #endif /* COBJMACROS */
  12879. #endif /* C style interface */
  12880. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy(
  12881. IAMGraphStreams * This,
  12882. /* [in] */ IPin *pPin,
  12883. /* [in] */ REFIID riid,
  12884. /* [iid_is][out] */ void **ppvInterface,
  12885. /* [in] */ DWORD dwFlags);
  12886. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  12887. IRpcStubBuffer *This,
  12888. IRpcChannelBuffer *_pRpcChannelBuffer,
  12889. PRPC_MESSAGE _pRpcMessage,
  12890. DWORD *_pdwStubPhase);
  12891. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy(
  12892. IAMGraphStreams * This,
  12893. /* [in] */ BOOL bUseStreamOffset);
  12894. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  12895. IRpcStubBuffer *This,
  12896. IRpcChannelBuffer *_pRpcChannelBuffer,
  12897. PRPC_MESSAGE _pRpcMessage,
  12898. DWORD *_pdwStubPhase);
  12899. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy(
  12900. IAMGraphStreams * This,
  12901. /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  12902. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  12903. IRpcStubBuffer *This,
  12904. IRpcChannelBuffer *_pRpcChannelBuffer,
  12905. PRPC_MESSAGE _pRpcMessage,
  12906. DWORD *_pdwStubPhase);
  12907. #endif /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  12908. /* interface __MIDL_itf_strmif_0358 */
  12909. /* [local] */
  12910. enum AMOVERLAYFX
  12911. { AMOVERFX_NOFX = 0,
  12912. AMOVERFX_MIRRORLEFTRIGHT = 0x2,
  12913. AMOVERFX_MIRRORUPDOWN = 0x4,
  12914. AMOVERFX_DEINTERLACE = 0x8
  12915. } ;
  12916. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_c_ifspec;
  12917. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_s_ifspec;
  12918. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  12919. #define __IAMOverlayFX_INTERFACE_DEFINED__
  12920. /* interface IAMOverlayFX */
  12921. /* [unique][uuid][object] */
  12922. EXTERN_C const IID IID_IAMOverlayFX;
  12923. #if defined(__cplusplus) && !defined(CINTERFACE)
  12924. MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  12925. IAMOverlayFX : public IUnknown
  12926. {
  12927. public:
  12928. virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps(
  12929. /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  12930. virtual HRESULT STDMETHODCALLTYPE SetOverlayFX(
  12931. /* [in] */ DWORD dwOverlayFX) = 0;
  12932. virtual HRESULT STDMETHODCALLTYPE GetOverlayFX(
  12933. /* [out] */ DWORD *lpdwOverlayFX) = 0;
  12934. };
  12935. #else /* C style interface */
  12936. typedef struct IAMOverlayFXVtbl
  12937. {
  12938. BEGIN_INTERFACE
  12939. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12940. IAMOverlayFX * This,
  12941. /* [in] */ REFIID riid,
  12942. /* [iid_is][out] */ void **ppvObject);
  12943. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12944. IAMOverlayFX * This);
  12945. ULONG ( STDMETHODCALLTYPE *Release )(
  12946. IAMOverlayFX * This);
  12947. HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )(
  12948. IAMOverlayFX * This,
  12949. /* [out] */ DWORD *lpdwOverlayFXCaps);
  12950. HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )(
  12951. IAMOverlayFX * This,
  12952. /* [in] */ DWORD dwOverlayFX);
  12953. HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )(
  12954. IAMOverlayFX * This,
  12955. /* [out] */ DWORD *lpdwOverlayFX);
  12956. END_INTERFACE
  12957. } IAMOverlayFXVtbl;
  12958. interface IAMOverlayFX
  12959. {
  12960. CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  12961. };
  12962. #ifdef COBJMACROS
  12963. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) \
  12964. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12965. #define IAMOverlayFX_AddRef(This) \
  12966. (This)->lpVtbl -> AddRef(This)
  12967. #define IAMOverlayFX_Release(This) \
  12968. (This)->lpVtbl -> Release(This)
  12969. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) \
  12970. (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  12971. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) \
  12972. (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  12973. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) \
  12974. (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  12975. #endif /* COBJMACROS */
  12976. #endif /* C style interface */
  12977. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy(
  12978. IAMOverlayFX * This,
  12979. /* [out] */ DWORD *lpdwOverlayFXCaps);
  12980. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  12981. IRpcStubBuffer *This,
  12982. IRpcChannelBuffer *_pRpcChannelBuffer,
  12983. PRPC_MESSAGE _pRpcMessage,
  12984. DWORD *_pdwStubPhase);
  12985. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy(
  12986. IAMOverlayFX * This,
  12987. /* [in] */ DWORD dwOverlayFX);
  12988. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  12989. IRpcStubBuffer *This,
  12990. IRpcChannelBuffer *_pRpcChannelBuffer,
  12991. PRPC_MESSAGE _pRpcMessage,
  12992. DWORD *_pdwStubPhase);
  12993. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy(
  12994. IAMOverlayFX * This,
  12995. /* [out] */ DWORD *lpdwOverlayFX);
  12996. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  12997. IRpcStubBuffer *This,
  12998. IRpcChannelBuffer *_pRpcChannelBuffer,
  12999. PRPC_MESSAGE _pRpcMessage,
  13000. DWORD *_pdwStubPhase);
  13001. #endif /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  13002. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  13003. #define __IAMOpenProgress_INTERFACE_DEFINED__
  13004. /* interface IAMOpenProgress */
  13005. /* [unique][uuid][object] */
  13006. EXTERN_C const IID IID_IAMOpenProgress;
  13007. #if defined(__cplusplus) && !defined(CINTERFACE)
  13008. MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  13009. IAMOpenProgress : public IUnknown
  13010. {
  13011. public:
  13012. virtual HRESULT STDMETHODCALLTYPE QueryProgress(
  13013. /* [out] */ LONGLONG *pllTotal,
  13014. /* [out] */ LONGLONG *pllCurrent) = 0;
  13015. virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  13016. };
  13017. #else /* C style interface */
  13018. typedef struct IAMOpenProgressVtbl
  13019. {
  13020. BEGIN_INTERFACE
  13021. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13022. IAMOpenProgress * This,
  13023. /* [in] */ REFIID riid,
  13024. /* [iid_is][out] */ void **ppvObject);
  13025. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13026. IAMOpenProgress * This);
  13027. ULONG ( STDMETHODCALLTYPE *Release )(
  13028. IAMOpenProgress * This);
  13029. HRESULT ( STDMETHODCALLTYPE *QueryProgress )(
  13030. IAMOpenProgress * This,
  13031. /* [out] */ LONGLONG *pllTotal,
  13032. /* [out] */ LONGLONG *pllCurrent);
  13033. HRESULT ( STDMETHODCALLTYPE *AbortOperation )(
  13034. IAMOpenProgress * This);
  13035. END_INTERFACE
  13036. } IAMOpenProgressVtbl;
  13037. interface IAMOpenProgress
  13038. {
  13039. CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  13040. };
  13041. #ifdef COBJMACROS
  13042. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) \
  13043. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13044. #define IAMOpenProgress_AddRef(This) \
  13045. (This)->lpVtbl -> AddRef(This)
  13046. #define IAMOpenProgress_Release(This) \
  13047. (This)->lpVtbl -> Release(This)
  13048. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) \
  13049. (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  13050. #define IAMOpenProgress_AbortOperation(This) \
  13051. (This)->lpVtbl -> AbortOperation(This)
  13052. #endif /* COBJMACROS */
  13053. #endif /* C style interface */
  13054. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy(
  13055. IAMOpenProgress * This,
  13056. /* [out] */ LONGLONG *pllTotal,
  13057. /* [out] */ LONGLONG *pllCurrent);
  13058. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  13059. IRpcStubBuffer *This,
  13060. IRpcChannelBuffer *_pRpcChannelBuffer,
  13061. PRPC_MESSAGE _pRpcMessage,
  13062. DWORD *_pdwStubPhase);
  13063. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy(
  13064. IAMOpenProgress * This);
  13065. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  13066. IRpcStubBuffer *This,
  13067. IRpcChannelBuffer *_pRpcChannelBuffer,
  13068. PRPC_MESSAGE _pRpcMessage,
  13069. DWORD *_pdwStubPhase);
  13070. #endif /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  13071. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  13072. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  13073. /* interface IMpeg2Demultiplexer */
  13074. /* [unique][uuid][local][object] */
  13075. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  13076. #if defined(__cplusplus) && !defined(CINTERFACE)
  13077. MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  13078. IMpeg2Demultiplexer : public IUnknown
  13079. {
  13080. public:
  13081. virtual HRESULT STDMETHODCALLTYPE CreateOutputPin(
  13082. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13083. /* [in] */ LPWSTR pszPinName,
  13084. /* [out] */ IPin **ppIPin) = 0;
  13085. virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType(
  13086. /* [in] */ LPWSTR pszPinName,
  13087. /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  13088. virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin(
  13089. /* [in] */ LPWSTR pszPinName) = 0;
  13090. };
  13091. #else /* C style interface */
  13092. typedef struct IMpeg2DemultiplexerVtbl
  13093. {
  13094. BEGIN_INTERFACE
  13095. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13096. IMpeg2Demultiplexer * This,
  13097. /* [in] */ REFIID riid,
  13098. /* [iid_is][out] */ void **ppvObject);
  13099. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13100. IMpeg2Demultiplexer * This);
  13101. ULONG ( STDMETHODCALLTYPE *Release )(
  13102. IMpeg2Demultiplexer * This);
  13103. HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )(
  13104. IMpeg2Demultiplexer * This,
  13105. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13106. /* [in] */ LPWSTR pszPinName,
  13107. /* [out] */ IPin **ppIPin);
  13108. HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )(
  13109. IMpeg2Demultiplexer * This,
  13110. /* [in] */ LPWSTR pszPinName,
  13111. /* [in] */ AM_MEDIA_TYPE *pMediaType);
  13112. HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )(
  13113. IMpeg2Demultiplexer * This,
  13114. /* [in] */ LPWSTR pszPinName);
  13115. END_INTERFACE
  13116. } IMpeg2DemultiplexerVtbl;
  13117. interface IMpeg2Demultiplexer
  13118. {
  13119. CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  13120. };
  13121. #ifdef COBJMACROS
  13122. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) \
  13123. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13124. #define IMpeg2Demultiplexer_AddRef(This) \
  13125. (This)->lpVtbl -> AddRef(This)
  13126. #define IMpeg2Demultiplexer_Release(This) \
  13127. (This)->lpVtbl -> Release(This)
  13128. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) \
  13129. (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  13130. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) \
  13131. (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  13132. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) \
  13133. (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  13134. #endif /* COBJMACROS */
  13135. #endif /* C style interface */
  13136. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy(
  13137. IMpeg2Demultiplexer * This,
  13138. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13139. /* [in] */ LPWSTR pszPinName,
  13140. /* [out] */ IPin **ppIPin);
  13141. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  13142. IRpcStubBuffer *This,
  13143. IRpcChannelBuffer *_pRpcChannelBuffer,
  13144. PRPC_MESSAGE _pRpcMessage,
  13145. DWORD *_pdwStubPhase);
  13146. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(
  13147. IMpeg2Demultiplexer * This,
  13148. /* [in] */ LPWSTR pszPinName,
  13149. /* [in] */ AM_MEDIA_TYPE *pMediaType);
  13150. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  13151. IRpcStubBuffer *This,
  13152. IRpcChannelBuffer *_pRpcChannelBuffer,
  13153. PRPC_MESSAGE _pRpcMessage,
  13154. DWORD *_pdwStubPhase);
  13155. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy(
  13156. IMpeg2Demultiplexer * This,
  13157. /* [in] */ LPWSTR pszPinName);
  13158. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  13159. IRpcStubBuffer *This,
  13160. IRpcChannelBuffer *_pRpcChannelBuffer,
  13161. PRPC_MESSAGE _pRpcMessage,
  13162. DWORD *_pdwStubPhase);
  13163. #endif /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  13164. /* interface __MIDL_itf_strmif_0361 */
  13165. /* [local] */
  13166. #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
  13167. #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
  13168. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
  13169. #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
  13170. #define MPEG2_PROGRAM_PES_STREAM 0x00000004
  13171. #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
  13172. #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
  13173. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0361_0001
  13174. {
  13175. ULONG stream_id;
  13176. DWORD dwMediaSampleContent;
  13177. ULONG ulSubstreamFilterValue;
  13178. int iDataOffset;
  13179. } STREAM_ID_MAP;
  13180. extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_c_ifspec;
  13181. extern RPC_IF_HANDLE __MIDL_itf_strmif_0361_v0_0_s_ifspec;
  13182. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  13183. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  13184. /* interface IEnumStreamIdMap */
  13185. /* [unique][uuid][local][object] */
  13186. EXTERN_C const IID IID_IEnumStreamIdMap;
  13187. #if defined(__cplusplus) && !defined(CINTERFACE)
  13188. MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  13189. IEnumStreamIdMap : public IUnknown
  13190. {
  13191. public:
  13192. virtual HRESULT STDMETHODCALLTYPE Next(
  13193. /* [in] */ ULONG cRequest,
  13194. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13195. /* [out] */ ULONG *pcReceived) = 0;
  13196. virtual HRESULT STDMETHODCALLTYPE Skip(
  13197. /* [in] */ ULONG cRecords) = 0;
  13198. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  13199. virtual HRESULT STDMETHODCALLTYPE Clone(
  13200. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  13201. };
  13202. #else /* C style interface */
  13203. typedef struct IEnumStreamIdMapVtbl
  13204. {
  13205. BEGIN_INTERFACE
  13206. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13207. IEnumStreamIdMap * This,
  13208. /* [in] */ REFIID riid,
  13209. /* [iid_is][out] */ void **ppvObject);
  13210. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13211. IEnumStreamIdMap * This);
  13212. ULONG ( STDMETHODCALLTYPE *Release )(
  13213. IEnumStreamIdMap * This);
  13214. HRESULT ( STDMETHODCALLTYPE *Next )(
  13215. IEnumStreamIdMap * This,
  13216. /* [in] */ ULONG cRequest,
  13217. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13218. /* [out] */ ULONG *pcReceived);
  13219. HRESULT ( STDMETHODCALLTYPE *Skip )(
  13220. IEnumStreamIdMap * This,
  13221. /* [in] */ ULONG cRecords);
  13222. HRESULT ( STDMETHODCALLTYPE *Reset )(
  13223. IEnumStreamIdMap * This);
  13224. HRESULT ( STDMETHODCALLTYPE *Clone )(
  13225. IEnumStreamIdMap * This,
  13226. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13227. END_INTERFACE
  13228. } IEnumStreamIdMapVtbl;
  13229. interface IEnumStreamIdMap
  13230. {
  13231. CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  13232. };
  13233. #ifdef COBJMACROS
  13234. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) \
  13235. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13236. #define IEnumStreamIdMap_AddRef(This) \
  13237. (This)->lpVtbl -> AddRef(This)
  13238. #define IEnumStreamIdMap_Release(This) \
  13239. (This)->lpVtbl -> Release(This)
  13240. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) \
  13241. (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  13242. #define IEnumStreamIdMap_Skip(This,cRecords) \
  13243. (This)->lpVtbl -> Skip(This,cRecords)
  13244. #define IEnumStreamIdMap_Reset(This) \
  13245. (This)->lpVtbl -> Reset(This)
  13246. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) \
  13247. (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  13248. #endif /* COBJMACROS */
  13249. #endif /* C style interface */
  13250. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy(
  13251. IEnumStreamIdMap * This,
  13252. /* [in] */ ULONG cRequest,
  13253. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13254. /* [out] */ ULONG *pcReceived);
  13255. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  13256. IRpcStubBuffer *This,
  13257. IRpcChannelBuffer *_pRpcChannelBuffer,
  13258. PRPC_MESSAGE _pRpcMessage,
  13259. DWORD *_pdwStubPhase);
  13260. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy(
  13261. IEnumStreamIdMap * This,
  13262. /* [in] */ ULONG cRecords);
  13263. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  13264. IRpcStubBuffer *This,
  13265. IRpcChannelBuffer *_pRpcChannelBuffer,
  13266. PRPC_MESSAGE _pRpcMessage,
  13267. DWORD *_pdwStubPhase);
  13268. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy(
  13269. IEnumStreamIdMap * This);
  13270. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  13271. IRpcStubBuffer *This,
  13272. IRpcChannelBuffer *_pRpcChannelBuffer,
  13273. PRPC_MESSAGE _pRpcMessage,
  13274. DWORD *_pdwStubPhase);
  13275. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy(
  13276. IEnumStreamIdMap * This,
  13277. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13278. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  13279. IRpcStubBuffer *This,
  13280. IRpcChannelBuffer *_pRpcChannelBuffer,
  13281. PRPC_MESSAGE _pRpcMessage,
  13282. DWORD *_pdwStubPhase);
  13283. #endif /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  13284. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  13285. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  13286. /* interface IMPEG2StreamIdMap */
  13287. /* [unique][uuid][local][object] */
  13288. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  13289. #if defined(__cplusplus) && !defined(CINTERFACE)
  13290. MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  13291. IMPEG2StreamIdMap : public IUnknown
  13292. {
  13293. public:
  13294. virtual HRESULT STDMETHODCALLTYPE MapStreamId(
  13295. /* [in] */ ULONG ulStreamId,
  13296. /* [in] */ DWORD MediaSampleContent,
  13297. /* [in] */ ULONG ulSubstreamFilterValue,
  13298. /* [in] */ int iDataOffset) = 0;
  13299. virtual HRESULT STDMETHODCALLTYPE UnmapStreamId(
  13300. /* [in] */ ULONG culStreamId,
  13301. /* [in] */ ULONG *pulStreamId) = 0;
  13302. virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap(
  13303. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  13304. };
  13305. #else /* C style interface */
  13306. typedef struct IMPEG2StreamIdMapVtbl
  13307. {
  13308. BEGIN_INTERFACE
  13309. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13310. IMPEG2StreamIdMap * This,
  13311. /* [in] */ REFIID riid,
  13312. /* [iid_is][out] */ void **ppvObject);
  13313. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13314. IMPEG2StreamIdMap * This);
  13315. ULONG ( STDMETHODCALLTYPE *Release )(
  13316. IMPEG2StreamIdMap * This);
  13317. HRESULT ( STDMETHODCALLTYPE *MapStreamId )(
  13318. IMPEG2StreamIdMap * This,
  13319. /* [in] */ ULONG ulStreamId,
  13320. /* [in] */ DWORD MediaSampleContent,
  13321. /* [in] */ ULONG ulSubstreamFilterValue,
  13322. /* [in] */ int iDataOffset);
  13323. HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )(
  13324. IMPEG2StreamIdMap * This,
  13325. /* [in] */ ULONG culStreamId,
  13326. /* [in] */ ULONG *pulStreamId);
  13327. HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )(
  13328. IMPEG2StreamIdMap * This,
  13329. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13330. END_INTERFACE
  13331. } IMPEG2StreamIdMapVtbl;
  13332. interface IMPEG2StreamIdMap
  13333. {
  13334. CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  13335. };
  13336. #ifdef COBJMACROS
  13337. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) \
  13338. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13339. #define IMPEG2StreamIdMap_AddRef(This) \
  13340. (This)->lpVtbl -> AddRef(This)
  13341. #define IMPEG2StreamIdMap_Release(This) \
  13342. (This)->lpVtbl -> Release(This)
  13343. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) \
  13344. (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  13345. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) \
  13346. (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  13347. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) \
  13348. (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  13349. #endif /* COBJMACROS */
  13350. #endif /* C style interface */
  13351. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy(
  13352. IMPEG2StreamIdMap * This,
  13353. /* [in] */ ULONG ulStreamId,
  13354. /* [in] */ DWORD MediaSampleContent,
  13355. /* [in] */ ULONG ulSubstreamFilterValue,
  13356. /* [in] */ int iDataOffset);
  13357. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  13358. IRpcStubBuffer *This,
  13359. IRpcChannelBuffer *_pRpcChannelBuffer,
  13360. PRPC_MESSAGE _pRpcMessage,
  13361. DWORD *_pdwStubPhase);
  13362. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy(
  13363. IMPEG2StreamIdMap * This,
  13364. /* [in] */ ULONG culStreamId,
  13365. /* [in] */ ULONG *pulStreamId);
  13366. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  13367. IRpcStubBuffer *This,
  13368. IRpcChannelBuffer *_pRpcChannelBuffer,
  13369. PRPC_MESSAGE _pRpcMessage,
  13370. DWORD *_pdwStubPhase);
  13371. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(
  13372. IMPEG2StreamIdMap * This,
  13373. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13374. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  13375. IRpcStubBuffer *This,
  13376. IRpcChannelBuffer *_pRpcChannelBuffer,
  13377. PRPC_MESSAGE _pRpcMessage,
  13378. DWORD *_pdwStubPhase);
  13379. #endif /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  13380. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  13381. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  13382. /* interface IRegisterServiceProvider */
  13383. /* [unique][uuid][local][object] */
  13384. EXTERN_C const IID IID_IRegisterServiceProvider;
  13385. #if defined(__cplusplus) && !defined(CINTERFACE)
  13386. MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  13387. IRegisterServiceProvider : public IUnknown
  13388. {
  13389. public:
  13390. virtual HRESULT STDMETHODCALLTYPE RegisterService(
  13391. /* [in] */ REFGUID guidService,
  13392. /* [in] */ IUnknown *pUnkObject) = 0;
  13393. };
  13394. #else /* C style interface */
  13395. typedef struct IRegisterServiceProviderVtbl
  13396. {
  13397. BEGIN_INTERFACE
  13398. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13399. IRegisterServiceProvider * This,
  13400. /* [in] */ REFIID riid,
  13401. /* [iid_is][out] */ void **ppvObject);
  13402. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13403. IRegisterServiceProvider * This);
  13404. ULONG ( STDMETHODCALLTYPE *Release )(
  13405. IRegisterServiceProvider * This);
  13406. HRESULT ( STDMETHODCALLTYPE *RegisterService )(
  13407. IRegisterServiceProvider * This,
  13408. /* [in] */ REFGUID guidService,
  13409. /* [in] */ IUnknown *pUnkObject);
  13410. END_INTERFACE
  13411. } IRegisterServiceProviderVtbl;
  13412. interface IRegisterServiceProvider
  13413. {
  13414. CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  13415. };
  13416. #ifdef COBJMACROS
  13417. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) \
  13418. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13419. #define IRegisterServiceProvider_AddRef(This) \
  13420. (This)->lpVtbl -> AddRef(This)
  13421. #define IRegisterServiceProvider_Release(This) \
  13422. (This)->lpVtbl -> Release(This)
  13423. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) \
  13424. (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  13425. #endif /* COBJMACROS */
  13426. #endif /* C style interface */
  13427. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy(
  13428. IRegisterServiceProvider * This,
  13429. /* [in] */ REFGUID guidService,
  13430. /* [in] */ IUnknown *pUnkObject);
  13431. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  13432. IRpcStubBuffer *This,
  13433. IRpcChannelBuffer *_pRpcChannelBuffer,
  13434. PRPC_MESSAGE _pRpcMessage,
  13435. DWORD *_pdwStubPhase);
  13436. #endif /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  13437. /* interface __MIDL_itf_strmif_0364 */
  13438. /* [local] */
  13439. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
  13440. #define VMR_NOTSUPPORTED 0x00000000
  13441. #define VMR_SUPPORTED 0x00000001
  13442. #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
  13443. #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
  13444. #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
  13445. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
  13446. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
  13447. #define DECODER_CAP_NOTSUPPORTED 0x00000000
  13448. #define DECODER_CAP_SUPPORTED 0x00000001
  13449. extern RPC_IF_HANDLE __MIDL_itf_strmif_0364_v0_0_c_ifspec;
  13450. extern RPC_IF_HANDLE __MIDL_itf_strmif_0364_v0_0_s_ifspec;
  13451. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  13452. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  13453. /* interface IAMDecoderCaps */
  13454. /* [unique][uuid][local][object] */
  13455. EXTERN_C const IID IID_IAMDecoderCaps;
  13456. #if defined(__cplusplus) && !defined(CINTERFACE)
  13457. MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  13458. IAMDecoderCaps : public IUnknown
  13459. {
  13460. public:
  13461. virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
  13462. /* [in] */ DWORD dwCapIndex,
  13463. /* [out] */ DWORD *lpdwCap) = 0;
  13464. };
  13465. #else /* C style interface */
  13466. typedef struct IAMDecoderCapsVtbl
  13467. {
  13468. BEGIN_INTERFACE
  13469. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13470. IAMDecoderCaps * This,
  13471. /* [in] */ REFIID riid,
  13472. /* [iid_is][out] */ void **ppvObject);
  13473. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13474. IAMDecoderCaps * This);
  13475. ULONG ( STDMETHODCALLTYPE *Release )(
  13476. IAMDecoderCaps * This);
  13477. HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
  13478. IAMDecoderCaps * This,
  13479. /* [in] */ DWORD dwCapIndex,
  13480. /* [out] */ DWORD *lpdwCap);
  13481. END_INTERFACE
  13482. } IAMDecoderCapsVtbl;
  13483. interface IAMDecoderCaps
  13484. {
  13485. CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  13486. };
  13487. #ifdef COBJMACROS
  13488. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) \
  13489. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13490. #define IAMDecoderCaps_AddRef(This) \
  13491. (This)->lpVtbl -> AddRef(This)
  13492. #define IAMDecoderCaps_Release(This) \
  13493. (This)->lpVtbl -> Release(This)
  13494. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) \
  13495. (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  13496. #endif /* COBJMACROS */
  13497. #endif /* C style interface */
  13498. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy(
  13499. IAMDecoderCaps * This,
  13500. /* [in] */ DWORD dwCapIndex,
  13501. /* [out] */ DWORD *lpdwCap);
  13502. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  13503. IRpcStubBuffer *This,
  13504. IRpcChannelBuffer *_pRpcChannelBuffer,
  13505. PRPC_MESSAGE _pRpcMessage,
  13506. DWORD *_pdwStubPhase);
  13507. #endif /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  13508. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  13509. #define __IAMClockSlave_INTERFACE_DEFINED__
  13510. /* interface IAMClockSlave */
  13511. /* [unique][uuid][object] */
  13512. EXTERN_C const IID IID_IAMClockSlave;
  13513. #if defined(__cplusplus) && !defined(CINTERFACE)
  13514. MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  13515. IAMClockSlave : public IUnknown
  13516. {
  13517. public:
  13518. virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(
  13519. /* [in] */ DWORD dwTolerance) = 0;
  13520. virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(
  13521. /* [out] */ DWORD *pdwTolerance) = 0;
  13522. };
  13523. #else /* C style interface */
  13524. typedef struct IAMClockSlaveVtbl
  13525. {
  13526. BEGIN_INTERFACE
  13527. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13528. IAMClockSlave * This,
  13529. /* [in] */ REFIID riid,
  13530. /* [iid_is][out] */ void **ppvObject);
  13531. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13532. IAMClockSlave * This);
  13533. ULONG ( STDMETHODCALLTYPE *Release )(
  13534. IAMClockSlave * This);
  13535. HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )(
  13536. IAMClockSlave * This,
  13537. /* [in] */ DWORD dwTolerance);
  13538. HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )(
  13539. IAMClockSlave * This,
  13540. /* [out] */ DWORD *pdwTolerance);
  13541. END_INTERFACE
  13542. } IAMClockSlaveVtbl;
  13543. interface IAMClockSlave
  13544. {
  13545. CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  13546. };
  13547. #ifdef COBJMACROS
  13548. #define IAMClockSlave_QueryInterface(This,riid,ppvObject) \
  13549. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13550. #define IAMClockSlave_AddRef(This) \
  13551. (This)->lpVtbl -> AddRef(This)
  13552. #define IAMClockSlave_Release(This) \
  13553. (This)->lpVtbl -> Release(This)
  13554. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) \
  13555. (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  13556. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) \
  13557. (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  13558. #endif /* COBJMACROS */
  13559. #endif /* C style interface */
  13560. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy(
  13561. IAMClockSlave * This,
  13562. /* [in] */ DWORD dwTolerance);
  13563. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  13564. IRpcStubBuffer *This,
  13565. IRpcChannelBuffer *_pRpcChannelBuffer,
  13566. PRPC_MESSAGE _pRpcMessage,
  13567. DWORD *_pdwStubPhase);
  13568. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy(
  13569. IAMClockSlave * This,
  13570. /* [out] */ DWORD *pdwTolerance);
  13571. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  13572. IRpcStubBuffer *This,
  13573. IRpcChannelBuffer *_pRpcChannelBuffer,
  13574. PRPC_MESSAGE _pRpcMessage,
  13575. DWORD *_pdwStubPhase);
  13576. #endif /* __IAMClockSlave_INTERFACE_DEFINED__ */
  13577. /* interface __MIDL_itf_strmif_0366 */
  13578. /* [local] */
  13579. typedef /* [public] */
  13580. enum __MIDL___MIDL_itf_strmif_0366_0001
  13581. { VideoEncoder_BitRate = 0,
  13582. VideoEncoder_BitRate_Mode = VideoEncoder_BitRate + 1
  13583. } VIDEOENCODER_API;
  13584. #ifndef __ENCODER_API_DEFINES__
  13585. #define __ENCODER_API_DEFINES__
  13586. typedef /* [public] */
  13587. enum __MIDL___MIDL_itf_strmif_0366_0002
  13588. { ConstantBitRate = 0,
  13589. VariableBitRateAverage = ConstantBitRate + 1,
  13590. VariableBitRatePeak = VariableBitRateAverage + 1
  13591. } VIDEOENCODER_BITRATE_MODE;
  13592. #endif // __ENCODER_API_DEFINES__
  13593. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_c_ifspec;
  13594. extern RPC_IF_HANDLE __MIDL_itf_strmif_0366_v0_0_s_ifspec;
  13595. #ifndef __IEncoderAPI_INTERFACE_DEFINED__
  13596. #define __IEncoderAPI_INTERFACE_DEFINED__
  13597. /* interface IEncoderAPI */
  13598. /* [unique][uuid][object] */
  13599. EXTERN_C const IID IID_IEncoderAPI;
  13600. #if defined(__cplusplus) && !defined(CINTERFACE)
  13601. MIDL_INTERFACE("70423839-6ACC-4b23-B079-21DBF08156A5")
  13602. IEncoderAPI : public IUnknown
  13603. {
  13604. public:
  13605. virtual HRESULT STDMETHODCALLTYPE IsSupported(
  13606. /* [in] */ const GUID *Api) = 0;
  13607. virtual HRESULT STDMETHODCALLTYPE IsAvailable(
  13608. /* [in] */ const GUID *Api) = 0;
  13609. virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
  13610. /* [in] */ const GUID *Api,
  13611. /* [out] */ VARIANT *ValueMin,
  13612. /* [out] */ VARIANT *ValueMax,
  13613. /* [out] */ VARIANT *SteppingDelta) = 0;
  13614. virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
  13615. /* [in] */ const GUID *Api,
  13616. /* [size_is][size_is][out] */ VARIANT **Values,
  13617. /* [out] */ ULONG *ValuesCount) = 0;
  13618. virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
  13619. /* [in] */ const GUID *Api,
  13620. /* [out] */ VARIANT *Value) = 0;
  13621. virtual HRESULT STDMETHODCALLTYPE GetValue(
  13622. /* [in] */ const GUID *Api,
  13623. /* [out] */ VARIANT *Value) = 0;
  13624. virtual HRESULT STDMETHODCALLTYPE SetValue(
  13625. /* [in] */ const GUID *Api,
  13626. /* [in] */ VARIANT *Value) = 0;
  13627. };
  13628. #else /* C style interface */
  13629. typedef struct IEncoderAPIVtbl
  13630. {
  13631. BEGIN_INTERFACE
  13632. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13633. IEncoderAPI * This,
  13634. /* [in] */ REFIID riid,
  13635. /* [iid_is][out] */ void **ppvObject);
  13636. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13637. IEncoderAPI * This);
  13638. ULONG ( STDMETHODCALLTYPE *Release )(
  13639. IEncoderAPI * This);
  13640. HRESULT ( STDMETHODCALLTYPE *IsSupported )(
  13641. IEncoderAPI * This,
  13642. /* [in] */ const GUID *Api);
  13643. HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
  13644. IEncoderAPI * This,
  13645. /* [in] */ const GUID *Api);
  13646. HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
  13647. IEncoderAPI * This,
  13648. /* [in] */ const GUID *Api,
  13649. /* [out] */ VARIANT *ValueMin,
  13650. /* [out] */ VARIANT *ValueMax,
  13651. /* [out] */ VARIANT *SteppingDelta);
  13652. HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
  13653. IEncoderAPI * This,
  13654. /* [in] */ const GUID *Api,
  13655. /* [size_is][size_is][out] */ VARIANT **Values,
  13656. /* [out] */ ULONG *ValuesCount);
  13657. HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
  13658. IEncoderAPI * This,
  13659. /* [in] */ const GUID *Api,
  13660. /* [out] */ VARIANT *Value);
  13661. HRESULT ( STDMETHODCALLTYPE *GetValue )(
  13662. IEncoderAPI * This,
  13663. /* [in] */ const GUID *Api,
  13664. /* [out] */ VARIANT *Value);
  13665. HRESULT ( STDMETHODCALLTYPE *SetValue )(
  13666. IEncoderAPI * This,
  13667. /* [in] */ const GUID *Api,
  13668. /* [in] */ VARIANT *Value);
  13669. END_INTERFACE
  13670. } IEncoderAPIVtbl;
  13671. interface IEncoderAPI
  13672. {
  13673. CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
  13674. };
  13675. #ifdef COBJMACROS
  13676. #define IEncoderAPI_QueryInterface(This,riid,ppvObject) \
  13677. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13678. #define IEncoderAPI_AddRef(This) \
  13679. (This)->lpVtbl -> AddRef(This)
  13680. #define IEncoderAPI_Release(This) \
  13681. (This)->lpVtbl -> Release(This)
  13682. #define IEncoderAPI_IsSupported(This,Api) \
  13683. (This)->lpVtbl -> IsSupported(This,Api)
  13684. #define IEncoderAPI_IsAvailable(This,Api) \
  13685. (This)->lpVtbl -> IsAvailable(This,Api)
  13686. #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) \
  13687. (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  13688. #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) \
  13689. (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  13690. #define IEncoderAPI_GetDefaultValue(This,Api,Value) \
  13691. (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  13692. #define IEncoderAPI_GetValue(This,Api,Value) \
  13693. (This)->lpVtbl -> GetValue(This,Api,Value)
  13694. #define IEncoderAPI_SetValue(This,Api,Value) \
  13695. (This)->lpVtbl -> SetValue(This,Api,Value)
  13696. #endif /* COBJMACROS */
  13697. #endif /* C style interface */
  13698. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsSupported_Proxy(
  13699. IEncoderAPI * This,
  13700. /* [in] */ const GUID *Api);
  13701. void __RPC_STUB IEncoderAPI_IsSupported_Stub(
  13702. IRpcStubBuffer *This,
  13703. IRpcChannelBuffer *_pRpcChannelBuffer,
  13704. PRPC_MESSAGE _pRpcMessage,
  13705. DWORD *_pdwStubPhase);
  13706. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsAvailable_Proxy(
  13707. IEncoderAPI * This,
  13708. /* [in] */ const GUID *Api);
  13709. void __RPC_STUB IEncoderAPI_IsAvailable_Stub(
  13710. IRpcStubBuffer *This,
  13711. IRpcChannelBuffer *_pRpcChannelBuffer,
  13712. PRPC_MESSAGE _pRpcMessage,
  13713. DWORD *_pdwStubPhase);
  13714. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterRange_Proxy(
  13715. IEncoderAPI * This,
  13716. /* [in] */ const GUID *Api,
  13717. /* [out] */ VARIANT *ValueMin,
  13718. /* [out] */ VARIANT *ValueMax,
  13719. /* [out] */ VARIANT *SteppingDelta);
  13720. void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(
  13721. IRpcStubBuffer *This,
  13722. IRpcChannelBuffer *_pRpcChannelBuffer,
  13723. PRPC_MESSAGE _pRpcMessage,
  13724. DWORD *_pdwStubPhase);
  13725. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterValues_Proxy(
  13726. IEncoderAPI * This,
  13727. /* [in] */ const GUID *Api,
  13728. /* [size_is][size_is][out] */ VARIANT **Values,
  13729. /* [out] */ ULONG *ValuesCount);
  13730. void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(
  13731. IRpcStubBuffer *This,
  13732. IRpcChannelBuffer *_pRpcChannelBuffer,
  13733. PRPC_MESSAGE _pRpcMessage,
  13734. DWORD *_pdwStubPhase);
  13735. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetDefaultValue_Proxy(
  13736. IEncoderAPI * This,
  13737. /* [in] */ const GUID *Api,
  13738. /* [out] */ VARIANT *Value);
  13739. void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(
  13740. IRpcStubBuffer *This,
  13741. IRpcChannelBuffer *_pRpcChannelBuffer,
  13742. PRPC_MESSAGE _pRpcMessage,
  13743. DWORD *_pdwStubPhase);
  13744. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetValue_Proxy(
  13745. IEncoderAPI * This,
  13746. /* [in] */ const GUID *Api,
  13747. /* [out] */ VARIANT *Value);
  13748. void __RPC_STUB IEncoderAPI_GetValue_Stub(
  13749. IRpcStubBuffer *This,
  13750. IRpcChannelBuffer *_pRpcChannelBuffer,
  13751. PRPC_MESSAGE _pRpcMessage,
  13752. DWORD *_pdwStubPhase);
  13753. HRESULT STDMETHODCALLTYPE IEncoderAPI_SetValue_Proxy(
  13754. IEncoderAPI * This,
  13755. /* [in] */ const GUID *Api,
  13756. /* [in] */ VARIANT *Value);
  13757. void __RPC_STUB IEncoderAPI_SetValue_Stub(
  13758. IRpcStubBuffer *This,
  13759. IRpcChannelBuffer *_pRpcChannelBuffer,
  13760. PRPC_MESSAGE _pRpcMessage,
  13761. DWORD *_pdwStubPhase);
  13762. #endif /* __IEncoderAPI_INTERFACE_DEFINED__ */
  13763. #ifndef __IVideoEncoder_INTERFACE_DEFINED__
  13764. #define __IVideoEncoder_INTERFACE_DEFINED__
  13765. /* interface IVideoEncoder */
  13766. /* [unique][uuid][object] */
  13767. EXTERN_C const IID IID_IVideoEncoder;
  13768. #if defined(__cplusplus) && !defined(CINTERFACE)
  13769. MIDL_INTERFACE("02997C3B-8E1B-460e-9270-545E0DE9563E")
  13770. IVideoEncoder : public IEncoderAPI
  13771. {
  13772. public:
  13773. };
  13774. #else /* C style interface */
  13775. typedef struct IVideoEncoderVtbl
  13776. {
  13777. BEGIN_INTERFACE
  13778. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13779. IVideoEncoder * This,
  13780. /* [in] */ REFIID riid,
  13781. /* [iid_is][out] */ void **ppvObject);
  13782. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13783. IVideoEncoder * This);
  13784. ULONG ( STDMETHODCALLTYPE *Release )(
  13785. IVideoEncoder * This);
  13786. HRESULT ( STDMETHODCALLTYPE *IsSupported )(
  13787. IVideoEncoder * This,
  13788. /* [in] */ const GUID *Api);
  13789. HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
  13790. IVideoEncoder * This,
  13791. /* [in] */ const GUID *Api);
  13792. HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
  13793. IVideoEncoder * This,
  13794. /* [in] */ const GUID *Api,
  13795. /* [out] */ VARIANT *ValueMin,
  13796. /* [out] */ VARIANT *ValueMax,
  13797. /* [out] */ VARIANT *SteppingDelta);
  13798. HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
  13799. IVideoEncoder * This,
  13800. /* [in] */ const GUID *Api,
  13801. /* [size_is][size_is][out] */ VARIANT **Values,
  13802. /* [out] */ ULONG *ValuesCount);
  13803. HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
  13804. IVideoEncoder * This,
  13805. /* [in] */ const GUID *Api,
  13806. /* [out] */ VARIANT *Value);
  13807. HRESULT ( STDMETHODCALLTYPE *GetValue )(
  13808. IVideoEncoder * This,
  13809. /* [in] */ const GUID *Api,
  13810. /* [out] */ VARIANT *Value);
  13811. HRESULT ( STDMETHODCALLTYPE *SetValue )(
  13812. IVideoEncoder * This,
  13813. /* [in] */ const GUID *Api,
  13814. /* [in] */ VARIANT *Value);
  13815. END_INTERFACE
  13816. } IVideoEncoderVtbl;
  13817. interface IVideoEncoder
  13818. {
  13819. CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
  13820. };
  13821. #ifdef COBJMACROS
  13822. #define IVideoEncoder_QueryInterface(This,riid,ppvObject) \
  13823. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13824. #define IVideoEncoder_AddRef(This) \
  13825. (This)->lpVtbl -> AddRef(This)
  13826. #define IVideoEncoder_Release(This) \
  13827. (This)->lpVtbl -> Release(This)
  13828. #define IVideoEncoder_IsSupported(This,Api) \
  13829. (This)->lpVtbl -> IsSupported(This,Api)
  13830. #define IVideoEncoder_IsAvailable(This,Api) \
  13831. (This)->lpVtbl -> IsAvailable(This,Api)
  13832. #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) \
  13833. (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  13834. #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) \
  13835. (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  13836. #define IVideoEncoder_GetDefaultValue(This,Api,Value) \
  13837. (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  13838. #define IVideoEncoder_GetValue(This,Api,Value) \
  13839. (This)->lpVtbl -> GetValue(This,Api,Value)
  13840. #define IVideoEncoder_SetValue(This,Api,Value) \
  13841. (This)->lpVtbl -> SetValue(This,Api,Value)
  13842. #endif /* COBJMACROS */
  13843. #endif /* C style interface */
  13844. #endif /* __IVideoEncoder_INTERFACE_DEFINED__ */
  13845. #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  13846. #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  13847. /* interface IAMGraphBuilderCallback */
  13848. /* [unique][local][uuid][object] */
  13849. EXTERN_C const IID IID_IAMGraphBuilderCallback;
  13850. #if defined(__cplusplus) && !defined(CINTERFACE)
  13851. MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
  13852. IAMGraphBuilderCallback : public IUnknown
  13853. {
  13854. public:
  13855. virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
  13856. /* [in] */ IMoniker *pMon) = 0;
  13857. virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
  13858. /* [in] */ IBaseFilter *pFil) = 0;
  13859. };
  13860. #else /* C style interface */
  13861. typedef struct IAMGraphBuilderCallbackVtbl
  13862. {
  13863. BEGIN_INTERFACE
  13864. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13865. IAMGraphBuilderCallback * This,
  13866. /* [in] */ REFIID riid,
  13867. /* [iid_is][out] */ void **ppvObject);
  13868. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13869. IAMGraphBuilderCallback * This);
  13870. ULONG ( STDMETHODCALLTYPE *Release )(
  13871. IAMGraphBuilderCallback * This);
  13872. HRESULT ( STDMETHODCALLTYPE *SelectedFilter )(
  13873. IAMGraphBuilderCallback * This,
  13874. /* [in] */ IMoniker *pMon);
  13875. HRESULT ( STDMETHODCALLTYPE *CreatedFilter )(
  13876. IAMGraphBuilderCallback * This,
  13877. /* [in] */ IBaseFilter *pFil);
  13878. END_INTERFACE
  13879. } IAMGraphBuilderCallbackVtbl;
  13880. interface IAMGraphBuilderCallback
  13881. {
  13882. CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
  13883. };
  13884. #ifdef COBJMACROS
  13885. #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) \
  13886. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13887. #define IAMGraphBuilderCallback_AddRef(This) \
  13888. (This)->lpVtbl -> AddRef(This)
  13889. #define IAMGraphBuilderCallback_Release(This) \
  13890. (This)->lpVtbl -> Release(This)
  13891. #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) \
  13892. (This)->lpVtbl -> SelectedFilter(This,pMon)
  13893. #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) \
  13894. (This)->lpVtbl -> CreatedFilter(This,pFil)
  13895. #endif /* COBJMACROS */
  13896. #endif /* C style interface */
  13897. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy(
  13898. IAMGraphBuilderCallback * This,
  13899. /* [in] */ IMoniker *pMon);
  13900. void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
  13901. IRpcStubBuffer *This,
  13902. IRpcChannelBuffer *_pRpcChannelBuffer,
  13903. PRPC_MESSAGE _pRpcMessage,
  13904. DWORD *_pdwStubPhase);
  13905. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy(
  13906. IAMGraphBuilderCallback * This,
  13907. /* [in] */ IBaseFilter *pFil);
  13908. void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
  13909. IRpcStubBuffer *This,
  13910. IRpcChannelBuffer *_pRpcChannelBuffer,
  13911. PRPC_MESSAGE _pRpcMessage,
  13912. DWORD *_pdwStubPhase);
  13913. #endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
  13914. /* interface __MIDL_itf_strmif_0369 */
  13915. /* [local] */
  13916. #ifdef __cplusplus
  13917. #ifndef _IAMFilterGraphCallback_
  13918. #define _IAMFilterGraphCallback_
  13919. // Note: Because this interface was not defined as a proper interface it is
  13920. // supported under C++ only. Methods aren't stdcall.
  13921. EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  13922. interface IAMFilterGraphCallback : public IUnknown
  13923. {
  13924. // S_OK means rendering complete, S_FALSE means retry now.
  13925. virtual HRESULT UnableToRender(IPin *pPin) = 0;
  13926. };
  13927. #endif // _IAMFilterGraphCallback_
  13928. #endif
  13929. #include <ddraw.h>
  13930. typedef
  13931. enum tagDVD_DOMAIN
  13932. { DVD_DOMAIN_FirstPlay = 1,
  13933. DVD_DOMAIN_VideoManagerMenu = DVD_DOMAIN_FirstPlay + 1,
  13934. DVD_DOMAIN_VideoTitleSetMenu = DVD_DOMAIN_VideoManagerMenu + 1,
  13935. DVD_DOMAIN_Title = DVD_DOMAIN_VideoTitleSetMenu + 1,
  13936. DVD_DOMAIN_Stop = DVD_DOMAIN_Title + 1
  13937. } DVD_DOMAIN;
  13938. typedef
  13939. enum tagDVD_MENU_ID
  13940. { DVD_MENU_Title = 2,
  13941. DVD_MENU_Root = 3,
  13942. DVD_MENU_Subpicture = 4,
  13943. DVD_MENU_Audio = 5,
  13944. DVD_MENU_Angle = 6,
  13945. DVD_MENU_Chapter = 7
  13946. } DVD_MENU_ID;
  13947. typedef
  13948. enum tagDVD_DISC_SIDE
  13949. { DVD_SIDE_A = 1,
  13950. DVD_SIDE_B = 2
  13951. } DVD_DISC_SIDE;
  13952. typedef
  13953. enum tagDVD_PREFERRED_DISPLAY_MODE
  13954. { DISPLAY_CONTENT_DEFAULT = 0,
  13955. DISPLAY_16x9 = 1,
  13956. DISPLAY_4x3_PANSCAN_PREFERRED = 2,
  13957. DISPLAY_4x3_LETTERBOX_PREFERRED = 3
  13958. } DVD_PREFERRED_DISPLAY_MODE;
  13959. typedef WORD DVD_REGISTER;
  13960. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  13961. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  13962. typedef struct tagDVD_ATR
  13963. {
  13964. ULONG ulCAT;
  13965. BYTE pbATRI[ 768 ];
  13966. } DVD_ATR;
  13967. typedef BYTE DVD_VideoATR[ 2 ];
  13968. typedef BYTE DVD_AudioATR[ 8 ];
  13969. typedef BYTE DVD_SubpictureATR[ 6 ];
  13970. typedef
  13971. enum tagDVD_FRAMERATE
  13972. { DVD_FPS_25 = 1,
  13973. DVD_FPS_30NonDrop = 3
  13974. } DVD_FRAMERATE;
  13975. typedef struct tagDVD_TIMECODE
  13976. {
  13977. ULONG Hours1 :4; // Hours
  13978. ULONG Hours10 :4; // Tens of Hours
  13979. ULONG Minutes1 :4; // Minutes
  13980. ULONG Minutes10:4; // Tens of Minutes
  13981. ULONG Seconds1 :4; // Seconds
  13982. ULONG Seconds10:4; // Tens of Seconds
  13983. ULONG Frames1 :4; // Frames
  13984. ULONG Frames10 :2; // Tens of Frames
  13985. ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  13986. } DVD_TIMECODE;
  13987. typedef
  13988. enum tagDVD_TIMECODE_FLAGS
  13989. { DVD_TC_FLAG_25fps = 0x1,
  13990. DVD_TC_FLAG_30fps = 0x2,
  13991. DVD_TC_FLAG_DropFrame = 0x4,
  13992. DVD_TC_FLAG_Interpolated = 0x8
  13993. } DVD_TIMECODE_FLAGS;
  13994. typedef struct tagDVD_HMSF_TIMECODE
  13995. {
  13996. BYTE bHours;
  13997. BYTE bMinutes;
  13998. BYTE bSeconds;
  13999. BYTE bFrames;
  14000. } DVD_HMSF_TIMECODE;
  14001. typedef struct tagDVD_PLAYBACK_LOCATION2
  14002. {
  14003. ULONG TitleNum;
  14004. ULONG ChapterNum;
  14005. DVD_HMSF_TIMECODE TimeCode;
  14006. ULONG TimeCodeFlags;
  14007. } DVD_PLAYBACK_LOCATION2;
  14008. typedef struct tagDVD_PLAYBACK_LOCATION
  14009. {
  14010. ULONG TitleNum;
  14011. ULONG ChapterNum;
  14012. ULONG TimeCode;
  14013. } DVD_PLAYBACK_LOCATION;
  14014. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  14015. typedef /* [public] */
  14016. enum __MIDL___MIDL_itf_strmif_0369_0001
  14017. { UOP_FLAG_Play_Title_Or_AtTime = 0x1,
  14018. UOP_FLAG_Play_Chapter = 0x2,
  14019. UOP_FLAG_Play_Title = 0x4,
  14020. UOP_FLAG_Stop = 0x8,
  14021. UOP_FLAG_ReturnFromSubMenu = 0x10,
  14022. UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,
  14023. UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,
  14024. UOP_FLAG_PlayNext_Chapter = 0x80,
  14025. UOP_FLAG_Play_Forwards = 0x100,
  14026. UOP_FLAG_Play_Backwards = 0x200,
  14027. UOP_FLAG_ShowMenu_Title = 0x400,
  14028. UOP_FLAG_ShowMenu_Root = 0x800,
  14029. UOP_FLAG_ShowMenu_SubPic = 0x1000,
  14030. UOP_FLAG_ShowMenu_Audio = 0x2000,
  14031. UOP_FLAG_ShowMenu_Angle = 0x4000,
  14032. UOP_FLAG_ShowMenu_Chapter = 0x8000,
  14033. UOP_FLAG_Resume = 0x10000,
  14034. UOP_FLAG_Select_Or_Activate_Button = 0x20000,
  14035. UOP_FLAG_Still_Off = 0x40000,
  14036. UOP_FLAG_Pause_On = 0x80000,
  14037. UOP_FLAG_Select_Audio_Stream = 0x100000,
  14038. UOP_FLAG_Select_SubPic_Stream = 0x200000,
  14039. UOP_FLAG_Select_Angle = 0x400000,
  14040. UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
  14041. UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
  14042. } VALID_UOP_FLAG;
  14043. typedef /* [public] */
  14044. enum __MIDL___MIDL_itf_strmif_0369_0002
  14045. { DVD_CMD_FLAG_None = 0,
  14046. DVD_CMD_FLAG_Flush = 0x1,
  14047. DVD_CMD_FLAG_SendEvents = 0x2,
  14048. DVD_CMD_FLAG_Block = 0x4,
  14049. DVD_CMD_FLAG_StartWhenRendered = 0x8,
  14050. DVD_CMD_FLAG_EndAfterRendered = 0x10
  14051. } DVD_CMD_FLAGS;
  14052. typedef /* [public][public] */
  14053. enum __MIDL___MIDL_itf_strmif_0369_0003
  14054. { DVD_ResetOnStop = 1,
  14055. DVD_NotifyParentalLevelChange = 2,
  14056. DVD_HMSF_TimeCodeEvents = 3
  14057. } DVD_OPTION_FLAG;
  14058. typedef /* [public][public] */
  14059. enum __MIDL___MIDL_itf_strmif_0369_0004
  14060. { DVD_Relative_Upper = 1,
  14061. DVD_Relative_Lower = 2,
  14062. DVD_Relative_Left = 3,
  14063. DVD_Relative_Right = 4
  14064. } DVD_RELATIVE_BUTTON;
  14065. typedef
  14066. enum tagDVD_PARENTAL_LEVEL
  14067. { DVD_PARENTAL_LEVEL_8 = 0x8000,
  14068. DVD_PARENTAL_LEVEL_7 = 0x4000,
  14069. DVD_PARENTAL_LEVEL_6 = 0x2000,
  14070. DVD_PARENTAL_LEVEL_5 = 0x1000,
  14071. DVD_PARENTAL_LEVEL_4 = 0x800,
  14072. DVD_PARENTAL_LEVEL_3 = 0x400,
  14073. DVD_PARENTAL_LEVEL_2 = 0x200,
  14074. DVD_PARENTAL_LEVEL_1 = 0x100
  14075. } DVD_PARENTAL_LEVEL;
  14076. typedef
  14077. enum tagDVD_AUDIO_LANG_EXT
  14078. { DVD_AUD_EXT_NotSpecified = 0,
  14079. DVD_AUD_EXT_Captions = 1,
  14080. DVD_AUD_EXT_VisuallyImpaired = 2,
  14081. DVD_AUD_EXT_DirectorComments1 = 3,
  14082. DVD_AUD_EXT_DirectorComments2 = 4
  14083. } DVD_AUDIO_LANG_EXT;
  14084. typedef
  14085. enum tagDVD_SUBPICTURE_LANG_EXT
  14086. { DVD_SP_EXT_NotSpecified = 0,
  14087. DVD_SP_EXT_Caption_Normal = 1,
  14088. DVD_SP_EXT_Caption_Big = 2,
  14089. DVD_SP_EXT_Caption_Children = 3,
  14090. DVD_SP_EXT_CC_Normal = 5,
  14091. DVD_SP_EXT_CC_Big = 6,
  14092. DVD_SP_EXT_CC_Children = 7,
  14093. DVD_SP_EXT_Forced = 9,
  14094. DVD_SP_EXT_DirectorComments_Normal = 13,
  14095. DVD_SP_EXT_DirectorComments_Big = 14,
  14096. DVD_SP_EXT_DirectorComments_Children = 15
  14097. } DVD_SUBPICTURE_LANG_EXT;
  14098. typedef
  14099. enum tagDVD_AUDIO_APPMODE
  14100. { DVD_AudioMode_None = 0,
  14101. DVD_AudioMode_Karaoke = 1,
  14102. DVD_AudioMode_Surround = 2,
  14103. DVD_AudioMode_Other = 3
  14104. } DVD_AUDIO_APPMODE;
  14105. typedef
  14106. enum tagDVD_AUDIO_FORMAT
  14107. { DVD_AudioFormat_AC3 = 0,
  14108. DVD_AudioFormat_MPEG1 = 1,
  14109. DVD_AudioFormat_MPEG1_DRC = 2,
  14110. DVD_AudioFormat_MPEG2 = 3,
  14111. DVD_AudioFormat_MPEG2_DRC = 4,
  14112. DVD_AudioFormat_LPCM = 5,
  14113. DVD_AudioFormat_DTS = 6,
  14114. DVD_AudioFormat_SDDS = 7,
  14115. DVD_AudioFormat_Other = 8
  14116. } DVD_AUDIO_FORMAT;
  14117. typedef
  14118. enum tagDVD_KARAOKE_DOWNMIX
  14119. { DVD_Mix_0to0 = 0x1,
  14120. DVD_Mix_1to0 = 0x2,
  14121. DVD_Mix_2to0 = 0x4,
  14122. DVD_Mix_3to0 = 0x8,
  14123. DVD_Mix_4to0 = 0x10,
  14124. DVD_Mix_Lto0 = 0x20,
  14125. DVD_Mix_Rto0 = 0x40,
  14126. DVD_Mix_0to1 = 0x100,
  14127. DVD_Mix_1to1 = 0x200,
  14128. DVD_Mix_2to1 = 0x400,
  14129. DVD_Mix_3to1 = 0x800,
  14130. DVD_Mix_4to1 = 0x1000,
  14131. DVD_Mix_Lto1 = 0x2000,
  14132. DVD_Mix_Rto1 = 0x4000
  14133. } DVD_KARAOKE_DOWNMIX;
  14134. typedef struct tagDVD_AudioAttributes
  14135. {
  14136. DVD_AUDIO_APPMODE AppMode;
  14137. BYTE AppModeData;
  14138. DVD_AUDIO_FORMAT AudioFormat;
  14139. LCID Language;
  14140. DVD_AUDIO_LANG_EXT LanguageExtension;
  14141. BOOL fHasMultichannelInfo;
  14142. DWORD dwFrequency;
  14143. BYTE bQuantization;
  14144. BYTE bNumberOfChannels;
  14145. DWORD dwReserved[ 2 ];
  14146. } DVD_AudioAttributes;
  14147. typedef struct tagDVD_MUA_MixingInfo
  14148. {
  14149. BOOL fMixTo0;
  14150. BOOL fMixTo1;
  14151. BOOL fMix0InPhase;
  14152. BOOL fMix1InPhase;
  14153. DWORD dwSpeakerPosition;
  14154. } DVD_MUA_MixingInfo;
  14155. typedef struct tagDVD_MUA_Coeff
  14156. {
  14157. double log2_alpha;
  14158. double log2_beta;
  14159. } DVD_MUA_Coeff;
  14160. typedef struct tagDVD_MultichannelAudioAttributes
  14161. {
  14162. DVD_MUA_MixingInfo Info[ 8 ];
  14163. DVD_MUA_Coeff Coeff[ 8 ];
  14164. } DVD_MultichannelAudioAttributes;
  14165. typedef
  14166. enum tagDVD_KARAOKE_CONTENTS
  14167. { DVD_Karaoke_GuideVocal1 = 0x1,
  14168. DVD_Karaoke_GuideVocal2 = 0x2,
  14169. DVD_Karaoke_GuideMelody1 = 0x4,
  14170. DVD_Karaoke_GuideMelody2 = 0x8,
  14171. DVD_Karaoke_GuideMelodyA = 0x10,
  14172. DVD_Karaoke_GuideMelodyB = 0x20,
  14173. DVD_Karaoke_SoundEffectA = 0x40,
  14174. DVD_Karaoke_SoundEffectB = 0x80
  14175. } DVD_KARAOKE_CONTENTS;
  14176. typedef
  14177. enum tagDVD_KARAOKE_ASSIGNMENT
  14178. { DVD_Assignment_reserved0 = 0,
  14179. DVD_Assignment_reserved1 = 1,
  14180. DVD_Assignment_LR = 2,
  14181. DVD_Assignment_LRM = 3,
  14182. DVD_Assignment_LR1 = 4,
  14183. DVD_Assignment_LRM1 = 5,
  14184. DVD_Assignment_LR12 = 6,
  14185. DVD_Assignment_LRM12 = 7
  14186. } DVD_KARAOKE_ASSIGNMENT;
  14187. typedef struct tagDVD_KaraokeAttributes
  14188. {
  14189. BYTE bVersion;
  14190. BOOL fMasterOfCeremoniesInGuideVocal1;
  14191. BOOL fDuet;
  14192. DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  14193. WORD wChannelContents[ 8 ];
  14194. } DVD_KaraokeAttributes;
  14195. typedef
  14196. enum tagDVD_VIDEO_COMPRESSION
  14197. { DVD_VideoCompression_Other = 0,
  14198. DVD_VideoCompression_MPEG1 = 1,
  14199. DVD_VideoCompression_MPEG2 = 2
  14200. } DVD_VIDEO_COMPRESSION;
  14201. typedef struct tagDVD_VideoAttributes
  14202. {
  14203. BOOL fPanscanPermitted;
  14204. BOOL fLetterboxPermitted;
  14205. ULONG ulAspectX;
  14206. ULONG ulAspectY;
  14207. ULONG ulFrameRate;
  14208. ULONG ulFrameHeight;
  14209. DVD_VIDEO_COMPRESSION Compression;
  14210. BOOL fLine21Field1InGOP;
  14211. BOOL fLine21Field2InGOP;
  14212. ULONG ulSourceResolutionX;
  14213. ULONG ulSourceResolutionY;
  14214. BOOL fIsSourceLetterboxed;
  14215. BOOL fIsFilmMode;
  14216. } DVD_VideoAttributes;
  14217. typedef
  14218. enum tagDVD_SUBPICTURE_TYPE
  14219. { DVD_SPType_NotSpecified = 0,
  14220. DVD_SPType_Language = 1,
  14221. DVD_SPType_Other = 2
  14222. } DVD_SUBPICTURE_TYPE;
  14223. typedef
  14224. enum tagDVD_SUBPICTURE_CODING
  14225. { DVD_SPCoding_RunLength = 0,
  14226. DVD_SPCoding_Extended = 1,
  14227. DVD_SPCoding_Other = 2
  14228. } DVD_SUBPICTURE_CODING;
  14229. typedef struct tagDVD_SubpictureAttributes
  14230. {
  14231. DVD_SUBPICTURE_TYPE Type;
  14232. DVD_SUBPICTURE_CODING CodingMode;
  14233. LCID Language;
  14234. DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  14235. } DVD_SubpictureAttributes;
  14236. typedef
  14237. enum tagDVD_TITLE_APPMODE
  14238. { DVD_AppMode_Not_Specified = 0,
  14239. DVD_AppMode_Karaoke = 1,
  14240. DVD_AppMode_Other = 3
  14241. } DVD_TITLE_APPMODE;
  14242. typedef struct tagDVD_TitleMainAttributes
  14243. {
  14244. DVD_TITLE_APPMODE AppMode;
  14245. DVD_VideoAttributes VideoAttributes;
  14246. ULONG ulNumberOfAudioStreams;
  14247. DVD_AudioAttributes AudioAttributes[ 8 ];
  14248. DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  14249. ULONG ulNumberOfSubpictureStreams;
  14250. DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  14251. } DVD_TitleAttributes;
  14252. typedef struct tagDVD_MenuAttributes
  14253. {
  14254. BOOL fCompatibleRegion[ 8 ];
  14255. DVD_VideoAttributes VideoAttributes;
  14256. BOOL fAudioPresent;
  14257. DVD_AudioAttributes AudioAttributes;
  14258. BOOL fSubpicturePresent;
  14259. DVD_SubpictureAttributes SubpictureAttributes;
  14260. } DVD_MenuAttributes;
  14261. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_c_ifspec;
  14262. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_s_ifspec;
  14263. #ifndef __IDvdControl_INTERFACE_DEFINED__
  14264. #define __IDvdControl_INTERFACE_DEFINED__
  14265. /* interface IDvdControl */
  14266. /* [unique][uuid][object] */
  14267. EXTERN_C const IID IID_IDvdControl;
  14268. #if defined(__cplusplus) && !defined(CINTERFACE)
  14269. MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  14270. IDvdControl : public IUnknown
  14271. {
  14272. public:
  14273. virtual HRESULT STDMETHODCALLTYPE TitlePlay(
  14274. /* [in] */ ULONG ulTitle) = 0;
  14275. virtual HRESULT STDMETHODCALLTYPE ChapterPlay(
  14276. /* [in] */ ULONG ulTitle,
  14277. /* [in] */ ULONG ulChapter) = 0;
  14278. virtual HRESULT STDMETHODCALLTYPE TimePlay(
  14279. /* [in] */ ULONG ulTitle,
  14280. /* [in] */ ULONG bcdTime) = 0;
  14281. virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  14282. virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  14283. virtual HRESULT STDMETHODCALLTYPE TimeSearch(
  14284. /* [in] */ ULONG bcdTime) = 0;
  14285. virtual HRESULT STDMETHODCALLTYPE ChapterSearch(
  14286. /* [in] */ ULONG ulChapter) = 0;
  14287. virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  14288. virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  14289. virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  14290. virtual HRESULT STDMETHODCALLTYPE ForwardScan(
  14291. /* [in] */ double dwSpeed) = 0;
  14292. virtual HRESULT STDMETHODCALLTYPE BackwardScan(
  14293. /* [in] */ double dwSpeed) = 0;
  14294. virtual HRESULT STDMETHODCALLTYPE MenuCall(
  14295. /* [in] */ DVD_MENU_ID MenuID) = 0;
  14296. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  14297. virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  14298. virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  14299. virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  14300. virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  14301. virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  14302. virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate(
  14303. /* [in] */ ULONG ulButton) = 0;
  14304. virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  14305. virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  14306. virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  14307. virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect(
  14308. /* [in] */ LCID Language) = 0;
  14309. virtual HRESULT STDMETHODCALLTYPE AudioStreamChange(
  14310. /* [in] */ ULONG ulAudio) = 0;
  14311. virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange(
  14312. /* [in] */ ULONG ulSubPicture,
  14313. /* [in] */ BOOL bDisplay) = 0;
  14314. virtual HRESULT STDMETHODCALLTYPE AngleChange(
  14315. /* [in] */ ULONG ulAngle) = 0;
  14316. virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect(
  14317. /* [in] */ ULONG ulParentalLevel) = 0;
  14318. virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect(
  14319. /* [in] */ WORD wCountry) = 0;
  14320. virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange(
  14321. /* [in] */ ULONG ulMode) = 0;
  14322. virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence(
  14323. /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  14324. virtual HRESULT STDMETHODCALLTYPE SetRoot(
  14325. /* [in] */ LPCWSTR pszPath) = 0;
  14326. virtual HRESULT STDMETHODCALLTYPE MouseActivate(
  14327. /* [in] */ POINT point) = 0;
  14328. virtual HRESULT STDMETHODCALLTYPE MouseSelect(
  14329. /* [in] */ POINT point) = 0;
  14330. virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop(
  14331. /* [in] */ ULONG ulTitle,
  14332. /* [in] */ ULONG ulChapter,
  14333. /* [in] */ ULONG ulChaptersToPlay) = 0;
  14334. };
  14335. #else /* C style interface */
  14336. typedef struct IDvdControlVtbl
  14337. {
  14338. BEGIN_INTERFACE
  14339. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14340. IDvdControl * This,
  14341. /* [in] */ REFIID riid,
  14342. /* [iid_is][out] */ void **ppvObject);
  14343. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14344. IDvdControl * This);
  14345. ULONG ( STDMETHODCALLTYPE *Release )(
  14346. IDvdControl * This);
  14347. HRESULT ( STDMETHODCALLTYPE *TitlePlay )(
  14348. IDvdControl * This,
  14349. /* [in] */ ULONG ulTitle);
  14350. HRESULT ( STDMETHODCALLTYPE *ChapterPlay )(
  14351. IDvdControl * This,
  14352. /* [in] */ ULONG ulTitle,
  14353. /* [in] */ ULONG ulChapter);
  14354. HRESULT ( STDMETHODCALLTYPE *TimePlay )(
  14355. IDvdControl * This,
  14356. /* [in] */ ULONG ulTitle,
  14357. /* [in] */ ULONG bcdTime);
  14358. HRESULT ( STDMETHODCALLTYPE *StopForResume )(
  14359. IDvdControl * This);
  14360. HRESULT ( STDMETHODCALLTYPE *GoUp )(
  14361. IDvdControl * This);
  14362. HRESULT ( STDMETHODCALLTYPE *TimeSearch )(
  14363. IDvdControl * This,
  14364. /* [in] */ ULONG bcdTime);
  14365. HRESULT ( STDMETHODCALLTYPE *ChapterSearch )(
  14366. IDvdControl * This,
  14367. /* [in] */ ULONG ulChapter);
  14368. HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )(
  14369. IDvdControl * This);
  14370. HRESULT ( STDMETHODCALLTYPE *TopPGSearch )(
  14371. IDvdControl * This);
  14372. HRESULT ( STDMETHODCALLTYPE *NextPGSearch )(
  14373. IDvdControl * This);
  14374. HRESULT ( STDMETHODCALLTYPE *ForwardScan )(
  14375. IDvdControl * This,
  14376. /* [in] */ double dwSpeed);
  14377. HRESULT ( STDMETHODCALLTYPE *BackwardScan )(
  14378. IDvdControl * This,
  14379. /* [in] */ double dwSpeed);
  14380. HRESULT ( STDMETHODCALLTYPE *MenuCall )(
  14381. IDvdControl * This,
  14382. /* [in] */ DVD_MENU_ID MenuID);
  14383. HRESULT ( STDMETHODCALLTYPE *Resume )(
  14384. IDvdControl * This);
  14385. HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )(
  14386. IDvdControl * This);
  14387. HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )(
  14388. IDvdControl * This);
  14389. HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )(
  14390. IDvdControl * This);
  14391. HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )(
  14392. IDvdControl * This);
  14393. HRESULT ( STDMETHODCALLTYPE *ButtonActivate )(
  14394. IDvdControl * This);
  14395. HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )(
  14396. IDvdControl * This,
  14397. /* [in] */ ULONG ulButton);
  14398. HRESULT ( STDMETHODCALLTYPE *StillOff )(
  14399. IDvdControl * This);
  14400. HRESULT ( STDMETHODCALLTYPE *PauseOn )(
  14401. IDvdControl * This);
  14402. HRESULT ( STDMETHODCALLTYPE *PauseOff )(
  14403. IDvdControl * This);
  14404. HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )(
  14405. IDvdControl * This,
  14406. /* [in] */ LCID Language);
  14407. HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )(
  14408. IDvdControl * This,
  14409. /* [in] */ ULONG ulAudio);
  14410. HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )(
  14411. IDvdControl * This,
  14412. /* [in] */ ULONG ulSubPicture,
  14413. /* [in] */ BOOL bDisplay);
  14414. HRESULT ( STDMETHODCALLTYPE *AngleChange )(
  14415. IDvdControl * This,
  14416. /* [in] */ ULONG ulAngle);
  14417. HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )(
  14418. IDvdControl * This,
  14419. /* [in] */ ULONG ulParentalLevel);
  14420. HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )(
  14421. IDvdControl * This,
  14422. /* [in] */ WORD wCountry);
  14423. HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )(
  14424. IDvdControl * This,
  14425. /* [in] */ ULONG ulMode);
  14426. HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )(
  14427. IDvdControl * This,
  14428. /* [in] */ ULONG ulPreferredDisplayMode);
  14429. HRESULT ( STDMETHODCALLTYPE *SetRoot )(
  14430. IDvdControl * This,
  14431. /* [in] */ LPCWSTR pszPath);
  14432. HRESULT ( STDMETHODCALLTYPE *MouseActivate )(
  14433. IDvdControl * This,
  14434. /* [in] */ POINT point);
  14435. HRESULT ( STDMETHODCALLTYPE *MouseSelect )(
  14436. IDvdControl * This,
  14437. /* [in] */ POINT point);
  14438. HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )(
  14439. IDvdControl * This,
  14440. /* [in] */ ULONG ulTitle,
  14441. /* [in] */ ULONG ulChapter,
  14442. /* [in] */ ULONG ulChaptersToPlay);
  14443. END_INTERFACE
  14444. } IDvdControlVtbl;
  14445. interface IDvdControl
  14446. {
  14447. CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  14448. };
  14449. #ifdef COBJMACROS
  14450. #define IDvdControl_QueryInterface(This,riid,ppvObject) \
  14451. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14452. #define IDvdControl_AddRef(This) \
  14453. (This)->lpVtbl -> AddRef(This)
  14454. #define IDvdControl_Release(This) \
  14455. (This)->lpVtbl -> Release(This)
  14456. #define IDvdControl_TitlePlay(This,ulTitle) \
  14457. (This)->lpVtbl -> TitlePlay(This,ulTitle)
  14458. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) \
  14459. (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  14460. #define IDvdControl_TimePlay(This,ulTitle,bcdTime) \
  14461. (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  14462. #define IDvdControl_StopForResume(This) \
  14463. (This)->lpVtbl -> StopForResume(This)
  14464. #define IDvdControl_GoUp(This) \
  14465. (This)->lpVtbl -> GoUp(This)
  14466. #define IDvdControl_TimeSearch(This,bcdTime) \
  14467. (This)->lpVtbl -> TimeSearch(This,bcdTime)
  14468. #define IDvdControl_ChapterSearch(This,ulChapter) \
  14469. (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  14470. #define IDvdControl_PrevPGSearch(This) \
  14471. (This)->lpVtbl -> PrevPGSearch(This)
  14472. #define IDvdControl_TopPGSearch(This) \
  14473. (This)->lpVtbl -> TopPGSearch(This)
  14474. #define IDvdControl_NextPGSearch(This) \
  14475. (This)->lpVtbl -> NextPGSearch(This)
  14476. #define IDvdControl_ForwardScan(This,dwSpeed) \
  14477. (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  14478. #define IDvdControl_BackwardScan(This,dwSpeed) \
  14479. (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  14480. #define IDvdControl_MenuCall(This,MenuID) \
  14481. (This)->lpVtbl -> MenuCall(This,MenuID)
  14482. #define IDvdControl_Resume(This) \
  14483. (This)->lpVtbl -> Resume(This)
  14484. #define IDvdControl_UpperButtonSelect(This) \
  14485. (This)->lpVtbl -> UpperButtonSelect(This)
  14486. #define IDvdControl_LowerButtonSelect(This) \
  14487. (This)->lpVtbl -> LowerButtonSelect(This)
  14488. #define IDvdControl_LeftButtonSelect(This) \
  14489. (This)->lpVtbl -> LeftButtonSelect(This)
  14490. #define IDvdControl_RightButtonSelect(This) \
  14491. (This)->lpVtbl -> RightButtonSelect(This)
  14492. #define IDvdControl_ButtonActivate(This) \
  14493. (This)->lpVtbl -> ButtonActivate(This)
  14494. #define IDvdControl_ButtonSelectAndActivate(This,ulButton) \
  14495. (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  14496. #define IDvdControl_StillOff(This) \
  14497. (This)->lpVtbl -> StillOff(This)
  14498. #define IDvdControl_PauseOn(This) \
  14499. (This)->lpVtbl -> PauseOn(This)
  14500. #define IDvdControl_PauseOff(This) \
  14501. (This)->lpVtbl -> PauseOff(This)
  14502. #define IDvdControl_MenuLanguageSelect(This,Language) \
  14503. (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  14504. #define IDvdControl_AudioStreamChange(This,ulAudio) \
  14505. (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  14506. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) \
  14507. (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  14508. #define IDvdControl_AngleChange(This,ulAngle) \
  14509. (This)->lpVtbl -> AngleChange(This,ulAngle)
  14510. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) \
  14511. (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  14512. #define IDvdControl_ParentalCountrySelect(This,wCountry) \
  14513. (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  14514. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) \
  14515. (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  14516. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) \
  14517. (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  14518. #define IDvdControl_SetRoot(This,pszPath) \
  14519. (This)->lpVtbl -> SetRoot(This,pszPath)
  14520. #define IDvdControl_MouseActivate(This,point) \
  14521. (This)->lpVtbl -> MouseActivate(This,point)
  14522. #define IDvdControl_MouseSelect(This,point) \
  14523. (This)->lpVtbl -> MouseSelect(This,point)
  14524. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) \
  14525. (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  14526. #endif /* COBJMACROS */
  14527. #endif /* C style interface */
  14528. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy(
  14529. IDvdControl * This,
  14530. /* [in] */ ULONG ulTitle);
  14531. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  14532. IRpcStubBuffer *This,
  14533. IRpcChannelBuffer *_pRpcChannelBuffer,
  14534. PRPC_MESSAGE _pRpcMessage,
  14535. DWORD *_pdwStubPhase);
  14536. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy(
  14537. IDvdControl * This,
  14538. /* [in] */ ULONG ulTitle,
  14539. /* [in] */ ULONG ulChapter);
  14540. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  14541. IRpcStubBuffer *This,
  14542. IRpcChannelBuffer *_pRpcChannelBuffer,
  14543. PRPC_MESSAGE _pRpcMessage,
  14544. DWORD *_pdwStubPhase);
  14545. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy(
  14546. IDvdControl * This,
  14547. /* [in] */ ULONG ulTitle,
  14548. /* [in] */ ULONG bcdTime);
  14549. void __RPC_STUB IDvdControl_TimePlay_Stub(
  14550. IRpcStubBuffer *This,
  14551. IRpcChannelBuffer *_pRpcChannelBuffer,
  14552. PRPC_MESSAGE _pRpcMessage,
  14553. DWORD *_pdwStubPhase);
  14554. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy(
  14555. IDvdControl * This);
  14556. void __RPC_STUB IDvdControl_StopForResume_Stub(
  14557. IRpcStubBuffer *This,
  14558. IRpcChannelBuffer *_pRpcChannelBuffer,
  14559. PRPC_MESSAGE _pRpcMessage,
  14560. DWORD *_pdwStubPhase);
  14561. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy(
  14562. IDvdControl * This);
  14563. void __RPC_STUB IDvdControl_GoUp_Stub(
  14564. IRpcStubBuffer *This,
  14565. IRpcChannelBuffer *_pRpcChannelBuffer,
  14566. PRPC_MESSAGE _pRpcMessage,
  14567. DWORD *_pdwStubPhase);
  14568. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy(
  14569. IDvdControl * This,
  14570. /* [in] */ ULONG bcdTime);
  14571. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  14572. IRpcStubBuffer *This,
  14573. IRpcChannelBuffer *_pRpcChannelBuffer,
  14574. PRPC_MESSAGE _pRpcMessage,
  14575. DWORD *_pdwStubPhase);
  14576. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy(
  14577. IDvdControl * This,
  14578. /* [in] */ ULONG ulChapter);
  14579. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  14580. IRpcStubBuffer *This,
  14581. IRpcChannelBuffer *_pRpcChannelBuffer,
  14582. PRPC_MESSAGE _pRpcMessage,
  14583. DWORD *_pdwStubPhase);
  14584. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy(
  14585. IDvdControl * This);
  14586. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  14587. IRpcStubBuffer *This,
  14588. IRpcChannelBuffer *_pRpcChannelBuffer,
  14589. PRPC_MESSAGE _pRpcMessage,
  14590. DWORD *_pdwStubPhase);
  14591. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy(
  14592. IDvdControl * This);
  14593. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  14594. IRpcStubBuffer *This,
  14595. IRpcChannelBuffer *_pRpcChannelBuffer,
  14596. PRPC_MESSAGE _pRpcMessage,
  14597. DWORD *_pdwStubPhase);
  14598. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy(
  14599. IDvdControl * This);
  14600. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  14601. IRpcStubBuffer *This,
  14602. IRpcChannelBuffer *_pRpcChannelBuffer,
  14603. PRPC_MESSAGE _pRpcMessage,
  14604. DWORD *_pdwStubPhase);
  14605. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy(
  14606. IDvdControl * This,
  14607. /* [in] */ double dwSpeed);
  14608. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  14609. IRpcStubBuffer *This,
  14610. IRpcChannelBuffer *_pRpcChannelBuffer,
  14611. PRPC_MESSAGE _pRpcMessage,
  14612. DWORD *_pdwStubPhase);
  14613. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy(
  14614. IDvdControl * This,
  14615. /* [in] */ double dwSpeed);
  14616. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  14617. IRpcStubBuffer *This,
  14618. IRpcChannelBuffer *_pRpcChannelBuffer,
  14619. PRPC_MESSAGE _pRpcMessage,
  14620. DWORD *_pdwStubPhase);
  14621. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy(
  14622. IDvdControl * This,
  14623. /* [in] */ DVD_MENU_ID MenuID);
  14624. void __RPC_STUB IDvdControl_MenuCall_Stub(
  14625. IRpcStubBuffer *This,
  14626. IRpcChannelBuffer *_pRpcChannelBuffer,
  14627. PRPC_MESSAGE _pRpcMessage,
  14628. DWORD *_pdwStubPhase);
  14629. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy(
  14630. IDvdControl * This);
  14631. void __RPC_STUB IDvdControl_Resume_Stub(
  14632. IRpcStubBuffer *This,
  14633. IRpcChannelBuffer *_pRpcChannelBuffer,
  14634. PRPC_MESSAGE _pRpcMessage,
  14635. DWORD *_pdwStubPhase);
  14636. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy(
  14637. IDvdControl * This);
  14638. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  14639. IRpcStubBuffer *This,
  14640. IRpcChannelBuffer *_pRpcChannelBuffer,
  14641. PRPC_MESSAGE _pRpcMessage,
  14642. DWORD *_pdwStubPhase);
  14643. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy(
  14644. IDvdControl * This);
  14645. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  14646. IRpcStubBuffer *This,
  14647. IRpcChannelBuffer *_pRpcChannelBuffer,
  14648. PRPC_MESSAGE _pRpcMessage,
  14649. DWORD *_pdwStubPhase);
  14650. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy(
  14651. IDvdControl * This);
  14652. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  14653. IRpcStubBuffer *This,
  14654. IRpcChannelBuffer *_pRpcChannelBuffer,
  14655. PRPC_MESSAGE _pRpcMessage,
  14656. DWORD *_pdwStubPhase);
  14657. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy(
  14658. IDvdControl * This);
  14659. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  14660. IRpcStubBuffer *This,
  14661. IRpcChannelBuffer *_pRpcChannelBuffer,
  14662. PRPC_MESSAGE _pRpcMessage,
  14663. DWORD *_pdwStubPhase);
  14664. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy(
  14665. IDvdControl * This);
  14666. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  14667. IRpcStubBuffer *This,
  14668. IRpcChannelBuffer *_pRpcChannelBuffer,
  14669. PRPC_MESSAGE _pRpcMessage,
  14670. DWORD *_pdwStubPhase);
  14671. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy(
  14672. IDvdControl * This,
  14673. /* [in] */ ULONG ulButton);
  14674. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  14675. IRpcStubBuffer *This,
  14676. IRpcChannelBuffer *_pRpcChannelBuffer,
  14677. PRPC_MESSAGE _pRpcMessage,
  14678. DWORD *_pdwStubPhase);
  14679. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy(
  14680. IDvdControl * This);
  14681. void __RPC_STUB IDvdControl_StillOff_Stub(
  14682. IRpcStubBuffer *This,
  14683. IRpcChannelBuffer *_pRpcChannelBuffer,
  14684. PRPC_MESSAGE _pRpcMessage,
  14685. DWORD *_pdwStubPhase);
  14686. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy(
  14687. IDvdControl * This);
  14688. void __RPC_STUB IDvdControl_PauseOn_Stub(
  14689. IRpcStubBuffer *This,
  14690. IRpcChannelBuffer *_pRpcChannelBuffer,
  14691. PRPC_MESSAGE _pRpcMessage,
  14692. DWORD *_pdwStubPhase);
  14693. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy(
  14694. IDvdControl * This);
  14695. void __RPC_STUB IDvdControl_PauseOff_Stub(
  14696. IRpcStubBuffer *This,
  14697. IRpcChannelBuffer *_pRpcChannelBuffer,
  14698. PRPC_MESSAGE _pRpcMessage,
  14699. DWORD *_pdwStubPhase);
  14700. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy(
  14701. IDvdControl * This,
  14702. /* [in] */ LCID Language);
  14703. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  14704. IRpcStubBuffer *This,
  14705. IRpcChannelBuffer *_pRpcChannelBuffer,
  14706. PRPC_MESSAGE _pRpcMessage,
  14707. DWORD *_pdwStubPhase);
  14708. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy(
  14709. IDvdControl * This,
  14710. /* [in] */ ULONG ulAudio);
  14711. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  14712. IRpcStubBuffer *This,
  14713. IRpcChannelBuffer *_pRpcChannelBuffer,
  14714. PRPC_MESSAGE _pRpcMessage,
  14715. DWORD *_pdwStubPhase);
  14716. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy(
  14717. IDvdControl * This,
  14718. /* [in] */ ULONG ulSubPicture,
  14719. /* [in] */ BOOL bDisplay);
  14720. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  14721. IRpcStubBuffer *This,
  14722. IRpcChannelBuffer *_pRpcChannelBuffer,
  14723. PRPC_MESSAGE _pRpcMessage,
  14724. DWORD *_pdwStubPhase);
  14725. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy(
  14726. IDvdControl * This,
  14727. /* [in] */ ULONG ulAngle);
  14728. void __RPC_STUB IDvdControl_AngleChange_Stub(
  14729. IRpcStubBuffer *This,
  14730. IRpcChannelBuffer *_pRpcChannelBuffer,
  14731. PRPC_MESSAGE _pRpcMessage,
  14732. DWORD *_pdwStubPhase);
  14733. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy(
  14734. IDvdControl * This,
  14735. /* [in] */ ULONG ulParentalLevel);
  14736. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  14737. IRpcStubBuffer *This,
  14738. IRpcChannelBuffer *_pRpcChannelBuffer,
  14739. PRPC_MESSAGE _pRpcMessage,
  14740. DWORD *_pdwStubPhase);
  14741. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy(
  14742. IDvdControl * This,
  14743. /* [in] */ WORD wCountry);
  14744. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  14745. IRpcStubBuffer *This,
  14746. IRpcChannelBuffer *_pRpcChannelBuffer,
  14747. PRPC_MESSAGE _pRpcMessage,
  14748. DWORD *_pdwStubPhase);
  14749. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy(
  14750. IDvdControl * This,
  14751. /* [in] */ ULONG ulMode);
  14752. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  14753. IRpcStubBuffer *This,
  14754. IRpcChannelBuffer *_pRpcChannelBuffer,
  14755. PRPC_MESSAGE _pRpcMessage,
  14756. DWORD *_pdwStubPhase);
  14757. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy(
  14758. IDvdControl * This,
  14759. /* [in] */ ULONG ulPreferredDisplayMode);
  14760. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  14761. IRpcStubBuffer *This,
  14762. IRpcChannelBuffer *_pRpcChannelBuffer,
  14763. PRPC_MESSAGE _pRpcMessage,
  14764. DWORD *_pdwStubPhase);
  14765. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy(
  14766. IDvdControl * This,
  14767. /* [in] */ LPCWSTR pszPath);
  14768. void __RPC_STUB IDvdControl_SetRoot_Stub(
  14769. IRpcStubBuffer *This,
  14770. IRpcChannelBuffer *_pRpcChannelBuffer,
  14771. PRPC_MESSAGE _pRpcMessage,
  14772. DWORD *_pdwStubPhase);
  14773. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy(
  14774. IDvdControl * This,
  14775. /* [in] */ POINT point);
  14776. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  14777. IRpcStubBuffer *This,
  14778. IRpcChannelBuffer *_pRpcChannelBuffer,
  14779. PRPC_MESSAGE _pRpcMessage,
  14780. DWORD *_pdwStubPhase);
  14781. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy(
  14782. IDvdControl * This,
  14783. /* [in] */ POINT point);
  14784. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  14785. IRpcStubBuffer *This,
  14786. IRpcChannelBuffer *_pRpcChannelBuffer,
  14787. PRPC_MESSAGE _pRpcMessage,
  14788. DWORD *_pdwStubPhase);
  14789. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy(
  14790. IDvdControl * This,
  14791. /* [in] */ ULONG ulTitle,
  14792. /* [in] */ ULONG ulChapter,
  14793. /* [in] */ ULONG ulChaptersToPlay);
  14794. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  14795. IRpcStubBuffer *This,
  14796. IRpcChannelBuffer *_pRpcChannelBuffer,
  14797. PRPC_MESSAGE _pRpcMessage,
  14798. DWORD *_pdwStubPhase);
  14799. #endif /* __IDvdControl_INTERFACE_DEFINED__ */
  14800. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  14801. #define __IDvdInfo_INTERFACE_DEFINED__
  14802. /* interface IDvdInfo */
  14803. /* [unique][uuid][object] */
  14804. EXTERN_C const IID IID_IDvdInfo;
  14805. #if defined(__cplusplus) && !defined(CINTERFACE)
  14806. MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  14807. IDvdInfo : public IUnknown
  14808. {
  14809. public:
  14810. virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
  14811. /* [out] */ DVD_DOMAIN *pDomain) = 0;
  14812. virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
  14813. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  14814. virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
  14815. /* [out] */ ULONG *pulTotalTime) = 0;
  14816. virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
  14817. /* [out] */ ULONG *pulButtonsAvailable,
  14818. /* [out] */ ULONG *pulCurrentButton) = 0;
  14819. virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
  14820. /* [out] */ ULONG *pulAnglesAvailable,
  14821. /* [out] */ ULONG *pulCurrentAngle) = 0;
  14822. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
  14823. /* [out] */ ULONG *pulStreamsAvailable,
  14824. /* [out] */ ULONG *pulCurrentStream) = 0;
  14825. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
  14826. /* [out] */ ULONG *pulStreamsAvailable,
  14827. /* [out] */ ULONG *pulCurrentStream,
  14828. /* [out] */ BOOL *pIsDisabled) = 0;
  14829. virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
  14830. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  14831. virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
  14832. /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  14833. virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
  14834. /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  14835. virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
  14836. /* [in] */ ULONG ulStream,
  14837. /* [out] */ LCID *pLanguage) = 0;
  14838. virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
  14839. /* [in] */ ULONG ulStream,
  14840. /* [out] */ LCID *pLanguage) = 0;
  14841. virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
  14842. /* [in] */ ULONG ulTitle,
  14843. /* [out] */ DVD_ATR *pATR) = 0;
  14844. virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
  14845. /* [out] */ DVD_ATR *pATR) = 0;
  14846. virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
  14847. /* [out] */ DVD_VideoATR *pATR) = 0;
  14848. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes(
  14849. /* [out] */ DVD_AudioATR *pATR) = 0;
  14850. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes(
  14851. /* [out] */ DVD_SubpictureATR *pATR) = 0;
  14852. virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo(
  14853. /* [out] */ ULONG *pulNumOfVol,
  14854. /* [out] */ ULONG *pulThisVolNum,
  14855. /* [out] */ DVD_DISC_SIDE *pSide,
  14856. /* [out] */ ULONG *pulNumOfTitles) = 0;
  14857. virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo(
  14858. /* [size_is][out] */ BYTE *pTextManager,
  14859. /* [in] */ ULONG ulBufSize,
  14860. /* [out] */ ULONG *pulActualSize) = 0;
  14861. virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
  14862. /* [out] */ ULONG *pulParentalLevel,
  14863. /* [out] */ ULONG *pulCountryCode) = 0;
  14864. virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
  14865. /* [in] */ ULONG ulTitle,
  14866. /* [out] */ ULONG *pulNumberOfChapters) = 0;
  14867. virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
  14868. /* [in] */ ULONG ulTitle,
  14869. /* [out] */ ULONG *pulParentalLevels) = 0;
  14870. virtual HRESULT STDMETHODCALLTYPE GetRoot(
  14871. /* [size_is][out] */ LPSTR pRoot,
  14872. /* [in] */ ULONG ulBufSize,
  14873. /* [out] */ ULONG *pulActualSize) = 0;
  14874. };
  14875. #else /* C style interface */
  14876. typedef struct IDvdInfoVtbl
  14877. {
  14878. BEGIN_INTERFACE
  14879. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14880. IDvdInfo * This,
  14881. /* [in] */ REFIID riid,
  14882. /* [iid_is][out] */ void **ppvObject);
  14883. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14884. IDvdInfo * This);
  14885. ULONG ( STDMETHODCALLTYPE *Release )(
  14886. IDvdInfo * This);
  14887. HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
  14888. IDvdInfo * This,
  14889. /* [out] */ DVD_DOMAIN *pDomain);
  14890. HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
  14891. IDvdInfo * This,
  14892. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  14893. HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
  14894. IDvdInfo * This,
  14895. /* [out] */ ULONG *pulTotalTime);
  14896. HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
  14897. IDvdInfo * This,
  14898. /* [out] */ ULONG *pulButtonsAvailable,
  14899. /* [out] */ ULONG *pulCurrentButton);
  14900. HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
  14901. IDvdInfo * This,
  14902. /* [out] */ ULONG *pulAnglesAvailable,
  14903. /* [out] */ ULONG *pulCurrentAngle);
  14904. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
  14905. IDvdInfo * This,
  14906. /* [out] */ ULONG *pulStreamsAvailable,
  14907. /* [out] */ ULONG *pulCurrentStream);
  14908. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
  14909. IDvdInfo * This,
  14910. /* [out] */ ULONG *pulStreamsAvailable,
  14911. /* [out] */ ULONG *pulCurrentStream,
  14912. /* [out] */ BOOL *pIsDisabled);
  14913. HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
  14914. IDvdInfo * This,
  14915. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  14916. HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
  14917. IDvdInfo * This,
  14918. /* [out] */ SPRMARRAY *pRegisterArray);
  14919. HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
  14920. IDvdInfo * This,
  14921. /* [out] */ GPRMARRAY *pRegisterArray);
  14922. HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
  14923. IDvdInfo * This,
  14924. /* [in] */ ULONG ulStream,
  14925. /* [out] */ LCID *pLanguage);
  14926. HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
  14927. IDvdInfo * This,
  14928. /* [in] */ ULONG ulStream,
  14929. /* [out] */ LCID *pLanguage);
  14930. HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
  14931. IDvdInfo * This,
  14932. /* [in] */ ULONG ulTitle,
  14933. /* [out] */ DVD_ATR *pATR);
  14934. HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
  14935. IDvdInfo * This,
  14936. /* [out] */ DVD_ATR *pATR);
  14937. HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
  14938. IDvdInfo * This,
  14939. /* [out] */ DVD_VideoATR *pATR);
  14940. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )(
  14941. IDvdInfo * This,
  14942. /* [out] */ DVD_AudioATR *pATR);
  14943. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )(
  14944. IDvdInfo * This,
  14945. /* [out] */ DVD_SubpictureATR *pATR);
  14946. HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )(
  14947. IDvdInfo * This,
  14948. /* [out] */ ULONG *pulNumOfVol,
  14949. /* [out] */ ULONG *pulThisVolNum,
  14950. /* [out] */ DVD_DISC_SIDE *pSide,
  14951. /* [out] */ ULONG *pulNumOfTitles);
  14952. HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )(
  14953. IDvdInfo * This,
  14954. /* [size_is][out] */ BYTE *pTextManager,
  14955. /* [in] */ ULONG ulBufSize,
  14956. /* [out] */ ULONG *pulActualSize);
  14957. HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
  14958. IDvdInfo * This,
  14959. /* [out] */ ULONG *pulParentalLevel,
  14960. /* [out] */ ULONG *pulCountryCode);
  14961. HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
  14962. IDvdInfo * This,
  14963. /* [in] */ ULONG ulTitle,
  14964. /* [out] */ ULONG *pulNumberOfChapters);
  14965. HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
  14966. IDvdInfo * This,
  14967. /* [in] */ ULONG ulTitle,
  14968. /* [out] */ ULONG *pulParentalLevels);
  14969. HRESULT ( STDMETHODCALLTYPE *GetRoot )(
  14970. IDvdInfo * This,
  14971. /* [size_is][out] */ LPSTR pRoot,
  14972. /* [in] */ ULONG ulBufSize,
  14973. /* [out] */ ULONG *pulActualSize);
  14974. END_INTERFACE
  14975. } IDvdInfoVtbl;
  14976. interface IDvdInfo
  14977. {
  14978. CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  14979. };
  14980. #ifdef COBJMACROS
  14981. #define IDvdInfo_QueryInterface(This,riid,ppvObject) \
  14982. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14983. #define IDvdInfo_AddRef(This) \
  14984. (This)->lpVtbl -> AddRef(This)
  14985. #define IDvdInfo_Release(This) \
  14986. (This)->lpVtbl -> Release(This)
  14987. #define IDvdInfo_GetCurrentDomain(This,pDomain) \
  14988. (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  14989. #define IDvdInfo_GetCurrentLocation(This,pLocation) \
  14990. (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  14991. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) \
  14992. (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  14993. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) \
  14994. (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  14995. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) \
  14996. (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  14997. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) \
  14998. (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  14999. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) \
  15000. (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  15001. #define IDvdInfo_GetCurrentUOPS(This,pUOP) \
  15002. (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  15003. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) \
  15004. (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  15005. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) \
  15006. (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  15007. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) \
  15008. (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  15009. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) \
  15010. (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  15011. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) \
  15012. (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  15013. #define IDvdInfo_GetVMGAttributes(This,pATR) \
  15014. (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  15015. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) \
  15016. (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  15017. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) \
  15018. (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  15019. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) \
  15020. (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  15021. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) \
  15022. (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  15023. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) \
  15024. (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  15025. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) \
  15026. (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  15027. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) \
  15028. (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  15029. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) \
  15030. (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  15031. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) \
  15032. (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  15033. #endif /* COBJMACROS */
  15034. #endif /* C style interface */
  15035. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy(
  15036. IDvdInfo * This,
  15037. /* [out] */ DVD_DOMAIN *pDomain);
  15038. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  15039. IRpcStubBuffer *This,
  15040. IRpcChannelBuffer *_pRpcChannelBuffer,
  15041. PRPC_MESSAGE _pRpcMessage,
  15042. DWORD *_pdwStubPhase);
  15043. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy(
  15044. IDvdInfo * This,
  15045. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  15046. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  15047. IRpcStubBuffer *This,
  15048. IRpcChannelBuffer *_pRpcChannelBuffer,
  15049. PRPC_MESSAGE _pRpcMessage,
  15050. DWORD *_pdwStubPhase);
  15051. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy(
  15052. IDvdInfo * This,
  15053. /* [out] */ ULONG *pulTotalTime);
  15054. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  15055. IRpcStubBuffer *This,
  15056. IRpcChannelBuffer *_pRpcChannelBuffer,
  15057. PRPC_MESSAGE _pRpcMessage,
  15058. DWORD *_pdwStubPhase);
  15059. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy(
  15060. IDvdInfo * This,
  15061. /* [out] */ ULONG *pulButtonsAvailable,
  15062. /* [out] */ ULONG *pulCurrentButton);
  15063. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  15064. IRpcStubBuffer *This,
  15065. IRpcChannelBuffer *_pRpcChannelBuffer,
  15066. PRPC_MESSAGE _pRpcMessage,
  15067. DWORD *_pdwStubPhase);
  15068. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy(
  15069. IDvdInfo * This,
  15070. /* [out] */ ULONG *pulAnglesAvailable,
  15071. /* [out] */ ULONG *pulCurrentAngle);
  15072. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  15073. IRpcStubBuffer *This,
  15074. IRpcChannelBuffer *_pRpcChannelBuffer,
  15075. PRPC_MESSAGE _pRpcMessage,
  15076. DWORD *_pdwStubPhase);
  15077. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy(
  15078. IDvdInfo * This,
  15079. /* [out] */ ULONG *pulStreamsAvailable,
  15080. /* [out] */ ULONG *pulCurrentStream);
  15081. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  15082. IRpcStubBuffer *This,
  15083. IRpcChannelBuffer *_pRpcChannelBuffer,
  15084. PRPC_MESSAGE _pRpcMessage,
  15085. DWORD *_pdwStubPhase);
  15086. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy(
  15087. IDvdInfo * This,
  15088. /* [out] */ ULONG *pulStreamsAvailable,
  15089. /* [out] */ ULONG *pulCurrentStream,
  15090. /* [out] */ BOOL *pIsDisabled);
  15091. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  15092. IRpcStubBuffer *This,
  15093. IRpcChannelBuffer *_pRpcChannelBuffer,
  15094. PRPC_MESSAGE _pRpcMessage,
  15095. DWORD *_pdwStubPhase);
  15096. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy(
  15097. IDvdInfo * This,
  15098. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  15099. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  15100. IRpcStubBuffer *This,
  15101. IRpcChannelBuffer *_pRpcChannelBuffer,
  15102. PRPC_MESSAGE _pRpcMessage,
  15103. DWORD *_pdwStubPhase);
  15104. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy(
  15105. IDvdInfo * This,
  15106. /* [out] */ SPRMARRAY *pRegisterArray);
  15107. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  15108. IRpcStubBuffer *This,
  15109. IRpcChannelBuffer *_pRpcChannelBuffer,
  15110. PRPC_MESSAGE _pRpcMessage,
  15111. DWORD *_pdwStubPhase);
  15112. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy(
  15113. IDvdInfo * This,
  15114. /* [out] */ GPRMARRAY *pRegisterArray);
  15115. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  15116. IRpcStubBuffer *This,
  15117. IRpcChannelBuffer *_pRpcChannelBuffer,
  15118. PRPC_MESSAGE _pRpcMessage,
  15119. DWORD *_pdwStubPhase);
  15120. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy(
  15121. IDvdInfo * This,
  15122. /* [in] */ ULONG ulStream,
  15123. /* [out] */ LCID *pLanguage);
  15124. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  15125. IRpcStubBuffer *This,
  15126. IRpcChannelBuffer *_pRpcChannelBuffer,
  15127. PRPC_MESSAGE _pRpcMessage,
  15128. DWORD *_pdwStubPhase);
  15129. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy(
  15130. IDvdInfo * This,
  15131. /* [in] */ ULONG ulStream,
  15132. /* [out] */ LCID *pLanguage);
  15133. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  15134. IRpcStubBuffer *This,
  15135. IRpcChannelBuffer *_pRpcChannelBuffer,
  15136. PRPC_MESSAGE _pRpcMessage,
  15137. DWORD *_pdwStubPhase);
  15138. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy(
  15139. IDvdInfo * This,
  15140. /* [in] */ ULONG ulTitle,
  15141. /* [out] */ DVD_ATR *pATR);
  15142. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  15143. IRpcStubBuffer *This,
  15144. IRpcChannelBuffer *_pRpcChannelBuffer,
  15145. PRPC_MESSAGE _pRpcMessage,
  15146. DWORD *_pdwStubPhase);
  15147. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy(
  15148. IDvdInfo * This,
  15149. /* [out] */ DVD_ATR *pATR);
  15150. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  15151. IRpcStubBuffer *This,
  15152. IRpcChannelBuffer *_pRpcChannelBuffer,
  15153. PRPC_MESSAGE _pRpcMessage,
  15154. DWORD *_pdwStubPhase);
  15155. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy(
  15156. IDvdInfo * This,
  15157. /* [out] */ DVD_VideoATR *pATR);
  15158. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  15159. IRpcStubBuffer *This,
  15160. IRpcChannelBuffer *_pRpcChannelBuffer,
  15161. PRPC_MESSAGE _pRpcMessage,
  15162. DWORD *_pdwStubPhase);
  15163. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy(
  15164. IDvdInfo * This,
  15165. /* [out] */ DVD_AudioATR *pATR);
  15166. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  15167. IRpcStubBuffer *This,
  15168. IRpcChannelBuffer *_pRpcChannelBuffer,
  15169. PRPC_MESSAGE _pRpcMessage,
  15170. DWORD *_pdwStubPhase);
  15171. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy(
  15172. IDvdInfo * This,
  15173. /* [out] */ DVD_SubpictureATR *pATR);
  15174. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  15175. IRpcStubBuffer *This,
  15176. IRpcChannelBuffer *_pRpcChannelBuffer,
  15177. PRPC_MESSAGE _pRpcMessage,
  15178. DWORD *_pdwStubPhase);
  15179. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy(
  15180. IDvdInfo * This,
  15181. /* [out] */ ULONG *pulNumOfVol,
  15182. /* [out] */ ULONG *pulThisVolNum,
  15183. /* [out] */ DVD_DISC_SIDE *pSide,
  15184. /* [out] */ ULONG *pulNumOfTitles);
  15185. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  15186. IRpcStubBuffer *This,
  15187. IRpcChannelBuffer *_pRpcChannelBuffer,
  15188. PRPC_MESSAGE _pRpcMessage,
  15189. DWORD *_pdwStubPhase);
  15190. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy(
  15191. IDvdInfo * This,
  15192. /* [size_is][out] */ BYTE *pTextManager,
  15193. /* [in] */ ULONG ulBufSize,
  15194. /* [out] */ ULONG *pulActualSize);
  15195. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  15196. IRpcStubBuffer *This,
  15197. IRpcChannelBuffer *_pRpcChannelBuffer,
  15198. PRPC_MESSAGE _pRpcMessage,
  15199. DWORD *_pdwStubPhase);
  15200. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy(
  15201. IDvdInfo * This,
  15202. /* [out] */ ULONG *pulParentalLevel,
  15203. /* [out] */ ULONG *pulCountryCode);
  15204. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  15205. IRpcStubBuffer *This,
  15206. IRpcChannelBuffer *_pRpcChannelBuffer,
  15207. PRPC_MESSAGE _pRpcMessage,
  15208. DWORD *_pdwStubPhase);
  15209. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy(
  15210. IDvdInfo * This,
  15211. /* [in] */ ULONG ulTitle,
  15212. /* [out] */ ULONG *pulNumberOfChapters);
  15213. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  15214. IRpcStubBuffer *This,
  15215. IRpcChannelBuffer *_pRpcChannelBuffer,
  15216. PRPC_MESSAGE _pRpcMessage,
  15217. DWORD *_pdwStubPhase);
  15218. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy(
  15219. IDvdInfo * This,
  15220. /* [in] */ ULONG ulTitle,
  15221. /* [out] */ ULONG *pulParentalLevels);
  15222. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  15223. IRpcStubBuffer *This,
  15224. IRpcChannelBuffer *_pRpcChannelBuffer,
  15225. PRPC_MESSAGE _pRpcMessage,
  15226. DWORD *_pdwStubPhase);
  15227. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy(
  15228. IDvdInfo * This,
  15229. /* [size_is][out] */ LPSTR pRoot,
  15230. /* [in] */ ULONG ulBufSize,
  15231. /* [out] */ ULONG *pulActualSize);
  15232. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  15233. IRpcStubBuffer *This,
  15234. IRpcChannelBuffer *_pRpcChannelBuffer,
  15235. PRPC_MESSAGE _pRpcMessage,
  15236. DWORD *_pdwStubPhase);
  15237. #endif /* __IDvdInfo_INTERFACE_DEFINED__ */
  15238. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  15239. #define __IDvdCmd_INTERFACE_DEFINED__
  15240. /* interface IDvdCmd */
  15241. /* [unique][uuid][object] */
  15242. EXTERN_C const IID IID_IDvdCmd;
  15243. #if defined(__cplusplus) && !defined(CINTERFACE)
  15244. MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  15245. IDvdCmd : public IUnknown
  15246. {
  15247. public:
  15248. virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  15249. virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  15250. };
  15251. #else /* C style interface */
  15252. typedef struct IDvdCmdVtbl
  15253. {
  15254. BEGIN_INTERFACE
  15255. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15256. IDvdCmd * This,
  15257. /* [in] */ REFIID riid,
  15258. /* [iid_is][out] */ void **ppvObject);
  15259. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15260. IDvdCmd * This);
  15261. ULONG ( STDMETHODCALLTYPE *Release )(
  15262. IDvdCmd * This);
  15263. HRESULT ( STDMETHODCALLTYPE *WaitForStart )(
  15264. IDvdCmd * This);
  15265. HRESULT ( STDMETHODCALLTYPE *WaitForEnd )(
  15266. IDvdCmd * This);
  15267. END_INTERFACE
  15268. } IDvdCmdVtbl;
  15269. interface IDvdCmd
  15270. {
  15271. CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  15272. };
  15273. #ifdef COBJMACROS
  15274. #define IDvdCmd_QueryInterface(This,riid,ppvObject) \
  15275. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15276. #define IDvdCmd_AddRef(This) \
  15277. (This)->lpVtbl -> AddRef(This)
  15278. #define IDvdCmd_Release(This) \
  15279. (This)->lpVtbl -> Release(This)
  15280. #define IDvdCmd_WaitForStart(This) \
  15281. (This)->lpVtbl -> WaitForStart(This)
  15282. #define IDvdCmd_WaitForEnd(This) \
  15283. (This)->lpVtbl -> WaitForEnd(This)
  15284. #endif /* COBJMACROS */
  15285. #endif /* C style interface */
  15286. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy(
  15287. IDvdCmd * This);
  15288. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  15289. IRpcStubBuffer *This,
  15290. IRpcChannelBuffer *_pRpcChannelBuffer,
  15291. PRPC_MESSAGE _pRpcMessage,
  15292. DWORD *_pdwStubPhase);
  15293. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy(
  15294. IDvdCmd * This);
  15295. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  15296. IRpcStubBuffer *This,
  15297. IRpcChannelBuffer *_pRpcChannelBuffer,
  15298. PRPC_MESSAGE _pRpcMessage,
  15299. DWORD *_pdwStubPhase);
  15300. #endif /* __IDvdCmd_INTERFACE_DEFINED__ */
  15301. #ifndef __IDvdState_INTERFACE_DEFINED__
  15302. #define __IDvdState_INTERFACE_DEFINED__
  15303. /* interface IDvdState */
  15304. /* [unique][uuid][object] */
  15305. EXTERN_C const IID IID_IDvdState;
  15306. #if defined(__cplusplus) && !defined(CINTERFACE)
  15307. MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  15308. IDvdState : public IUnknown
  15309. {
  15310. public:
  15311. virtual HRESULT STDMETHODCALLTYPE GetDiscID(
  15312. /* [out] */ ULONGLONG *pullUniqueID) = 0;
  15313. virtual HRESULT STDMETHODCALLTYPE GetParentalLevel(
  15314. /* [out] */ ULONG *pulParentalLevel) = 0;
  15315. };
  15316. #else /* C style interface */
  15317. typedef struct IDvdStateVtbl
  15318. {
  15319. BEGIN_INTERFACE
  15320. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15321. IDvdState * This,
  15322. /* [in] */ REFIID riid,
  15323. /* [iid_is][out] */ void **ppvObject);
  15324. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15325. IDvdState * This);
  15326. ULONG ( STDMETHODCALLTYPE *Release )(
  15327. IDvdState * This);
  15328. HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
  15329. IDvdState * This,
  15330. /* [out] */ ULONGLONG *pullUniqueID);
  15331. HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )(
  15332. IDvdState * This,
  15333. /* [out] */ ULONG *pulParentalLevel);
  15334. END_INTERFACE
  15335. } IDvdStateVtbl;
  15336. interface IDvdState
  15337. {
  15338. CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  15339. };
  15340. #ifdef COBJMACROS
  15341. #define IDvdState_QueryInterface(This,riid,ppvObject) \
  15342. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15343. #define IDvdState_AddRef(This) \
  15344. (This)->lpVtbl -> AddRef(This)
  15345. #define IDvdState_Release(This) \
  15346. (This)->lpVtbl -> Release(This)
  15347. #define IDvdState_GetDiscID(This,pullUniqueID) \
  15348. (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  15349. #define IDvdState_GetParentalLevel(This,pulParentalLevel) \
  15350. (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  15351. #endif /* COBJMACROS */
  15352. #endif /* C style interface */
  15353. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy(
  15354. IDvdState * This,
  15355. /* [out] */ ULONGLONG *pullUniqueID);
  15356. void __RPC_STUB IDvdState_GetDiscID_Stub(
  15357. IRpcStubBuffer *This,
  15358. IRpcChannelBuffer *_pRpcChannelBuffer,
  15359. PRPC_MESSAGE _pRpcMessage,
  15360. DWORD *_pdwStubPhase);
  15361. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy(
  15362. IDvdState * This,
  15363. /* [out] */ ULONG *pulParentalLevel);
  15364. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  15365. IRpcStubBuffer *This,
  15366. IRpcChannelBuffer *_pRpcChannelBuffer,
  15367. PRPC_MESSAGE _pRpcMessage,
  15368. DWORD *_pdwStubPhase);
  15369. #endif /* __IDvdState_INTERFACE_DEFINED__ */
  15370. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  15371. #define __IDvdControl2_INTERFACE_DEFINED__
  15372. /* interface IDvdControl2 */
  15373. /* [unique][uuid][object] */
  15374. EXTERN_C const IID IID_IDvdControl2;
  15375. #if defined(__cplusplus) && !defined(CINTERFACE)
  15376. MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  15377. IDvdControl2 : public IUnknown
  15378. {
  15379. public:
  15380. virtual HRESULT STDMETHODCALLTYPE PlayTitle(
  15381. /* [in] */ ULONG ulTitle,
  15382. /* [in] */ DWORD dwFlags,
  15383. /* [out] */ IDvdCmd **ppCmd) = 0;
  15384. virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle(
  15385. /* [in] */ ULONG ulTitle,
  15386. /* [in] */ ULONG ulChapter,
  15387. /* [in] */ DWORD dwFlags,
  15388. /* [out] */ IDvdCmd **ppCmd) = 0;
  15389. virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle(
  15390. /* [in] */ ULONG ulTitle,
  15391. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15392. /* [in] */ DWORD dwFlags,
  15393. /* [out] */ IDvdCmd **ppCmd) = 0;
  15394. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  15395. virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu(
  15396. /* [in] */ DWORD dwFlags,
  15397. /* [out] */ IDvdCmd **ppCmd) = 0;
  15398. virtual HRESULT STDMETHODCALLTYPE PlayAtTime(
  15399. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  15400. /* [in] */ DWORD dwFlags,
  15401. /* [out] */ IDvdCmd **ppCmd) = 0;
  15402. virtual HRESULT STDMETHODCALLTYPE PlayChapter(
  15403. /* [in] */ ULONG ulChapter,
  15404. /* [in] */ DWORD dwFlags,
  15405. /* [out] */ IDvdCmd **ppCmd) = 0;
  15406. virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter(
  15407. /* [in] */ DWORD dwFlags,
  15408. /* [out] */ IDvdCmd **ppCmd) = 0;
  15409. virtual HRESULT STDMETHODCALLTYPE ReplayChapter(
  15410. /* [in] */ DWORD dwFlags,
  15411. /* [out] */ IDvdCmd **ppCmd) = 0;
  15412. virtual HRESULT STDMETHODCALLTYPE PlayNextChapter(
  15413. /* [in] */ DWORD dwFlags,
  15414. /* [out] */ IDvdCmd **ppCmd) = 0;
  15415. virtual HRESULT STDMETHODCALLTYPE PlayForwards(
  15416. /* [in] */ double dSpeed,
  15417. /* [in] */ DWORD dwFlags,
  15418. /* [out] */ IDvdCmd **ppCmd) = 0;
  15419. virtual HRESULT STDMETHODCALLTYPE PlayBackwards(
  15420. /* [in] */ double dSpeed,
  15421. /* [in] */ DWORD dwFlags,
  15422. /* [out] */ IDvdCmd **ppCmd) = 0;
  15423. virtual HRESULT STDMETHODCALLTYPE ShowMenu(
  15424. /* [in] */ DVD_MENU_ID MenuID,
  15425. /* [in] */ DWORD dwFlags,
  15426. /* [out] */ IDvdCmd **ppCmd) = 0;
  15427. virtual HRESULT STDMETHODCALLTYPE Resume(
  15428. /* [in] */ DWORD dwFlags,
  15429. /* [out] */ IDvdCmd **ppCmd) = 0;
  15430. virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton(
  15431. DVD_RELATIVE_BUTTON buttonDir) = 0;
  15432. virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  15433. virtual HRESULT STDMETHODCALLTYPE SelectButton(
  15434. /* [in] */ ULONG ulButton) = 0;
  15435. virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton(
  15436. /* [in] */ ULONG ulButton) = 0;
  15437. virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  15438. virtual HRESULT STDMETHODCALLTYPE Pause(
  15439. /* [in] */ BOOL bState) = 0;
  15440. virtual HRESULT STDMETHODCALLTYPE SelectAudioStream(
  15441. /* [in] */ ULONG ulAudio,
  15442. /* [in] */ DWORD dwFlags,
  15443. /* [out] */ IDvdCmd **ppCmd) = 0;
  15444. virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream(
  15445. /* [in] */ ULONG ulSubPicture,
  15446. /* [in] */ DWORD dwFlags,
  15447. /* [out] */ IDvdCmd **ppCmd) = 0;
  15448. virtual HRESULT STDMETHODCALLTYPE SetSubpictureState(
  15449. /* [in] */ BOOL bState,
  15450. /* [in] */ DWORD dwFlags,
  15451. /* [out] */ IDvdCmd **ppCmd) = 0;
  15452. virtual HRESULT STDMETHODCALLTYPE SelectAngle(
  15453. /* [in] */ ULONG ulAngle,
  15454. /* [in] */ DWORD dwFlags,
  15455. /* [out] */ IDvdCmd **ppCmd) = 0;
  15456. virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel(
  15457. /* [in] */ ULONG ulParentalLevel) = 0;
  15458. virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry(
  15459. /* [in] */ BYTE bCountry[ 2 ]) = 0;
  15460. virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode(
  15461. /* [in] */ ULONG ulMode) = 0;
  15462. virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference(
  15463. /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  15464. virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory(
  15465. /* [in] */ LPCWSTR pszwPath) = 0;
  15466. virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition(
  15467. /* [in] */ POINT point) = 0;
  15468. virtual HRESULT STDMETHODCALLTYPE SelectAtPosition(
  15469. /* [in] */ POINT point) = 0;
  15470. virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop(
  15471. /* [in] */ ULONG ulTitle,
  15472. /* [in] */ ULONG ulChapter,
  15473. /* [in] */ ULONG ulChaptersToPlay,
  15474. /* [in] */ DWORD dwFlags,
  15475. /* [out] */ IDvdCmd **ppCmd) = 0;
  15476. virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange(
  15477. /* [in] */ BOOL bAccept) = 0;
  15478. virtual HRESULT STDMETHODCALLTYPE SetOption(
  15479. /* [in] */ DVD_OPTION_FLAG flag,
  15480. /* [in] */ BOOL fState) = 0;
  15481. virtual HRESULT STDMETHODCALLTYPE SetState(
  15482. /* [in] */ IDvdState *pState,
  15483. /* [in] */ DWORD dwFlags,
  15484. /* [out] */ IDvdCmd **ppCmd) = 0;
  15485. virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop(
  15486. /* [in] */ ULONG ulTitle,
  15487. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15488. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  15489. /* [in] */ DWORD dwFlags,
  15490. /* [out] */ IDvdCmd **ppCmd) = 0;
  15491. virtual HRESULT STDMETHODCALLTYPE SetGPRM(
  15492. /* [in] */ ULONG ulIndex,
  15493. /* [in] */ WORD wValue,
  15494. /* [in] */ DWORD dwFlags,
  15495. /* [out] */ IDvdCmd **ppCmd) = 0;
  15496. virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage(
  15497. /* [in] */ LCID Language) = 0;
  15498. virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage(
  15499. /* [in] */ LCID Language,
  15500. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  15501. virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage(
  15502. /* [in] */ LCID Language,
  15503. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  15504. };
  15505. #else /* C style interface */
  15506. typedef struct IDvdControl2Vtbl
  15507. {
  15508. BEGIN_INTERFACE
  15509. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15510. IDvdControl2 * This,
  15511. /* [in] */ REFIID riid,
  15512. /* [iid_is][out] */ void **ppvObject);
  15513. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15514. IDvdControl2 * This);
  15515. ULONG ( STDMETHODCALLTYPE *Release )(
  15516. IDvdControl2 * This);
  15517. HRESULT ( STDMETHODCALLTYPE *PlayTitle )(
  15518. IDvdControl2 * This,
  15519. /* [in] */ ULONG ulTitle,
  15520. /* [in] */ DWORD dwFlags,
  15521. /* [out] */ IDvdCmd **ppCmd);
  15522. HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )(
  15523. IDvdControl2 * This,
  15524. /* [in] */ ULONG ulTitle,
  15525. /* [in] */ ULONG ulChapter,
  15526. /* [in] */ DWORD dwFlags,
  15527. /* [out] */ IDvdCmd **ppCmd);
  15528. HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )(
  15529. IDvdControl2 * This,
  15530. /* [in] */ ULONG ulTitle,
  15531. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15532. /* [in] */ DWORD dwFlags,
  15533. /* [out] */ IDvdCmd **ppCmd);
  15534. HRESULT ( STDMETHODCALLTYPE *Stop )(
  15535. IDvdControl2 * This);
  15536. HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )(
  15537. IDvdControl2 * This,
  15538. /* [in] */ DWORD dwFlags,
  15539. /* [out] */ IDvdCmd **ppCmd);
  15540. HRESULT ( STDMETHODCALLTYPE *PlayAtTime )(
  15541. IDvdControl2 * This,
  15542. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  15543. /* [in] */ DWORD dwFlags,
  15544. /* [out] */ IDvdCmd **ppCmd);
  15545. HRESULT ( STDMETHODCALLTYPE *PlayChapter )(
  15546. IDvdControl2 * This,
  15547. /* [in] */ ULONG ulChapter,
  15548. /* [in] */ DWORD dwFlags,
  15549. /* [out] */ IDvdCmd **ppCmd);
  15550. HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )(
  15551. IDvdControl2 * This,
  15552. /* [in] */ DWORD dwFlags,
  15553. /* [out] */ IDvdCmd **ppCmd);
  15554. HRESULT ( STDMETHODCALLTYPE *ReplayChapter )(
  15555. IDvdControl2 * This,
  15556. /* [in] */ DWORD dwFlags,
  15557. /* [out] */ IDvdCmd **ppCmd);
  15558. HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )(
  15559. IDvdControl2 * This,
  15560. /* [in] */ DWORD dwFlags,
  15561. /* [out] */ IDvdCmd **ppCmd);
  15562. HRESULT ( STDMETHODCALLTYPE *PlayForwards )(
  15563. IDvdControl2 * This,
  15564. /* [in] */ double dSpeed,
  15565. /* [in] */ DWORD dwFlags,
  15566. /* [out] */ IDvdCmd **ppCmd);
  15567. HRESULT ( STDMETHODCALLTYPE *PlayBackwards )(
  15568. IDvdControl2 * This,
  15569. /* [in] */ double dSpeed,
  15570. /* [in] */ DWORD dwFlags,
  15571. /* [out] */ IDvdCmd **ppCmd);
  15572. HRESULT ( STDMETHODCALLTYPE *ShowMenu )(
  15573. IDvdControl2 * This,
  15574. /* [in] */ DVD_MENU_ID MenuID,
  15575. /* [in] */ DWORD dwFlags,
  15576. /* [out] */ IDvdCmd **ppCmd);
  15577. HRESULT ( STDMETHODCALLTYPE *Resume )(
  15578. IDvdControl2 * This,
  15579. /* [in] */ DWORD dwFlags,
  15580. /* [out] */ IDvdCmd **ppCmd);
  15581. HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )(
  15582. IDvdControl2 * This,
  15583. DVD_RELATIVE_BUTTON buttonDir);
  15584. HRESULT ( STDMETHODCALLTYPE *ActivateButton )(
  15585. IDvdControl2 * This);
  15586. HRESULT ( STDMETHODCALLTYPE *SelectButton )(
  15587. IDvdControl2 * This,
  15588. /* [in] */ ULONG ulButton);
  15589. HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )(
  15590. IDvdControl2 * This,
  15591. /* [in] */ ULONG ulButton);
  15592. HRESULT ( STDMETHODCALLTYPE *StillOff )(
  15593. IDvdControl2 * This);
  15594. HRESULT ( STDMETHODCALLTYPE *Pause )(
  15595. IDvdControl2 * This,
  15596. /* [in] */ BOOL bState);
  15597. HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )(
  15598. IDvdControl2 * This,
  15599. /* [in] */ ULONG ulAudio,
  15600. /* [in] */ DWORD dwFlags,
  15601. /* [out] */ IDvdCmd **ppCmd);
  15602. HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )(
  15603. IDvdControl2 * This,
  15604. /* [in] */ ULONG ulSubPicture,
  15605. /* [in] */ DWORD dwFlags,
  15606. /* [out] */ IDvdCmd **ppCmd);
  15607. HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )(
  15608. IDvdControl2 * This,
  15609. /* [in] */ BOOL bState,
  15610. /* [in] */ DWORD dwFlags,
  15611. /* [out] */ IDvdCmd **ppCmd);
  15612. HRESULT ( STDMETHODCALLTYPE *SelectAngle )(
  15613. IDvdControl2 * This,
  15614. /* [in] */ ULONG ulAngle,
  15615. /* [in] */ DWORD dwFlags,
  15616. /* [out] */ IDvdCmd **ppCmd);
  15617. HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )(
  15618. IDvdControl2 * This,
  15619. /* [in] */ ULONG ulParentalLevel);
  15620. HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )(
  15621. IDvdControl2 * This,
  15622. /* [in] */ BYTE bCountry[ 2 ]);
  15623. HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )(
  15624. IDvdControl2 * This,
  15625. /* [in] */ ULONG ulMode);
  15626. HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )(
  15627. IDvdControl2 * This,
  15628. /* [in] */ ULONG ulPreferredDisplayMode);
  15629. HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )(
  15630. IDvdControl2 * This,
  15631. /* [in] */ LPCWSTR pszwPath);
  15632. HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )(
  15633. IDvdControl2 * This,
  15634. /* [in] */ POINT point);
  15635. HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )(
  15636. IDvdControl2 * This,
  15637. /* [in] */ POINT point);
  15638. HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )(
  15639. IDvdControl2 * This,
  15640. /* [in] */ ULONG ulTitle,
  15641. /* [in] */ ULONG ulChapter,
  15642. /* [in] */ ULONG ulChaptersToPlay,
  15643. /* [in] */ DWORD dwFlags,
  15644. /* [out] */ IDvdCmd **ppCmd);
  15645. HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )(
  15646. IDvdControl2 * This,
  15647. /* [in] */ BOOL bAccept);
  15648. HRESULT ( STDMETHODCALLTYPE *SetOption )(
  15649. IDvdControl2 * This,
  15650. /* [in] */ DVD_OPTION_FLAG flag,
  15651. /* [in] */ BOOL fState);
  15652. HRESULT ( STDMETHODCALLTYPE *SetState )(
  15653. IDvdControl2 * This,
  15654. /* [in] */ IDvdState *pState,
  15655. /* [in] */ DWORD dwFlags,
  15656. /* [out] */ IDvdCmd **ppCmd);
  15657. HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )(
  15658. IDvdControl2 * This,
  15659. /* [in] */ ULONG ulTitle,
  15660. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15661. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  15662. /* [in] */ DWORD dwFlags,
  15663. /* [out] */ IDvdCmd **ppCmd);
  15664. HRESULT ( STDMETHODCALLTYPE *SetGPRM )(
  15665. IDvdControl2 * This,
  15666. /* [in] */ ULONG ulIndex,
  15667. /* [in] */ WORD wValue,
  15668. /* [in] */ DWORD dwFlags,
  15669. /* [out] */ IDvdCmd **ppCmd);
  15670. HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )(
  15671. IDvdControl2 * This,
  15672. /* [in] */ LCID Language);
  15673. HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )(
  15674. IDvdControl2 * This,
  15675. /* [in] */ LCID Language,
  15676. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  15677. HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )(
  15678. IDvdControl2 * This,
  15679. /* [in] */ LCID Language,
  15680. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  15681. END_INTERFACE
  15682. } IDvdControl2Vtbl;
  15683. interface IDvdControl2
  15684. {
  15685. CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  15686. };
  15687. #ifdef COBJMACROS
  15688. #define IDvdControl2_QueryInterface(This,riid,ppvObject) \
  15689. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15690. #define IDvdControl2_AddRef(This) \
  15691. (This)->lpVtbl -> AddRef(This)
  15692. #define IDvdControl2_Release(This) \
  15693. (This)->lpVtbl -> Release(This)
  15694. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) \
  15695. (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  15696. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) \
  15697. (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  15698. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) \
  15699. (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  15700. #define IDvdControl2_Stop(This) \
  15701. (This)->lpVtbl -> Stop(This)
  15702. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) \
  15703. (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  15704. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) \
  15705. (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  15706. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) \
  15707. (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  15708. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) \
  15709. (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  15710. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) \
  15711. (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  15712. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) \
  15713. (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  15714. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) \
  15715. (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  15716. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) \
  15717. (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  15718. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) \
  15719. (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  15720. #define IDvdControl2_Resume(This,dwFlags,ppCmd) \
  15721. (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  15722. #define IDvdControl2_SelectRelativeButton(This,buttonDir) \
  15723. (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  15724. #define IDvdControl2_ActivateButton(This) \
  15725. (This)->lpVtbl -> ActivateButton(This)
  15726. #define IDvdControl2_SelectButton(This,ulButton) \
  15727. (This)->lpVtbl -> SelectButton(This,ulButton)
  15728. #define IDvdControl2_SelectAndActivateButton(This,ulButton) \
  15729. (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  15730. #define IDvdControl2_StillOff(This) \
  15731. (This)->lpVtbl -> StillOff(This)
  15732. #define IDvdControl2_Pause(This,bState) \
  15733. (This)->lpVtbl -> Pause(This,bState)
  15734. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) \
  15735. (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  15736. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) \
  15737. (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  15738. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) \
  15739. (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  15740. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) \
  15741. (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  15742. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) \
  15743. (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  15744. #define IDvdControl2_SelectParentalCountry(This,bCountry) \
  15745. (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  15746. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) \
  15747. (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  15748. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) \
  15749. (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  15750. #define IDvdControl2_SetDVDDirectory(This,pszwPath) \
  15751. (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  15752. #define IDvdControl2_ActivateAtPosition(This,point) \
  15753. (This)->lpVtbl -> ActivateAtPosition(This,point)
  15754. #define IDvdControl2_SelectAtPosition(This,point) \
  15755. (This)->lpVtbl -> SelectAtPosition(This,point)
  15756. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) \
  15757. (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  15758. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) \
  15759. (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  15760. #define IDvdControl2_SetOption(This,flag,fState) \
  15761. (This)->lpVtbl -> SetOption(This,flag,fState)
  15762. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) \
  15763. (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  15764. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) \
  15765. (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  15766. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) \
  15767. (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  15768. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) \
  15769. (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  15770. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) \
  15771. (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  15772. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) \
  15773. (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  15774. #endif /* COBJMACROS */
  15775. #endif /* C style interface */
  15776. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy(
  15777. IDvdControl2 * This,
  15778. /* [in] */ ULONG ulTitle,
  15779. /* [in] */ DWORD dwFlags,
  15780. /* [out] */ IDvdCmd **ppCmd);
  15781. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  15782. IRpcStubBuffer *This,
  15783. IRpcChannelBuffer *_pRpcChannelBuffer,
  15784. PRPC_MESSAGE _pRpcMessage,
  15785. DWORD *_pdwStubPhase);
  15786. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy(
  15787. IDvdControl2 * This,
  15788. /* [in] */ ULONG ulTitle,
  15789. /* [in] */ ULONG ulChapter,
  15790. /* [in] */ DWORD dwFlags,
  15791. /* [out] */ IDvdCmd **ppCmd);
  15792. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  15793. IRpcStubBuffer *This,
  15794. IRpcChannelBuffer *_pRpcChannelBuffer,
  15795. PRPC_MESSAGE _pRpcMessage,
  15796. DWORD *_pdwStubPhase);
  15797. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy(
  15798. IDvdControl2 * This,
  15799. /* [in] */ ULONG ulTitle,
  15800. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15801. /* [in] */ DWORD dwFlags,
  15802. /* [out] */ IDvdCmd **ppCmd);
  15803. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  15804. IRpcStubBuffer *This,
  15805. IRpcChannelBuffer *_pRpcChannelBuffer,
  15806. PRPC_MESSAGE _pRpcMessage,
  15807. DWORD *_pdwStubPhase);
  15808. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy(
  15809. IDvdControl2 * This);
  15810. void __RPC_STUB IDvdControl2_Stop_Stub(
  15811. IRpcStubBuffer *This,
  15812. IRpcChannelBuffer *_pRpcChannelBuffer,
  15813. PRPC_MESSAGE _pRpcMessage,
  15814. DWORD *_pdwStubPhase);
  15815. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy(
  15816. IDvdControl2 * This,
  15817. /* [in] */ DWORD dwFlags,
  15818. /* [out] */ IDvdCmd **ppCmd);
  15819. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  15820. IRpcStubBuffer *This,
  15821. IRpcChannelBuffer *_pRpcChannelBuffer,
  15822. PRPC_MESSAGE _pRpcMessage,
  15823. DWORD *_pdwStubPhase);
  15824. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy(
  15825. IDvdControl2 * This,
  15826. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  15827. /* [in] */ DWORD dwFlags,
  15828. /* [out] */ IDvdCmd **ppCmd);
  15829. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  15830. IRpcStubBuffer *This,
  15831. IRpcChannelBuffer *_pRpcChannelBuffer,
  15832. PRPC_MESSAGE _pRpcMessage,
  15833. DWORD *_pdwStubPhase);
  15834. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy(
  15835. IDvdControl2 * This,
  15836. /* [in] */ ULONG ulChapter,
  15837. /* [in] */ DWORD dwFlags,
  15838. /* [out] */ IDvdCmd **ppCmd);
  15839. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  15840. IRpcStubBuffer *This,
  15841. IRpcChannelBuffer *_pRpcChannelBuffer,
  15842. PRPC_MESSAGE _pRpcMessage,
  15843. DWORD *_pdwStubPhase);
  15844. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy(
  15845. IDvdControl2 * This,
  15846. /* [in] */ DWORD dwFlags,
  15847. /* [out] */ IDvdCmd **ppCmd);
  15848. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  15849. IRpcStubBuffer *This,
  15850. IRpcChannelBuffer *_pRpcChannelBuffer,
  15851. PRPC_MESSAGE _pRpcMessage,
  15852. DWORD *_pdwStubPhase);
  15853. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy(
  15854. IDvdControl2 * This,
  15855. /* [in] */ DWORD dwFlags,
  15856. /* [out] */ IDvdCmd **ppCmd);
  15857. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  15858. IRpcStubBuffer *This,
  15859. IRpcChannelBuffer *_pRpcChannelBuffer,
  15860. PRPC_MESSAGE _pRpcMessage,
  15861. DWORD *_pdwStubPhase);
  15862. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy(
  15863. IDvdControl2 * This,
  15864. /* [in] */ DWORD dwFlags,
  15865. /* [out] */ IDvdCmd **ppCmd);
  15866. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  15867. IRpcStubBuffer *This,
  15868. IRpcChannelBuffer *_pRpcChannelBuffer,
  15869. PRPC_MESSAGE _pRpcMessage,
  15870. DWORD *_pdwStubPhase);
  15871. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy(
  15872. IDvdControl2 * This,
  15873. /* [in] */ double dSpeed,
  15874. /* [in] */ DWORD dwFlags,
  15875. /* [out] */ IDvdCmd **ppCmd);
  15876. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  15877. IRpcStubBuffer *This,
  15878. IRpcChannelBuffer *_pRpcChannelBuffer,
  15879. PRPC_MESSAGE _pRpcMessage,
  15880. DWORD *_pdwStubPhase);
  15881. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy(
  15882. IDvdControl2 * This,
  15883. /* [in] */ double dSpeed,
  15884. /* [in] */ DWORD dwFlags,
  15885. /* [out] */ IDvdCmd **ppCmd);
  15886. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  15887. IRpcStubBuffer *This,
  15888. IRpcChannelBuffer *_pRpcChannelBuffer,
  15889. PRPC_MESSAGE _pRpcMessage,
  15890. DWORD *_pdwStubPhase);
  15891. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy(
  15892. IDvdControl2 * This,
  15893. /* [in] */ DVD_MENU_ID MenuID,
  15894. /* [in] */ DWORD dwFlags,
  15895. /* [out] */ IDvdCmd **ppCmd);
  15896. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  15897. IRpcStubBuffer *This,
  15898. IRpcChannelBuffer *_pRpcChannelBuffer,
  15899. PRPC_MESSAGE _pRpcMessage,
  15900. DWORD *_pdwStubPhase);
  15901. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy(
  15902. IDvdControl2 * This,
  15903. /* [in] */ DWORD dwFlags,
  15904. /* [out] */ IDvdCmd **ppCmd);
  15905. void __RPC_STUB IDvdControl2_Resume_Stub(
  15906. IRpcStubBuffer *This,
  15907. IRpcChannelBuffer *_pRpcChannelBuffer,
  15908. PRPC_MESSAGE _pRpcMessage,
  15909. DWORD *_pdwStubPhase);
  15910. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy(
  15911. IDvdControl2 * This,
  15912. DVD_RELATIVE_BUTTON buttonDir);
  15913. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  15914. IRpcStubBuffer *This,
  15915. IRpcChannelBuffer *_pRpcChannelBuffer,
  15916. PRPC_MESSAGE _pRpcMessage,
  15917. DWORD *_pdwStubPhase);
  15918. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy(
  15919. IDvdControl2 * This);
  15920. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  15921. IRpcStubBuffer *This,
  15922. IRpcChannelBuffer *_pRpcChannelBuffer,
  15923. PRPC_MESSAGE _pRpcMessage,
  15924. DWORD *_pdwStubPhase);
  15925. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy(
  15926. IDvdControl2 * This,
  15927. /* [in] */ ULONG ulButton);
  15928. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  15929. IRpcStubBuffer *This,
  15930. IRpcChannelBuffer *_pRpcChannelBuffer,
  15931. PRPC_MESSAGE _pRpcMessage,
  15932. DWORD *_pdwStubPhase);
  15933. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy(
  15934. IDvdControl2 * This,
  15935. /* [in] */ ULONG ulButton);
  15936. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  15937. IRpcStubBuffer *This,
  15938. IRpcChannelBuffer *_pRpcChannelBuffer,
  15939. PRPC_MESSAGE _pRpcMessage,
  15940. DWORD *_pdwStubPhase);
  15941. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy(
  15942. IDvdControl2 * This);
  15943. void __RPC_STUB IDvdControl2_StillOff_Stub(
  15944. IRpcStubBuffer *This,
  15945. IRpcChannelBuffer *_pRpcChannelBuffer,
  15946. PRPC_MESSAGE _pRpcMessage,
  15947. DWORD *_pdwStubPhase);
  15948. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy(
  15949. IDvdControl2 * This,
  15950. /* [in] */ BOOL bState);
  15951. void __RPC_STUB IDvdControl2_Pause_Stub(
  15952. IRpcStubBuffer *This,
  15953. IRpcChannelBuffer *_pRpcChannelBuffer,
  15954. PRPC_MESSAGE _pRpcMessage,
  15955. DWORD *_pdwStubPhase);
  15956. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy(
  15957. IDvdControl2 * This,
  15958. /* [in] */ ULONG ulAudio,
  15959. /* [in] */ DWORD dwFlags,
  15960. /* [out] */ IDvdCmd **ppCmd);
  15961. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  15962. IRpcStubBuffer *This,
  15963. IRpcChannelBuffer *_pRpcChannelBuffer,
  15964. PRPC_MESSAGE _pRpcMessage,
  15965. DWORD *_pdwStubPhase);
  15966. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy(
  15967. IDvdControl2 * This,
  15968. /* [in] */ ULONG ulSubPicture,
  15969. /* [in] */ DWORD dwFlags,
  15970. /* [out] */ IDvdCmd **ppCmd);
  15971. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  15972. IRpcStubBuffer *This,
  15973. IRpcChannelBuffer *_pRpcChannelBuffer,
  15974. PRPC_MESSAGE _pRpcMessage,
  15975. DWORD *_pdwStubPhase);
  15976. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy(
  15977. IDvdControl2 * This,
  15978. /* [in] */ BOOL bState,
  15979. /* [in] */ DWORD dwFlags,
  15980. /* [out] */ IDvdCmd **ppCmd);
  15981. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  15982. IRpcStubBuffer *This,
  15983. IRpcChannelBuffer *_pRpcChannelBuffer,
  15984. PRPC_MESSAGE _pRpcMessage,
  15985. DWORD *_pdwStubPhase);
  15986. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy(
  15987. IDvdControl2 * This,
  15988. /* [in] */ ULONG ulAngle,
  15989. /* [in] */ DWORD dwFlags,
  15990. /* [out] */ IDvdCmd **ppCmd);
  15991. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  15992. IRpcStubBuffer *This,
  15993. IRpcChannelBuffer *_pRpcChannelBuffer,
  15994. PRPC_MESSAGE _pRpcMessage,
  15995. DWORD *_pdwStubPhase);
  15996. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy(
  15997. IDvdControl2 * This,
  15998. /* [in] */ ULONG ulParentalLevel);
  15999. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  16000. IRpcStubBuffer *This,
  16001. IRpcChannelBuffer *_pRpcChannelBuffer,
  16002. PRPC_MESSAGE _pRpcMessage,
  16003. DWORD *_pdwStubPhase);
  16004. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy(
  16005. IDvdControl2 * This,
  16006. /* [in] */ BYTE bCountry[ 2 ]);
  16007. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  16008. IRpcStubBuffer *This,
  16009. IRpcChannelBuffer *_pRpcChannelBuffer,
  16010. PRPC_MESSAGE _pRpcMessage,
  16011. DWORD *_pdwStubPhase);
  16012. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(
  16013. IDvdControl2 * This,
  16014. /* [in] */ ULONG ulMode);
  16015. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  16016. IRpcStubBuffer *This,
  16017. IRpcChannelBuffer *_pRpcChannelBuffer,
  16018. PRPC_MESSAGE _pRpcMessage,
  16019. DWORD *_pdwStubPhase);
  16020. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy(
  16021. IDvdControl2 * This,
  16022. /* [in] */ ULONG ulPreferredDisplayMode);
  16023. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  16024. IRpcStubBuffer *This,
  16025. IRpcChannelBuffer *_pRpcChannelBuffer,
  16026. PRPC_MESSAGE _pRpcMessage,
  16027. DWORD *_pdwStubPhase);
  16028. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy(
  16029. IDvdControl2 * This,
  16030. /* [in] */ LPCWSTR pszwPath);
  16031. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  16032. IRpcStubBuffer *This,
  16033. IRpcChannelBuffer *_pRpcChannelBuffer,
  16034. PRPC_MESSAGE _pRpcMessage,
  16035. DWORD *_pdwStubPhase);
  16036. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy(
  16037. IDvdControl2 * This,
  16038. /* [in] */ POINT point);
  16039. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  16040. IRpcStubBuffer *This,
  16041. IRpcChannelBuffer *_pRpcChannelBuffer,
  16042. PRPC_MESSAGE _pRpcMessage,
  16043. DWORD *_pdwStubPhase);
  16044. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy(
  16045. IDvdControl2 * This,
  16046. /* [in] */ POINT point);
  16047. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  16048. IRpcStubBuffer *This,
  16049. IRpcChannelBuffer *_pRpcChannelBuffer,
  16050. PRPC_MESSAGE _pRpcMessage,
  16051. DWORD *_pdwStubPhase);
  16052. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy(
  16053. IDvdControl2 * This,
  16054. /* [in] */ ULONG ulTitle,
  16055. /* [in] */ ULONG ulChapter,
  16056. /* [in] */ ULONG ulChaptersToPlay,
  16057. /* [in] */ DWORD dwFlags,
  16058. /* [out] */ IDvdCmd **ppCmd);
  16059. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  16060. IRpcStubBuffer *This,
  16061. IRpcChannelBuffer *_pRpcChannelBuffer,
  16062. PRPC_MESSAGE _pRpcMessage,
  16063. DWORD *_pdwStubPhase);
  16064. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy(
  16065. IDvdControl2 * This,
  16066. /* [in] */ BOOL bAccept);
  16067. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  16068. IRpcStubBuffer *This,
  16069. IRpcChannelBuffer *_pRpcChannelBuffer,
  16070. PRPC_MESSAGE _pRpcMessage,
  16071. DWORD *_pdwStubPhase);
  16072. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy(
  16073. IDvdControl2 * This,
  16074. /* [in] */ DVD_OPTION_FLAG flag,
  16075. /* [in] */ BOOL fState);
  16076. void __RPC_STUB IDvdControl2_SetOption_Stub(
  16077. IRpcStubBuffer *This,
  16078. IRpcChannelBuffer *_pRpcChannelBuffer,
  16079. PRPC_MESSAGE _pRpcMessage,
  16080. DWORD *_pdwStubPhase);
  16081. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy(
  16082. IDvdControl2 * This,
  16083. /* [in] */ IDvdState *pState,
  16084. /* [in] */ DWORD dwFlags,
  16085. /* [out] */ IDvdCmd **ppCmd);
  16086. void __RPC_STUB IDvdControl2_SetState_Stub(
  16087. IRpcStubBuffer *This,
  16088. IRpcChannelBuffer *_pRpcChannelBuffer,
  16089. PRPC_MESSAGE _pRpcMessage,
  16090. DWORD *_pdwStubPhase);
  16091. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(
  16092. IDvdControl2 * This,
  16093. /* [in] */ ULONG ulTitle,
  16094. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16095. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  16096. /* [in] */ DWORD dwFlags,
  16097. /* [out] */ IDvdCmd **ppCmd);
  16098. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  16099. IRpcStubBuffer *This,
  16100. IRpcChannelBuffer *_pRpcChannelBuffer,
  16101. PRPC_MESSAGE _pRpcMessage,
  16102. DWORD *_pdwStubPhase);
  16103. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy(
  16104. IDvdControl2 * This,
  16105. /* [in] */ ULONG ulIndex,
  16106. /* [in] */ WORD wValue,
  16107. /* [in] */ DWORD dwFlags,
  16108. /* [out] */ IDvdCmd **ppCmd);
  16109. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  16110. IRpcStubBuffer *This,
  16111. IRpcChannelBuffer *_pRpcChannelBuffer,
  16112. PRPC_MESSAGE _pRpcMessage,
  16113. DWORD *_pdwStubPhase);
  16114. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy(
  16115. IDvdControl2 * This,
  16116. /* [in] */ LCID Language);
  16117. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  16118. IRpcStubBuffer *This,
  16119. IRpcChannelBuffer *_pRpcChannelBuffer,
  16120. PRPC_MESSAGE _pRpcMessage,
  16121. DWORD *_pdwStubPhase);
  16122. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy(
  16123. IDvdControl2 * This,
  16124. /* [in] */ LCID Language,
  16125. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  16126. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  16127. IRpcStubBuffer *This,
  16128. IRpcChannelBuffer *_pRpcChannelBuffer,
  16129. PRPC_MESSAGE _pRpcMessage,
  16130. DWORD *_pdwStubPhase);
  16131. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(
  16132. IDvdControl2 * This,
  16133. /* [in] */ LCID Language,
  16134. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  16135. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  16136. IRpcStubBuffer *This,
  16137. IRpcChannelBuffer *_pRpcChannelBuffer,
  16138. PRPC_MESSAGE _pRpcMessage,
  16139. DWORD *_pdwStubPhase);
  16140. #endif /* __IDvdControl2_INTERFACE_DEFINED__ */
  16141. /* interface __MIDL_itf_strmif_0380 */
  16142. /* [local] */
  16143. enum DVD_TextStringType
  16144. { DVD_Struct_Volume = 0x1,
  16145. DVD_Struct_Title = 0x2,
  16146. DVD_Struct_ParentalID = 0x3,
  16147. DVD_Struct_PartOfTitle = 0x4,
  16148. DVD_Struct_Cell = 0x5,
  16149. DVD_Stream_Audio = 0x10,
  16150. DVD_Stream_Subpicture = 0x11,
  16151. DVD_Stream_Angle = 0x12,
  16152. DVD_Channel_Audio = 0x20,
  16153. DVD_General_Name = 0x30,
  16154. DVD_General_Comments = 0x31,
  16155. DVD_Title_Series = 0x38,
  16156. DVD_Title_Movie = 0x39,
  16157. DVD_Title_Video = 0x3a,
  16158. DVD_Title_Album = 0x3b,
  16159. DVD_Title_Song = 0x3c,
  16160. DVD_Title_Other = 0x3f,
  16161. DVD_Title_Sub_Series = 0x40,
  16162. DVD_Title_Sub_Movie = 0x41,
  16163. DVD_Title_Sub_Video = 0x42,
  16164. DVD_Title_Sub_Album = 0x43,
  16165. DVD_Title_Sub_Song = 0x44,
  16166. DVD_Title_Sub_Other = 0x47,
  16167. DVD_Title_Orig_Series = 0x48,
  16168. DVD_Title_Orig_Movie = 0x49,
  16169. DVD_Title_Orig_Video = 0x4a,
  16170. DVD_Title_Orig_Album = 0x4b,
  16171. DVD_Title_Orig_Song = 0x4c,
  16172. DVD_Title_Orig_Other = 0x4f,
  16173. DVD_Other_Scene = 0x50,
  16174. DVD_Other_Cut = 0x51,
  16175. DVD_Other_Take = 0x52
  16176. } ;
  16177. enum DVD_TextCharSet
  16178. { DVD_CharSet_Unicode = 0,
  16179. DVD_CharSet_ISO646 = 1,
  16180. DVD_CharSet_JIS_Roman_Kanji = 2,
  16181. DVD_CharSet_ISO8859_1 = 3,
  16182. DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
  16183. } ;
  16184. #define DVD_TITLE_MENU 0x000
  16185. #define DVD_STREAM_DATA_CURRENT 0x800
  16186. #define DVD_STREAM_DATA_VMGM 0x400
  16187. #define DVD_STREAM_DATA_VTSM 0x401
  16188. #define DVD_DEFAULT_AUDIO_STREAM 0x0f
  16189. typedef struct tagDVD_DECODER_CAPS
  16190. {
  16191. DWORD dwSize;
  16192. DWORD dwAudioCaps;
  16193. double dFwdMaxRateVideo;
  16194. double dFwdMaxRateAudio;
  16195. double dFwdMaxRateSP;
  16196. double dBwdMaxRateVideo;
  16197. double dBwdMaxRateAudio;
  16198. double dBwdMaxRateSP;
  16199. DWORD dwRes1;
  16200. DWORD dwRes2;
  16201. DWORD dwRes3;
  16202. DWORD dwRes4;
  16203. } DVD_DECODER_CAPS;
  16204. #define DVD_AUDIO_CAPS_AC3 0x00000001
  16205. #define DVD_AUDIO_CAPS_MPEG2 0x00000002
  16206. #define DVD_AUDIO_CAPS_LPCM 0x00000004
  16207. #define DVD_AUDIO_CAPS_DTS 0x00000008
  16208. #define DVD_AUDIO_CAPS_SDDS 0x00000010
  16209. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_c_ifspec;
  16210. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_s_ifspec;
  16211. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  16212. #define __IDvdInfo2_INTERFACE_DEFINED__
  16213. /* interface IDvdInfo2 */
  16214. /* [unique][uuid][object] */
  16215. EXTERN_C const IID IID_IDvdInfo2;
  16216. #if defined(__cplusplus) && !defined(CINTERFACE)
  16217. MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  16218. IDvdInfo2 : public IUnknown
  16219. {
  16220. public:
  16221. virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
  16222. /* [out] */ DVD_DOMAIN *pDomain) = 0;
  16223. virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
  16224. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  16225. virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
  16226. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  16227. /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  16228. virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
  16229. /* [out] */ ULONG *pulButtonsAvailable,
  16230. /* [out] */ ULONG *pulCurrentButton) = 0;
  16231. virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
  16232. /* [out] */ ULONG *pulAnglesAvailable,
  16233. /* [out] */ ULONG *pulCurrentAngle) = 0;
  16234. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
  16235. /* [out] */ ULONG *pulStreamsAvailable,
  16236. /* [out] */ ULONG *pulCurrentStream) = 0;
  16237. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
  16238. /* [out] */ ULONG *pulStreamsAvailable,
  16239. /* [out] */ ULONG *pulCurrentStream,
  16240. /* [out] */ BOOL *pbIsDisabled) = 0;
  16241. virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
  16242. /* [out] */ ULONG *pulUOPs) = 0;
  16243. virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
  16244. /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  16245. virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
  16246. /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  16247. virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
  16248. /* [in] */ ULONG ulStream,
  16249. /* [out] */ LCID *pLanguage) = 0;
  16250. virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
  16251. /* [in] */ ULONG ulStream,
  16252. /* [out] */ LCID *pLanguage) = 0;
  16253. virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
  16254. /* [in] */ ULONG ulTitle,
  16255. /* [out] */ DVD_MenuAttributes *pMenu,
  16256. /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  16257. virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
  16258. /* [out] */ DVD_MenuAttributes *pATR) = 0;
  16259. virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
  16260. /* [out] */ DVD_VideoAttributes *pATR) = 0;
  16261. virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
  16262. /* [in] */ ULONG ulStream,
  16263. /* [out] */ DVD_AudioAttributes *pATR) = 0;
  16264. virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes(
  16265. /* [in] */ ULONG ulStream,
  16266. /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  16267. virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes(
  16268. /* [in] */ ULONG ulStream,
  16269. /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  16270. virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo(
  16271. /* [out] */ ULONG *pulNumOfVolumes,
  16272. /* [out] */ ULONG *pulVolume,
  16273. /* [out] */ DVD_DISC_SIDE *pSide,
  16274. /* [out] */ ULONG *pulNumOfTitles) = 0;
  16275. virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages(
  16276. /* [out] */ ULONG *pulNumOfLangs) = 0;
  16277. virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo(
  16278. /* [in] */ ULONG ulLangIndex,
  16279. /* [out] */ ULONG *pulNumOfStrings,
  16280. /* [out] */ LCID *pLangCode,
  16281. /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  16282. virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative(
  16283. /* [in] */ ULONG ulLangIndex,
  16284. /* [in] */ ULONG ulStringIndex,
  16285. /* [out] */ BYTE *pbBuffer,
  16286. /* [in] */ ULONG ulMaxBufferSize,
  16287. /* [out] */ ULONG *pulActualSize,
  16288. /* [out] */ enum DVD_TextStringType *pType) = 0;
  16289. virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode(
  16290. /* [in] */ ULONG ulLangIndex,
  16291. /* [in] */ ULONG ulStringIndex,
  16292. /* [out] */ WCHAR *pchwBuffer,
  16293. /* [in] */ ULONG ulMaxBufferSize,
  16294. /* [out] */ ULONG *pulActualSize,
  16295. /* [out] */ enum DVD_TextStringType *pType) = 0;
  16296. virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
  16297. /* [out] */ ULONG *pulParentalLevel,
  16298. /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  16299. virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
  16300. /* [in] */ ULONG ulTitle,
  16301. /* [out] */ ULONG *pulNumOfChapters) = 0;
  16302. virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
  16303. /* [in] */ ULONG ulTitle,
  16304. /* [out] */ ULONG *pulParentalLevels) = 0;
  16305. virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory(
  16306. /* [size_is][out] */ LPWSTR pszwPath,
  16307. /* [in] */ ULONG ulMaxSize,
  16308. /* [out] */ ULONG *pulActualSize) = 0;
  16309. virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled(
  16310. /* [in] */ ULONG ulStreamNum,
  16311. /* [out] */ BOOL *pbEnabled) = 0;
  16312. virtual HRESULT STDMETHODCALLTYPE GetDiscID(
  16313. /* [in] */ LPCWSTR pszwPath,
  16314. /* [out] */ ULONGLONG *pullDiscID) = 0;
  16315. virtual HRESULT STDMETHODCALLTYPE GetState(
  16316. /* [out] */ IDvdState **pStateData) = 0;
  16317. virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages(
  16318. /* [out] */ LCID *pLanguages,
  16319. /* [in] */ ULONG ulMaxLanguages,
  16320. /* [out] */ ULONG *pulActualLanguages) = 0;
  16321. virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition(
  16322. /* [in] */ POINT point,
  16323. /* [out] */ ULONG *pulButtonIndex) = 0;
  16324. virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent(
  16325. /* [in] */ LONG_PTR lParam1,
  16326. /* [out] */ IDvdCmd **pCmdObj) = 0;
  16327. virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage(
  16328. /* [out] */ LCID *pLanguage) = 0;
  16329. virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage(
  16330. /* [out] */ LCID *pLanguage,
  16331. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  16332. virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage(
  16333. /* [out] */ LCID *pLanguage,
  16334. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  16335. virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
  16336. /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  16337. virtual HRESULT STDMETHODCALLTYPE GetButtonRect(
  16338. /* [in] */ ULONG ulButton,
  16339. /* [out] */ RECT *pRect) = 0;
  16340. virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled(
  16341. /* [in] */ ULONG ulStreamNum,
  16342. /* [out] */ BOOL *pbEnabled) = 0;
  16343. };
  16344. #else /* C style interface */
  16345. typedef struct IDvdInfo2Vtbl
  16346. {
  16347. BEGIN_INTERFACE
  16348. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  16349. IDvdInfo2 * This,
  16350. /* [in] */ REFIID riid,
  16351. /* [iid_is][out] */ void **ppvObject);
  16352. ULONG ( STDMETHODCALLTYPE *AddRef )(
  16353. IDvdInfo2 * This);
  16354. ULONG ( STDMETHODCALLTYPE *Release )(
  16355. IDvdInfo2 * This);
  16356. HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
  16357. IDvdInfo2 * This,
  16358. /* [out] */ DVD_DOMAIN *pDomain);
  16359. HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
  16360. IDvdInfo2 * This,
  16361. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  16362. HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
  16363. IDvdInfo2 * This,
  16364. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  16365. /* [out] */ ULONG *ulTimeCodeFlags);
  16366. HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
  16367. IDvdInfo2 * This,
  16368. /* [out] */ ULONG *pulButtonsAvailable,
  16369. /* [out] */ ULONG *pulCurrentButton);
  16370. HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
  16371. IDvdInfo2 * This,
  16372. /* [out] */ ULONG *pulAnglesAvailable,
  16373. /* [out] */ ULONG *pulCurrentAngle);
  16374. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
  16375. IDvdInfo2 * This,
  16376. /* [out] */ ULONG *pulStreamsAvailable,
  16377. /* [out] */ ULONG *pulCurrentStream);
  16378. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
  16379. IDvdInfo2 * This,
  16380. /* [out] */ ULONG *pulStreamsAvailable,
  16381. /* [out] */ ULONG *pulCurrentStream,
  16382. /* [out] */ BOOL *pbIsDisabled);
  16383. HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
  16384. IDvdInfo2 * This,
  16385. /* [out] */ ULONG *pulUOPs);
  16386. HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
  16387. IDvdInfo2 * This,
  16388. /* [out] */ SPRMARRAY *pRegisterArray);
  16389. HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
  16390. IDvdInfo2 * This,
  16391. /* [out] */ GPRMARRAY *pRegisterArray);
  16392. HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
  16393. IDvdInfo2 * This,
  16394. /* [in] */ ULONG ulStream,
  16395. /* [out] */ LCID *pLanguage);
  16396. HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
  16397. IDvdInfo2 * This,
  16398. /* [in] */ ULONG ulStream,
  16399. /* [out] */ LCID *pLanguage);
  16400. HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
  16401. IDvdInfo2 * This,
  16402. /* [in] */ ULONG ulTitle,
  16403. /* [out] */ DVD_MenuAttributes *pMenu,
  16404. /* [out] */ DVD_TitleAttributes *pTitle);
  16405. HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
  16406. IDvdInfo2 * This,
  16407. /* [out] */ DVD_MenuAttributes *pATR);
  16408. HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
  16409. IDvdInfo2 * This,
  16410. /* [out] */ DVD_VideoAttributes *pATR);
  16411. HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
  16412. IDvdInfo2 * This,
  16413. /* [in] */ ULONG ulStream,
  16414. /* [out] */ DVD_AudioAttributes *pATR);
  16415. HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )(
  16416. IDvdInfo2 * This,
  16417. /* [in] */ ULONG ulStream,
  16418. /* [out] */ DVD_KaraokeAttributes *pAttributes);
  16419. HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )(
  16420. IDvdInfo2 * This,
  16421. /* [in] */ ULONG ulStream,
  16422. /* [out] */ DVD_SubpictureAttributes *pATR);
  16423. HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )(
  16424. IDvdInfo2 * This,
  16425. /* [out] */ ULONG *pulNumOfVolumes,
  16426. /* [out] */ ULONG *pulVolume,
  16427. /* [out] */ DVD_DISC_SIDE *pSide,
  16428. /* [out] */ ULONG *pulNumOfTitles);
  16429. HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )(
  16430. IDvdInfo2 * This,
  16431. /* [out] */ ULONG *pulNumOfLangs);
  16432. HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )(
  16433. IDvdInfo2 * This,
  16434. /* [in] */ ULONG ulLangIndex,
  16435. /* [out] */ ULONG *pulNumOfStrings,
  16436. /* [out] */ LCID *pLangCode,
  16437. /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  16438. HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )(
  16439. IDvdInfo2 * This,
  16440. /* [in] */ ULONG ulLangIndex,
  16441. /* [in] */ ULONG ulStringIndex,
  16442. /* [out] */ BYTE *pbBuffer,
  16443. /* [in] */ ULONG ulMaxBufferSize,
  16444. /* [out] */ ULONG *pulActualSize,
  16445. /* [out] */ enum DVD_TextStringType *pType);
  16446. HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )(
  16447. IDvdInfo2 * This,
  16448. /* [in] */ ULONG ulLangIndex,
  16449. /* [in] */ ULONG ulStringIndex,
  16450. /* [out] */ WCHAR *pchwBuffer,
  16451. /* [in] */ ULONG ulMaxBufferSize,
  16452. /* [out] */ ULONG *pulActualSize,
  16453. /* [out] */ enum DVD_TextStringType *pType);
  16454. HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
  16455. IDvdInfo2 * This,
  16456. /* [out] */ ULONG *pulParentalLevel,
  16457. /* [out] */ BYTE pbCountryCode[ 2 ]);
  16458. HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
  16459. IDvdInfo2 * This,
  16460. /* [in] */ ULONG ulTitle,
  16461. /* [out] */ ULONG *pulNumOfChapters);
  16462. HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
  16463. IDvdInfo2 * This,
  16464. /* [in] */ ULONG ulTitle,
  16465. /* [out] */ ULONG *pulParentalLevels);
  16466. HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )(
  16467. IDvdInfo2 * This,
  16468. /* [size_is][out] */ LPWSTR pszwPath,
  16469. /* [in] */ ULONG ulMaxSize,
  16470. /* [out] */ ULONG *pulActualSize);
  16471. HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )(
  16472. IDvdInfo2 * This,
  16473. /* [in] */ ULONG ulStreamNum,
  16474. /* [out] */ BOOL *pbEnabled);
  16475. HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
  16476. IDvdInfo2 * This,
  16477. /* [in] */ LPCWSTR pszwPath,
  16478. /* [out] */ ULONGLONG *pullDiscID);
  16479. HRESULT ( STDMETHODCALLTYPE *GetState )(
  16480. IDvdInfo2 * This,
  16481. /* [out] */ IDvdState **pStateData);
  16482. HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )(
  16483. IDvdInfo2 * This,
  16484. /* [out] */ LCID *pLanguages,
  16485. /* [in] */ ULONG ulMaxLanguages,
  16486. /* [out] */ ULONG *pulActualLanguages);
  16487. HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )(
  16488. IDvdInfo2 * This,
  16489. /* [in] */ POINT point,
  16490. /* [out] */ ULONG *pulButtonIndex);
  16491. HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )(
  16492. IDvdInfo2 * This,
  16493. /* [in] */ LONG_PTR lParam1,
  16494. /* [out] */ IDvdCmd **pCmdObj);
  16495. HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )(
  16496. IDvdInfo2 * This,
  16497. /* [out] */ LCID *pLanguage);
  16498. HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )(
  16499. IDvdInfo2 * This,
  16500. /* [out] */ LCID *pLanguage,
  16501. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  16502. HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )(
  16503. IDvdInfo2 * This,
  16504. /* [out] */ LCID *pLanguage,
  16505. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  16506. HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
  16507. IDvdInfo2 * This,
  16508. /* [out] */ DVD_DECODER_CAPS *pCaps);
  16509. HRESULT ( STDMETHODCALLTYPE *GetButtonRect )(
  16510. IDvdInfo2 * This,
  16511. /* [in] */ ULONG ulButton,
  16512. /* [out] */ RECT *pRect);
  16513. HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )(
  16514. IDvdInfo2 * This,
  16515. /* [in] */ ULONG ulStreamNum,
  16516. /* [out] */ BOOL *pbEnabled);
  16517. END_INTERFACE
  16518. } IDvdInfo2Vtbl;
  16519. interface IDvdInfo2
  16520. {
  16521. CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  16522. };
  16523. #ifdef COBJMACROS
  16524. #define IDvdInfo2_QueryInterface(This,riid,ppvObject) \
  16525. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16526. #define IDvdInfo2_AddRef(This) \
  16527. (This)->lpVtbl -> AddRef(This)
  16528. #define IDvdInfo2_Release(This) \
  16529. (This)->lpVtbl -> Release(This)
  16530. #define IDvdInfo2_GetCurrentDomain(This,pDomain) \
  16531. (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  16532. #define IDvdInfo2_GetCurrentLocation(This,pLocation) \
  16533. (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  16534. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) \
  16535. (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  16536. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) \
  16537. (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  16538. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) \
  16539. (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  16540. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) \
  16541. (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  16542. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) \
  16543. (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  16544. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) \
  16545. (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  16546. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) \
  16547. (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  16548. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) \
  16549. (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  16550. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) \
  16551. (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  16552. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) \
  16553. (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  16554. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) \
  16555. (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  16556. #define IDvdInfo2_GetVMGAttributes(This,pATR) \
  16557. (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  16558. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) \
  16559. (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  16560. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) \
  16561. (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  16562. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) \
  16563. (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  16564. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) \
  16565. (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  16566. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) \
  16567. (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  16568. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) \
  16569. (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  16570. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) \
  16571. (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  16572. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) \
  16573. (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  16574. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) \
  16575. (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  16576. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) \
  16577. (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  16578. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) \
  16579. (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  16580. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) \
  16581. (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  16582. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) \
  16583. (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  16584. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) \
  16585. (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  16586. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) \
  16587. (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  16588. #define IDvdInfo2_GetState(This,pStateData) \
  16589. (This)->lpVtbl -> GetState(This,pStateData)
  16590. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) \
  16591. (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  16592. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) \
  16593. (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  16594. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) \
  16595. (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  16596. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) \
  16597. (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  16598. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) \
  16599. (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  16600. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) \
  16601. (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  16602. #define IDvdInfo2_GetDecoderCaps(This,pCaps) \
  16603. (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  16604. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) \
  16605. (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  16606. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) \
  16607. (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  16608. #endif /* COBJMACROS */
  16609. #endif /* C style interface */
  16610. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy(
  16611. IDvdInfo2 * This,
  16612. /* [out] */ DVD_DOMAIN *pDomain);
  16613. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  16614. IRpcStubBuffer *This,
  16615. IRpcChannelBuffer *_pRpcChannelBuffer,
  16616. PRPC_MESSAGE _pRpcMessage,
  16617. DWORD *_pdwStubPhase);
  16618. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy(
  16619. IDvdInfo2 * This,
  16620. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  16621. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  16622. IRpcStubBuffer *This,
  16623. IRpcChannelBuffer *_pRpcChannelBuffer,
  16624. PRPC_MESSAGE _pRpcMessage,
  16625. DWORD *_pdwStubPhase);
  16626. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy(
  16627. IDvdInfo2 * This,
  16628. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  16629. /* [out] */ ULONG *ulTimeCodeFlags);
  16630. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  16631. IRpcStubBuffer *This,
  16632. IRpcChannelBuffer *_pRpcChannelBuffer,
  16633. PRPC_MESSAGE _pRpcMessage,
  16634. DWORD *_pdwStubPhase);
  16635. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy(
  16636. IDvdInfo2 * This,
  16637. /* [out] */ ULONG *pulButtonsAvailable,
  16638. /* [out] */ ULONG *pulCurrentButton);
  16639. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  16640. IRpcStubBuffer *This,
  16641. IRpcChannelBuffer *_pRpcChannelBuffer,
  16642. PRPC_MESSAGE _pRpcMessage,
  16643. DWORD *_pdwStubPhase);
  16644. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy(
  16645. IDvdInfo2 * This,
  16646. /* [out] */ ULONG *pulAnglesAvailable,
  16647. /* [out] */ ULONG *pulCurrentAngle);
  16648. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  16649. IRpcStubBuffer *This,
  16650. IRpcChannelBuffer *_pRpcChannelBuffer,
  16651. PRPC_MESSAGE _pRpcMessage,
  16652. DWORD *_pdwStubPhase);
  16653. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy(
  16654. IDvdInfo2 * This,
  16655. /* [out] */ ULONG *pulStreamsAvailable,
  16656. /* [out] */ ULONG *pulCurrentStream);
  16657. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  16658. IRpcStubBuffer *This,
  16659. IRpcChannelBuffer *_pRpcChannelBuffer,
  16660. PRPC_MESSAGE _pRpcMessage,
  16661. DWORD *_pdwStubPhase);
  16662. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy(
  16663. IDvdInfo2 * This,
  16664. /* [out] */ ULONG *pulStreamsAvailable,
  16665. /* [out] */ ULONG *pulCurrentStream,
  16666. /* [out] */ BOOL *pbIsDisabled);
  16667. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  16668. IRpcStubBuffer *This,
  16669. IRpcChannelBuffer *_pRpcChannelBuffer,
  16670. PRPC_MESSAGE _pRpcMessage,
  16671. DWORD *_pdwStubPhase);
  16672. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy(
  16673. IDvdInfo2 * This,
  16674. /* [out] */ ULONG *pulUOPs);
  16675. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  16676. IRpcStubBuffer *This,
  16677. IRpcChannelBuffer *_pRpcChannelBuffer,
  16678. PRPC_MESSAGE _pRpcMessage,
  16679. DWORD *_pdwStubPhase);
  16680. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy(
  16681. IDvdInfo2 * This,
  16682. /* [out] */ SPRMARRAY *pRegisterArray);
  16683. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  16684. IRpcStubBuffer *This,
  16685. IRpcChannelBuffer *_pRpcChannelBuffer,
  16686. PRPC_MESSAGE _pRpcMessage,
  16687. DWORD *_pdwStubPhase);
  16688. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy(
  16689. IDvdInfo2 * This,
  16690. /* [out] */ GPRMARRAY *pRegisterArray);
  16691. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  16692. IRpcStubBuffer *This,
  16693. IRpcChannelBuffer *_pRpcChannelBuffer,
  16694. PRPC_MESSAGE _pRpcMessage,
  16695. DWORD *_pdwStubPhase);
  16696. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy(
  16697. IDvdInfo2 * This,
  16698. /* [in] */ ULONG ulStream,
  16699. /* [out] */ LCID *pLanguage);
  16700. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  16701. IRpcStubBuffer *This,
  16702. IRpcChannelBuffer *_pRpcChannelBuffer,
  16703. PRPC_MESSAGE _pRpcMessage,
  16704. DWORD *_pdwStubPhase);
  16705. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy(
  16706. IDvdInfo2 * This,
  16707. /* [in] */ ULONG ulStream,
  16708. /* [out] */ LCID *pLanguage);
  16709. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  16710. IRpcStubBuffer *This,
  16711. IRpcChannelBuffer *_pRpcChannelBuffer,
  16712. PRPC_MESSAGE _pRpcMessage,
  16713. DWORD *_pdwStubPhase);
  16714. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy(
  16715. IDvdInfo2 * This,
  16716. /* [in] */ ULONG ulTitle,
  16717. /* [out] */ DVD_MenuAttributes *pMenu,
  16718. /* [out] */ DVD_TitleAttributes *pTitle);
  16719. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  16720. IRpcStubBuffer *This,
  16721. IRpcChannelBuffer *_pRpcChannelBuffer,
  16722. PRPC_MESSAGE _pRpcMessage,
  16723. DWORD *_pdwStubPhase);
  16724. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy(
  16725. IDvdInfo2 * This,
  16726. /* [out] */ DVD_MenuAttributes *pATR);
  16727. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  16728. IRpcStubBuffer *This,
  16729. IRpcChannelBuffer *_pRpcChannelBuffer,
  16730. PRPC_MESSAGE _pRpcMessage,
  16731. DWORD *_pdwStubPhase);
  16732. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy(
  16733. IDvdInfo2 * This,
  16734. /* [out] */ DVD_VideoAttributes *pATR);
  16735. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  16736. IRpcStubBuffer *This,
  16737. IRpcChannelBuffer *_pRpcChannelBuffer,
  16738. PRPC_MESSAGE _pRpcMessage,
  16739. DWORD *_pdwStubPhase);
  16740. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy(
  16741. IDvdInfo2 * This,
  16742. /* [in] */ ULONG ulStream,
  16743. /* [out] */ DVD_AudioAttributes *pATR);
  16744. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  16745. IRpcStubBuffer *This,
  16746. IRpcChannelBuffer *_pRpcChannelBuffer,
  16747. PRPC_MESSAGE _pRpcMessage,
  16748. DWORD *_pdwStubPhase);
  16749. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy(
  16750. IDvdInfo2 * This,
  16751. /* [in] */ ULONG ulStream,
  16752. /* [out] */ DVD_KaraokeAttributes *pAttributes);
  16753. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  16754. IRpcStubBuffer *This,
  16755. IRpcChannelBuffer *_pRpcChannelBuffer,
  16756. PRPC_MESSAGE _pRpcMessage,
  16757. DWORD *_pdwStubPhase);
  16758. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy(
  16759. IDvdInfo2 * This,
  16760. /* [in] */ ULONG ulStream,
  16761. /* [out] */ DVD_SubpictureAttributes *pATR);
  16762. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  16763. IRpcStubBuffer *This,
  16764. IRpcChannelBuffer *_pRpcChannelBuffer,
  16765. PRPC_MESSAGE _pRpcMessage,
  16766. DWORD *_pdwStubPhase);
  16767. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy(
  16768. IDvdInfo2 * This,
  16769. /* [out] */ ULONG *pulNumOfVolumes,
  16770. /* [out] */ ULONG *pulVolume,
  16771. /* [out] */ DVD_DISC_SIDE *pSide,
  16772. /* [out] */ ULONG *pulNumOfTitles);
  16773. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  16774. IRpcStubBuffer *This,
  16775. IRpcChannelBuffer *_pRpcChannelBuffer,
  16776. PRPC_MESSAGE _pRpcMessage,
  16777. DWORD *_pdwStubPhase);
  16778. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(
  16779. IDvdInfo2 * This,
  16780. /* [out] */ ULONG *pulNumOfLangs);
  16781. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  16782. IRpcStubBuffer *This,
  16783. IRpcChannelBuffer *_pRpcChannelBuffer,
  16784. PRPC_MESSAGE _pRpcMessage,
  16785. DWORD *_pdwStubPhase);
  16786. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy(
  16787. IDvdInfo2 * This,
  16788. /* [in] */ ULONG ulLangIndex,
  16789. /* [out] */ ULONG *pulNumOfStrings,
  16790. /* [out] */ LCID *pLangCode,
  16791. /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  16792. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  16793. IRpcStubBuffer *This,
  16794. IRpcChannelBuffer *_pRpcChannelBuffer,
  16795. PRPC_MESSAGE _pRpcMessage,
  16796. DWORD *_pdwStubPhase);
  16797. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy(
  16798. IDvdInfo2 * This,
  16799. /* [in] */ ULONG ulLangIndex,
  16800. /* [in] */ ULONG ulStringIndex,
  16801. /* [out] */ BYTE *pbBuffer,
  16802. /* [in] */ ULONG ulMaxBufferSize,
  16803. /* [out] */ ULONG *pulActualSize,
  16804. /* [out] */ enum DVD_TextStringType *pType);
  16805. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  16806. IRpcStubBuffer *This,
  16807. IRpcChannelBuffer *_pRpcChannelBuffer,
  16808. PRPC_MESSAGE _pRpcMessage,
  16809. DWORD *_pdwStubPhase);
  16810. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(
  16811. IDvdInfo2 * This,
  16812. /* [in] */ ULONG ulLangIndex,
  16813. /* [in] */ ULONG ulStringIndex,
  16814. /* [out] */ WCHAR *pchwBuffer,
  16815. /* [in] */ ULONG ulMaxBufferSize,
  16816. /* [out] */ ULONG *pulActualSize,
  16817. /* [out] */ enum DVD_TextStringType *pType);
  16818. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  16819. IRpcStubBuffer *This,
  16820. IRpcChannelBuffer *_pRpcChannelBuffer,
  16821. PRPC_MESSAGE _pRpcMessage,
  16822. DWORD *_pdwStubPhase);
  16823. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy(
  16824. IDvdInfo2 * This,
  16825. /* [out] */ ULONG *pulParentalLevel,
  16826. /* [out] */ BYTE pbCountryCode[ 2 ]);
  16827. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  16828. IRpcStubBuffer *This,
  16829. IRpcChannelBuffer *_pRpcChannelBuffer,
  16830. PRPC_MESSAGE _pRpcMessage,
  16831. DWORD *_pdwStubPhase);
  16832. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy(
  16833. IDvdInfo2 * This,
  16834. /* [in] */ ULONG ulTitle,
  16835. /* [out] */ ULONG *pulNumOfChapters);
  16836. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  16837. IRpcStubBuffer *This,
  16838. IRpcChannelBuffer *_pRpcChannelBuffer,
  16839. PRPC_MESSAGE _pRpcMessage,
  16840. DWORD *_pdwStubPhase);
  16841. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy(
  16842. IDvdInfo2 * This,
  16843. /* [in] */ ULONG ulTitle,
  16844. /* [out] */ ULONG *pulParentalLevels);
  16845. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  16846. IRpcStubBuffer *This,
  16847. IRpcChannelBuffer *_pRpcChannelBuffer,
  16848. PRPC_MESSAGE _pRpcMessage,
  16849. DWORD *_pdwStubPhase);
  16850. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy(
  16851. IDvdInfo2 * This,
  16852. /* [size_is][out] */ LPWSTR pszwPath,
  16853. /* [in] */ ULONG ulMaxSize,
  16854. /* [out] */ ULONG *pulActualSize);
  16855. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  16856. IRpcStubBuffer *This,
  16857. IRpcChannelBuffer *_pRpcChannelBuffer,
  16858. PRPC_MESSAGE _pRpcMessage,
  16859. DWORD *_pdwStubPhase);
  16860. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy(
  16861. IDvdInfo2 * This,
  16862. /* [in] */ ULONG ulStreamNum,
  16863. /* [out] */ BOOL *pbEnabled);
  16864. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  16865. IRpcStubBuffer *This,
  16866. IRpcChannelBuffer *_pRpcChannelBuffer,
  16867. PRPC_MESSAGE _pRpcMessage,
  16868. DWORD *_pdwStubPhase);
  16869. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy(
  16870. IDvdInfo2 * This,
  16871. /* [in] */ LPCWSTR pszwPath,
  16872. /* [out] */ ULONGLONG *pullDiscID);
  16873. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  16874. IRpcStubBuffer *This,
  16875. IRpcChannelBuffer *_pRpcChannelBuffer,
  16876. PRPC_MESSAGE _pRpcMessage,
  16877. DWORD *_pdwStubPhase);
  16878. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy(
  16879. IDvdInfo2 * This,
  16880. /* [out] */ IDvdState **pStateData);
  16881. void __RPC_STUB IDvdInfo2_GetState_Stub(
  16882. IRpcStubBuffer *This,
  16883. IRpcChannelBuffer *_pRpcChannelBuffer,
  16884. PRPC_MESSAGE _pRpcMessage,
  16885. DWORD *_pdwStubPhase);
  16886. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy(
  16887. IDvdInfo2 * This,
  16888. /* [out] */ LCID *pLanguages,
  16889. /* [in] */ ULONG ulMaxLanguages,
  16890. /* [out] */ ULONG *pulActualLanguages);
  16891. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  16892. IRpcStubBuffer *This,
  16893. IRpcChannelBuffer *_pRpcChannelBuffer,
  16894. PRPC_MESSAGE _pRpcMessage,
  16895. DWORD *_pdwStubPhase);
  16896. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy(
  16897. IDvdInfo2 * This,
  16898. /* [in] */ POINT point,
  16899. /* [out] */ ULONG *pulButtonIndex);
  16900. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  16901. IRpcStubBuffer *This,
  16902. IRpcChannelBuffer *_pRpcChannelBuffer,
  16903. PRPC_MESSAGE _pRpcMessage,
  16904. DWORD *_pdwStubPhase);
  16905. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy(
  16906. IDvdInfo2 * This,
  16907. /* [in] */ LONG_PTR lParam1,
  16908. /* [out] */ IDvdCmd **pCmdObj);
  16909. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  16910. IRpcStubBuffer *This,
  16911. IRpcChannelBuffer *_pRpcChannelBuffer,
  16912. PRPC_MESSAGE _pRpcMessage,
  16913. DWORD *_pdwStubPhase);
  16914. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy(
  16915. IDvdInfo2 * This,
  16916. /* [out] */ LCID *pLanguage);
  16917. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  16918. IRpcStubBuffer *This,
  16919. IRpcChannelBuffer *_pRpcChannelBuffer,
  16920. PRPC_MESSAGE _pRpcMessage,
  16921. DWORD *_pdwStubPhase);
  16922. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy(
  16923. IDvdInfo2 * This,
  16924. /* [out] */ LCID *pLanguage,
  16925. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  16926. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  16927. IRpcStubBuffer *This,
  16928. IRpcChannelBuffer *_pRpcChannelBuffer,
  16929. PRPC_MESSAGE _pRpcMessage,
  16930. DWORD *_pdwStubPhase);
  16931. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(
  16932. IDvdInfo2 * This,
  16933. /* [out] */ LCID *pLanguage,
  16934. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  16935. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  16936. IRpcStubBuffer *This,
  16937. IRpcChannelBuffer *_pRpcChannelBuffer,
  16938. PRPC_MESSAGE _pRpcMessage,
  16939. DWORD *_pdwStubPhase);
  16940. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy(
  16941. IDvdInfo2 * This,
  16942. /* [out] */ DVD_DECODER_CAPS *pCaps);
  16943. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  16944. IRpcStubBuffer *This,
  16945. IRpcChannelBuffer *_pRpcChannelBuffer,
  16946. PRPC_MESSAGE _pRpcMessage,
  16947. DWORD *_pdwStubPhase);
  16948. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy(
  16949. IDvdInfo2 * This,
  16950. /* [in] */ ULONG ulButton,
  16951. /* [out] */ RECT *pRect);
  16952. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  16953. IRpcStubBuffer *This,
  16954. IRpcChannelBuffer *_pRpcChannelBuffer,
  16955. PRPC_MESSAGE _pRpcMessage,
  16956. DWORD *_pdwStubPhase);
  16957. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy(
  16958. IDvdInfo2 * This,
  16959. /* [in] */ ULONG ulStreamNum,
  16960. /* [out] */ BOOL *pbEnabled);
  16961. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  16962. IRpcStubBuffer *This,
  16963. IRpcChannelBuffer *_pRpcChannelBuffer,
  16964. PRPC_MESSAGE _pRpcMessage,
  16965. DWORD *_pdwStubPhase);
  16966. #endif /* __IDvdInfo2_INTERFACE_DEFINED__ */
  16967. /* interface __MIDL_itf_strmif_0382 */
  16968. /* [local] */
  16969. typedef
  16970. enum _AM_DVD_GRAPH_FLAGS
  16971. { AM_DVD_HWDEC_PREFER = 0x1,
  16972. AM_DVD_HWDEC_ONLY = 0x2,
  16973. AM_DVD_SWDEC_PREFER = 0x4,
  16974. AM_DVD_SWDEC_ONLY = 0x8,
  16975. AM_DVD_NOVPE = 0x100
  16976. } AM_DVD_GRAPH_FLAGS;
  16977. typedef
  16978. enum _AM_DVD_STREAM_FLAGS
  16979. { AM_DVD_STREAM_VIDEO = 0x1,
  16980. AM_DVD_STREAM_AUDIO = 0x2,
  16981. AM_DVD_STREAM_SUBPIC = 0x4
  16982. } AM_DVD_STREAM_FLAGS;
  16983. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0382_0001
  16984. {
  16985. HRESULT hrVPEStatus;
  16986. BOOL bDvdVolInvalid;
  16987. BOOL bDvdVolUnknown;
  16988. BOOL bNoLine21In;
  16989. BOOL bNoLine21Out;
  16990. int iNumStreams;
  16991. int iNumStreamsFailed;
  16992. DWORD dwFailedStreamsFlag;
  16993. } AM_DVD_RENDERSTATUS;
  16994. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
  16995. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
  16996. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  16997. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  16998. /* interface IDvdGraphBuilder */
  16999. /* [unique][uuid][local][object] */
  17000. EXTERN_C const IID IID_IDvdGraphBuilder;
  17001. #if defined(__cplusplus) && !defined(CINTERFACE)
  17002. MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  17003. IDvdGraphBuilder : public IUnknown
  17004. {
  17005. public:
  17006. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  17007. /* [out] */ IGraphBuilder **ppGB) = 0;
  17008. virtual HRESULT STDMETHODCALLTYPE GetDvdInterface(
  17009. /* [in] */ REFIID riid,
  17010. /* [out] */ void **ppvIF) = 0;
  17011. virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume(
  17012. /* [in] */ LPCWSTR lpcwszPathName,
  17013. /* [in] */ DWORD dwFlags,
  17014. /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  17015. };
  17016. #else /* C style interface */
  17017. typedef struct IDvdGraphBuilderVtbl
  17018. {
  17019. BEGIN_INTERFACE
  17020. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17021. IDvdGraphBuilder * This,
  17022. /* [in] */ REFIID riid,
  17023. /* [iid_is][out] */ void **ppvObject);
  17024. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17025. IDvdGraphBuilder * This);
  17026. ULONG ( STDMETHODCALLTYPE *Release )(
  17027. IDvdGraphBuilder * This);
  17028. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  17029. IDvdGraphBuilder * This,
  17030. /* [out] */ IGraphBuilder **ppGB);
  17031. HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )(
  17032. IDvdGraphBuilder * This,
  17033. /* [in] */ REFIID riid,
  17034. /* [out] */ void **ppvIF);
  17035. HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )(
  17036. IDvdGraphBuilder * This,
  17037. /* [in] */ LPCWSTR lpcwszPathName,
  17038. /* [in] */ DWORD dwFlags,
  17039. /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  17040. END_INTERFACE
  17041. } IDvdGraphBuilderVtbl;
  17042. interface IDvdGraphBuilder
  17043. {
  17044. CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  17045. };
  17046. #ifdef COBJMACROS
  17047. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) \
  17048. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17049. #define IDvdGraphBuilder_AddRef(This) \
  17050. (This)->lpVtbl -> AddRef(This)
  17051. #define IDvdGraphBuilder_Release(This) \
  17052. (This)->lpVtbl -> Release(This)
  17053. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) \
  17054. (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  17055. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) \
  17056. (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  17057. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) \
  17058. (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  17059. #endif /* COBJMACROS */
  17060. #endif /* C style interface */
  17061. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy(
  17062. IDvdGraphBuilder * This,
  17063. /* [out] */ IGraphBuilder **ppGB);
  17064. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  17065. IRpcStubBuffer *This,
  17066. IRpcChannelBuffer *_pRpcChannelBuffer,
  17067. PRPC_MESSAGE _pRpcMessage,
  17068. DWORD *_pdwStubPhase);
  17069. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy(
  17070. IDvdGraphBuilder * This,
  17071. /* [in] */ REFIID riid,
  17072. /* [out] */ void **ppvIF);
  17073. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  17074. IRpcStubBuffer *This,
  17075. IRpcChannelBuffer *_pRpcChannelBuffer,
  17076. PRPC_MESSAGE _pRpcMessage,
  17077. DWORD *_pdwStubPhase);
  17078. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(
  17079. IDvdGraphBuilder * This,
  17080. /* [in] */ LPCWSTR lpcwszPathName,
  17081. /* [in] */ DWORD dwFlags,
  17082. /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  17083. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  17084. IRpcStubBuffer *This,
  17085. IRpcChannelBuffer *_pRpcChannelBuffer,
  17086. PRPC_MESSAGE _pRpcMessage,
  17087. DWORD *_pdwStubPhase);
  17088. #endif /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  17089. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  17090. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  17091. /* interface IDDrawExclModeVideo */
  17092. /* [unique][uuid][local][object] */
  17093. EXTERN_C const IID IID_IDDrawExclModeVideo;
  17094. #if defined(__cplusplus) && !defined(CINTERFACE)
  17095. MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  17096. IDDrawExclModeVideo : public IUnknown
  17097. {
  17098. public:
  17099. virtual HRESULT STDMETHODCALLTYPE SetDDrawObject(
  17100. /* [in] */ IDirectDraw *pDDrawObject) = 0;
  17101. virtual HRESULT STDMETHODCALLTYPE GetDDrawObject(
  17102. /* [out] */ IDirectDraw **ppDDrawObject,
  17103. /* [out] */ BOOL *pbUsingExternal) = 0;
  17104. virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface(
  17105. /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  17106. virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface(
  17107. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17108. /* [out] */ BOOL *pbUsingExternal) = 0;
  17109. virtual HRESULT STDMETHODCALLTYPE SetDrawParameters(
  17110. /* [in] */ const RECT *prcSource,
  17111. /* [in] */ const RECT *prcTarget) = 0;
  17112. virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps(
  17113. /* [out] */ DWORD *pdwVideoWidth,
  17114. /* [out] */ DWORD *pdwVideoHeight,
  17115. /* [out] */ DWORD *pdwPictAspectRatioX,
  17116. /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  17117. virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface(
  17118. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17119. /* [in] */ DWORD dwFlags) = 0;
  17120. };
  17121. #else /* C style interface */
  17122. typedef struct IDDrawExclModeVideoVtbl
  17123. {
  17124. BEGIN_INTERFACE
  17125. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17126. IDDrawExclModeVideo * This,
  17127. /* [in] */ REFIID riid,
  17128. /* [iid_is][out] */ void **ppvObject);
  17129. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17130. IDDrawExclModeVideo * This);
  17131. ULONG ( STDMETHODCALLTYPE *Release )(
  17132. IDDrawExclModeVideo * This);
  17133. HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )(
  17134. IDDrawExclModeVideo * This,
  17135. /* [in] */ IDirectDraw *pDDrawObject);
  17136. HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )(
  17137. IDDrawExclModeVideo * This,
  17138. /* [out] */ IDirectDraw **ppDDrawObject,
  17139. /* [out] */ BOOL *pbUsingExternal);
  17140. HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )(
  17141. IDDrawExclModeVideo * This,
  17142. /* [in] */ IDirectDrawSurface *pDDrawSurface);
  17143. HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )(
  17144. IDDrawExclModeVideo * This,
  17145. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17146. /* [out] */ BOOL *pbUsingExternal);
  17147. HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )(
  17148. IDDrawExclModeVideo * This,
  17149. /* [in] */ const RECT *prcSource,
  17150. /* [in] */ const RECT *prcTarget);
  17151. HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )(
  17152. IDDrawExclModeVideo * This,
  17153. /* [out] */ DWORD *pdwVideoWidth,
  17154. /* [out] */ DWORD *pdwVideoHeight,
  17155. /* [out] */ DWORD *pdwPictAspectRatioX,
  17156. /* [out] */ DWORD *pdwPictAspectRatioY);
  17157. HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )(
  17158. IDDrawExclModeVideo * This,
  17159. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17160. /* [in] */ DWORD dwFlags);
  17161. END_INTERFACE
  17162. } IDDrawExclModeVideoVtbl;
  17163. interface IDDrawExclModeVideo
  17164. {
  17165. CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  17166. };
  17167. #ifdef COBJMACROS
  17168. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) \
  17169. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17170. #define IDDrawExclModeVideo_AddRef(This) \
  17171. (This)->lpVtbl -> AddRef(This)
  17172. #define IDDrawExclModeVideo_Release(This) \
  17173. (This)->lpVtbl -> Release(This)
  17174. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) \
  17175. (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  17176. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) \
  17177. (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  17178. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) \
  17179. (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  17180. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) \
  17181. (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  17182. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) \
  17183. (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  17184. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) \
  17185. (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  17186. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) \
  17187. (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  17188. #endif /* COBJMACROS */
  17189. #endif /* C style interface */
  17190. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy(
  17191. IDDrawExclModeVideo * This,
  17192. /* [in] */ IDirectDraw *pDDrawObject);
  17193. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  17194. IRpcStubBuffer *This,
  17195. IRpcChannelBuffer *_pRpcChannelBuffer,
  17196. PRPC_MESSAGE _pRpcMessage,
  17197. DWORD *_pdwStubPhase);
  17198. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy(
  17199. IDDrawExclModeVideo * This,
  17200. /* [out] */ IDirectDraw **ppDDrawObject,
  17201. /* [out] */ BOOL *pbUsingExternal);
  17202. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  17203. IRpcStubBuffer *This,
  17204. IRpcChannelBuffer *_pRpcChannelBuffer,
  17205. PRPC_MESSAGE _pRpcMessage,
  17206. DWORD *_pdwStubPhase);
  17207. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy(
  17208. IDDrawExclModeVideo * This,
  17209. /* [in] */ IDirectDrawSurface *pDDrawSurface);
  17210. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  17211. IRpcStubBuffer *This,
  17212. IRpcChannelBuffer *_pRpcChannelBuffer,
  17213. PRPC_MESSAGE _pRpcMessage,
  17214. DWORD *_pdwStubPhase);
  17215. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy(
  17216. IDDrawExclModeVideo * This,
  17217. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17218. /* [out] */ BOOL *pbUsingExternal);
  17219. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  17220. IRpcStubBuffer *This,
  17221. IRpcChannelBuffer *_pRpcChannelBuffer,
  17222. PRPC_MESSAGE _pRpcMessage,
  17223. DWORD *_pdwStubPhase);
  17224. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy(
  17225. IDDrawExclModeVideo * This,
  17226. /* [in] */ const RECT *prcSource,
  17227. /* [in] */ const RECT *prcTarget);
  17228. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  17229. IRpcStubBuffer *This,
  17230. IRpcChannelBuffer *_pRpcChannelBuffer,
  17231. PRPC_MESSAGE _pRpcMessage,
  17232. DWORD *_pdwStubPhase);
  17233. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy(
  17234. IDDrawExclModeVideo * This,
  17235. /* [out] */ DWORD *pdwVideoWidth,
  17236. /* [out] */ DWORD *pdwVideoHeight,
  17237. /* [out] */ DWORD *pdwPictAspectRatioX,
  17238. /* [out] */ DWORD *pdwPictAspectRatioY);
  17239. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  17240. IRpcStubBuffer *This,
  17241. IRpcChannelBuffer *_pRpcChannelBuffer,
  17242. PRPC_MESSAGE _pRpcMessage,
  17243. DWORD *_pdwStubPhase);
  17244. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy(
  17245. IDDrawExclModeVideo * This,
  17246. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17247. /* [in] */ DWORD dwFlags);
  17248. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  17249. IRpcStubBuffer *This,
  17250. IRpcChannelBuffer *_pRpcChannelBuffer,
  17251. PRPC_MESSAGE _pRpcMessage,
  17252. DWORD *_pdwStubPhase);
  17253. #endif /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  17254. /* interface __MIDL_itf_strmif_0384 */
  17255. /* [local] */
  17256. enum _AM_OVERLAY_NOTIFY_FLAGS
  17257. { AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,
  17258. AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,
  17259. AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
  17260. } ;
  17261. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;
  17262. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
  17263. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  17264. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  17265. /* interface IDDrawExclModeVideoCallback */
  17266. /* [unique][uuid][local][object] */
  17267. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  17268. #if defined(__cplusplus) && !defined(CINTERFACE)
  17269. MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  17270. IDDrawExclModeVideoCallback : public IUnknown
  17271. {
  17272. public:
  17273. virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay(
  17274. /* [in] */ BOOL bBefore,
  17275. /* [in] */ DWORD dwFlags,
  17276. /* [in] */ BOOL bOldVisible,
  17277. /* [in] */ const RECT *prcOldSrc,
  17278. /* [in] */ const RECT *prcOldDest,
  17279. /* [in] */ BOOL bNewVisible,
  17280. /* [in] */ const RECT *prcNewSrc,
  17281. /* [in] */ const RECT *prcNewDest) = 0;
  17282. virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey(
  17283. /* [in] */ const COLORKEY *pKey,
  17284. /* [in] */ DWORD dwColor) = 0;
  17285. virtual HRESULT STDMETHODCALLTYPE OnUpdateSize(
  17286. /* [in] */ DWORD dwWidth,
  17287. /* [in] */ DWORD dwHeight,
  17288. /* [in] */ DWORD dwARWidth,
  17289. /* [in] */ DWORD dwARHeight) = 0;
  17290. };
  17291. #else /* C style interface */
  17292. typedef struct IDDrawExclModeVideoCallbackVtbl
  17293. {
  17294. BEGIN_INTERFACE
  17295. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17296. IDDrawExclModeVideoCallback * This,
  17297. /* [in] */ REFIID riid,
  17298. /* [iid_is][out] */ void **ppvObject);
  17299. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17300. IDDrawExclModeVideoCallback * This);
  17301. ULONG ( STDMETHODCALLTYPE *Release )(
  17302. IDDrawExclModeVideoCallback * This);
  17303. HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )(
  17304. IDDrawExclModeVideoCallback * This,
  17305. /* [in] */ BOOL bBefore,
  17306. /* [in] */ DWORD dwFlags,
  17307. /* [in] */ BOOL bOldVisible,
  17308. /* [in] */ const RECT *prcOldSrc,
  17309. /* [in] */ const RECT *prcOldDest,
  17310. /* [in] */ BOOL bNewVisible,
  17311. /* [in] */ const RECT *prcNewSrc,
  17312. /* [in] */ const RECT *prcNewDest);
  17313. HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )(
  17314. IDDrawExclModeVideoCallback * This,
  17315. /* [in] */ const COLORKEY *pKey,
  17316. /* [in] */ DWORD dwColor);
  17317. HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )(
  17318. IDDrawExclModeVideoCallback * This,
  17319. /* [in] */ DWORD dwWidth,
  17320. /* [in] */ DWORD dwHeight,
  17321. /* [in] */ DWORD dwARWidth,
  17322. /* [in] */ DWORD dwARHeight);
  17323. END_INTERFACE
  17324. } IDDrawExclModeVideoCallbackVtbl;
  17325. interface IDDrawExclModeVideoCallback
  17326. {
  17327. CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  17328. };
  17329. #ifdef COBJMACROS
  17330. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) \
  17331. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17332. #define IDDrawExclModeVideoCallback_AddRef(This) \
  17333. (This)->lpVtbl -> AddRef(This)
  17334. #define IDDrawExclModeVideoCallback_Release(This) \
  17335. (This)->lpVtbl -> Release(This)
  17336. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) \
  17337. (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  17338. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) \
  17339. (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  17340. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) \
  17341. (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  17342. #endif /* COBJMACROS */
  17343. #endif /* C style interface */
  17344. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(
  17345. IDDrawExclModeVideoCallback * This,
  17346. /* [in] */ BOOL bBefore,
  17347. /* [in] */ DWORD dwFlags,
  17348. /* [in] */ BOOL bOldVisible,
  17349. /* [in] */ const RECT *prcOldSrc,
  17350. /* [in] */ const RECT *prcOldDest,
  17351. /* [in] */ BOOL bNewVisible,
  17352. /* [in] */ const RECT *prcNewSrc,
  17353. /* [in] */ const RECT *prcNewDest);
  17354. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  17355. IRpcStubBuffer *This,
  17356. IRpcChannelBuffer *_pRpcChannelBuffer,
  17357. PRPC_MESSAGE _pRpcMessage,
  17358. DWORD *_pdwStubPhase);
  17359. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(
  17360. IDDrawExclModeVideoCallback * This,
  17361. /* [in] */ const COLORKEY *pKey,
  17362. /* [in] */ DWORD dwColor);
  17363. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  17364. IRpcStubBuffer *This,
  17365. IRpcChannelBuffer *_pRpcChannelBuffer,
  17366. PRPC_MESSAGE _pRpcMessage,
  17367. DWORD *_pdwStubPhase);
  17368. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(
  17369. IDDrawExclModeVideoCallback * This,
  17370. /* [in] */ DWORD dwWidth,
  17371. /* [in] */ DWORD dwHeight,
  17372. /* [in] */ DWORD dwARWidth,
  17373. /* [in] */ DWORD dwARHeight);
  17374. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  17375. IRpcStubBuffer *This,
  17376. IRpcChannelBuffer *_pRpcChannelBuffer,
  17377. PRPC_MESSAGE _pRpcMessage,
  17378. DWORD *_pdwStubPhase);
  17379. #endif /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  17380. /* interface __MIDL_itf_strmif_0385 */
  17381. /* [local] */
  17382. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_c_ifspec;
  17383. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_s_ifspec;
  17384. #ifndef __IPinConnection_INTERFACE_DEFINED__
  17385. #define __IPinConnection_INTERFACE_DEFINED__
  17386. /* interface IPinConnection */
  17387. /* [unique][uuid][object][local] */
  17388. EXTERN_C const IID IID_IPinConnection;
  17389. #if defined(__cplusplus) && !defined(CINTERFACE)
  17390. MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  17391. IPinConnection : public IUnknown
  17392. {
  17393. public:
  17394. virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept(
  17395. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  17396. virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream(
  17397. /* [in] */ HANDLE hNotifyEvent) = 0;
  17398. virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  17399. virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  17400. };
  17401. #else /* C style interface */
  17402. typedef struct IPinConnectionVtbl
  17403. {
  17404. BEGIN_INTERFACE
  17405. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17406. IPinConnection * This,
  17407. /* [in] */ REFIID riid,
  17408. /* [iid_is][out] */ void **ppvObject);
  17409. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17410. IPinConnection * This);
  17411. ULONG ( STDMETHODCALLTYPE *Release )(
  17412. IPinConnection * This);
  17413. HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )(
  17414. IPinConnection * This,
  17415. /* [in] */ const AM_MEDIA_TYPE *pmt);
  17416. HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )(
  17417. IPinConnection * This,
  17418. /* [in] */ HANDLE hNotifyEvent);
  17419. HRESULT ( STDMETHODCALLTYPE *IsEndPin )(
  17420. IPinConnection * This);
  17421. HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )(
  17422. IPinConnection * This);
  17423. END_INTERFACE
  17424. } IPinConnectionVtbl;
  17425. interface IPinConnection
  17426. {
  17427. CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  17428. };
  17429. #ifdef COBJMACROS
  17430. #define IPinConnection_QueryInterface(This,riid,ppvObject) \
  17431. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17432. #define IPinConnection_AddRef(This) \
  17433. (This)->lpVtbl -> AddRef(This)
  17434. #define IPinConnection_Release(This) \
  17435. (This)->lpVtbl -> Release(This)
  17436. #define IPinConnection_DynamicQueryAccept(This,pmt) \
  17437. (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  17438. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) \
  17439. (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  17440. #define IPinConnection_IsEndPin(This) \
  17441. (This)->lpVtbl -> IsEndPin(This)
  17442. #define IPinConnection_DynamicDisconnect(This) \
  17443. (This)->lpVtbl -> DynamicDisconnect(This)
  17444. #endif /* COBJMACROS */
  17445. #endif /* C style interface */
  17446. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy(
  17447. IPinConnection * This,
  17448. /* [in] */ const AM_MEDIA_TYPE *pmt);
  17449. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  17450. IRpcStubBuffer *This,
  17451. IRpcChannelBuffer *_pRpcChannelBuffer,
  17452. PRPC_MESSAGE _pRpcMessage,
  17453. DWORD *_pdwStubPhase);
  17454. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy(
  17455. IPinConnection * This,
  17456. /* [in] */ HANDLE hNotifyEvent);
  17457. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  17458. IRpcStubBuffer *This,
  17459. IRpcChannelBuffer *_pRpcChannelBuffer,
  17460. PRPC_MESSAGE _pRpcMessage,
  17461. DWORD *_pdwStubPhase);
  17462. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy(
  17463. IPinConnection * This);
  17464. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  17465. IRpcStubBuffer *This,
  17466. IRpcChannelBuffer *_pRpcChannelBuffer,
  17467. PRPC_MESSAGE _pRpcMessage,
  17468. DWORD *_pdwStubPhase);
  17469. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy(
  17470. IPinConnection * This);
  17471. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  17472. IRpcStubBuffer *This,
  17473. IRpcChannelBuffer *_pRpcChannelBuffer,
  17474. PRPC_MESSAGE _pRpcMessage,
  17475. DWORD *_pdwStubPhase);
  17476. #endif /* __IPinConnection_INTERFACE_DEFINED__ */
  17477. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  17478. #define __IPinFlowControl_INTERFACE_DEFINED__
  17479. /* interface IPinFlowControl */
  17480. /* [unique][uuid][object][local] */
  17481. EXTERN_C const IID IID_IPinFlowControl;
  17482. #if defined(__cplusplus) && !defined(CINTERFACE)
  17483. MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  17484. IPinFlowControl : public IUnknown
  17485. {
  17486. public:
  17487. virtual HRESULT STDMETHODCALLTYPE Block(
  17488. /* [in] */ DWORD dwBlockFlags,
  17489. /* [in] */ HANDLE hEvent) = 0;
  17490. };
  17491. #else /* C style interface */
  17492. typedef struct IPinFlowControlVtbl
  17493. {
  17494. BEGIN_INTERFACE
  17495. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17496. IPinFlowControl * This,
  17497. /* [in] */ REFIID riid,
  17498. /* [iid_is][out] */ void **ppvObject);
  17499. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17500. IPinFlowControl * This);
  17501. ULONG ( STDMETHODCALLTYPE *Release )(
  17502. IPinFlowControl * This);
  17503. HRESULT ( STDMETHODCALLTYPE *Block )(
  17504. IPinFlowControl * This,
  17505. /* [in] */ DWORD dwBlockFlags,
  17506. /* [in] */ HANDLE hEvent);
  17507. END_INTERFACE
  17508. } IPinFlowControlVtbl;
  17509. interface IPinFlowControl
  17510. {
  17511. CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  17512. };
  17513. #ifdef COBJMACROS
  17514. #define IPinFlowControl_QueryInterface(This,riid,ppvObject) \
  17515. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17516. #define IPinFlowControl_AddRef(This) \
  17517. (This)->lpVtbl -> AddRef(This)
  17518. #define IPinFlowControl_Release(This) \
  17519. (This)->lpVtbl -> Release(This)
  17520. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) \
  17521. (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  17522. #endif /* COBJMACROS */
  17523. #endif /* C style interface */
  17524. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy(
  17525. IPinFlowControl * This,
  17526. /* [in] */ DWORD dwBlockFlags,
  17527. /* [in] */ HANDLE hEvent);
  17528. void __RPC_STUB IPinFlowControl_Block_Stub(
  17529. IRpcStubBuffer *This,
  17530. IRpcChannelBuffer *_pRpcChannelBuffer,
  17531. PRPC_MESSAGE _pRpcMessage,
  17532. DWORD *_pdwStubPhase);
  17533. #endif /* __IPinFlowControl_INTERFACE_DEFINED__ */
  17534. /* interface __MIDL_itf_strmif_0387 */
  17535. /* [local] */
  17536. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  17537. { AM_PIN_FLOW_CONTROL_BLOCK = 0x1
  17538. } ;
  17539. typedef
  17540. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  17541. { AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,
  17542. AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
  17543. AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
  17544. } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  17545. enum _REM_FILTER_FLAGS
  17546. { REMFILTERF_LEAVECONNECTED = 0x1
  17547. } ;
  17548. typedef
  17549. enum _AM_FILTER_FLAGS
  17550. { AM_FILTER_FLAGS_REMOVABLE = 0x1
  17551. } AM_FILTER_FLAGS;
  17552. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
  17553. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
  17554. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  17555. #define __IGraphConfig_INTERFACE_DEFINED__
  17556. /* interface IGraphConfig */
  17557. /* [unique][uuid][object][local] */
  17558. EXTERN_C const IID IID_IGraphConfig;
  17559. #if defined(__cplusplus) && !defined(CINTERFACE)
  17560. MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  17561. IGraphConfig : public IUnknown
  17562. {
  17563. public:
  17564. virtual HRESULT STDMETHODCALLTYPE Reconnect(
  17565. /* [in] */ IPin *pOutputPin,
  17566. /* [in] */ IPin *pInputPin,
  17567. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  17568. /* [in] */ IBaseFilter *pUsingFilter,
  17569. /* [in] */ HANDLE hAbortEvent,
  17570. /* [in] */ DWORD dwFlags) = 0;
  17571. virtual HRESULT STDMETHODCALLTYPE Reconfigure(
  17572. /* [in] */ IGraphConfigCallback *pCallback,
  17573. /* [in] */ PVOID pvContext,
  17574. /* [in] */ DWORD dwFlags,
  17575. /* [in] */ HANDLE hAbortEvent) = 0;
  17576. virtual HRESULT STDMETHODCALLTYPE AddFilterToCache(
  17577. /* [in] */ IBaseFilter *pFilter) = 0;
  17578. virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter(
  17579. /* [out] */ IEnumFilters **pEnum) = 0;
  17580. virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache(
  17581. /* [in] */ IBaseFilter *pFilter) = 0;
  17582. virtual HRESULT STDMETHODCALLTYPE GetStartTime(
  17583. /* [out] */ REFERENCE_TIME *prtStart) = 0;
  17584. virtual HRESULT STDMETHODCALLTYPE PushThroughData(
  17585. /* [in] */ IPin *pOutputPin,
  17586. /* [in] */ IPinConnection *pConnection,
  17587. /* [in] */ HANDLE hEventAbort) = 0;
  17588. virtual HRESULT STDMETHODCALLTYPE SetFilterFlags(
  17589. /* [in] */ IBaseFilter *pFilter,
  17590. /* [in] */ DWORD dwFlags) = 0;
  17591. virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(
  17592. /* [in] */ IBaseFilter *pFilter,
  17593. /* [out] */ DWORD *pdwFlags) = 0;
  17594. virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx(
  17595. /* [in] */ IBaseFilter *pFilter,
  17596. DWORD Flags) = 0;
  17597. };
  17598. #else /* C style interface */
  17599. typedef struct IGraphConfigVtbl
  17600. {
  17601. BEGIN_INTERFACE
  17602. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17603. IGraphConfig * This,
  17604. /* [in] */ REFIID riid,
  17605. /* [iid_is][out] */ void **ppvObject);
  17606. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17607. IGraphConfig * This);
  17608. ULONG ( STDMETHODCALLTYPE *Release )(
  17609. IGraphConfig * This);
  17610. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  17611. IGraphConfig * This,
  17612. /* [in] */ IPin *pOutputPin,
  17613. /* [in] */ IPin *pInputPin,
  17614. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  17615. /* [in] */ IBaseFilter *pUsingFilter,
  17616. /* [in] */ HANDLE hAbortEvent,
  17617. /* [in] */ DWORD dwFlags);
  17618. HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
  17619. IGraphConfig * This,
  17620. /* [in] */ IGraphConfigCallback *pCallback,
  17621. /* [in] */ PVOID pvContext,
  17622. /* [in] */ DWORD dwFlags,
  17623. /* [in] */ HANDLE hAbortEvent);
  17624. HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )(
  17625. IGraphConfig * This,
  17626. /* [in] */ IBaseFilter *pFilter);
  17627. HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )(
  17628. IGraphConfig * This,
  17629. /* [out] */ IEnumFilters **pEnum);
  17630. HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )(
  17631. IGraphConfig * This,
  17632. /* [in] */ IBaseFilter *pFilter);
  17633. HRESULT ( STDMETHODCALLTYPE *GetStartTime )(
  17634. IGraphConfig * This,
  17635. /* [out] */ REFERENCE_TIME *prtStart);
  17636. HRESULT ( STDMETHODCALLTYPE *PushThroughData )(
  17637. IGraphConfig * This,
  17638. /* [in] */ IPin *pOutputPin,
  17639. /* [in] */ IPinConnection *pConnection,
  17640. /* [in] */ HANDLE hEventAbort);
  17641. HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )(
  17642. IGraphConfig * This,
  17643. /* [in] */ IBaseFilter *pFilter,
  17644. /* [in] */ DWORD dwFlags);
  17645. HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )(
  17646. IGraphConfig * This,
  17647. /* [in] */ IBaseFilter *pFilter,
  17648. /* [out] */ DWORD *pdwFlags);
  17649. HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )(
  17650. IGraphConfig * This,
  17651. /* [in] */ IBaseFilter *pFilter,
  17652. DWORD Flags);
  17653. END_INTERFACE
  17654. } IGraphConfigVtbl;
  17655. interface IGraphConfig
  17656. {
  17657. CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  17658. };
  17659. #ifdef COBJMACROS
  17660. #define IGraphConfig_QueryInterface(This,riid,ppvObject) \
  17661. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17662. #define IGraphConfig_AddRef(This) \
  17663. (This)->lpVtbl -> AddRef(This)
  17664. #define IGraphConfig_Release(This) \
  17665. (This)->lpVtbl -> Release(This)
  17666. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) \
  17667. (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  17668. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) \
  17669. (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  17670. #define IGraphConfig_AddFilterToCache(This,pFilter) \
  17671. (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  17672. #define IGraphConfig_EnumCacheFilter(This,pEnum) \
  17673. (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  17674. #define IGraphConfig_RemoveFilterFromCache(This,pFilter) \
  17675. (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  17676. #define IGraphConfig_GetStartTime(This,prtStart) \
  17677. (This)->lpVtbl -> GetStartTime(This,prtStart)
  17678. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) \
  17679. (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  17680. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) \
  17681. (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  17682. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) \
  17683. (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  17684. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) \
  17685. (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  17686. #endif /* COBJMACROS */
  17687. #endif /* C style interface */
  17688. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy(
  17689. IGraphConfig * This,
  17690. /* [in] */ IPin *pOutputPin,
  17691. /* [in] */ IPin *pInputPin,
  17692. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  17693. /* [in] */ IBaseFilter *pUsingFilter,
  17694. /* [in] */ HANDLE hAbortEvent,
  17695. /* [in] */ DWORD dwFlags);
  17696. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  17697. IRpcStubBuffer *This,
  17698. IRpcChannelBuffer *_pRpcChannelBuffer,
  17699. PRPC_MESSAGE _pRpcMessage,
  17700. DWORD *_pdwStubPhase);
  17701. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy(
  17702. IGraphConfig * This,
  17703. /* [in] */ IGraphConfigCallback *pCallback,
  17704. /* [in] */ PVOID pvContext,
  17705. /* [in] */ DWORD dwFlags,
  17706. /* [in] */ HANDLE hAbortEvent);
  17707. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  17708. IRpcStubBuffer *This,
  17709. IRpcChannelBuffer *_pRpcChannelBuffer,
  17710. PRPC_MESSAGE _pRpcMessage,
  17711. DWORD *_pdwStubPhase);
  17712. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy(
  17713. IGraphConfig * This,
  17714. /* [in] */ IBaseFilter *pFilter);
  17715. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  17716. IRpcStubBuffer *This,
  17717. IRpcChannelBuffer *_pRpcChannelBuffer,
  17718. PRPC_MESSAGE _pRpcMessage,
  17719. DWORD *_pdwStubPhase);
  17720. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy(
  17721. IGraphConfig * This,
  17722. /* [out] */ IEnumFilters **pEnum);
  17723. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  17724. IRpcStubBuffer *This,
  17725. IRpcChannelBuffer *_pRpcChannelBuffer,
  17726. PRPC_MESSAGE _pRpcMessage,
  17727. DWORD *_pdwStubPhase);
  17728. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy(
  17729. IGraphConfig * This,
  17730. /* [in] */ IBaseFilter *pFilter);
  17731. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  17732. IRpcStubBuffer *This,
  17733. IRpcChannelBuffer *_pRpcChannelBuffer,
  17734. PRPC_MESSAGE _pRpcMessage,
  17735. DWORD *_pdwStubPhase);
  17736. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy(
  17737. IGraphConfig * This,
  17738. /* [out] */ REFERENCE_TIME *prtStart);
  17739. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  17740. IRpcStubBuffer *This,
  17741. IRpcChannelBuffer *_pRpcChannelBuffer,
  17742. PRPC_MESSAGE _pRpcMessage,
  17743. DWORD *_pdwStubPhase);
  17744. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy(
  17745. IGraphConfig * This,
  17746. /* [in] */ IPin *pOutputPin,
  17747. /* [in] */ IPinConnection *pConnection,
  17748. /* [in] */ HANDLE hEventAbort);
  17749. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  17750. IRpcStubBuffer *This,
  17751. IRpcChannelBuffer *_pRpcChannelBuffer,
  17752. PRPC_MESSAGE _pRpcMessage,
  17753. DWORD *_pdwStubPhase);
  17754. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy(
  17755. IGraphConfig * This,
  17756. /* [in] */ IBaseFilter *pFilter,
  17757. /* [in] */ DWORD dwFlags);
  17758. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  17759. IRpcStubBuffer *This,
  17760. IRpcChannelBuffer *_pRpcChannelBuffer,
  17761. PRPC_MESSAGE _pRpcMessage,
  17762. DWORD *_pdwStubPhase);
  17763. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy(
  17764. IGraphConfig * This,
  17765. /* [in] */ IBaseFilter *pFilter,
  17766. /* [out] */ DWORD *pdwFlags);
  17767. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  17768. IRpcStubBuffer *This,
  17769. IRpcChannelBuffer *_pRpcChannelBuffer,
  17770. PRPC_MESSAGE _pRpcMessage,
  17771. DWORD *_pdwStubPhase);
  17772. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy(
  17773. IGraphConfig * This,
  17774. /* [in] */ IBaseFilter *pFilter,
  17775. DWORD Flags);
  17776. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  17777. IRpcStubBuffer *This,
  17778. IRpcChannelBuffer *_pRpcChannelBuffer,
  17779. PRPC_MESSAGE _pRpcMessage,
  17780. DWORD *_pdwStubPhase);
  17781. #endif /* __IGraphConfig_INTERFACE_DEFINED__ */
  17782. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  17783. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  17784. /* interface IGraphConfigCallback */
  17785. /* [unique][uuid][object][local] */
  17786. EXTERN_C const IID IID_IGraphConfigCallback;
  17787. #if defined(__cplusplus) && !defined(CINTERFACE)
  17788. MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  17789. IGraphConfigCallback : public IUnknown
  17790. {
  17791. public:
  17792. virtual HRESULT STDMETHODCALLTYPE Reconfigure(
  17793. PVOID pvContext,
  17794. DWORD dwFlags) = 0;
  17795. };
  17796. #else /* C style interface */
  17797. typedef struct IGraphConfigCallbackVtbl
  17798. {
  17799. BEGIN_INTERFACE
  17800. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17801. IGraphConfigCallback * This,
  17802. /* [in] */ REFIID riid,
  17803. /* [iid_is][out] */ void **ppvObject);
  17804. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17805. IGraphConfigCallback * This);
  17806. ULONG ( STDMETHODCALLTYPE *Release )(
  17807. IGraphConfigCallback * This);
  17808. HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
  17809. IGraphConfigCallback * This,
  17810. PVOID pvContext,
  17811. DWORD dwFlags);
  17812. END_INTERFACE
  17813. } IGraphConfigCallbackVtbl;
  17814. interface IGraphConfigCallback
  17815. {
  17816. CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  17817. };
  17818. #ifdef COBJMACROS
  17819. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) \
  17820. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17821. #define IGraphConfigCallback_AddRef(This) \
  17822. (This)->lpVtbl -> AddRef(This)
  17823. #define IGraphConfigCallback_Release(This) \
  17824. (This)->lpVtbl -> Release(This)
  17825. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) \
  17826. (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  17827. #endif /* COBJMACROS */
  17828. #endif /* C style interface */
  17829. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy(
  17830. IGraphConfigCallback * This,
  17831. PVOID pvContext,
  17832. DWORD dwFlags);
  17833. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  17834. IRpcStubBuffer *This,
  17835. IRpcChannelBuffer *_pRpcChannelBuffer,
  17836. PRPC_MESSAGE _pRpcMessage,
  17837. DWORD *_pdwStubPhase);
  17838. #endif /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  17839. #ifndef __IFilterChain_INTERFACE_DEFINED__
  17840. #define __IFilterChain_INTERFACE_DEFINED__
  17841. /* interface IFilterChain */
  17842. /* [unique][uuid][object][local] */
  17843. EXTERN_C const IID IID_IFilterChain;
  17844. #if defined(__cplusplus) && !defined(CINTERFACE)
  17845. MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  17846. IFilterChain : public IUnknown
  17847. {
  17848. public:
  17849. virtual HRESULT STDMETHODCALLTYPE StartChain(
  17850. /* [in] */ IBaseFilter *pStartFilter,
  17851. /* [in] */ IBaseFilter *pEndFilter) = 0;
  17852. virtual HRESULT STDMETHODCALLTYPE PauseChain(
  17853. /* [in] */ IBaseFilter *pStartFilter,
  17854. /* [in] */ IBaseFilter *pEndFilter) = 0;
  17855. virtual HRESULT STDMETHODCALLTYPE StopChain(
  17856. /* [in] */ IBaseFilter *pStartFilter,
  17857. /* [in] */ IBaseFilter *pEndFilter) = 0;
  17858. virtual HRESULT STDMETHODCALLTYPE RemoveChain(
  17859. /* [in] */ IBaseFilter *pStartFilter,
  17860. /* [in] */ IBaseFilter *pEndFilter) = 0;
  17861. };
  17862. #else /* C style interface */
  17863. typedef struct IFilterChainVtbl
  17864. {
  17865. BEGIN_INTERFACE
  17866. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17867. IFilterChain * This,
  17868. /* [in] */ REFIID riid,
  17869. /* [iid_is][out] */ void **ppvObject);
  17870. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17871. IFilterChain * This);
  17872. ULONG ( STDMETHODCALLTYPE *Release )(
  17873. IFilterChain * This);
  17874. HRESULT ( STDMETHODCALLTYPE *StartChain )(
  17875. IFilterChain * This,
  17876. /* [in] */ IBaseFilter *pStartFilter,
  17877. /* [in] */ IBaseFilter *pEndFilter);
  17878. HRESULT ( STDMETHODCALLTYPE *PauseChain )(
  17879. IFilterChain * This,
  17880. /* [in] */ IBaseFilter *pStartFilter,
  17881. /* [in] */ IBaseFilter *pEndFilter);
  17882. HRESULT ( STDMETHODCALLTYPE *StopChain )(
  17883. IFilterChain * This,
  17884. /* [in] */ IBaseFilter *pStartFilter,
  17885. /* [in] */ IBaseFilter *pEndFilter);
  17886. HRESULT ( STDMETHODCALLTYPE *RemoveChain )(
  17887. IFilterChain * This,
  17888. /* [in] */ IBaseFilter *pStartFilter,
  17889. /* [in] */ IBaseFilter *pEndFilter);
  17890. END_INTERFACE
  17891. } IFilterChainVtbl;
  17892. interface IFilterChain
  17893. {
  17894. CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  17895. };
  17896. #ifdef COBJMACROS
  17897. #define IFilterChain_QueryInterface(This,riid,ppvObject) \
  17898. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17899. #define IFilterChain_AddRef(This) \
  17900. (This)->lpVtbl -> AddRef(This)
  17901. #define IFilterChain_Release(This) \
  17902. (This)->lpVtbl -> Release(This)
  17903. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) \
  17904. (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  17905. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) \
  17906. (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  17907. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) \
  17908. (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  17909. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) \
  17910. (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  17911. #endif /* COBJMACROS */
  17912. #endif /* C style interface */
  17913. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy(
  17914. IFilterChain * This,
  17915. /* [in] */ IBaseFilter *pStartFilter,
  17916. /* [in] */ IBaseFilter *pEndFilter);
  17917. void __RPC_STUB IFilterChain_StartChain_Stub(
  17918. IRpcStubBuffer *This,
  17919. IRpcChannelBuffer *_pRpcChannelBuffer,
  17920. PRPC_MESSAGE _pRpcMessage,
  17921. DWORD *_pdwStubPhase);
  17922. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy(
  17923. IFilterChain * This,
  17924. /* [in] */ IBaseFilter *pStartFilter,
  17925. /* [in] */ IBaseFilter *pEndFilter);
  17926. void __RPC_STUB IFilterChain_PauseChain_Stub(
  17927. IRpcStubBuffer *This,
  17928. IRpcChannelBuffer *_pRpcChannelBuffer,
  17929. PRPC_MESSAGE _pRpcMessage,
  17930. DWORD *_pdwStubPhase);
  17931. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy(
  17932. IFilterChain * This,
  17933. /* [in] */ IBaseFilter *pStartFilter,
  17934. /* [in] */ IBaseFilter *pEndFilter);
  17935. void __RPC_STUB IFilterChain_StopChain_Stub(
  17936. IRpcStubBuffer *This,
  17937. IRpcChannelBuffer *_pRpcChannelBuffer,
  17938. PRPC_MESSAGE _pRpcMessage,
  17939. DWORD *_pdwStubPhase);
  17940. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy(
  17941. IFilterChain * This,
  17942. /* [in] */ IBaseFilter *pStartFilter,
  17943. /* [in] */ IBaseFilter *pEndFilter);
  17944. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  17945. IRpcStubBuffer *This,
  17946. IRpcChannelBuffer *_pRpcChannelBuffer,
  17947. PRPC_MESSAGE _pRpcMessage,
  17948. DWORD *_pdwStubPhase);
  17949. #endif /* __IFilterChain_INTERFACE_DEFINED__ */
  17950. /* interface __MIDL_itf_strmif_0390 */
  17951. /* [local] */
  17952. #if 0
  17953. typedef DWORD *LPDIRECTDRAW7;
  17954. typedef DWORD *LPDIRECTDRAWSURFACE7;
  17955. typedef DWORD *LPDDPIXELFORMAT;
  17956. typedef DWORD *LPBITMAPINFOHEADER;
  17957. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0390_0001
  17958. {
  17959. DWORD dw1;
  17960. DWORD dw2;
  17961. } DDCOLORKEY;
  17962. typedef DDCOLORKEY *LPDDCOLORKEY;
  17963. #endif
  17964. #include <ddraw.h>
  17965. typedef /* [public] */
  17966. enum __MIDL___MIDL_itf_strmif_0390_0002
  17967. { VMRSample_SyncPoint = 0x1,
  17968. VMRSample_Preroll = 0x2,
  17969. VMRSample_Discontinuity = 0x4,
  17970. VMRSample_TimeValid = 0x8
  17971. } VMRPresentationFlags;
  17972. typedef struct tagVMRPRESENTATIONINFO
  17973. {
  17974. DWORD dwFlags;
  17975. LPDIRECTDRAWSURFACE7 lpSurf;
  17976. REFERENCE_TIME rtStart;
  17977. REFERENCE_TIME rtEnd;
  17978. SIZE szAspectRatio;
  17979. RECT rcSrc;
  17980. RECT rcDst;
  17981. DWORD dwTypeSpecificFlags;
  17982. DWORD dwInterlaceFlags;
  17983. } VMRPRESENTATIONINFO;
  17984. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_c_ifspec;
  17985. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_s_ifspec;
  17986. #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
  17987. #define __IVMRImagePresenter_INTERFACE_DEFINED__
  17988. /* interface IVMRImagePresenter */
  17989. /* [unique][helpstring][uuid][local][object][local] */
  17990. EXTERN_C const IID IID_IVMRImagePresenter;
  17991. #if defined(__cplusplus) && !defined(CINTERFACE)
  17992. MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
  17993. IVMRImagePresenter : public IUnknown
  17994. {
  17995. public:
  17996. virtual HRESULT STDMETHODCALLTYPE StartPresenting(
  17997. /* [in] */ DWORD_PTR dwUserID) = 0;
  17998. virtual HRESULT STDMETHODCALLTYPE StopPresenting(
  17999. /* [in] */ DWORD_PTR dwUserID) = 0;
  18000. virtual HRESULT STDMETHODCALLTYPE PresentImage(
  18001. /* [in] */ DWORD_PTR dwUserID,
  18002. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
  18003. };
  18004. #else /* C style interface */
  18005. typedef struct IVMRImagePresenterVtbl
  18006. {
  18007. BEGIN_INTERFACE
  18008. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18009. IVMRImagePresenter * This,
  18010. /* [in] */ REFIID riid,
  18011. /* [iid_is][out] */ void **ppvObject);
  18012. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18013. IVMRImagePresenter * This);
  18014. ULONG ( STDMETHODCALLTYPE *Release )(
  18015. IVMRImagePresenter * This);
  18016. HRESULT ( STDMETHODCALLTYPE *StartPresenting )(
  18017. IVMRImagePresenter * This,
  18018. /* [in] */ DWORD_PTR dwUserID);
  18019. HRESULT ( STDMETHODCALLTYPE *StopPresenting )(
  18020. IVMRImagePresenter * This,
  18021. /* [in] */ DWORD_PTR dwUserID);
  18022. HRESULT ( STDMETHODCALLTYPE *PresentImage )(
  18023. IVMRImagePresenter * This,
  18024. /* [in] */ DWORD_PTR dwUserID,
  18025. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  18026. END_INTERFACE
  18027. } IVMRImagePresenterVtbl;
  18028. interface IVMRImagePresenter
  18029. {
  18030. CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
  18031. };
  18032. #ifdef COBJMACROS
  18033. #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) \
  18034. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18035. #define IVMRImagePresenter_AddRef(This) \
  18036. (This)->lpVtbl -> AddRef(This)
  18037. #define IVMRImagePresenter_Release(This) \
  18038. (This)->lpVtbl -> Release(This)
  18039. #define IVMRImagePresenter_StartPresenting(This,dwUserID) \
  18040. (This)->lpVtbl -> StartPresenting(This,dwUserID)
  18041. #define IVMRImagePresenter_StopPresenting(This,dwUserID) \
  18042. (This)->lpVtbl -> StopPresenting(This,dwUserID)
  18043. #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) \
  18044. (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  18045. #endif /* COBJMACROS */
  18046. #endif /* C style interface */
  18047. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy(
  18048. IVMRImagePresenter * This,
  18049. /* [in] */ DWORD_PTR dwUserID);
  18050. void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
  18051. IRpcStubBuffer *This,
  18052. IRpcChannelBuffer *_pRpcChannelBuffer,
  18053. PRPC_MESSAGE _pRpcMessage,
  18054. DWORD *_pdwStubPhase);
  18055. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy(
  18056. IVMRImagePresenter * This,
  18057. /* [in] */ DWORD_PTR dwUserID);
  18058. void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
  18059. IRpcStubBuffer *This,
  18060. IRpcChannelBuffer *_pRpcChannelBuffer,
  18061. PRPC_MESSAGE _pRpcMessage,
  18062. DWORD *_pdwStubPhase);
  18063. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy(
  18064. IVMRImagePresenter * This,
  18065. /* [in] */ DWORD_PTR dwUserID,
  18066. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  18067. void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
  18068. IRpcStubBuffer *This,
  18069. IRpcChannelBuffer *_pRpcChannelBuffer,
  18070. PRPC_MESSAGE _pRpcMessage,
  18071. DWORD *_pdwStubPhase);
  18072. #endif /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
  18073. /* interface __MIDL_itf_strmif_0391 */
  18074. /* [local] */
  18075. typedef /* [public] */
  18076. enum __MIDL___MIDL_itf_strmif_0391_0001
  18077. { AMAP_PIXELFORMAT_VALID = 0x1,
  18078. AMAP_3D_TARGET = 0x2,
  18079. AMAP_ALLOW_SYSMEM = 0x4,
  18080. AMAP_FORCE_SYSMEM = 0x8,
  18081. AMAP_DIRECTED_FLIP = 0x10,
  18082. AMAP_DXVA_TARGET = 0x20
  18083. } VMRSurfaceAllocationFlags;
  18084. typedef struct tagVMRALLOCATIONINFO
  18085. {
  18086. DWORD dwFlags;
  18087. LPBITMAPINFOHEADER lpHdr;
  18088. LPDDPIXELFORMAT lpPixFmt;
  18089. SIZE szAspectRatio;
  18090. DWORD dwMinBuffers;
  18091. DWORD dwMaxBuffers;
  18092. DWORD dwInterlaceFlags;
  18093. SIZE szNativeSize;
  18094. } VMRALLOCATIONINFO;
  18095. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
  18096. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
  18097. #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  18098. #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  18099. /* interface IVMRSurfaceAllocator */
  18100. /* [unique][helpstring][uuid][local][object][local] */
  18101. EXTERN_C const IID IID_IVMRSurfaceAllocator;
  18102. #if defined(__cplusplus) && !defined(CINTERFACE)
  18103. MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
  18104. IVMRSurfaceAllocator : public IUnknown
  18105. {
  18106. public:
  18107. virtual HRESULT STDMETHODCALLTYPE AllocateSurface(
  18108. /* [in] */ DWORD_PTR dwUserID,
  18109. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18110. /* [out][in] */ DWORD *lpdwActualBuffers,
  18111. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  18112. virtual HRESULT STDMETHODCALLTYPE FreeSurface(
  18113. /* [in] */ DWORD_PTR dwID) = 0;
  18114. virtual HRESULT STDMETHODCALLTYPE PrepareSurface(
  18115. /* [in] */ DWORD_PTR dwUserID,
  18116. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18117. /* [in] */ DWORD dwSurfaceFlags) = 0;
  18118. virtual HRESULT STDMETHODCALLTYPE AdviseNotify(
  18119. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
  18120. };
  18121. #else /* C style interface */
  18122. typedef struct IVMRSurfaceAllocatorVtbl
  18123. {
  18124. BEGIN_INTERFACE
  18125. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18126. IVMRSurfaceAllocator * This,
  18127. /* [in] */ REFIID riid,
  18128. /* [iid_is][out] */ void **ppvObject);
  18129. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18130. IVMRSurfaceAllocator * This);
  18131. ULONG ( STDMETHODCALLTYPE *Release )(
  18132. IVMRSurfaceAllocator * This);
  18133. HRESULT ( STDMETHODCALLTYPE *AllocateSurface )(
  18134. IVMRSurfaceAllocator * This,
  18135. /* [in] */ DWORD_PTR dwUserID,
  18136. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18137. /* [out][in] */ DWORD *lpdwActualBuffers,
  18138. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  18139. HRESULT ( STDMETHODCALLTYPE *FreeSurface )(
  18140. IVMRSurfaceAllocator * This,
  18141. /* [in] */ DWORD_PTR dwID);
  18142. HRESULT ( STDMETHODCALLTYPE *PrepareSurface )(
  18143. IVMRSurfaceAllocator * This,
  18144. /* [in] */ DWORD_PTR dwUserID,
  18145. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18146. /* [in] */ DWORD dwSurfaceFlags);
  18147. HRESULT ( STDMETHODCALLTYPE *AdviseNotify )(
  18148. IVMRSurfaceAllocator * This,
  18149. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  18150. END_INTERFACE
  18151. } IVMRSurfaceAllocatorVtbl;
  18152. interface IVMRSurfaceAllocator
  18153. {
  18154. CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
  18155. };
  18156. #ifdef COBJMACROS
  18157. #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) \
  18158. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18159. #define IVMRSurfaceAllocator_AddRef(This) \
  18160. (This)->lpVtbl -> AddRef(This)
  18161. #define IVMRSurfaceAllocator_Release(This) \
  18162. (This)->lpVtbl -> Release(This)
  18163. #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) \
  18164. (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
  18165. #define IVMRSurfaceAllocator_FreeSurface(This,dwID) \
  18166. (This)->lpVtbl -> FreeSurface(This,dwID)
  18167. #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) \
  18168. (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
  18169. #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) \
  18170. (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  18171. #endif /* COBJMACROS */
  18172. #endif /* C style interface */
  18173. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy(
  18174. IVMRSurfaceAllocator * This,
  18175. /* [in] */ DWORD_PTR dwUserID,
  18176. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18177. /* [out][in] */ DWORD *lpdwActualBuffers,
  18178. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  18179. void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
  18180. IRpcStubBuffer *This,
  18181. IRpcChannelBuffer *_pRpcChannelBuffer,
  18182. PRPC_MESSAGE _pRpcMessage,
  18183. DWORD *_pdwStubPhase);
  18184. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy(
  18185. IVMRSurfaceAllocator * This,
  18186. /* [in] */ DWORD_PTR dwID);
  18187. void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
  18188. IRpcStubBuffer *This,
  18189. IRpcChannelBuffer *_pRpcChannelBuffer,
  18190. PRPC_MESSAGE _pRpcMessage,
  18191. DWORD *_pdwStubPhase);
  18192. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy(
  18193. IVMRSurfaceAllocator * This,
  18194. /* [in] */ DWORD_PTR dwUserID,
  18195. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18196. /* [in] */ DWORD dwSurfaceFlags);
  18197. void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
  18198. IRpcStubBuffer *This,
  18199. IRpcChannelBuffer *_pRpcChannelBuffer,
  18200. PRPC_MESSAGE _pRpcMessage,
  18201. DWORD *_pdwStubPhase);
  18202. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy(
  18203. IVMRSurfaceAllocator * This,
  18204. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  18205. void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
  18206. IRpcStubBuffer *This,
  18207. IRpcChannelBuffer *_pRpcChannelBuffer,
  18208. PRPC_MESSAGE _pRpcMessage,
  18209. DWORD *_pdwStubPhase);
  18210. #endif /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
  18211. #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  18212. #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  18213. /* interface IVMRSurfaceAllocatorNotify */
  18214. /* [unique][helpstring][uuid][local][object][local] */
  18215. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
  18216. #if defined(__cplusplus) && !defined(CINTERFACE)
  18217. MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
  18218. IVMRSurfaceAllocatorNotify : public IUnknown
  18219. {
  18220. public:
  18221. virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator(
  18222. /* [in] */ DWORD_PTR dwUserID,
  18223. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
  18224. virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice(
  18225. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18226. /* [in] */ HMONITOR hMonitor) = 0;
  18227. virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice(
  18228. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18229. /* [in] */ HMONITOR hMonitor) = 0;
  18230. virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
  18231. virtual HRESULT STDMETHODCALLTYPE NotifyEvent(
  18232. /* [in] */ LONG EventCode,
  18233. /* [in] */ LONG_PTR Param1,
  18234. /* [in] */ LONG_PTR Param2) = 0;
  18235. virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
  18236. /* [in] */ COLORREF clrBorder) = 0;
  18237. };
  18238. #else /* C style interface */
  18239. typedef struct IVMRSurfaceAllocatorNotifyVtbl
  18240. {
  18241. BEGIN_INTERFACE
  18242. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18243. IVMRSurfaceAllocatorNotify * This,
  18244. /* [in] */ REFIID riid,
  18245. /* [iid_is][out] */ void **ppvObject);
  18246. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18247. IVMRSurfaceAllocatorNotify * This);
  18248. ULONG ( STDMETHODCALLTYPE *Release )(
  18249. IVMRSurfaceAllocatorNotify * This);
  18250. HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )(
  18251. IVMRSurfaceAllocatorNotify * This,
  18252. /* [in] */ DWORD_PTR dwUserID,
  18253. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  18254. HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )(
  18255. IVMRSurfaceAllocatorNotify * This,
  18256. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18257. /* [in] */ HMONITOR hMonitor);
  18258. HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )(
  18259. IVMRSurfaceAllocatorNotify * This,
  18260. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18261. /* [in] */ HMONITOR hMonitor);
  18262. HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )(
  18263. IVMRSurfaceAllocatorNotify * This);
  18264. HRESULT ( STDMETHODCALLTYPE *NotifyEvent )(
  18265. IVMRSurfaceAllocatorNotify * This,
  18266. /* [in] */ LONG EventCode,
  18267. /* [in] */ LONG_PTR Param1,
  18268. /* [in] */ LONG_PTR Param2);
  18269. HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
  18270. IVMRSurfaceAllocatorNotify * This,
  18271. /* [in] */ COLORREF clrBorder);
  18272. END_INTERFACE
  18273. } IVMRSurfaceAllocatorNotifyVtbl;
  18274. interface IVMRSurfaceAllocatorNotify
  18275. {
  18276. CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
  18277. };
  18278. #ifdef COBJMACROS
  18279. #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) \
  18280. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18281. #define IVMRSurfaceAllocatorNotify_AddRef(This) \
  18282. (This)->lpVtbl -> AddRef(This)
  18283. #define IVMRSurfaceAllocatorNotify_Release(This) \
  18284. (This)->lpVtbl -> Release(This)
  18285. #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) \
  18286. (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  18287. #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) \
  18288. (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)
  18289. #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) \
  18290. (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
  18291. #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) \
  18292. (This)->lpVtbl -> RestoreDDrawSurfaces(This)
  18293. #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) \
  18294. (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  18295. #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) \
  18296. (This)->lpVtbl -> SetBorderColor(This,clrBorder)
  18297. #endif /* COBJMACROS */
  18298. #endif /* C style interface */
  18299. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(
  18300. IVMRSurfaceAllocatorNotify * This,
  18301. /* [in] */ DWORD_PTR dwUserID,
  18302. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  18303. void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
  18304. IRpcStubBuffer *This,
  18305. IRpcChannelBuffer *_pRpcChannelBuffer,
  18306. PRPC_MESSAGE _pRpcMessage,
  18307. DWORD *_pdwStubPhase);
  18308. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(
  18309. IVMRSurfaceAllocatorNotify * This,
  18310. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18311. /* [in] */ HMONITOR hMonitor);
  18312. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
  18313. IRpcStubBuffer *This,
  18314. IRpcChannelBuffer *_pRpcChannelBuffer,
  18315. PRPC_MESSAGE _pRpcMessage,
  18316. DWORD *_pdwStubPhase);
  18317. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(
  18318. IVMRSurfaceAllocatorNotify * This,
  18319. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18320. /* [in] */ HMONITOR hMonitor);
  18321. void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
  18322. IRpcStubBuffer *This,
  18323. IRpcChannelBuffer *_pRpcChannelBuffer,
  18324. PRPC_MESSAGE _pRpcMessage,
  18325. DWORD *_pdwStubPhase);
  18326. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(
  18327. IVMRSurfaceAllocatorNotify * This);
  18328. void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
  18329. IRpcStubBuffer *This,
  18330. IRpcChannelBuffer *_pRpcChannelBuffer,
  18331. PRPC_MESSAGE _pRpcMessage,
  18332. DWORD *_pdwStubPhase);
  18333. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(
  18334. IVMRSurfaceAllocatorNotify * This,
  18335. /* [in] */ LONG EventCode,
  18336. /* [in] */ LONG_PTR Param1,
  18337. /* [in] */ LONG_PTR Param2);
  18338. void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
  18339. IRpcStubBuffer *This,
  18340. IRpcChannelBuffer *_pRpcChannelBuffer,
  18341. PRPC_MESSAGE _pRpcMessage,
  18342. DWORD *_pdwStubPhase);
  18343. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(
  18344. IVMRSurfaceAllocatorNotify * This,
  18345. /* [in] */ COLORREF clrBorder);
  18346. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
  18347. IRpcStubBuffer *This,
  18348. IRpcChannelBuffer *_pRpcChannelBuffer,
  18349. PRPC_MESSAGE _pRpcMessage,
  18350. DWORD *_pdwStubPhase);
  18351. #endif /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
  18352. /* interface __MIDL_itf_strmif_0393 */
  18353. /* [local] */
  18354. typedef /* [public] */
  18355. enum __MIDL___MIDL_itf_strmif_0393_0001
  18356. { VMR_ARMODE_NONE = 0,
  18357. VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
  18358. } VMR_ASPECT_RATIO_MODE;
  18359. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_c_ifspec;
  18360. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_s_ifspec;
  18361. #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
  18362. #define __IVMRWindowlessControl_INTERFACE_DEFINED__
  18363. /* interface IVMRWindowlessControl */
  18364. /* [unique][helpstring][uuid][local][object][local] */
  18365. EXTERN_C const IID IID_IVMRWindowlessControl;
  18366. #if defined(__cplusplus) && !defined(CINTERFACE)
  18367. MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
  18368. IVMRWindowlessControl : public IUnknown
  18369. {
  18370. public:
  18371. virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
  18372. /* [out] */ LONG *lpWidth,
  18373. /* [out] */ LONG *lpHeight,
  18374. /* [out] */ LONG *lpARWidth,
  18375. /* [out] */ LONG *lpARHeight) = 0;
  18376. virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(
  18377. /* [out] */ LONG *lpWidth,
  18378. /* [out] */ LONG *lpHeight) = 0;
  18379. virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(
  18380. /* [out] */ LONG *lpWidth,
  18381. /* [out] */ LONG *lpHeight) = 0;
  18382. virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
  18383. /* [in] */ const LPRECT lpSRCRect,
  18384. /* [in] */ const LPRECT lpDSTRect) = 0;
  18385. virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
  18386. /* [out] */ LPRECT lpSRCRect,
  18387. /* [out] */ LPRECT lpDSTRect) = 0;
  18388. virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
  18389. /* [out] */ DWORD *lpAspectRatioMode) = 0;
  18390. virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
  18391. /* [in] */ DWORD AspectRatioMode) = 0;
  18392. virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(
  18393. /* [in] */ HWND hwnd) = 0;
  18394. virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
  18395. /* [in] */ HWND hwnd,
  18396. /* [in] */ HDC hdc) = 0;
  18397. virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  18398. virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
  18399. /* [out] */ BYTE **lpDib) = 0;
  18400. virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
  18401. /* [in] */ COLORREF Clr) = 0;
  18402. virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
  18403. /* [out] */ COLORREF *lpClr) = 0;
  18404. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  18405. /* [in] */ COLORREF Clr) = 0;
  18406. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  18407. /* [out] */ COLORREF *lpClr) = 0;
  18408. };
  18409. #else /* C style interface */
  18410. typedef struct IVMRWindowlessControlVtbl
  18411. {
  18412. BEGIN_INTERFACE
  18413. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18414. IVMRWindowlessControl * This,
  18415. /* [in] */ REFIID riid,
  18416. /* [iid_is][out] */ void **ppvObject);
  18417. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18418. IVMRWindowlessControl * This);
  18419. ULONG ( STDMETHODCALLTYPE *Release )(
  18420. IVMRWindowlessControl * This);
  18421. HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )(
  18422. IVMRWindowlessControl * This,
  18423. /* [out] */ LONG *lpWidth,
  18424. /* [out] */ LONG *lpHeight,
  18425. /* [out] */ LONG *lpARWidth,
  18426. /* [out] */ LONG *lpARHeight);
  18427. HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )(
  18428. IVMRWindowlessControl * This,
  18429. /* [out] */ LONG *lpWidth,
  18430. /* [out] */ LONG *lpHeight);
  18431. HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )(
  18432. IVMRWindowlessControl * This,
  18433. /* [out] */ LONG *lpWidth,
  18434. /* [out] */ LONG *lpHeight);
  18435. HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )(
  18436. IVMRWindowlessControl * This,
  18437. /* [in] */ const LPRECT lpSRCRect,
  18438. /* [in] */ const LPRECT lpDSTRect);
  18439. HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
  18440. IVMRWindowlessControl * This,
  18441. /* [out] */ LPRECT lpSRCRect,
  18442. /* [out] */ LPRECT lpDSTRect);
  18443. HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
  18444. IVMRWindowlessControl * This,
  18445. /* [out] */ DWORD *lpAspectRatioMode);
  18446. HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
  18447. IVMRWindowlessControl * This,
  18448. /* [in] */ DWORD AspectRatioMode);
  18449. HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )(
  18450. IVMRWindowlessControl * This,
  18451. /* [in] */ HWND hwnd);
  18452. HRESULT ( STDMETHODCALLTYPE *RepaintVideo )(
  18453. IVMRWindowlessControl * This,
  18454. /* [in] */ HWND hwnd,
  18455. /* [in] */ HDC hdc);
  18456. HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )(
  18457. IVMRWindowlessControl * This);
  18458. HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )(
  18459. IVMRWindowlessControl * This,
  18460. /* [out] */ BYTE **lpDib);
  18461. HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
  18462. IVMRWindowlessControl * This,
  18463. /* [in] */ COLORREF Clr);
  18464. HRESULT ( STDMETHODCALLTYPE *GetBorderColor )(
  18465. IVMRWindowlessControl * This,
  18466. /* [out] */ COLORREF *lpClr);
  18467. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  18468. IVMRWindowlessControl * This,
  18469. /* [in] */ COLORREF Clr);
  18470. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  18471. IVMRWindowlessControl * This,
  18472. /* [out] */ COLORREF *lpClr);
  18473. END_INTERFACE
  18474. } IVMRWindowlessControlVtbl;
  18475. interface IVMRWindowlessControl
  18476. {
  18477. CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
  18478. };
  18479. #ifdef COBJMACROS
  18480. #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) \
  18481. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18482. #define IVMRWindowlessControl_AddRef(This) \
  18483. (This)->lpVtbl -> AddRef(This)
  18484. #define IVMRWindowlessControl_Release(This) \
  18485. (This)->lpVtbl -> Release(This)
  18486. #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) \
  18487. (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  18488. #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) \
  18489. (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  18490. #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) \
  18491. (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  18492. #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) \
  18493. (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  18494. #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) \
  18495. (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  18496. #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) \
  18497. (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  18498. #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) \
  18499. (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  18500. #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) \
  18501. (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  18502. #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) \
  18503. (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  18504. #define IVMRWindowlessControl_DisplayModeChanged(This) \
  18505. (This)->lpVtbl -> DisplayModeChanged(This)
  18506. #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) \
  18507. (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  18508. #define IVMRWindowlessControl_SetBorderColor(This,Clr) \
  18509. (This)->lpVtbl -> SetBorderColor(This,Clr)
  18510. #define IVMRWindowlessControl_GetBorderColor(This,lpClr) \
  18511. (This)->lpVtbl -> GetBorderColor(This,lpClr)
  18512. #define IVMRWindowlessControl_SetColorKey(This,Clr) \
  18513. (This)->lpVtbl -> SetColorKey(This,Clr)
  18514. #define IVMRWindowlessControl_GetColorKey(This,lpClr) \
  18515. (This)->lpVtbl -> GetColorKey(This,lpClr)
  18516. #endif /* COBJMACROS */
  18517. #endif /* C style interface */
  18518. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy(
  18519. IVMRWindowlessControl * This,
  18520. /* [out] */ LONG *lpWidth,
  18521. /* [out] */ LONG *lpHeight,
  18522. /* [out] */ LONG *lpARWidth,
  18523. /* [out] */ LONG *lpARHeight);
  18524. void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
  18525. IRpcStubBuffer *This,
  18526. IRpcChannelBuffer *_pRpcChannelBuffer,
  18527. PRPC_MESSAGE _pRpcMessage,
  18528. DWORD *_pdwStubPhase);
  18529. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(
  18530. IVMRWindowlessControl * This,
  18531. /* [out] */ LONG *lpWidth,
  18532. /* [out] */ LONG *lpHeight);
  18533. void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
  18534. IRpcStubBuffer *This,
  18535. IRpcChannelBuffer *_pRpcChannelBuffer,
  18536. PRPC_MESSAGE _pRpcMessage,
  18537. DWORD *_pdwStubPhase);
  18538. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(
  18539. IVMRWindowlessControl * This,
  18540. /* [out] */ LONG *lpWidth,
  18541. /* [out] */ LONG *lpHeight);
  18542. void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
  18543. IRpcStubBuffer *This,
  18544. IRpcChannelBuffer *_pRpcChannelBuffer,
  18545. PRPC_MESSAGE _pRpcMessage,
  18546. DWORD *_pdwStubPhase);
  18547. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy(
  18548. IVMRWindowlessControl * This,
  18549. /* [in] */ const LPRECT lpSRCRect,
  18550. /* [in] */ const LPRECT lpDSTRect);
  18551. void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
  18552. IRpcStubBuffer *This,
  18553. IRpcChannelBuffer *_pRpcChannelBuffer,
  18554. PRPC_MESSAGE _pRpcMessage,
  18555. DWORD *_pdwStubPhase);
  18556. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy(
  18557. IVMRWindowlessControl * This,
  18558. /* [out] */ LPRECT lpSRCRect,
  18559. /* [out] */ LPRECT lpDSTRect);
  18560. void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
  18561. IRpcStubBuffer *This,
  18562. IRpcChannelBuffer *_pRpcChannelBuffer,
  18563. PRPC_MESSAGE _pRpcMessage,
  18564. DWORD *_pdwStubPhase);
  18565. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy(
  18566. IVMRWindowlessControl * This,
  18567. /* [out] */ DWORD *lpAspectRatioMode);
  18568. void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
  18569. IRpcStubBuffer *This,
  18570. IRpcChannelBuffer *_pRpcChannelBuffer,
  18571. PRPC_MESSAGE _pRpcMessage,
  18572. DWORD *_pdwStubPhase);
  18573. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy(
  18574. IVMRWindowlessControl * This,
  18575. /* [in] */ DWORD AspectRatioMode);
  18576. void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
  18577. IRpcStubBuffer *This,
  18578. IRpcChannelBuffer *_pRpcChannelBuffer,
  18579. PRPC_MESSAGE _pRpcMessage,
  18580. DWORD *_pdwStubPhase);
  18581. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy(
  18582. IVMRWindowlessControl * This,
  18583. /* [in] */ HWND hwnd);
  18584. void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
  18585. IRpcStubBuffer *This,
  18586. IRpcChannelBuffer *_pRpcChannelBuffer,
  18587. PRPC_MESSAGE _pRpcMessage,
  18588. DWORD *_pdwStubPhase);
  18589. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy(
  18590. IVMRWindowlessControl * This,
  18591. /* [in] */ HWND hwnd,
  18592. /* [in] */ HDC hdc);
  18593. void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
  18594. IRpcStubBuffer *This,
  18595. IRpcChannelBuffer *_pRpcChannelBuffer,
  18596. PRPC_MESSAGE _pRpcMessage,
  18597. DWORD *_pdwStubPhase);
  18598. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy(
  18599. IVMRWindowlessControl * This);
  18600. void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
  18601. IRpcStubBuffer *This,
  18602. IRpcChannelBuffer *_pRpcChannelBuffer,
  18603. PRPC_MESSAGE _pRpcMessage,
  18604. DWORD *_pdwStubPhase);
  18605. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy(
  18606. IVMRWindowlessControl * This,
  18607. /* [out] */ BYTE **lpDib);
  18608. void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
  18609. IRpcStubBuffer *This,
  18610. IRpcChannelBuffer *_pRpcChannelBuffer,
  18611. PRPC_MESSAGE _pRpcMessage,
  18612. DWORD *_pdwStubPhase);
  18613. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy(
  18614. IVMRWindowlessControl * This,
  18615. /* [in] */ COLORREF Clr);
  18616. void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
  18617. IRpcStubBuffer *This,
  18618. IRpcChannelBuffer *_pRpcChannelBuffer,
  18619. PRPC_MESSAGE _pRpcMessage,
  18620. DWORD *_pdwStubPhase);
  18621. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy(
  18622. IVMRWindowlessControl * This,
  18623. /* [out] */ COLORREF *lpClr);
  18624. void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
  18625. IRpcStubBuffer *This,
  18626. IRpcChannelBuffer *_pRpcChannelBuffer,
  18627. PRPC_MESSAGE _pRpcMessage,
  18628. DWORD *_pdwStubPhase);
  18629. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy(
  18630. IVMRWindowlessControl * This,
  18631. /* [in] */ COLORREF Clr);
  18632. void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
  18633. IRpcStubBuffer *This,
  18634. IRpcChannelBuffer *_pRpcChannelBuffer,
  18635. PRPC_MESSAGE _pRpcMessage,
  18636. DWORD *_pdwStubPhase);
  18637. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy(
  18638. IVMRWindowlessControl * This,
  18639. /* [out] */ COLORREF *lpClr);
  18640. void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
  18641. IRpcStubBuffer *This,
  18642. IRpcChannelBuffer *_pRpcChannelBuffer,
  18643. PRPC_MESSAGE _pRpcMessage,
  18644. DWORD *_pdwStubPhase);
  18645. #endif /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
  18646. /* interface __MIDL_itf_strmif_0394 */
  18647. /* [local] */
  18648. typedef /* [public] */
  18649. enum __MIDL___MIDL_itf_strmif_0394_0001
  18650. { MixerPref_NoDecimation = 0x1,
  18651. MixerPref_DecimateOutput = 0x2,
  18652. MixerPref_DecimateMask = 0xf,
  18653. MixerPref_BiLinearFiltering = 0x10,
  18654. MixerPref_PointFiltering = 0x20,
  18655. MixerPref_FilteringMask = 0xf0,
  18656. MixerPref_RenderTargetRGB = 0x100,
  18657. MixerPref_RenderTargetYUV420 = 0x200,
  18658. MixerPref_RenderTargetYUV422 = 0x400,
  18659. MixerPref_RenderTargetYUV444 = 0x800,
  18660. MixerPref_RenderTargetReserved = 0xf000,
  18661. MixerPref_RenderTargetMask = 0xff00
  18662. } VMRMixerPrefs;
  18663. typedef struct _NORMALIZEDRECT
  18664. {
  18665. float left;
  18666. float top;
  18667. float right;
  18668. float bottom;
  18669. } NORMALIZEDRECT;
  18670. typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  18671. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
  18672. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
  18673. #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
  18674. #define __IVMRMixerControl_INTERFACE_DEFINED__
  18675. /* interface IVMRMixerControl */
  18676. /* [unique][helpstring][uuid][local][object][local] */
  18677. EXTERN_C const IID IID_IVMRMixerControl;
  18678. #if defined(__cplusplus) && !defined(CINTERFACE)
  18679. MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
  18680. IVMRMixerControl : public IUnknown
  18681. {
  18682. public:
  18683. virtual HRESULT STDMETHODCALLTYPE SetAlpha(
  18684. /* [in] */ DWORD dwStreamID,
  18685. /* [in] */ float Alpha) = 0;
  18686. virtual HRESULT STDMETHODCALLTYPE GetAlpha(
  18687. /* [in] */ DWORD dwStreamID,
  18688. /* [out] */ float *pAlpha) = 0;
  18689. virtual HRESULT STDMETHODCALLTYPE SetZOrder(
  18690. /* [in] */ DWORD dwStreamID,
  18691. /* [in] */ DWORD dwZ) = 0;
  18692. virtual HRESULT STDMETHODCALLTYPE GetZOrder(
  18693. /* [in] */ DWORD dwStreamID,
  18694. /* [out] */ DWORD *pZ) = 0;
  18695. virtual HRESULT STDMETHODCALLTYPE SetOutputRect(
  18696. /* [in] */ DWORD dwStreamID,
  18697. /* [in] */ const NORMALIZEDRECT *pRect) = 0;
  18698. virtual HRESULT STDMETHODCALLTYPE GetOutputRect(
  18699. /* [in] */ DWORD dwStreamID,
  18700. /* [out] */ NORMALIZEDRECT *pRect) = 0;
  18701. virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(
  18702. /* [in] */ COLORREF ClrBkg) = 0;
  18703. virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(
  18704. /* [in] */ COLORREF *lpClrBkg) = 0;
  18705. virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
  18706. /* [in] */ DWORD dwMixerPrefs) = 0;
  18707. virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
  18708. /* [out] */ DWORD *pdwMixerPrefs) = 0;
  18709. };
  18710. #else /* C style interface */
  18711. typedef struct IVMRMixerControlVtbl
  18712. {
  18713. BEGIN_INTERFACE
  18714. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18715. IVMRMixerControl * This,
  18716. /* [in] */ REFIID riid,
  18717. /* [iid_is][out] */ void **ppvObject);
  18718. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18719. IVMRMixerControl * This);
  18720. ULONG ( STDMETHODCALLTYPE *Release )(
  18721. IVMRMixerControl * This);
  18722. HRESULT ( STDMETHODCALLTYPE *SetAlpha )(
  18723. IVMRMixerControl * This,
  18724. /* [in] */ DWORD dwStreamID,
  18725. /* [in] */ float Alpha);
  18726. HRESULT ( STDMETHODCALLTYPE *GetAlpha )(
  18727. IVMRMixerControl * This,
  18728. /* [in] */ DWORD dwStreamID,
  18729. /* [out] */ float *pAlpha);
  18730. HRESULT ( STDMETHODCALLTYPE *SetZOrder )(
  18731. IVMRMixerControl * This,
  18732. /* [in] */ DWORD dwStreamID,
  18733. /* [in] */ DWORD dwZ);
  18734. HRESULT ( STDMETHODCALLTYPE *GetZOrder )(
  18735. IVMRMixerControl * This,
  18736. /* [in] */ DWORD dwStreamID,
  18737. /* [out] */ DWORD *pZ);
  18738. HRESULT ( STDMETHODCALLTYPE *SetOutputRect )(
  18739. IVMRMixerControl * This,
  18740. /* [in] */ DWORD dwStreamID,
  18741. /* [in] */ const NORMALIZEDRECT *pRect);
  18742. HRESULT ( STDMETHODCALLTYPE *GetOutputRect )(
  18743. IVMRMixerControl * This,
  18744. /* [in] */ DWORD dwStreamID,
  18745. /* [out] */ NORMALIZEDRECT *pRect);
  18746. HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )(
  18747. IVMRMixerControl * This,
  18748. /* [in] */ COLORREF ClrBkg);
  18749. HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )(
  18750. IVMRMixerControl * This,
  18751. /* [in] */ COLORREF *lpClrBkg);
  18752. HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )(
  18753. IVMRMixerControl * This,
  18754. /* [in] */ DWORD dwMixerPrefs);
  18755. HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )(
  18756. IVMRMixerControl * This,
  18757. /* [out] */ DWORD *pdwMixerPrefs);
  18758. END_INTERFACE
  18759. } IVMRMixerControlVtbl;
  18760. interface IVMRMixerControl
  18761. {
  18762. CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
  18763. };
  18764. #ifdef COBJMACROS
  18765. #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) \
  18766. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18767. #define IVMRMixerControl_AddRef(This) \
  18768. (This)->lpVtbl -> AddRef(This)
  18769. #define IVMRMixerControl_Release(This) \
  18770. (This)->lpVtbl -> Release(This)
  18771. #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) \
  18772. (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  18773. #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) \
  18774. (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  18775. #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) \
  18776. (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  18777. #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) \
  18778. (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  18779. #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) \
  18780. (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  18781. #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) \
  18782. (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  18783. #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) \
  18784. (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  18785. #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) \
  18786. (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  18787. #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) \
  18788. (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  18789. #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) \
  18790. (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  18791. #endif /* COBJMACROS */
  18792. #endif /* C style interface */
  18793. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy(
  18794. IVMRMixerControl * This,
  18795. /* [in] */ DWORD dwStreamID,
  18796. /* [in] */ float Alpha);
  18797. void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
  18798. IRpcStubBuffer *This,
  18799. IRpcChannelBuffer *_pRpcChannelBuffer,
  18800. PRPC_MESSAGE _pRpcMessage,
  18801. DWORD *_pdwStubPhase);
  18802. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy(
  18803. IVMRMixerControl * This,
  18804. /* [in] */ DWORD dwStreamID,
  18805. /* [out] */ float *pAlpha);
  18806. void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
  18807. IRpcStubBuffer *This,
  18808. IRpcChannelBuffer *_pRpcChannelBuffer,
  18809. PRPC_MESSAGE _pRpcMessage,
  18810. DWORD *_pdwStubPhase);
  18811. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy(
  18812. IVMRMixerControl * This,
  18813. /* [in] */ DWORD dwStreamID,
  18814. /* [in] */ DWORD dwZ);
  18815. void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
  18816. IRpcStubBuffer *This,
  18817. IRpcChannelBuffer *_pRpcChannelBuffer,
  18818. PRPC_MESSAGE _pRpcMessage,
  18819. DWORD *_pdwStubPhase);
  18820. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy(
  18821. IVMRMixerControl * This,
  18822. /* [in] */ DWORD dwStreamID,
  18823. /* [out] */ DWORD *pZ);
  18824. void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
  18825. IRpcStubBuffer *This,
  18826. IRpcChannelBuffer *_pRpcChannelBuffer,
  18827. PRPC_MESSAGE _pRpcMessage,
  18828. DWORD *_pdwStubPhase);
  18829. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy(
  18830. IVMRMixerControl * This,
  18831. /* [in] */ DWORD dwStreamID,
  18832. /* [in] */ const NORMALIZEDRECT *pRect);
  18833. void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
  18834. IRpcStubBuffer *This,
  18835. IRpcChannelBuffer *_pRpcChannelBuffer,
  18836. PRPC_MESSAGE _pRpcMessage,
  18837. DWORD *_pdwStubPhase);
  18838. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy(
  18839. IVMRMixerControl * This,
  18840. /* [in] */ DWORD dwStreamID,
  18841. /* [out] */ NORMALIZEDRECT *pRect);
  18842. void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
  18843. IRpcStubBuffer *This,
  18844. IRpcChannelBuffer *_pRpcChannelBuffer,
  18845. PRPC_MESSAGE _pRpcMessage,
  18846. DWORD *_pdwStubPhase);
  18847. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy(
  18848. IVMRMixerControl * This,
  18849. /* [in] */ COLORREF ClrBkg);
  18850. void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
  18851. IRpcStubBuffer *This,
  18852. IRpcChannelBuffer *_pRpcChannelBuffer,
  18853. PRPC_MESSAGE _pRpcMessage,
  18854. DWORD *_pdwStubPhase);
  18855. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy(
  18856. IVMRMixerControl * This,
  18857. /* [in] */ COLORREF *lpClrBkg);
  18858. void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
  18859. IRpcStubBuffer *This,
  18860. IRpcChannelBuffer *_pRpcChannelBuffer,
  18861. PRPC_MESSAGE _pRpcMessage,
  18862. DWORD *_pdwStubPhase);
  18863. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy(
  18864. IVMRMixerControl * This,
  18865. /* [in] */ DWORD dwMixerPrefs);
  18866. void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
  18867. IRpcStubBuffer *This,
  18868. IRpcChannelBuffer *_pRpcChannelBuffer,
  18869. PRPC_MESSAGE _pRpcMessage,
  18870. DWORD *_pdwStubPhase);
  18871. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy(
  18872. IVMRMixerControl * This,
  18873. /* [out] */ DWORD *pdwMixerPrefs);
  18874. void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
  18875. IRpcStubBuffer *This,
  18876. IRpcChannelBuffer *_pRpcChannelBuffer,
  18877. PRPC_MESSAGE _pRpcMessage,
  18878. DWORD *_pdwStubPhase);
  18879. #endif /* __IVMRMixerControl_INTERFACE_DEFINED__ */
  18880. /* interface __MIDL_itf_strmif_0395 */
  18881. /* [local] */
  18882. typedef struct tagVMRGUID
  18883. {
  18884. GUID *pGUID;
  18885. GUID GUID;
  18886. } VMRGUID;
  18887. typedef struct tagVMRMONITORINFO
  18888. {
  18889. VMRGUID guid;
  18890. RECT rcMonitor;
  18891. HMONITOR hMon;
  18892. DWORD dwFlags;
  18893. wchar_t szDevice[ 32 ];
  18894. wchar_t szDescription[ 256 ];
  18895. LARGE_INTEGER liDriverVersion;
  18896. DWORD dwVendorId;
  18897. DWORD dwDeviceId;
  18898. DWORD dwSubSysId;
  18899. DWORD dwRevision;
  18900. } VMRMONITORINFO;
  18901. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_c_ifspec;
  18902. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_s_ifspec;
  18903. #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
  18904. #define __IVMRMonitorConfig_INTERFACE_DEFINED__
  18905. /* interface IVMRMonitorConfig */
  18906. /* [unique][helpstring][uuid][local][object] */
  18907. EXTERN_C const IID IID_IVMRMonitorConfig;
  18908. #if defined(__cplusplus) && !defined(CINTERFACE)
  18909. MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
  18910. IVMRMonitorConfig : public IUnknown
  18911. {
  18912. public:
  18913. virtual HRESULT STDMETHODCALLTYPE SetMonitor(
  18914. /* [in] */ const VMRGUID *pGUID) = 0;
  18915. virtual HRESULT STDMETHODCALLTYPE GetMonitor(
  18916. /* [out] */ VMRGUID *pGUID) = 0;
  18917. virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor(
  18918. /* [in] */ const VMRGUID *pGUID) = 0;
  18919. virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor(
  18920. /* [out] */ VMRGUID *pGUID) = 0;
  18921. virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors(
  18922. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  18923. /* [in] */ DWORD dwMaxInfoArraySize,
  18924. /* [out] */ DWORD *pdwNumDevices) = 0;
  18925. };
  18926. #else /* C style interface */
  18927. typedef struct IVMRMonitorConfigVtbl
  18928. {
  18929. BEGIN_INTERFACE
  18930. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18931. IVMRMonitorConfig * This,
  18932. /* [in] */ REFIID riid,
  18933. /* [iid_is][out] */ void **ppvObject);
  18934. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18935. IVMRMonitorConfig * This);
  18936. ULONG ( STDMETHODCALLTYPE *Release )(
  18937. IVMRMonitorConfig * This);
  18938. HRESULT ( STDMETHODCALLTYPE *SetMonitor )(
  18939. IVMRMonitorConfig * This,
  18940. /* [in] */ const VMRGUID *pGUID);
  18941. HRESULT ( STDMETHODCALLTYPE *GetMonitor )(
  18942. IVMRMonitorConfig * This,
  18943. /* [out] */ VMRGUID *pGUID);
  18944. HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )(
  18945. IVMRMonitorConfig * This,
  18946. /* [in] */ const VMRGUID *pGUID);
  18947. HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )(
  18948. IVMRMonitorConfig * This,
  18949. /* [out] */ VMRGUID *pGUID);
  18950. HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )(
  18951. IVMRMonitorConfig * This,
  18952. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  18953. /* [in] */ DWORD dwMaxInfoArraySize,
  18954. /* [out] */ DWORD *pdwNumDevices);
  18955. END_INTERFACE
  18956. } IVMRMonitorConfigVtbl;
  18957. interface IVMRMonitorConfig
  18958. {
  18959. CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
  18960. };
  18961. #ifdef COBJMACROS
  18962. #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) \
  18963. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18964. #define IVMRMonitorConfig_AddRef(This) \
  18965. (This)->lpVtbl -> AddRef(This)
  18966. #define IVMRMonitorConfig_Release(This) \
  18967. (This)->lpVtbl -> Release(This)
  18968. #define IVMRMonitorConfig_SetMonitor(This,pGUID) \
  18969. (This)->lpVtbl -> SetMonitor(This,pGUID)
  18970. #define IVMRMonitorConfig_GetMonitor(This,pGUID) \
  18971. (This)->lpVtbl -> GetMonitor(This,pGUID)
  18972. #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) \
  18973. (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)
  18974. #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) \
  18975. (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)
  18976. #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) \
  18977. (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  18978. #endif /* COBJMACROS */
  18979. #endif /* C style interface */
  18980. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy(
  18981. IVMRMonitorConfig * This,
  18982. /* [in] */ const VMRGUID *pGUID);
  18983. void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
  18984. IRpcStubBuffer *This,
  18985. IRpcChannelBuffer *_pRpcChannelBuffer,
  18986. PRPC_MESSAGE _pRpcMessage,
  18987. DWORD *_pdwStubPhase);
  18988. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy(
  18989. IVMRMonitorConfig * This,
  18990. /* [out] */ VMRGUID *pGUID);
  18991. void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
  18992. IRpcStubBuffer *This,
  18993. IRpcChannelBuffer *_pRpcChannelBuffer,
  18994. PRPC_MESSAGE _pRpcMessage,
  18995. DWORD *_pdwStubPhase);
  18996. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy(
  18997. IVMRMonitorConfig * This,
  18998. /* [in] */ const VMRGUID *pGUID);
  18999. void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
  19000. IRpcStubBuffer *This,
  19001. IRpcChannelBuffer *_pRpcChannelBuffer,
  19002. PRPC_MESSAGE _pRpcMessage,
  19003. DWORD *_pdwStubPhase);
  19004. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy(
  19005. IVMRMonitorConfig * This,
  19006. /* [out] */ VMRGUID *pGUID);
  19007. void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
  19008. IRpcStubBuffer *This,
  19009. IRpcChannelBuffer *_pRpcChannelBuffer,
  19010. PRPC_MESSAGE _pRpcMessage,
  19011. DWORD *_pdwStubPhase);
  19012. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy(
  19013. IVMRMonitorConfig * This,
  19014. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  19015. /* [in] */ DWORD dwMaxInfoArraySize,
  19016. /* [out] */ DWORD *pdwNumDevices);
  19017. void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
  19018. IRpcStubBuffer *This,
  19019. IRpcChannelBuffer *_pRpcChannelBuffer,
  19020. PRPC_MESSAGE _pRpcMessage,
  19021. DWORD *_pdwStubPhase);
  19022. #endif /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
  19023. /* interface __MIDL_itf_strmif_0396 */
  19024. /* [local] */
  19025. typedef /* [public] */
  19026. enum __MIDL___MIDL_itf_strmif_0396_0001
  19027. { RenderPrefs_ForceOffscreen = 0x1,
  19028. RenderPrefs_ForceOverlays = 0x2,
  19029. RenderPrefs_AllowOverlays = 0,
  19030. RenderPrefs_AllowOffscreen = 0,
  19031. RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,
  19032. RenderPrefs_RestrictToInitialMonitor = 0x10,
  19033. RenderPrefs_PreferAGPMemWhenMixing = 0x20,
  19034. RenderPrefs_Mask = 0x3f
  19035. } VMRRenderPrefs;
  19036. typedef /* [public] */
  19037. enum __MIDL___MIDL_itf_strmif_0396_0002
  19038. { VMRMode_Windowed = 0x1,
  19039. VMRMode_Windowless = 0x2,
  19040. VMRMode_Renderless = 0x4,
  19041. VMRMode_Mask = 0x7
  19042. } VMRMode;
  19043. enum __MIDL___MIDL_itf_strmif_0396_0003
  19044. { MAX_NUMBER_OF_STREAMS = 16
  19045. } ;
  19046. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_c_ifspec;
  19047. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_s_ifspec;
  19048. #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
  19049. #define __IVMRFilterConfig_INTERFACE_DEFINED__
  19050. /* interface IVMRFilterConfig */
  19051. /* [unique][helpstring][uuid][local][object] */
  19052. EXTERN_C const IID IID_IVMRFilterConfig;
  19053. #if defined(__cplusplus) && !defined(CINTERFACE)
  19054. MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
  19055. IVMRFilterConfig : public IUnknown
  19056. {
  19057. public:
  19058. virtual HRESULT STDMETHODCALLTYPE SetImageCompositor(
  19059. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
  19060. virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(
  19061. /* [in] */ DWORD dwMaxStreams) = 0;
  19062. virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(
  19063. /* [out] */ DWORD *pdwMaxStreams) = 0;
  19064. virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
  19065. /* [in] */ DWORD dwRenderFlags) = 0;
  19066. virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
  19067. /* [out] */ DWORD *pdwRenderFlags) = 0;
  19068. virtual HRESULT STDMETHODCALLTYPE SetRenderingMode(
  19069. /* [in] */ DWORD Mode) = 0;
  19070. virtual HRESULT STDMETHODCALLTYPE GetRenderingMode(
  19071. /* [out] */ DWORD *pMode) = 0;
  19072. };
  19073. #else /* C style interface */
  19074. typedef struct IVMRFilterConfigVtbl
  19075. {
  19076. BEGIN_INTERFACE
  19077. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19078. IVMRFilterConfig * This,
  19079. /* [in] */ REFIID riid,
  19080. /* [iid_is][out] */ void **ppvObject);
  19081. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19082. IVMRFilterConfig * This);
  19083. ULONG ( STDMETHODCALLTYPE *Release )(
  19084. IVMRFilterConfig * This);
  19085. HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )(
  19086. IVMRFilterConfig * This,
  19087. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  19088. HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )(
  19089. IVMRFilterConfig * This,
  19090. /* [in] */ DWORD dwMaxStreams);
  19091. HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )(
  19092. IVMRFilterConfig * This,
  19093. /* [out] */ DWORD *pdwMaxStreams);
  19094. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  19095. IVMRFilterConfig * This,
  19096. /* [in] */ DWORD dwRenderFlags);
  19097. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  19098. IVMRFilterConfig * This,
  19099. /* [out] */ DWORD *pdwRenderFlags);
  19100. HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )(
  19101. IVMRFilterConfig * This,
  19102. /* [in] */ DWORD Mode);
  19103. HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )(
  19104. IVMRFilterConfig * This,
  19105. /* [out] */ DWORD *pMode);
  19106. END_INTERFACE
  19107. } IVMRFilterConfigVtbl;
  19108. interface IVMRFilterConfig
  19109. {
  19110. CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
  19111. };
  19112. #ifdef COBJMACROS
  19113. #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) \
  19114. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19115. #define IVMRFilterConfig_AddRef(This) \
  19116. (This)->lpVtbl -> AddRef(This)
  19117. #define IVMRFilterConfig_Release(This) \
  19118. (This)->lpVtbl -> Release(This)
  19119. #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) \
  19120. (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  19121. #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) \
  19122. (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  19123. #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) \
  19124. (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  19125. #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) \
  19126. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  19127. #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) \
  19128. (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  19129. #define IVMRFilterConfig_SetRenderingMode(This,Mode) \
  19130. (This)->lpVtbl -> SetRenderingMode(This,Mode)
  19131. #define IVMRFilterConfig_GetRenderingMode(This,pMode) \
  19132. (This)->lpVtbl -> GetRenderingMode(This,pMode)
  19133. #endif /* COBJMACROS */
  19134. #endif /* C style interface */
  19135. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy(
  19136. IVMRFilterConfig * This,
  19137. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  19138. void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
  19139. IRpcStubBuffer *This,
  19140. IRpcChannelBuffer *_pRpcChannelBuffer,
  19141. PRPC_MESSAGE _pRpcMessage,
  19142. DWORD *_pdwStubPhase);
  19143. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy(
  19144. IVMRFilterConfig * This,
  19145. /* [in] */ DWORD dwMaxStreams);
  19146. void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
  19147. IRpcStubBuffer *This,
  19148. IRpcChannelBuffer *_pRpcChannelBuffer,
  19149. PRPC_MESSAGE _pRpcMessage,
  19150. DWORD *_pdwStubPhase);
  19151. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy(
  19152. IVMRFilterConfig * This,
  19153. /* [out] */ DWORD *pdwMaxStreams);
  19154. void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
  19155. IRpcStubBuffer *This,
  19156. IRpcChannelBuffer *_pRpcChannelBuffer,
  19157. PRPC_MESSAGE _pRpcMessage,
  19158. DWORD *_pdwStubPhase);
  19159. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy(
  19160. IVMRFilterConfig * This,
  19161. /* [in] */ DWORD dwRenderFlags);
  19162. void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
  19163. IRpcStubBuffer *This,
  19164. IRpcChannelBuffer *_pRpcChannelBuffer,
  19165. PRPC_MESSAGE _pRpcMessage,
  19166. DWORD *_pdwStubPhase);
  19167. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy(
  19168. IVMRFilterConfig * This,
  19169. /* [out] */ DWORD *pdwRenderFlags);
  19170. void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
  19171. IRpcStubBuffer *This,
  19172. IRpcChannelBuffer *_pRpcChannelBuffer,
  19173. PRPC_MESSAGE _pRpcMessage,
  19174. DWORD *_pdwStubPhase);
  19175. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy(
  19176. IVMRFilterConfig * This,
  19177. /* [in] */ DWORD Mode);
  19178. void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
  19179. IRpcStubBuffer *This,
  19180. IRpcChannelBuffer *_pRpcChannelBuffer,
  19181. PRPC_MESSAGE _pRpcMessage,
  19182. DWORD *_pdwStubPhase);
  19183. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy(
  19184. IVMRFilterConfig * This,
  19185. /* [out] */ DWORD *pMode);
  19186. void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
  19187. IRpcStubBuffer *This,
  19188. IRpcChannelBuffer *_pRpcChannelBuffer,
  19189. PRPC_MESSAGE _pRpcMessage,
  19190. DWORD *_pdwStubPhase);
  19191. #endif /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
  19192. #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
  19193. #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
  19194. /* interface IVMRAspectRatioControl */
  19195. /* [unique][helpstring][uuid][local][object] */
  19196. EXTERN_C const IID IID_IVMRAspectRatioControl;
  19197. #if defined(__cplusplus) && !defined(CINTERFACE)
  19198. MIDL_INTERFACE("ede80b5c-bad6-4623-b537-65586c9f8dfd")
  19199. IVMRAspectRatioControl : public IUnknown
  19200. {
  19201. public:
  19202. virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
  19203. /* [out] */ LPDWORD lpdwARMode) = 0;
  19204. virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
  19205. /* [in] */ DWORD dwARMode) = 0;
  19206. };
  19207. #else /* C style interface */
  19208. typedef struct IVMRAspectRatioControlVtbl
  19209. {
  19210. BEGIN_INTERFACE
  19211. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19212. IVMRAspectRatioControl * This,
  19213. /* [in] */ REFIID riid,
  19214. /* [iid_is][out] */ void **ppvObject);
  19215. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19216. IVMRAspectRatioControl * This);
  19217. ULONG ( STDMETHODCALLTYPE *Release )(
  19218. IVMRAspectRatioControl * This);
  19219. HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
  19220. IVMRAspectRatioControl * This,
  19221. /* [out] */ LPDWORD lpdwARMode);
  19222. HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
  19223. IVMRAspectRatioControl * This,
  19224. /* [in] */ DWORD dwARMode);
  19225. END_INTERFACE
  19226. } IVMRAspectRatioControlVtbl;
  19227. interface IVMRAspectRatioControl
  19228. {
  19229. CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
  19230. };
  19231. #ifdef COBJMACROS
  19232. #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) \
  19233. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19234. #define IVMRAspectRatioControl_AddRef(This) \
  19235. (This)->lpVtbl -> AddRef(This)
  19236. #define IVMRAspectRatioControl_Release(This) \
  19237. (This)->lpVtbl -> Release(This)
  19238. #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) \
  19239. (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode)
  19240. #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) \
  19241. (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode)
  19242. #endif /* COBJMACROS */
  19243. #endif /* C style interface */
  19244. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_GetAspectRatioMode_Proxy(
  19245. IVMRAspectRatioControl * This,
  19246. /* [out] */ LPDWORD lpdwARMode);
  19247. void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(
  19248. IRpcStubBuffer *This,
  19249. IRpcChannelBuffer *_pRpcChannelBuffer,
  19250. PRPC_MESSAGE _pRpcMessage,
  19251. DWORD *_pdwStubPhase);
  19252. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_SetAspectRatioMode_Proxy(
  19253. IVMRAspectRatioControl * This,
  19254. /* [in] */ DWORD dwARMode);
  19255. void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(
  19256. IRpcStubBuffer *This,
  19257. IRpcChannelBuffer *_pRpcChannelBuffer,
  19258. PRPC_MESSAGE _pRpcMessage,
  19259. DWORD *_pdwStubPhase);
  19260. #endif /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
  19261. /* interface __MIDL_itf_strmif_0398 */
  19262. /* [local] */
  19263. typedef /* [public] */
  19264. enum __MIDL___MIDL_itf_strmif_0398_0001
  19265. { DeinterlacePref_NextBest = 0x1,
  19266. DeinterlacePref_BOB = 0x2,
  19267. DeinterlacePref_Weave = 0x4,
  19268. DeinterlacePref_Mask = 0x7
  19269. } VMRDeinterlacePrefs;
  19270. typedef /* [public][public][public] */
  19271. enum __MIDL___MIDL_itf_strmif_0398_0002
  19272. { DeinterlaceTech_Unknown = 0,
  19273. DeinterlaceTech_BOBLineReplicate = 0x1,
  19274. DeinterlaceTech_BOBVerticalStretch = 0x2,
  19275. DeinterlaceTech_MedianFiltering = 0x4,
  19276. DeinterlaceTech_EdgeFiltering = 0x10,
  19277. DeinterlaceTech_FieldAdaptive = 0x20,
  19278. DeinterlaceTech_PixelAdaptive = 0x40,
  19279. DeinterlaceTech_MotionVectorSteered = 0x80
  19280. } VMRDeinterlaceTech;
  19281. typedef struct _VMRFrequency
  19282. {
  19283. DWORD dwNumerator;
  19284. DWORD dwDenominator;
  19285. } VMRFrequency;
  19286. typedef struct _VMRVideoDesc
  19287. {
  19288. DWORD dwSize;
  19289. DWORD dwSampleWidth;
  19290. DWORD dwSampleHeight;
  19291. BOOL SingleFieldPerSample;
  19292. DWORD dwFourCC;
  19293. VMRFrequency InputSampleFreq;
  19294. VMRFrequency OutputFrameFreq;
  19295. } VMRVideoDesc;
  19296. typedef struct _VMRDeinterlaceCaps
  19297. {
  19298. DWORD dwSize;
  19299. DWORD dwNumPreviousOutputFrames;
  19300. DWORD dwNumForwardRefSamples;
  19301. DWORD dwNumBackwardRefSamples;
  19302. VMRDeinterlaceTech DeinterlaceTechnology;
  19303. } VMRDeinterlaceCaps;
  19304. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
  19305. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
  19306. #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  19307. #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  19308. /* interface IVMRDeinterlaceControl */
  19309. /* [unique][helpstring][uuid][local][object] */
  19310. EXTERN_C const IID IID_IVMRDeinterlaceControl;
  19311. #if defined(__cplusplus) && !defined(CINTERFACE)
  19312. MIDL_INTERFACE("bb057577-0db8-4e6a-87a7-1a8c9a505a0f")
  19313. IVMRDeinterlaceControl : public IUnknown
  19314. {
  19315. public:
  19316. virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes(
  19317. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19318. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19319. /* [out] */ LPGUID lpDeinterlaceModes) = 0;
  19320. virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps(
  19321. /* [in] */ LPGUID lpDeinterlaceMode,
  19322. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19323. /* [out] */ VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
  19324. virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode(
  19325. /* [in] */ DWORD dwStreamID,
  19326. /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  19327. virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode(
  19328. /* [in] */ DWORD dwStreamID,
  19329. /* [in] */ LPGUID lpDeinterlaceMode) = 0;
  19330. virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs(
  19331. /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
  19332. virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs(
  19333. /* [in] */ DWORD dwDeinterlacePrefs) = 0;
  19334. virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode(
  19335. /* [in] */ DWORD dwStreamID,
  19336. /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  19337. };
  19338. #else /* C style interface */
  19339. typedef struct IVMRDeinterlaceControlVtbl
  19340. {
  19341. BEGIN_INTERFACE
  19342. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19343. IVMRDeinterlaceControl * This,
  19344. /* [in] */ REFIID riid,
  19345. /* [iid_is][out] */ void **ppvObject);
  19346. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19347. IVMRDeinterlaceControl * This);
  19348. ULONG ( STDMETHODCALLTYPE *Release )(
  19349. IVMRDeinterlaceControl * This);
  19350. HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )(
  19351. IVMRDeinterlaceControl * This,
  19352. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19353. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19354. /* [out] */ LPGUID lpDeinterlaceModes);
  19355. HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )(
  19356. IVMRDeinterlaceControl * This,
  19357. /* [in] */ LPGUID lpDeinterlaceMode,
  19358. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19359. /* [out] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  19360. HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )(
  19361. IVMRDeinterlaceControl * This,
  19362. /* [in] */ DWORD dwStreamID,
  19363. /* [out] */ LPGUID lpDeinterlaceMode);
  19364. HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )(
  19365. IVMRDeinterlaceControl * This,
  19366. /* [in] */ DWORD dwStreamID,
  19367. /* [in] */ LPGUID lpDeinterlaceMode);
  19368. HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )(
  19369. IVMRDeinterlaceControl * This,
  19370. /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  19371. HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )(
  19372. IVMRDeinterlaceControl * This,
  19373. /* [in] */ DWORD dwDeinterlacePrefs);
  19374. HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )(
  19375. IVMRDeinterlaceControl * This,
  19376. /* [in] */ DWORD dwStreamID,
  19377. /* [out] */ LPGUID lpDeinterlaceMode);
  19378. END_INTERFACE
  19379. } IVMRDeinterlaceControlVtbl;
  19380. interface IVMRDeinterlaceControl
  19381. {
  19382. CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
  19383. };
  19384. #ifdef COBJMACROS
  19385. #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) \
  19386. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19387. #define IVMRDeinterlaceControl_AddRef(This) \
  19388. (This)->lpVtbl -> AddRef(This)
  19389. #define IVMRDeinterlaceControl_Release(This) \
  19390. (This)->lpVtbl -> Release(This)
  19391. #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) \
  19392. (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
  19393. #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) \
  19394. (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
  19395. #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19396. (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19397. #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19398. (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19399. #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) \
  19400. (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
  19401. #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) \
  19402. (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs)
  19403. #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19404. (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19405. #endif /* COBJMACROS */
  19406. #endif /* C style interface */
  19407. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(
  19408. IVMRDeinterlaceControl * This,
  19409. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19410. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19411. /* [out] */ LPGUID lpDeinterlaceModes);
  19412. void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(
  19413. IRpcStubBuffer *This,
  19414. IRpcChannelBuffer *_pRpcChannelBuffer,
  19415. PRPC_MESSAGE _pRpcMessage,
  19416. DWORD *_pdwStubPhase);
  19417. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(
  19418. IVMRDeinterlaceControl * This,
  19419. /* [in] */ LPGUID lpDeinterlaceMode,
  19420. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19421. /* [out] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  19422. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(
  19423. IRpcStubBuffer *This,
  19424. IRpcChannelBuffer *_pRpcChannelBuffer,
  19425. PRPC_MESSAGE _pRpcMessage,
  19426. DWORD *_pdwStubPhase);
  19427. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(
  19428. IVMRDeinterlaceControl * This,
  19429. /* [in] */ DWORD dwStreamID,
  19430. /* [out] */ LPGUID lpDeinterlaceMode);
  19431. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(
  19432. IRpcStubBuffer *This,
  19433. IRpcChannelBuffer *_pRpcChannelBuffer,
  19434. PRPC_MESSAGE _pRpcMessage,
  19435. DWORD *_pdwStubPhase);
  19436. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(
  19437. IVMRDeinterlaceControl * This,
  19438. /* [in] */ DWORD dwStreamID,
  19439. /* [in] */ LPGUID lpDeinterlaceMode);
  19440. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(
  19441. IRpcStubBuffer *This,
  19442. IRpcChannelBuffer *_pRpcChannelBuffer,
  19443. PRPC_MESSAGE _pRpcMessage,
  19444. DWORD *_pdwStubPhase);
  19445. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(
  19446. IVMRDeinterlaceControl * This,
  19447. /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  19448. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(
  19449. IRpcStubBuffer *This,
  19450. IRpcChannelBuffer *_pRpcChannelBuffer,
  19451. PRPC_MESSAGE _pRpcMessage,
  19452. DWORD *_pdwStubPhase);
  19453. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(
  19454. IVMRDeinterlaceControl * This,
  19455. /* [in] */ DWORD dwDeinterlacePrefs);
  19456. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(
  19457. IRpcStubBuffer *This,
  19458. IRpcChannelBuffer *_pRpcChannelBuffer,
  19459. PRPC_MESSAGE _pRpcMessage,
  19460. DWORD *_pdwStubPhase);
  19461. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(
  19462. IVMRDeinterlaceControl * This,
  19463. /* [in] */ DWORD dwStreamID,
  19464. /* [out] */ LPGUID lpDeinterlaceMode);
  19465. void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(
  19466. IRpcStubBuffer *This,
  19467. IRpcChannelBuffer *_pRpcChannelBuffer,
  19468. PRPC_MESSAGE _pRpcMessage,
  19469. DWORD *_pdwStubPhase);
  19470. #endif /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
  19471. /* interface __MIDL_itf_strmif_0399 */
  19472. /* [local] */
  19473. typedef struct _VMRALPHABITMAP
  19474. {
  19475. DWORD dwFlags;
  19476. HDC hdc;
  19477. LPDIRECTDRAWSURFACE7 pDDS;
  19478. RECT rSrc;
  19479. NORMALIZEDRECT rDest;
  19480. FLOAT fAlpha;
  19481. COLORREF clrSrcKey;
  19482. } VMRALPHABITMAP;
  19483. typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
  19484. #define VMRBITMAP_DISABLE 0x00000001
  19485. #define VMRBITMAP_HDC 0x00000002
  19486. #define VMRBITMAP_ENTIREDDS 0x00000004
  19487. #define VMRBITMAP_SRCCOLORKEY 0x00000008
  19488. #define VMRBITMAP_SRCRECT 0x00000010
  19489. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_c_ifspec;
  19490. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_s_ifspec;
  19491. #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
  19492. #define __IVMRMixerBitmap_INTERFACE_DEFINED__
  19493. /* interface IVMRMixerBitmap */
  19494. /* [unique][helpstring][uuid][local][object] */
  19495. EXTERN_C const IID IID_IVMRMixerBitmap;
  19496. #if defined(__cplusplus) && !defined(CINTERFACE)
  19497. MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
  19498. IVMRMixerBitmap : public IUnknown
  19499. {
  19500. public:
  19501. virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
  19502. /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
  19503. virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
  19504. /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
  19505. virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
  19506. /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
  19507. };
  19508. #else /* C style interface */
  19509. typedef struct IVMRMixerBitmapVtbl
  19510. {
  19511. BEGIN_INTERFACE
  19512. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19513. IVMRMixerBitmap * This,
  19514. /* [in] */ REFIID riid,
  19515. /* [iid_is][out] */ void **ppvObject);
  19516. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19517. IVMRMixerBitmap * This);
  19518. ULONG ( STDMETHODCALLTYPE *Release )(
  19519. IVMRMixerBitmap * This);
  19520. HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )(
  19521. IVMRMixerBitmap * This,
  19522. /* [in] */ const VMRALPHABITMAP *pBmpParms);
  19523. HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )(
  19524. IVMRMixerBitmap * This,
  19525. /* [in] */ PVMRALPHABITMAP pBmpParms);
  19526. HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )(
  19527. IVMRMixerBitmap * This,
  19528. /* [out] */ PVMRALPHABITMAP pBmpParms);
  19529. END_INTERFACE
  19530. } IVMRMixerBitmapVtbl;
  19531. interface IVMRMixerBitmap
  19532. {
  19533. CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
  19534. };
  19535. #ifdef COBJMACROS
  19536. #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) \
  19537. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19538. #define IVMRMixerBitmap_AddRef(This) \
  19539. (This)->lpVtbl -> AddRef(This)
  19540. #define IVMRMixerBitmap_Release(This) \
  19541. (This)->lpVtbl -> Release(This)
  19542. #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) \
  19543. (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  19544. #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) \
  19545. (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  19546. #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) \
  19547. (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  19548. #endif /* COBJMACROS */
  19549. #endif /* C style interface */
  19550. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy(
  19551. IVMRMixerBitmap * This,
  19552. /* [in] */ const VMRALPHABITMAP *pBmpParms);
  19553. void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
  19554. IRpcStubBuffer *This,
  19555. IRpcChannelBuffer *_pRpcChannelBuffer,
  19556. PRPC_MESSAGE _pRpcMessage,
  19557. DWORD *_pdwStubPhase);
  19558. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(
  19559. IVMRMixerBitmap * This,
  19560. /* [in] */ PVMRALPHABITMAP pBmpParms);
  19561. void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
  19562. IRpcStubBuffer *This,
  19563. IRpcChannelBuffer *_pRpcChannelBuffer,
  19564. PRPC_MESSAGE _pRpcMessage,
  19565. DWORD *_pdwStubPhase);
  19566. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(
  19567. IVMRMixerBitmap * This,
  19568. /* [out] */ PVMRALPHABITMAP pBmpParms);
  19569. void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
  19570. IRpcStubBuffer *This,
  19571. IRpcChannelBuffer *_pRpcChannelBuffer,
  19572. PRPC_MESSAGE _pRpcMessage,
  19573. DWORD *_pdwStubPhase);
  19574. #endif /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
  19575. /* interface __MIDL_itf_strmif_0400 */
  19576. /* [local] */
  19577. typedef struct _VMRVIDEOSTREAMINFO
  19578. {
  19579. LPDIRECTDRAWSURFACE7 pddsVideoSurface;
  19580. DWORD dwWidth;
  19581. DWORD dwHeight;
  19582. DWORD dwStrmID;
  19583. FLOAT fAlpha;
  19584. DDCOLORKEY ddClrKey;
  19585. NORMALIZEDRECT rNormal;
  19586. } VMRVIDEOSTREAMINFO;
  19587. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
  19588. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
  19589. #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
  19590. #define __IVMRImageCompositor_INTERFACE_DEFINED__
  19591. /* interface IVMRImageCompositor */
  19592. /* [unique][helpstring][uuid][local][object][local] */
  19593. EXTERN_C const IID IID_IVMRImageCompositor;
  19594. #if defined(__cplusplus) && !defined(CINTERFACE)
  19595. MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
  19596. IVMRImageCompositor : public IUnknown
  19597. {
  19598. public:
  19599. virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget(
  19600. /* [in] */ IUnknown *pD3DDevice,
  19601. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  19602. virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget(
  19603. /* [in] */ IUnknown *pD3DDevice,
  19604. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  19605. virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType(
  19606. /* [in] */ DWORD dwStrmID,
  19607. /* [in] */ AM_MEDIA_TYPE *pmt,
  19608. /* [in] */ BOOL fTexture) = 0;
  19609. virtual HRESULT STDMETHODCALLTYPE CompositeImage(
  19610. /* [in] */ IUnknown *pD3DDevice,
  19611. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  19612. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  19613. /* [in] */ REFERENCE_TIME rtStart,
  19614. /* [in] */ REFERENCE_TIME rtEnd,
  19615. /* [in] */ DWORD dwClrBkGnd,
  19616. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  19617. /* [in] */ UINT cStreams) = 0;
  19618. };
  19619. #else /* C style interface */
  19620. typedef struct IVMRImageCompositorVtbl
  19621. {
  19622. BEGIN_INTERFACE
  19623. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19624. IVMRImageCompositor * This,
  19625. /* [in] */ REFIID riid,
  19626. /* [iid_is][out] */ void **ppvObject);
  19627. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19628. IVMRImageCompositor * This);
  19629. ULONG ( STDMETHODCALLTYPE *Release )(
  19630. IVMRImageCompositor * This);
  19631. HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )(
  19632. IVMRImageCompositor * This,
  19633. /* [in] */ IUnknown *pD3DDevice,
  19634. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  19635. HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )(
  19636. IVMRImageCompositor * This,
  19637. /* [in] */ IUnknown *pD3DDevice,
  19638. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  19639. HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )(
  19640. IVMRImageCompositor * This,
  19641. /* [in] */ DWORD dwStrmID,
  19642. /* [in] */ AM_MEDIA_TYPE *pmt,
  19643. /* [in] */ BOOL fTexture);
  19644. HRESULT ( STDMETHODCALLTYPE *CompositeImage )(
  19645. IVMRImageCompositor * This,
  19646. /* [in] */ IUnknown *pD3DDevice,
  19647. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  19648. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  19649. /* [in] */ REFERENCE_TIME rtStart,
  19650. /* [in] */ REFERENCE_TIME rtEnd,
  19651. /* [in] */ DWORD dwClrBkGnd,
  19652. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  19653. /* [in] */ UINT cStreams);
  19654. END_INTERFACE
  19655. } IVMRImageCompositorVtbl;
  19656. interface IVMRImageCompositor
  19657. {
  19658. CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
  19659. };
  19660. #ifdef COBJMACROS
  19661. #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) \
  19662. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19663. #define IVMRImageCompositor_AddRef(This) \
  19664. (This)->lpVtbl -> AddRef(This)
  19665. #define IVMRImageCompositor_Release(This) \
  19666. (This)->lpVtbl -> Release(This)
  19667. #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) \
  19668. (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  19669. #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) \
  19670. (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  19671. #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) \
  19672. (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  19673. #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) \
  19674. (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  19675. #endif /* COBJMACROS */
  19676. #endif /* C style interface */
  19677. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy(
  19678. IVMRImageCompositor * This,
  19679. /* [in] */ IUnknown *pD3DDevice,
  19680. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  19681. void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
  19682. IRpcStubBuffer *This,
  19683. IRpcChannelBuffer *_pRpcChannelBuffer,
  19684. PRPC_MESSAGE _pRpcMessage,
  19685. DWORD *_pdwStubPhase);
  19686. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy(
  19687. IVMRImageCompositor * This,
  19688. /* [in] */ IUnknown *pD3DDevice,
  19689. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  19690. void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
  19691. IRpcStubBuffer *This,
  19692. IRpcChannelBuffer *_pRpcChannelBuffer,
  19693. PRPC_MESSAGE _pRpcMessage,
  19694. DWORD *_pdwStubPhase);
  19695. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy(
  19696. IVMRImageCompositor * This,
  19697. /* [in] */ DWORD dwStrmID,
  19698. /* [in] */ AM_MEDIA_TYPE *pmt,
  19699. /* [in] */ BOOL fTexture);
  19700. void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
  19701. IRpcStubBuffer *This,
  19702. IRpcChannelBuffer *_pRpcChannelBuffer,
  19703. PRPC_MESSAGE _pRpcMessage,
  19704. DWORD *_pdwStubPhase);
  19705. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy(
  19706. IVMRImageCompositor * This,
  19707. /* [in] */ IUnknown *pD3DDevice,
  19708. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  19709. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  19710. /* [in] */ REFERENCE_TIME rtStart,
  19711. /* [in] */ REFERENCE_TIME rtEnd,
  19712. /* [in] */ DWORD dwClrBkGnd,
  19713. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  19714. /* [in] */ UINT cStreams);
  19715. void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
  19716. IRpcStubBuffer *This,
  19717. IRpcChannelBuffer *_pRpcChannelBuffer,
  19718. PRPC_MESSAGE _pRpcMessage,
  19719. DWORD *_pdwStubPhase);
  19720. #endif /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
  19721. #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
  19722. #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
  19723. /* interface IVMRVideoStreamControl */
  19724. /* [unique][helpstring][uuid][local][object] */
  19725. EXTERN_C const IID IID_IVMRVideoStreamControl;
  19726. #if defined(__cplusplus) && !defined(CINTERFACE)
  19727. MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
  19728. IVMRVideoStreamControl : public IUnknown
  19729. {
  19730. public:
  19731. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  19732. /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
  19733. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  19734. /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
  19735. virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState(
  19736. /* [in] */ BOOL fActive) = 0;
  19737. virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState(
  19738. /* [out] */ BOOL *lpfActive) = 0;
  19739. };
  19740. #else /* C style interface */
  19741. typedef struct IVMRVideoStreamControlVtbl
  19742. {
  19743. BEGIN_INTERFACE
  19744. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19745. IVMRVideoStreamControl * This,
  19746. /* [in] */ REFIID riid,
  19747. /* [iid_is][out] */ void **ppvObject);
  19748. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19749. IVMRVideoStreamControl * This);
  19750. ULONG ( STDMETHODCALLTYPE *Release )(
  19751. IVMRVideoStreamControl * This);
  19752. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  19753. IVMRVideoStreamControl * This,
  19754. /* [in] */ LPDDCOLORKEY lpClrKey);
  19755. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  19756. IVMRVideoStreamControl * This,
  19757. /* [out] */ LPDDCOLORKEY lpClrKey);
  19758. HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )(
  19759. IVMRVideoStreamControl * This,
  19760. /* [in] */ BOOL fActive);
  19761. HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )(
  19762. IVMRVideoStreamControl * This,
  19763. /* [out] */ BOOL *lpfActive);
  19764. END_INTERFACE
  19765. } IVMRVideoStreamControlVtbl;
  19766. interface IVMRVideoStreamControl
  19767. {
  19768. CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
  19769. };
  19770. #ifdef COBJMACROS
  19771. #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) \
  19772. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19773. #define IVMRVideoStreamControl_AddRef(This) \
  19774. (This)->lpVtbl -> AddRef(This)
  19775. #define IVMRVideoStreamControl_Release(This) \
  19776. (This)->lpVtbl -> Release(This)
  19777. #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) \
  19778. (This)->lpVtbl -> SetColorKey(This,lpClrKey)
  19779. #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) \
  19780. (This)->lpVtbl -> GetColorKey(This,lpClrKey)
  19781. #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) \
  19782. (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  19783. #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) \
  19784. (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  19785. #endif /* COBJMACROS */
  19786. #endif /* C style interface */
  19787. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy(
  19788. IVMRVideoStreamControl * This,
  19789. /* [in] */ LPDDCOLORKEY lpClrKey);
  19790. void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
  19791. IRpcStubBuffer *This,
  19792. IRpcChannelBuffer *_pRpcChannelBuffer,
  19793. PRPC_MESSAGE _pRpcMessage,
  19794. DWORD *_pdwStubPhase);
  19795. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy(
  19796. IVMRVideoStreamControl * This,
  19797. /* [out] */ LPDDCOLORKEY lpClrKey);
  19798. void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
  19799. IRpcStubBuffer *This,
  19800. IRpcChannelBuffer *_pRpcChannelBuffer,
  19801. PRPC_MESSAGE _pRpcMessage,
  19802. DWORD *_pdwStubPhase);
  19803. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy(
  19804. IVMRVideoStreamControl * This,
  19805. /* [in] */ BOOL fActive);
  19806. void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
  19807. IRpcStubBuffer *This,
  19808. IRpcChannelBuffer *_pRpcChannelBuffer,
  19809. PRPC_MESSAGE _pRpcMessage,
  19810. DWORD *_pdwStubPhase);
  19811. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy(
  19812. IVMRVideoStreamControl * This,
  19813. /* [out] */ BOOL *lpfActive);
  19814. void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
  19815. IRpcStubBuffer *This,
  19816. IRpcChannelBuffer *_pRpcChannelBuffer,
  19817. PRPC_MESSAGE _pRpcMessage,
  19818. DWORD *_pdwStubPhase);
  19819. #endif /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
  19820. #ifndef __IVMRSurface_INTERFACE_DEFINED__
  19821. #define __IVMRSurface_INTERFACE_DEFINED__
  19822. /* interface IVMRSurface */
  19823. /* [unique][helpstring][uuid][local][object][local] */
  19824. EXTERN_C const IID IID_IVMRSurface;
  19825. #if defined(__cplusplus) && !defined(CINTERFACE)
  19826. MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
  19827. IVMRSurface : public IUnknown
  19828. {
  19829. public:
  19830. virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  19831. virtual HRESULT STDMETHODCALLTYPE LockSurface(
  19832. /* [out] */ BYTE **lpSurface) = 0;
  19833. virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  19834. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  19835. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  19836. };
  19837. #else /* C style interface */
  19838. typedef struct IVMRSurfaceVtbl
  19839. {
  19840. BEGIN_INTERFACE
  19841. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19842. IVMRSurface * This,
  19843. /* [in] */ REFIID riid,
  19844. /* [iid_is][out] */ void **ppvObject);
  19845. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19846. IVMRSurface * This);
  19847. ULONG ( STDMETHODCALLTYPE *Release )(
  19848. IVMRSurface * This);
  19849. HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )(
  19850. IVMRSurface * This);
  19851. HRESULT ( STDMETHODCALLTYPE *LockSurface )(
  19852. IVMRSurface * This,
  19853. /* [out] */ BYTE **lpSurface);
  19854. HRESULT ( STDMETHODCALLTYPE *UnlockSurface )(
  19855. IVMRSurface * This);
  19856. HRESULT ( STDMETHODCALLTYPE *GetSurface )(
  19857. IVMRSurface * This,
  19858. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  19859. END_INTERFACE
  19860. } IVMRSurfaceVtbl;
  19861. interface IVMRSurface
  19862. {
  19863. CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
  19864. };
  19865. #ifdef COBJMACROS
  19866. #define IVMRSurface_QueryInterface(This,riid,ppvObject) \
  19867. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19868. #define IVMRSurface_AddRef(This) \
  19869. (This)->lpVtbl -> AddRef(This)
  19870. #define IVMRSurface_Release(This) \
  19871. (This)->lpVtbl -> Release(This)
  19872. #define IVMRSurface_IsSurfaceLocked(This) \
  19873. (This)->lpVtbl -> IsSurfaceLocked(This)
  19874. #define IVMRSurface_LockSurface(This,lpSurface) \
  19875. (This)->lpVtbl -> LockSurface(This,lpSurface)
  19876. #define IVMRSurface_UnlockSurface(This) \
  19877. (This)->lpVtbl -> UnlockSurface(This)
  19878. #define IVMRSurface_GetSurface(This,lplpSurface) \
  19879. (This)->lpVtbl -> GetSurface(This,lplpSurface)
  19880. #endif /* COBJMACROS */
  19881. #endif /* C style interface */
  19882. HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy(
  19883. IVMRSurface * This);
  19884. void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
  19885. IRpcStubBuffer *This,
  19886. IRpcChannelBuffer *_pRpcChannelBuffer,
  19887. PRPC_MESSAGE _pRpcMessage,
  19888. DWORD *_pdwStubPhase);
  19889. HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy(
  19890. IVMRSurface * This,
  19891. /* [out] */ BYTE **lpSurface);
  19892. void __RPC_STUB IVMRSurface_LockSurface_Stub(
  19893. IRpcStubBuffer *This,
  19894. IRpcChannelBuffer *_pRpcChannelBuffer,
  19895. PRPC_MESSAGE _pRpcMessage,
  19896. DWORD *_pdwStubPhase);
  19897. HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy(
  19898. IVMRSurface * This);
  19899. void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
  19900. IRpcStubBuffer *This,
  19901. IRpcChannelBuffer *_pRpcChannelBuffer,
  19902. PRPC_MESSAGE _pRpcMessage,
  19903. DWORD *_pdwStubPhase);
  19904. HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy(
  19905. IVMRSurface * This,
  19906. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  19907. void __RPC_STUB IVMRSurface_GetSurface_Stub(
  19908. IRpcStubBuffer *This,
  19909. IRpcChannelBuffer *_pRpcChannelBuffer,
  19910. PRPC_MESSAGE _pRpcMessage,
  19911. DWORD *_pdwStubPhase);
  19912. #endif /* __IVMRSurface_INTERFACE_DEFINED__ */
  19913. #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  19914. #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  19915. /* interface IVMRImagePresenterConfig */
  19916. /* [unique][helpstring][uuid][local][object][local] */
  19917. EXTERN_C const IID IID_IVMRImagePresenterConfig;
  19918. #if defined(__cplusplus) && !defined(CINTERFACE)
  19919. MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
  19920. IVMRImagePresenterConfig : public IUnknown
  19921. {
  19922. public:
  19923. virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
  19924. /* [in] */ DWORD dwRenderFlags) = 0;
  19925. virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
  19926. /* [out] */ DWORD *dwRenderFlags) = 0;
  19927. };
  19928. #else /* C style interface */
  19929. typedef struct IVMRImagePresenterConfigVtbl
  19930. {
  19931. BEGIN_INTERFACE
  19932. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19933. IVMRImagePresenterConfig * This,
  19934. /* [in] */ REFIID riid,
  19935. /* [iid_is][out] */ void **ppvObject);
  19936. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19937. IVMRImagePresenterConfig * This);
  19938. ULONG ( STDMETHODCALLTYPE *Release )(
  19939. IVMRImagePresenterConfig * This);
  19940. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  19941. IVMRImagePresenterConfig * This,
  19942. /* [in] */ DWORD dwRenderFlags);
  19943. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  19944. IVMRImagePresenterConfig * This,
  19945. /* [out] */ DWORD *dwRenderFlags);
  19946. END_INTERFACE
  19947. } IVMRImagePresenterConfigVtbl;
  19948. interface IVMRImagePresenterConfig
  19949. {
  19950. CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
  19951. };
  19952. #ifdef COBJMACROS
  19953. #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) \
  19954. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19955. #define IVMRImagePresenterConfig_AddRef(This) \
  19956. (This)->lpVtbl -> AddRef(This)
  19957. #define IVMRImagePresenterConfig_Release(This) \
  19958. (This)->lpVtbl -> Release(This)
  19959. #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) \
  19960. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  19961. #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) \
  19962. (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  19963. #endif /* COBJMACROS */
  19964. #endif /* C style interface */
  19965. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(
  19966. IVMRImagePresenterConfig * This,
  19967. /* [in] */ DWORD dwRenderFlags);
  19968. void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
  19969. IRpcStubBuffer *This,
  19970. IRpcChannelBuffer *_pRpcChannelBuffer,
  19971. PRPC_MESSAGE _pRpcMessage,
  19972. DWORD *_pdwStubPhase);
  19973. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(
  19974. IVMRImagePresenterConfig * This,
  19975. /* [out] */ DWORD *dwRenderFlags);
  19976. void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
  19977. IRpcStubBuffer *This,
  19978. IRpcChannelBuffer *_pRpcChannelBuffer,
  19979. PRPC_MESSAGE _pRpcMessage,
  19980. DWORD *_pdwStubPhase);
  19981. #endif /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
  19982. #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  19983. #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  19984. /* interface IVMRImagePresenterExclModeConfig */
  19985. /* [unique][helpstring][uuid][local][object][local] */
  19986. EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
  19987. #if defined(__cplusplus) && !defined(CINTERFACE)
  19988. MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
  19989. IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
  19990. {
  19991. public:
  19992. virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface(
  19993. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  19994. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
  19995. virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface(
  19996. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  19997. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
  19998. };
  19999. #else /* C style interface */
  20000. typedef struct IVMRImagePresenterExclModeConfigVtbl
  20001. {
  20002. BEGIN_INTERFACE
  20003. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20004. IVMRImagePresenterExclModeConfig * This,
  20005. /* [in] */ REFIID riid,
  20006. /* [iid_is][out] */ void **ppvObject);
  20007. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20008. IVMRImagePresenterExclModeConfig * This);
  20009. ULONG ( STDMETHODCALLTYPE *Release )(
  20010. IVMRImagePresenterExclModeConfig * This);
  20011. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  20012. IVMRImagePresenterExclModeConfig * This,
  20013. /* [in] */ DWORD dwRenderFlags);
  20014. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  20015. IVMRImagePresenterExclModeConfig * This,
  20016. /* [out] */ DWORD *dwRenderFlags);
  20017. HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )(
  20018. IVMRImagePresenterExclModeConfig * This,
  20019. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  20020. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  20021. HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )(
  20022. IVMRImagePresenterExclModeConfig * This,
  20023. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  20024. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  20025. END_INTERFACE
  20026. } IVMRImagePresenterExclModeConfigVtbl;
  20027. interface IVMRImagePresenterExclModeConfig
  20028. {
  20029. CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
  20030. };
  20031. #ifdef COBJMACROS
  20032. #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) \
  20033. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20034. #define IVMRImagePresenterExclModeConfig_AddRef(This) \
  20035. (This)->lpVtbl -> AddRef(This)
  20036. #define IVMRImagePresenterExclModeConfig_Release(This) \
  20037. (This)->lpVtbl -> Release(This)
  20038. #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) \
  20039. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  20040. #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) \
  20041. (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  20042. #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) \
  20043. (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  20044. #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) \
  20045. (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  20046. #endif /* COBJMACROS */
  20047. #endif /* C style interface */
  20048. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(
  20049. IVMRImagePresenterExclModeConfig * This,
  20050. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  20051. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  20052. void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
  20053. IRpcStubBuffer *This,
  20054. IRpcChannelBuffer *_pRpcChannelBuffer,
  20055. PRPC_MESSAGE _pRpcMessage,
  20056. DWORD *_pdwStubPhase);
  20057. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(
  20058. IVMRImagePresenterExclModeConfig * This,
  20059. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  20060. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  20061. void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
  20062. IRpcStubBuffer *This,
  20063. IRpcChannelBuffer *_pRpcChannelBuffer,
  20064. PRPC_MESSAGE _pRpcMessage,
  20065. DWORD *_pdwStubPhase);
  20066. #endif /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
  20067. #ifndef __IVPManager_INTERFACE_DEFINED__
  20068. #define __IVPManager_INTERFACE_DEFINED__
  20069. /* interface IVPManager */
  20070. /* [unique][helpstring][uuid][local][object][local] */
  20071. EXTERN_C const IID IID_IVPManager;
  20072. #if defined(__cplusplus) && !defined(CINTERFACE)
  20073. MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
  20074. IVPManager : public IUnknown
  20075. {
  20076. public:
  20077. virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex(
  20078. /* [in] */ DWORD dwVideoPortIndex) = 0;
  20079. virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex(
  20080. /* [out] */ DWORD *pdwVideoPortIndex) = 0;
  20081. };
  20082. #else /* C style interface */
  20083. typedef struct IVPManagerVtbl
  20084. {
  20085. BEGIN_INTERFACE
  20086. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20087. IVPManager * This,
  20088. /* [in] */ REFIID riid,
  20089. /* [iid_is][out] */ void **ppvObject);
  20090. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20091. IVPManager * This);
  20092. ULONG ( STDMETHODCALLTYPE *Release )(
  20093. IVPManager * This);
  20094. HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )(
  20095. IVPManager * This,
  20096. /* [in] */ DWORD dwVideoPortIndex);
  20097. HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )(
  20098. IVPManager * This,
  20099. /* [out] */ DWORD *pdwVideoPortIndex);
  20100. END_INTERFACE
  20101. } IVPManagerVtbl;
  20102. interface IVPManager
  20103. {
  20104. CONST_VTBL struct IVPManagerVtbl *lpVtbl;
  20105. };
  20106. #ifdef COBJMACROS
  20107. #define IVPManager_QueryInterface(This,riid,ppvObject) \
  20108. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20109. #define IVPManager_AddRef(This) \
  20110. (This)->lpVtbl -> AddRef(This)
  20111. #define IVPManager_Release(This) \
  20112. (This)->lpVtbl -> Release(This)
  20113. #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) \
  20114. (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)
  20115. #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) \
  20116. (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)
  20117. #endif /* COBJMACROS */
  20118. #endif /* C style interface */
  20119. HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy(
  20120. IVPManager * This,
  20121. /* [in] */ DWORD dwVideoPortIndex);
  20122. void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
  20123. IRpcStubBuffer *This,
  20124. IRpcChannelBuffer *_pRpcChannelBuffer,
  20125. PRPC_MESSAGE _pRpcMessage,
  20126. DWORD *_pdwStubPhase);
  20127. HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy(
  20128. IVPManager * This,
  20129. /* [out] */ DWORD *pdwVideoPortIndex);
  20130. void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
  20131. IRpcStubBuffer *This,
  20132. IRpcChannelBuffer *_pRpcChannelBuffer,
  20133. PRPC_MESSAGE _pRpcMessage,
  20134. DWORD *_pdwStubPhase);
  20135. #endif /* __IVPManager_INTERFACE_DEFINED__ */
  20136. /* Additional Prototypes for ALL interfaces */
  20137. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  20138. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  20139. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  20140. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  20141. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy(
  20142. ICaptureGraphBuilder * This,
  20143. /* [unique][in] */ const GUID *pCategory,
  20144. /* [in] */ IBaseFilter *pf,
  20145. /* [in] */ REFIID riid,
  20146. /* [out] */ void **ppint);
  20147. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub(
  20148. ICaptureGraphBuilder * This,
  20149. /* [unique][in] */ const GUID *pCategory,
  20150. /* [in] */ IBaseFilter *pf,
  20151. /* [in] */ REFIID riid,
  20152. /* [out] */ IUnknown **ppint);
  20153. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy(
  20154. ICaptureGraphBuilder2 * This,
  20155. /* [in] */ const GUID *pCategory,
  20156. /* [in] */ const GUID *pType,
  20157. /* [in] */ IBaseFilter *pf,
  20158. /* [in] */ REFIID riid,
  20159. /* [out] */ void **ppint);
  20160. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub(
  20161. ICaptureGraphBuilder2 * This,
  20162. /* [in] */ const GUID *pCategory,
  20163. /* [in] */ const GUID *pType,
  20164. /* [in] */ IBaseFilter *pf,
  20165. /* [in] */ REFIID riid,
  20166. /* [out] */ IUnknown **ppint);
  20167. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(
  20168. IKsPropertySet * This,
  20169. /* [in] */ REFGUID guidPropSet,
  20170. /* [in] */ DWORD dwPropID,
  20171. /* [size_is][in] */ LPVOID pInstanceData,
  20172. /* [in] */ DWORD cbInstanceData,
  20173. /* [size_is][in] */ LPVOID pPropData,
  20174. /* [in] */ DWORD cbPropData);
  20175. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub(
  20176. IKsPropertySet * This,
  20177. /* [in] */ REFGUID guidPropSet,
  20178. /* [in] */ DWORD dwPropID,
  20179. /* [size_is][in] */ byte *pInstanceData,
  20180. /* [in] */ DWORD cbInstanceData,
  20181. /* [size_is][in] */ byte *pPropData,
  20182. /* [in] */ DWORD cbPropData);
  20183. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(
  20184. IKsPropertySet * This,
  20185. /* [in] */ REFGUID guidPropSet,
  20186. /* [in] */ DWORD dwPropID,
  20187. /* [size_is][in] */ LPVOID pInstanceData,
  20188. /* [in] */ DWORD cbInstanceData,
  20189. /* [size_is][out] */ LPVOID pPropData,
  20190. /* [in] */ DWORD cbPropData,
  20191. /* [out] */ DWORD *pcbReturned);
  20192. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub(
  20193. IKsPropertySet * This,
  20194. /* [in] */ REFGUID guidPropSet,
  20195. /* [in] */ DWORD dwPropID,
  20196. /* [size_is][in] */ byte *pInstanceData,
  20197. /* [in] */ DWORD cbInstanceData,
  20198. /* [size_is][out] */ byte *pPropData,
  20199. /* [in] */ DWORD cbPropData,
  20200. /* [out] */ DWORD *pcbReturned);
  20201. /* end of Additional Prototypes */
  20202. #ifdef __cplusplus
  20203. }
  20204. #endif
  20205. #endif