Counter Strike : Global Offensive Source Code
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.

30962 lines
865 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for strmif.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __strmif_h__
  27. #define __strmif_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ICreateDevEnum_FWD_DEFINED__
  33. #define __ICreateDevEnum_FWD_DEFINED__
  34. typedef interface ICreateDevEnum ICreateDevEnum;
  35. #endif /* __ICreateDevEnum_FWD_DEFINED__ */
  36. #ifndef __IPin_FWD_DEFINED__
  37. #define __IPin_FWD_DEFINED__
  38. typedef interface IPin IPin;
  39. #endif /* __IPin_FWD_DEFINED__ */
  40. #ifndef __IEnumPins_FWD_DEFINED__
  41. #define __IEnumPins_FWD_DEFINED__
  42. typedef interface IEnumPins IEnumPins;
  43. #endif /* __IEnumPins_FWD_DEFINED__ */
  44. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  45. #define __IEnumMediaTypes_FWD_DEFINED__
  46. typedef interface IEnumMediaTypes IEnumMediaTypes;
  47. #endif /* __IEnumMediaTypes_FWD_DEFINED__ */
  48. #ifndef __IFilterGraph_FWD_DEFINED__
  49. #define __IFilterGraph_FWD_DEFINED__
  50. typedef interface IFilterGraph IFilterGraph;
  51. #endif /* __IFilterGraph_FWD_DEFINED__ */
  52. #ifndef __IEnumFilters_FWD_DEFINED__
  53. #define __IEnumFilters_FWD_DEFINED__
  54. typedef interface IEnumFilters IEnumFilters;
  55. #endif /* __IEnumFilters_FWD_DEFINED__ */
  56. #ifndef __IMediaFilter_FWD_DEFINED__
  57. #define __IMediaFilter_FWD_DEFINED__
  58. typedef interface IMediaFilter IMediaFilter;
  59. #endif /* __IMediaFilter_FWD_DEFINED__ */
  60. #ifndef __IBaseFilter_FWD_DEFINED__
  61. #define __IBaseFilter_FWD_DEFINED__
  62. typedef interface IBaseFilter IBaseFilter;
  63. #endif /* __IBaseFilter_FWD_DEFINED__ */
  64. #ifndef __IReferenceClock_FWD_DEFINED__
  65. #define __IReferenceClock_FWD_DEFINED__
  66. typedef interface IReferenceClock IReferenceClock;
  67. #endif /* __IReferenceClock_FWD_DEFINED__ */
  68. #ifndef __IReferenceClock2_FWD_DEFINED__
  69. #define __IReferenceClock2_FWD_DEFINED__
  70. typedef interface IReferenceClock2 IReferenceClock2;
  71. #endif /* __IReferenceClock2_FWD_DEFINED__ */
  72. #ifndef __IMediaSample_FWD_DEFINED__
  73. #define __IMediaSample_FWD_DEFINED__
  74. typedef interface IMediaSample IMediaSample;
  75. #endif /* __IMediaSample_FWD_DEFINED__ */
  76. #ifndef __IMediaSample2_FWD_DEFINED__
  77. #define __IMediaSample2_FWD_DEFINED__
  78. typedef interface IMediaSample2 IMediaSample2;
  79. #endif /* __IMediaSample2_FWD_DEFINED__ */
  80. #ifndef __IMemAllocator_FWD_DEFINED__
  81. #define __IMemAllocator_FWD_DEFINED__
  82. typedef interface IMemAllocator IMemAllocator;
  83. #endif /* __IMemAllocator_FWD_DEFINED__ */
  84. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  85. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  86. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  87. #endif /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  88. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  89. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  90. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  91. #endif /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  92. #ifndef __IMemInputPin_FWD_DEFINED__
  93. #define __IMemInputPin_FWD_DEFINED__
  94. typedef interface IMemInputPin IMemInputPin;
  95. #endif /* __IMemInputPin_FWD_DEFINED__ */
  96. #ifndef __IAMovieSetup_FWD_DEFINED__
  97. #define __IAMovieSetup_FWD_DEFINED__
  98. typedef interface IAMovieSetup IAMovieSetup;
  99. #endif /* __IAMovieSetup_FWD_DEFINED__ */
  100. #ifndef __IMediaSeeking_FWD_DEFINED__
  101. #define __IMediaSeeking_FWD_DEFINED__
  102. typedef interface IMediaSeeking IMediaSeeking;
  103. #endif /* __IMediaSeeking_FWD_DEFINED__ */
  104. #ifndef __IEnumRegFilters_FWD_DEFINED__
  105. #define __IEnumRegFilters_FWD_DEFINED__
  106. typedef interface IEnumRegFilters IEnumRegFilters;
  107. #endif /* __IEnumRegFilters_FWD_DEFINED__ */
  108. #ifndef __IFilterMapper_FWD_DEFINED__
  109. #define __IFilterMapper_FWD_DEFINED__
  110. typedef interface IFilterMapper IFilterMapper;
  111. #endif /* __IFilterMapper_FWD_DEFINED__ */
  112. #ifndef __IFilterMapper2_FWD_DEFINED__
  113. #define __IFilterMapper2_FWD_DEFINED__
  114. typedef interface IFilterMapper2 IFilterMapper2;
  115. #endif /* __IFilterMapper2_FWD_DEFINED__ */
  116. #ifndef __IFilterMapper3_FWD_DEFINED__
  117. #define __IFilterMapper3_FWD_DEFINED__
  118. typedef interface IFilterMapper3 IFilterMapper3;
  119. #endif /* __IFilterMapper3_FWD_DEFINED__ */
  120. #ifndef __IQualityControl_FWD_DEFINED__
  121. #define __IQualityControl_FWD_DEFINED__
  122. typedef interface IQualityControl IQualityControl;
  123. #endif /* __IQualityControl_FWD_DEFINED__ */
  124. #ifndef __IOverlayNotify_FWD_DEFINED__
  125. #define __IOverlayNotify_FWD_DEFINED__
  126. typedef interface IOverlayNotify IOverlayNotify;
  127. #endif /* __IOverlayNotify_FWD_DEFINED__ */
  128. #ifndef __IOverlayNotify2_FWD_DEFINED__
  129. #define __IOverlayNotify2_FWD_DEFINED__
  130. typedef interface IOverlayNotify2 IOverlayNotify2;
  131. #endif /* __IOverlayNotify2_FWD_DEFINED__ */
  132. #ifndef __IOverlay_FWD_DEFINED__
  133. #define __IOverlay_FWD_DEFINED__
  134. typedef interface IOverlay IOverlay;
  135. #endif /* __IOverlay_FWD_DEFINED__ */
  136. #ifndef __IMediaEventSink_FWD_DEFINED__
  137. #define __IMediaEventSink_FWD_DEFINED__
  138. typedef interface IMediaEventSink IMediaEventSink;
  139. #endif /* __IMediaEventSink_FWD_DEFINED__ */
  140. #ifndef __IFileSourceFilter_FWD_DEFINED__
  141. #define __IFileSourceFilter_FWD_DEFINED__
  142. typedef interface IFileSourceFilter IFileSourceFilter;
  143. #endif /* __IFileSourceFilter_FWD_DEFINED__ */
  144. #ifndef __IFileSinkFilter_FWD_DEFINED__
  145. #define __IFileSinkFilter_FWD_DEFINED__
  146. typedef interface IFileSinkFilter IFileSinkFilter;
  147. #endif /* __IFileSinkFilter_FWD_DEFINED__ */
  148. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  149. #define __IFileSinkFilter2_FWD_DEFINED__
  150. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  151. #endif /* __IFileSinkFilter2_FWD_DEFINED__ */
  152. #ifndef __IGraphBuilder_FWD_DEFINED__
  153. #define __IGraphBuilder_FWD_DEFINED__
  154. typedef interface IGraphBuilder IGraphBuilder;
  155. #endif /* __IGraphBuilder_FWD_DEFINED__ */
  156. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  157. #define __ICaptureGraphBuilder_FWD_DEFINED__
  158. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  159. #endif /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  160. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  161. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  162. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  163. #endif /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  164. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  165. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  166. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  167. #endif /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  168. #ifndef __IFilterGraph2_FWD_DEFINED__
  169. #define __IFilterGraph2_FWD_DEFINED__
  170. typedef interface IFilterGraph2 IFilterGraph2;
  171. #endif /* __IFilterGraph2_FWD_DEFINED__ */
  172. #ifndef __IStreamBuilder_FWD_DEFINED__
  173. #define __IStreamBuilder_FWD_DEFINED__
  174. typedef interface IStreamBuilder IStreamBuilder;
  175. #endif /* __IStreamBuilder_FWD_DEFINED__ */
  176. #ifndef __IAsyncReader_FWD_DEFINED__
  177. #define __IAsyncReader_FWD_DEFINED__
  178. typedef interface IAsyncReader IAsyncReader;
  179. #endif /* __IAsyncReader_FWD_DEFINED__ */
  180. #ifndef __IGraphVersion_FWD_DEFINED__
  181. #define __IGraphVersion_FWD_DEFINED__
  182. typedef interface IGraphVersion IGraphVersion;
  183. #endif /* __IGraphVersion_FWD_DEFINED__ */
  184. #ifndef __IResourceConsumer_FWD_DEFINED__
  185. #define __IResourceConsumer_FWD_DEFINED__
  186. typedef interface IResourceConsumer IResourceConsumer;
  187. #endif /* __IResourceConsumer_FWD_DEFINED__ */
  188. #ifndef __IResourceManager_FWD_DEFINED__
  189. #define __IResourceManager_FWD_DEFINED__
  190. typedef interface IResourceManager IResourceManager;
  191. #endif /* __IResourceManager_FWD_DEFINED__ */
  192. #ifndef __IDistributorNotify_FWD_DEFINED__
  193. #define __IDistributorNotify_FWD_DEFINED__
  194. typedef interface IDistributorNotify IDistributorNotify;
  195. #endif /* __IDistributorNotify_FWD_DEFINED__ */
  196. #ifndef __IAMStreamControl_FWD_DEFINED__
  197. #define __IAMStreamControl_FWD_DEFINED__
  198. typedef interface IAMStreamControl IAMStreamControl;
  199. #endif /* __IAMStreamControl_FWD_DEFINED__ */
  200. #ifndef __ISeekingPassThru_FWD_DEFINED__
  201. #define __ISeekingPassThru_FWD_DEFINED__
  202. typedef interface ISeekingPassThru ISeekingPassThru;
  203. #endif /* __ISeekingPassThru_FWD_DEFINED__ */
  204. #ifndef __IAMStreamConfig_FWD_DEFINED__
  205. #define __IAMStreamConfig_FWD_DEFINED__
  206. typedef interface IAMStreamConfig IAMStreamConfig;
  207. #endif /* __IAMStreamConfig_FWD_DEFINED__ */
  208. #ifndef __IConfigInterleaving_FWD_DEFINED__
  209. #define __IConfigInterleaving_FWD_DEFINED__
  210. typedef interface IConfigInterleaving IConfigInterleaving;
  211. #endif /* __IConfigInterleaving_FWD_DEFINED__ */
  212. #ifndef __IConfigAviMux_FWD_DEFINED__
  213. #define __IConfigAviMux_FWD_DEFINED__
  214. typedef interface IConfigAviMux IConfigAviMux;
  215. #endif /* __IConfigAviMux_FWD_DEFINED__ */
  216. #ifndef __IAMVideoCompression_FWD_DEFINED__
  217. #define __IAMVideoCompression_FWD_DEFINED__
  218. typedef interface IAMVideoCompression IAMVideoCompression;
  219. #endif /* __IAMVideoCompression_FWD_DEFINED__ */
  220. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  221. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  222. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  223. #endif /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  224. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  225. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  226. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  227. #endif /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  228. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  229. #define __IAMDroppedFrames_FWD_DEFINED__
  230. typedef interface IAMDroppedFrames IAMDroppedFrames;
  231. #endif /* __IAMDroppedFrames_FWD_DEFINED__ */
  232. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  233. #define __IAMAudioInputMixer_FWD_DEFINED__
  234. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  235. #endif /* __IAMAudioInputMixer_FWD_DEFINED__ */
  236. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  237. #define __IAMBufferNegotiation_FWD_DEFINED__
  238. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  239. #endif /* __IAMBufferNegotiation_FWD_DEFINED__ */
  240. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  241. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  242. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  243. #endif /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  244. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  245. #define __IAMVideoProcAmp_FWD_DEFINED__
  246. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  247. #endif /* __IAMVideoProcAmp_FWD_DEFINED__ */
  248. #ifndef __IAMCameraControl_FWD_DEFINED__
  249. #define __IAMCameraControl_FWD_DEFINED__
  250. typedef interface IAMCameraControl IAMCameraControl;
  251. #endif /* __IAMCameraControl_FWD_DEFINED__ */
  252. #ifndef __IAMVideoControl_FWD_DEFINED__
  253. #define __IAMVideoControl_FWD_DEFINED__
  254. typedef interface IAMVideoControl IAMVideoControl;
  255. #endif /* __IAMVideoControl_FWD_DEFINED__ */
  256. #ifndef __IAMCrossbar_FWD_DEFINED__
  257. #define __IAMCrossbar_FWD_DEFINED__
  258. typedef interface IAMCrossbar IAMCrossbar;
  259. #endif /* __IAMCrossbar_FWD_DEFINED__ */
  260. #ifndef __IAMTuner_FWD_DEFINED__
  261. #define __IAMTuner_FWD_DEFINED__
  262. typedef interface IAMTuner IAMTuner;
  263. #endif /* __IAMTuner_FWD_DEFINED__ */
  264. #ifndef __IAMTunerNotification_FWD_DEFINED__
  265. #define __IAMTunerNotification_FWD_DEFINED__
  266. typedef interface IAMTunerNotification IAMTunerNotification;
  267. #endif /* __IAMTunerNotification_FWD_DEFINED__ */
  268. #ifndef __IAMTVTuner_FWD_DEFINED__
  269. #define __IAMTVTuner_FWD_DEFINED__
  270. typedef interface IAMTVTuner IAMTVTuner;
  271. #endif /* __IAMTVTuner_FWD_DEFINED__ */
  272. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  273. #define __IBPCSatelliteTuner_FWD_DEFINED__
  274. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  275. #endif /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  276. #ifndef __IAMTVAudio_FWD_DEFINED__
  277. #define __IAMTVAudio_FWD_DEFINED__
  278. typedef interface IAMTVAudio IAMTVAudio;
  279. #endif /* __IAMTVAudio_FWD_DEFINED__ */
  280. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  281. #define __IAMTVAudioNotification_FWD_DEFINED__
  282. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  283. #endif /* __IAMTVAudioNotification_FWD_DEFINED__ */
  284. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  285. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  286. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  287. #endif /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  288. #ifndef __IKsPropertySet_FWD_DEFINED__
  289. #define __IKsPropertySet_FWD_DEFINED__
  290. typedef interface IKsPropertySet IKsPropertySet;
  291. #endif /* __IKsPropertySet_FWD_DEFINED__ */
  292. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  293. #define __IMediaPropertyBag_FWD_DEFINED__
  294. typedef interface IMediaPropertyBag IMediaPropertyBag;
  295. #endif /* __IMediaPropertyBag_FWD_DEFINED__ */
  296. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  297. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  298. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  299. #endif /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  300. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  301. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  302. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  303. #endif /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  304. #ifndef __IAMExtDevice_FWD_DEFINED__
  305. #define __IAMExtDevice_FWD_DEFINED__
  306. typedef interface IAMExtDevice IAMExtDevice;
  307. #endif /* __IAMExtDevice_FWD_DEFINED__ */
  308. #ifndef __IAMExtTransport_FWD_DEFINED__
  309. #define __IAMExtTransport_FWD_DEFINED__
  310. typedef interface IAMExtTransport IAMExtTransport;
  311. #endif /* __IAMExtTransport_FWD_DEFINED__ */
  312. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  313. #define __IAMTimecodeReader_FWD_DEFINED__
  314. typedef interface IAMTimecodeReader IAMTimecodeReader;
  315. #endif /* __IAMTimecodeReader_FWD_DEFINED__ */
  316. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  317. #define __IAMTimecodeGenerator_FWD_DEFINED__
  318. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  319. #endif /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  320. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  321. #define __IAMTimecodeDisplay_FWD_DEFINED__
  322. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  323. #endif /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  324. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  325. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  326. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  327. #endif /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  328. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  329. #define __IAMDevMemoryControl_FWD_DEFINED__
  330. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  331. #endif /* __IAMDevMemoryControl_FWD_DEFINED__ */
  332. #ifndef __IAMStreamSelect_FWD_DEFINED__
  333. #define __IAMStreamSelect_FWD_DEFINED__
  334. typedef interface IAMStreamSelect IAMStreamSelect;
  335. #endif /* __IAMStreamSelect_FWD_DEFINED__ */
  336. #ifndef __IAMResourceControl_FWD_DEFINED__
  337. #define __IAMResourceControl_FWD_DEFINED__
  338. typedef interface IAMResourceControl IAMResourceControl;
  339. #endif /* __IAMResourceControl_FWD_DEFINED__ */
  340. #ifndef __IAMClockAdjust_FWD_DEFINED__
  341. #define __IAMClockAdjust_FWD_DEFINED__
  342. typedef interface IAMClockAdjust IAMClockAdjust;
  343. #endif /* __IAMClockAdjust_FWD_DEFINED__ */
  344. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  345. #define __IAMFilterMiscFlags_FWD_DEFINED__
  346. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  347. #endif /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  348. #ifndef __IDrawVideoImage_FWD_DEFINED__
  349. #define __IDrawVideoImage_FWD_DEFINED__
  350. typedef interface IDrawVideoImage IDrawVideoImage;
  351. #endif /* __IDrawVideoImage_FWD_DEFINED__ */
  352. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  353. #define __IDecimateVideoImage_FWD_DEFINED__
  354. typedef interface IDecimateVideoImage IDecimateVideoImage;
  355. #endif /* __IDecimateVideoImage_FWD_DEFINED__ */
  356. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  357. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  358. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  359. #endif /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  360. #ifndef __IVideoFrameStep_FWD_DEFINED__
  361. #define __IVideoFrameStep_FWD_DEFINED__
  362. typedef interface IVideoFrameStep IVideoFrameStep;
  363. #endif /* __IVideoFrameStep_FWD_DEFINED__ */
  364. #ifndef __IAMLatency_FWD_DEFINED__
  365. #define __IAMLatency_FWD_DEFINED__
  366. typedef interface IAMLatency IAMLatency;
  367. #endif /* __IAMLatency_FWD_DEFINED__ */
  368. #ifndef __IAMPushSource_FWD_DEFINED__
  369. #define __IAMPushSource_FWD_DEFINED__
  370. typedef interface IAMPushSource IAMPushSource;
  371. #endif /* __IAMPushSource_FWD_DEFINED__ */
  372. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  373. #define __IAMDeviceRemoval_FWD_DEFINED__
  374. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  375. #endif /* __IAMDeviceRemoval_FWD_DEFINED__ */
  376. #ifndef __IDVEnc_FWD_DEFINED__
  377. #define __IDVEnc_FWD_DEFINED__
  378. typedef interface IDVEnc IDVEnc;
  379. #endif /* __IDVEnc_FWD_DEFINED__ */
  380. #ifndef __IIPDVDec_FWD_DEFINED__
  381. #define __IIPDVDec_FWD_DEFINED__
  382. typedef interface IIPDVDec IIPDVDec;
  383. #endif /* __IIPDVDec_FWD_DEFINED__ */
  384. #ifndef __IDVRGB219_FWD_DEFINED__
  385. #define __IDVRGB219_FWD_DEFINED__
  386. typedef interface IDVRGB219 IDVRGB219;
  387. #endif /* __IDVRGB219_FWD_DEFINED__ */
  388. #ifndef __IDVSplitter_FWD_DEFINED__
  389. #define __IDVSplitter_FWD_DEFINED__
  390. typedef interface IDVSplitter IDVSplitter;
  391. #endif /* __IDVSplitter_FWD_DEFINED__ */
  392. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  393. #define __IAMAudioRendererStats_FWD_DEFINED__
  394. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  395. #endif /* __IAMAudioRendererStats_FWD_DEFINED__ */
  396. #ifndef __IAMGraphStreams_FWD_DEFINED__
  397. #define __IAMGraphStreams_FWD_DEFINED__
  398. typedef interface IAMGraphStreams IAMGraphStreams;
  399. #endif /* __IAMGraphStreams_FWD_DEFINED__ */
  400. #ifndef __IAMOverlayFX_FWD_DEFINED__
  401. #define __IAMOverlayFX_FWD_DEFINED__
  402. typedef interface IAMOverlayFX IAMOverlayFX;
  403. #endif /* __IAMOverlayFX_FWD_DEFINED__ */
  404. #ifndef __IAMOpenProgress_FWD_DEFINED__
  405. #define __IAMOpenProgress_FWD_DEFINED__
  406. typedef interface IAMOpenProgress IAMOpenProgress;
  407. #endif /* __IAMOpenProgress_FWD_DEFINED__ */
  408. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  409. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  410. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  411. #endif /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  412. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  413. #define __IEnumStreamIdMap_FWD_DEFINED__
  414. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  415. #endif /* __IEnumStreamIdMap_FWD_DEFINED__ */
  416. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  417. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  418. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  419. #endif /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  420. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  421. #define __IRegisterServiceProvider_FWD_DEFINED__
  422. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  423. #endif /* __IRegisterServiceProvider_FWD_DEFINED__ */
  424. #ifndef __IAMClockSlave_FWD_DEFINED__
  425. #define __IAMClockSlave_FWD_DEFINED__
  426. typedef interface IAMClockSlave IAMClockSlave;
  427. #endif /* __IAMClockSlave_FWD_DEFINED__ */
  428. #ifndef __IAMGraphBuilderCallback_FWD_DEFINED__
  429. #define __IAMGraphBuilderCallback_FWD_DEFINED__
  430. typedef interface IAMGraphBuilderCallback IAMGraphBuilderCallback;
  431. #endif /* __IAMGraphBuilderCallback_FWD_DEFINED__ */
  432. #ifndef __ICodecAPI_FWD_DEFINED__
  433. #define __ICodecAPI_FWD_DEFINED__
  434. typedef interface ICodecAPI ICodecAPI;
  435. #endif /* __ICodecAPI_FWD_DEFINED__ */
  436. #ifndef __IGetCapabilitiesKey_FWD_DEFINED__
  437. #define __IGetCapabilitiesKey_FWD_DEFINED__
  438. typedef interface IGetCapabilitiesKey IGetCapabilitiesKey;
  439. #endif /* __IGetCapabilitiesKey_FWD_DEFINED__ */
  440. #ifndef __IEncoderAPI_FWD_DEFINED__
  441. #define __IEncoderAPI_FWD_DEFINED__
  442. typedef interface IEncoderAPI IEncoderAPI;
  443. #endif /* __IEncoderAPI_FWD_DEFINED__ */
  444. #ifndef __IVideoEncoder_FWD_DEFINED__
  445. #define __IVideoEncoder_FWD_DEFINED__
  446. typedef interface IVideoEncoder IVideoEncoder;
  447. #endif /* __IVideoEncoder_FWD_DEFINED__ */
  448. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  449. #define __IAMDecoderCaps_FWD_DEFINED__
  450. typedef interface IAMDecoderCaps IAMDecoderCaps;
  451. #endif /* __IAMDecoderCaps_FWD_DEFINED__ */
  452. #ifndef __IAMCertifiedOutputProtection_FWD_DEFINED__
  453. #define __IAMCertifiedOutputProtection_FWD_DEFINED__
  454. typedef interface IAMCertifiedOutputProtection IAMCertifiedOutputProtection;
  455. #endif /* __IAMCertifiedOutputProtection_FWD_DEFINED__ */
  456. #ifndef __IDvdControl_FWD_DEFINED__
  457. #define __IDvdControl_FWD_DEFINED__
  458. typedef interface IDvdControl IDvdControl;
  459. #endif /* __IDvdControl_FWD_DEFINED__ */
  460. #ifndef __IDvdInfo_FWD_DEFINED__
  461. #define __IDvdInfo_FWD_DEFINED__
  462. typedef interface IDvdInfo IDvdInfo;
  463. #endif /* __IDvdInfo_FWD_DEFINED__ */
  464. #ifndef __IDvdCmd_FWD_DEFINED__
  465. #define __IDvdCmd_FWD_DEFINED__
  466. typedef interface IDvdCmd IDvdCmd;
  467. #endif /* __IDvdCmd_FWD_DEFINED__ */
  468. #ifndef __IDvdState_FWD_DEFINED__
  469. #define __IDvdState_FWD_DEFINED__
  470. typedef interface IDvdState IDvdState;
  471. #endif /* __IDvdState_FWD_DEFINED__ */
  472. #ifndef __IDvdControl2_FWD_DEFINED__
  473. #define __IDvdControl2_FWD_DEFINED__
  474. typedef interface IDvdControl2 IDvdControl2;
  475. #endif /* __IDvdControl2_FWD_DEFINED__ */
  476. #ifndef __IDvdInfo2_FWD_DEFINED__
  477. #define __IDvdInfo2_FWD_DEFINED__
  478. typedef interface IDvdInfo2 IDvdInfo2;
  479. #endif /* __IDvdInfo2_FWD_DEFINED__ */
  480. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  481. #define __IDvdGraphBuilder_FWD_DEFINED__
  482. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  483. #endif /* __IDvdGraphBuilder_FWD_DEFINED__ */
  484. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  485. #define __IDDrawExclModeVideo_FWD_DEFINED__
  486. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  487. #endif /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  488. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  489. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  490. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  491. #endif /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  492. #ifndef __IPinConnection_FWD_DEFINED__
  493. #define __IPinConnection_FWD_DEFINED__
  494. typedef interface IPinConnection IPinConnection;
  495. #endif /* __IPinConnection_FWD_DEFINED__ */
  496. #ifndef __IPinFlowControl_FWD_DEFINED__
  497. #define __IPinFlowControl_FWD_DEFINED__
  498. typedef interface IPinFlowControl IPinFlowControl;
  499. #endif /* __IPinFlowControl_FWD_DEFINED__ */
  500. #ifndef __IGraphConfig_FWD_DEFINED__
  501. #define __IGraphConfig_FWD_DEFINED__
  502. typedef interface IGraphConfig IGraphConfig;
  503. #endif /* __IGraphConfig_FWD_DEFINED__ */
  504. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  505. #define __IGraphConfigCallback_FWD_DEFINED__
  506. typedef interface IGraphConfigCallback IGraphConfigCallback;
  507. #endif /* __IGraphConfigCallback_FWD_DEFINED__ */
  508. #ifndef __IFilterChain_FWD_DEFINED__
  509. #define __IFilterChain_FWD_DEFINED__
  510. typedef interface IFilterChain IFilterChain;
  511. #endif /* __IFilterChain_FWD_DEFINED__ */
  512. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  513. #define __IVMRImagePresenter_FWD_DEFINED__
  514. typedef interface IVMRImagePresenter IVMRImagePresenter;
  515. #endif /* __IVMRImagePresenter_FWD_DEFINED__ */
  516. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  517. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  518. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  519. #endif /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  520. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  521. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  522. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  523. #endif /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  524. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  525. #define __IVMRWindowlessControl_FWD_DEFINED__
  526. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  527. #endif /* __IVMRWindowlessControl_FWD_DEFINED__ */
  528. #ifndef __IVMRMixerControl_FWD_DEFINED__
  529. #define __IVMRMixerControl_FWD_DEFINED__
  530. typedef interface IVMRMixerControl IVMRMixerControl;
  531. #endif /* __IVMRMixerControl_FWD_DEFINED__ */
  532. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  533. #define __IVMRMonitorConfig_FWD_DEFINED__
  534. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  535. #endif /* __IVMRMonitorConfig_FWD_DEFINED__ */
  536. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  537. #define __IVMRFilterConfig_FWD_DEFINED__
  538. typedef interface IVMRFilterConfig IVMRFilterConfig;
  539. #endif /* __IVMRFilterConfig_FWD_DEFINED__ */
  540. #ifndef __IVMRAspectRatioControl_FWD_DEFINED__
  541. #define __IVMRAspectRatioControl_FWD_DEFINED__
  542. typedef interface IVMRAspectRatioControl IVMRAspectRatioControl;
  543. #endif /* __IVMRAspectRatioControl_FWD_DEFINED__ */
  544. #ifndef __IVMRDeinterlaceControl_FWD_DEFINED__
  545. #define __IVMRDeinterlaceControl_FWD_DEFINED__
  546. typedef interface IVMRDeinterlaceControl IVMRDeinterlaceControl;
  547. #endif /* __IVMRDeinterlaceControl_FWD_DEFINED__ */
  548. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  549. #define __IVMRMixerBitmap_FWD_DEFINED__
  550. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  551. #endif /* __IVMRMixerBitmap_FWD_DEFINED__ */
  552. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  553. #define __IVMRImageCompositor_FWD_DEFINED__
  554. typedef interface IVMRImageCompositor IVMRImageCompositor;
  555. #endif /* __IVMRImageCompositor_FWD_DEFINED__ */
  556. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  557. #define __IVMRVideoStreamControl_FWD_DEFINED__
  558. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  559. #endif /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  560. #ifndef __IVMRSurface_FWD_DEFINED__
  561. #define __IVMRSurface_FWD_DEFINED__
  562. typedef interface IVMRSurface IVMRSurface;
  563. #endif /* __IVMRSurface_FWD_DEFINED__ */
  564. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  565. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  566. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  567. #endif /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  568. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  569. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  570. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  571. #endif /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  572. #ifndef __IVPManager_FWD_DEFINED__
  573. #define __IVPManager_FWD_DEFINED__
  574. typedef interface IVPManager IVPManager;
  575. #endif /* __IVPManager_FWD_DEFINED__ */
  576. /* header files for imported files */
  577. #include "unknwn.h"
  578. #include "objidl.h"
  579. #include "oaidl.h"
  580. #include "ocidl.h"
  581. #ifdef __cplusplus
  582. extern "C"{
  583. #endif
  584. void * __RPC_USER MIDL_user_allocate(size_t);
  585. void __RPC_USER MIDL_user_free( void * );
  586. /* interface __MIDL_itf_strmif_0000 */
  587. /* [local] */
  588. //+-------------------------------------------------------------------------
  589. //
  590. // Copyright (C) Microsoft Corporation, 1999-2002.
  591. //
  592. //--------------------------------------------------------------------------
  593. // Disable /W4 compiler warning C4201: nameless struct/union
  594. #pragma warning(push)
  595. #pragma warning(disable:4201) // Disable C4201: nameless struct/union
  596. #define CDEF_CLASS_DEFAULT 0x0001
  597. #define CDEF_BYPASS_CLASS_MANAGER 0x0002
  598. #define CDEF_MERIT_ABOVE_DO_NOT_USE 0x0008
  599. #define CDEF_DEVMON_CMGR_DEVICE 0x0010
  600. #define CDEF_DEVMON_DMO 0x0020
  601. #define CDEF_DEVMON_PNP_DEVICE 0x0040
  602. #define CDEF_DEVMON_FILTER 0x0080
  603. #define CDEF_DEVMON_SELECTIVE_MASK 0x00f0
  604. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  605. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  606. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  607. #define __ICreateDevEnum_INTERFACE_DEFINED__
  608. /* interface ICreateDevEnum */
  609. /* [unique][uuid][object] */
  610. EXTERN_C const IID IID_ICreateDevEnum;
  611. #if defined(__cplusplus) && !defined(CINTERFACE)
  612. MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  613. ICreateDevEnum : public IUnknown
  614. {
  615. public:
  616. virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(
  617. /* [in] */ REFCLSID clsidDeviceClass,
  618. /* [out] */ IEnumMoniker **ppEnumMoniker,
  619. /* [in] */ DWORD dwFlags) = 0;
  620. };
  621. #else /* C style interface */
  622. typedef struct ICreateDevEnumVtbl
  623. {
  624. BEGIN_INTERFACE
  625. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  626. ICreateDevEnum * This,
  627. /* [in] */ REFIID riid,
  628. /* [iid_is][out] */ void **ppvObject);
  629. ULONG ( STDMETHODCALLTYPE *AddRef )(
  630. ICreateDevEnum * This);
  631. ULONG ( STDMETHODCALLTYPE *Release )(
  632. ICreateDevEnum * This);
  633. HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )(
  634. ICreateDevEnum * This,
  635. /* [in] */ REFCLSID clsidDeviceClass,
  636. /* [out] */ IEnumMoniker **ppEnumMoniker,
  637. /* [in] */ DWORD dwFlags);
  638. END_INTERFACE
  639. } ICreateDevEnumVtbl;
  640. interface ICreateDevEnum
  641. {
  642. CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  643. };
  644. #ifdef COBJMACROS
  645. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject) \
  646. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  647. #define ICreateDevEnum_AddRef(This) \
  648. (This)->lpVtbl -> AddRef(This)
  649. #define ICreateDevEnum_Release(This) \
  650. (This)->lpVtbl -> Release(This)
  651. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags) \
  652. (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  653. #endif /* COBJMACROS */
  654. #endif /* C style interface */
  655. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(
  656. ICreateDevEnum * This,
  657. /* [in] */ REFCLSID clsidDeviceClass,
  658. /* [out] */ IEnumMoniker **ppEnumMoniker,
  659. /* [in] */ DWORD dwFlags);
  660. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  661. IRpcStubBuffer *This,
  662. IRpcChannelBuffer *_pRpcChannelBuffer,
  663. PRPC_MESSAGE _pRpcMessage,
  664. DWORD *_pdwStubPhase);
  665. #endif /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  666. /* interface __MIDL_itf_strmif_0113 */
  667. /* [local] */
  668. #define CHARS_IN_GUID 39
  669. typedef struct _AMMediaType
  670. {
  671. GUID majortype;
  672. GUID subtype;
  673. BOOL bFixedSizeSamples;
  674. BOOL bTemporalCompression;
  675. ULONG lSampleSize;
  676. GUID formattype;
  677. IUnknown *pUnk;
  678. ULONG cbFormat;
  679. /* [size_is] */ BYTE *pbFormat;
  680. } AM_MEDIA_TYPE;
  681. typedef
  682. enum _PinDirection
  683. { PINDIR_INPUT = 0,
  684. PINDIR_OUTPUT = PINDIR_INPUT + 1
  685. } PIN_DIRECTION;
  686. #define MAX_PIN_NAME 128
  687. #define MAX_FILTER_NAME 128
  688. typedef LONGLONG REFERENCE_TIME;
  689. typedef double REFTIME;
  690. typedef DWORD_PTR HSEMAPHORE;
  691. typedef DWORD_PTR HEVENT;
  692. typedef struct _AllocatorProperties
  693. {
  694. long cBuffers;
  695. long cbBuffer;
  696. long cbAlign;
  697. long cbPrefix;
  698. } ALLOCATOR_PROPERTIES;
  699. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  700. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  701. #ifndef __IPin_INTERFACE_DEFINED__
  702. #define __IPin_INTERFACE_DEFINED__
  703. /* interface IPin */
  704. /* [unique][uuid][object] */
  705. typedef struct _PinInfo
  706. {
  707. IBaseFilter *pFilter;
  708. PIN_DIRECTION dir;
  709. WCHAR achName[ 128 ];
  710. } PIN_INFO;
  711. EXTERN_C const IID IID_IPin;
  712. #if defined(__cplusplus) && !defined(CINTERFACE)
  713. MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  714. IPin : public IUnknown
  715. {
  716. public:
  717. virtual HRESULT STDMETHODCALLTYPE Connect(
  718. /* [in] */ IPin *pReceivePin,
  719. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  720. virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(
  721. /* [in] */ IPin *pConnector,
  722. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  723. virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  724. virtual HRESULT STDMETHODCALLTYPE ConnectedTo(
  725. /* [out] */ IPin **pPin) = 0;
  726. virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(
  727. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  728. virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(
  729. /* [out] */ PIN_INFO *pInfo) = 0;
  730. virtual HRESULT STDMETHODCALLTYPE QueryDirection(
  731. /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  732. virtual HRESULT STDMETHODCALLTYPE QueryId(
  733. /* [out] */ LPWSTR *Id) = 0;
  734. virtual HRESULT STDMETHODCALLTYPE QueryAccept(
  735. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  736. virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(
  737. /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  738. virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(
  739. /* [out] */ IPin **apPin,
  740. /* [out][in] */ ULONG *nPin) = 0;
  741. virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  742. virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  743. virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  744. virtual HRESULT STDMETHODCALLTYPE NewSegment(
  745. /* [in] */ REFERENCE_TIME tStart,
  746. /* [in] */ REFERENCE_TIME tStop,
  747. /* [in] */ double dRate) = 0;
  748. };
  749. #else /* C style interface */
  750. typedef struct IPinVtbl
  751. {
  752. BEGIN_INTERFACE
  753. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  754. IPin * This,
  755. /* [in] */ REFIID riid,
  756. /* [iid_is][out] */ void **ppvObject);
  757. ULONG ( STDMETHODCALLTYPE *AddRef )(
  758. IPin * This);
  759. ULONG ( STDMETHODCALLTYPE *Release )(
  760. IPin * This);
  761. HRESULT ( STDMETHODCALLTYPE *Connect )(
  762. IPin * This,
  763. /* [in] */ IPin *pReceivePin,
  764. /* [in] */ const AM_MEDIA_TYPE *pmt);
  765. HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )(
  766. IPin * This,
  767. /* [in] */ IPin *pConnector,
  768. /* [in] */ const AM_MEDIA_TYPE *pmt);
  769. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  770. IPin * This);
  771. HRESULT ( STDMETHODCALLTYPE *ConnectedTo )(
  772. IPin * This,
  773. /* [out] */ IPin **pPin);
  774. HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )(
  775. IPin * This,
  776. /* [out] */ AM_MEDIA_TYPE *pmt);
  777. HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )(
  778. IPin * This,
  779. /* [out] */ PIN_INFO *pInfo);
  780. HRESULT ( STDMETHODCALLTYPE *QueryDirection )(
  781. IPin * This,
  782. /* [out] */ PIN_DIRECTION *pPinDir);
  783. HRESULT ( STDMETHODCALLTYPE *QueryId )(
  784. IPin * This,
  785. /* [out] */ LPWSTR *Id);
  786. HRESULT ( STDMETHODCALLTYPE *QueryAccept )(
  787. IPin * This,
  788. /* [in] */ const AM_MEDIA_TYPE *pmt);
  789. HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )(
  790. IPin * This,
  791. /* [out] */ IEnumMediaTypes **ppEnum);
  792. HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )(
  793. IPin * This,
  794. /* [out] */ IPin **apPin,
  795. /* [out][in] */ ULONG *nPin);
  796. HRESULT ( STDMETHODCALLTYPE *EndOfStream )(
  797. IPin * This);
  798. HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
  799. IPin * This);
  800. HRESULT ( STDMETHODCALLTYPE *EndFlush )(
  801. IPin * This);
  802. HRESULT ( STDMETHODCALLTYPE *NewSegment )(
  803. IPin * This,
  804. /* [in] */ REFERENCE_TIME tStart,
  805. /* [in] */ REFERENCE_TIME tStop,
  806. /* [in] */ double dRate);
  807. END_INTERFACE
  808. } IPinVtbl;
  809. interface IPin
  810. {
  811. CONST_VTBL struct IPinVtbl *lpVtbl;
  812. };
  813. #ifdef COBJMACROS
  814. #define IPin_QueryInterface(This,riid,ppvObject) \
  815. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  816. #define IPin_AddRef(This) \
  817. (This)->lpVtbl -> AddRef(This)
  818. #define IPin_Release(This) \
  819. (This)->lpVtbl -> Release(This)
  820. #define IPin_Connect(This,pReceivePin,pmt) \
  821. (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  822. #define IPin_ReceiveConnection(This,pConnector,pmt) \
  823. (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  824. #define IPin_Disconnect(This) \
  825. (This)->lpVtbl -> Disconnect(This)
  826. #define IPin_ConnectedTo(This,pPin) \
  827. (This)->lpVtbl -> ConnectedTo(This,pPin)
  828. #define IPin_ConnectionMediaType(This,pmt) \
  829. (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  830. #define IPin_QueryPinInfo(This,pInfo) \
  831. (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  832. #define IPin_QueryDirection(This,pPinDir) \
  833. (This)->lpVtbl -> QueryDirection(This,pPinDir)
  834. #define IPin_QueryId(This,Id) \
  835. (This)->lpVtbl -> QueryId(This,Id)
  836. #define IPin_QueryAccept(This,pmt) \
  837. (This)->lpVtbl -> QueryAccept(This,pmt)
  838. #define IPin_EnumMediaTypes(This,ppEnum) \
  839. (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  840. #define IPin_QueryInternalConnections(This,apPin,nPin) \
  841. (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  842. #define IPin_EndOfStream(This) \
  843. (This)->lpVtbl -> EndOfStream(This)
  844. #define IPin_BeginFlush(This) \
  845. (This)->lpVtbl -> BeginFlush(This)
  846. #define IPin_EndFlush(This) \
  847. (This)->lpVtbl -> EndFlush(This)
  848. #define IPin_NewSegment(This,tStart,tStop,dRate) \
  849. (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  850. #endif /* COBJMACROS */
  851. #endif /* C style interface */
  852. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(
  853. IPin * This,
  854. /* [in] */ IPin *pReceivePin,
  855. /* [in] */ const AM_MEDIA_TYPE *pmt);
  856. void __RPC_STUB IPin_Connect_Stub(
  857. IRpcStubBuffer *This,
  858. IRpcChannelBuffer *_pRpcChannelBuffer,
  859. PRPC_MESSAGE _pRpcMessage,
  860. DWORD *_pdwStubPhase);
  861. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(
  862. IPin * This,
  863. /* [in] */ IPin *pConnector,
  864. /* [in] */ const AM_MEDIA_TYPE *pmt);
  865. void __RPC_STUB IPin_ReceiveConnection_Stub(
  866. IRpcStubBuffer *This,
  867. IRpcChannelBuffer *_pRpcChannelBuffer,
  868. PRPC_MESSAGE _pRpcMessage,
  869. DWORD *_pdwStubPhase);
  870. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(
  871. IPin * This);
  872. void __RPC_STUB IPin_Disconnect_Stub(
  873. IRpcStubBuffer *This,
  874. IRpcChannelBuffer *_pRpcChannelBuffer,
  875. PRPC_MESSAGE _pRpcMessage,
  876. DWORD *_pdwStubPhase);
  877. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(
  878. IPin * This,
  879. /* [out] */ IPin **pPin);
  880. void __RPC_STUB IPin_ConnectedTo_Stub(
  881. IRpcStubBuffer *This,
  882. IRpcChannelBuffer *_pRpcChannelBuffer,
  883. PRPC_MESSAGE _pRpcMessage,
  884. DWORD *_pdwStubPhase);
  885. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(
  886. IPin * This,
  887. /* [out] */ AM_MEDIA_TYPE *pmt);
  888. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  889. IRpcStubBuffer *This,
  890. IRpcChannelBuffer *_pRpcChannelBuffer,
  891. PRPC_MESSAGE _pRpcMessage,
  892. DWORD *_pdwStubPhase);
  893. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(
  894. IPin * This,
  895. /* [out] */ PIN_INFO *pInfo);
  896. void __RPC_STUB IPin_QueryPinInfo_Stub(
  897. IRpcStubBuffer *This,
  898. IRpcChannelBuffer *_pRpcChannelBuffer,
  899. PRPC_MESSAGE _pRpcMessage,
  900. DWORD *_pdwStubPhase);
  901. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(
  902. IPin * This,
  903. /* [out] */ PIN_DIRECTION *pPinDir);
  904. void __RPC_STUB IPin_QueryDirection_Stub(
  905. IRpcStubBuffer *This,
  906. IRpcChannelBuffer *_pRpcChannelBuffer,
  907. PRPC_MESSAGE _pRpcMessage,
  908. DWORD *_pdwStubPhase);
  909. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(
  910. IPin * This,
  911. /* [out] */ LPWSTR *Id);
  912. void __RPC_STUB IPin_QueryId_Stub(
  913. IRpcStubBuffer *This,
  914. IRpcChannelBuffer *_pRpcChannelBuffer,
  915. PRPC_MESSAGE _pRpcMessage,
  916. DWORD *_pdwStubPhase);
  917. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(
  918. IPin * This,
  919. /* [in] */ const AM_MEDIA_TYPE *pmt);
  920. void __RPC_STUB IPin_QueryAccept_Stub(
  921. IRpcStubBuffer *This,
  922. IRpcChannelBuffer *_pRpcChannelBuffer,
  923. PRPC_MESSAGE _pRpcMessage,
  924. DWORD *_pdwStubPhase);
  925. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(
  926. IPin * This,
  927. /* [out] */ IEnumMediaTypes **ppEnum);
  928. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  929. IRpcStubBuffer *This,
  930. IRpcChannelBuffer *_pRpcChannelBuffer,
  931. PRPC_MESSAGE _pRpcMessage,
  932. DWORD *_pdwStubPhase);
  933. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(
  934. IPin * This,
  935. /* [out] */ IPin **apPin,
  936. /* [out][in] */ ULONG *nPin);
  937. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  938. IRpcStubBuffer *This,
  939. IRpcChannelBuffer *_pRpcChannelBuffer,
  940. PRPC_MESSAGE _pRpcMessage,
  941. DWORD *_pdwStubPhase);
  942. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(
  943. IPin * This);
  944. void __RPC_STUB IPin_EndOfStream_Stub(
  945. IRpcStubBuffer *This,
  946. IRpcChannelBuffer *_pRpcChannelBuffer,
  947. PRPC_MESSAGE _pRpcMessage,
  948. DWORD *_pdwStubPhase);
  949. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(
  950. IPin * This);
  951. void __RPC_STUB IPin_BeginFlush_Stub(
  952. IRpcStubBuffer *This,
  953. IRpcChannelBuffer *_pRpcChannelBuffer,
  954. PRPC_MESSAGE _pRpcMessage,
  955. DWORD *_pdwStubPhase);
  956. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(
  957. IPin * This);
  958. void __RPC_STUB IPin_EndFlush_Stub(
  959. IRpcStubBuffer *This,
  960. IRpcChannelBuffer *_pRpcChannelBuffer,
  961. PRPC_MESSAGE _pRpcMessage,
  962. DWORD *_pdwStubPhase);
  963. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(
  964. IPin * This,
  965. /* [in] */ REFERENCE_TIME tStart,
  966. /* [in] */ REFERENCE_TIME tStop,
  967. /* [in] */ double dRate);
  968. void __RPC_STUB IPin_NewSegment_Stub(
  969. IRpcStubBuffer *This,
  970. IRpcChannelBuffer *_pRpcChannelBuffer,
  971. PRPC_MESSAGE _pRpcMessage,
  972. DWORD *_pdwStubPhase);
  973. #endif /* __IPin_INTERFACE_DEFINED__ */
  974. /* interface __MIDL_itf_strmif_0114 */
  975. /* [local] */
  976. typedef IPin *PPIN;
  977. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  978. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  979. #ifndef __IEnumPins_INTERFACE_DEFINED__
  980. #define __IEnumPins_INTERFACE_DEFINED__
  981. /* interface IEnumPins */
  982. /* [unique][uuid][object] */
  983. EXTERN_C const IID IID_IEnumPins;
  984. #if defined(__cplusplus) && !defined(CINTERFACE)
  985. MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  986. IEnumPins : public IUnknown
  987. {
  988. public:
  989. virtual HRESULT STDMETHODCALLTYPE Next(
  990. /* [in] */ ULONG cPins,
  991. /* [size_is][out] */ IPin **ppPins,
  992. /* [out] */ ULONG *pcFetched) = 0;
  993. virtual HRESULT STDMETHODCALLTYPE Skip(
  994. /* [in] */ ULONG cPins) = 0;
  995. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  996. virtual HRESULT STDMETHODCALLTYPE Clone(
  997. /* [out] */ IEnumPins **ppEnum) = 0;
  998. };
  999. #else /* C style interface */
  1000. typedef struct IEnumPinsVtbl
  1001. {
  1002. BEGIN_INTERFACE
  1003. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1004. IEnumPins * This,
  1005. /* [in] */ REFIID riid,
  1006. /* [iid_is][out] */ void **ppvObject);
  1007. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1008. IEnumPins * This);
  1009. ULONG ( STDMETHODCALLTYPE *Release )(
  1010. IEnumPins * This);
  1011. HRESULT ( STDMETHODCALLTYPE *Next )(
  1012. IEnumPins * This,
  1013. /* [in] */ ULONG cPins,
  1014. /* [size_is][out] */ IPin **ppPins,
  1015. /* [out] */ ULONG *pcFetched);
  1016. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1017. IEnumPins * This,
  1018. /* [in] */ ULONG cPins);
  1019. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1020. IEnumPins * This);
  1021. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1022. IEnumPins * This,
  1023. /* [out] */ IEnumPins **ppEnum);
  1024. END_INTERFACE
  1025. } IEnumPinsVtbl;
  1026. interface IEnumPins
  1027. {
  1028. CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1029. };
  1030. #ifdef COBJMACROS
  1031. #define IEnumPins_QueryInterface(This,riid,ppvObject) \
  1032. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1033. #define IEnumPins_AddRef(This) \
  1034. (This)->lpVtbl -> AddRef(This)
  1035. #define IEnumPins_Release(This) \
  1036. (This)->lpVtbl -> Release(This)
  1037. #define IEnumPins_Next(This,cPins,ppPins,pcFetched) \
  1038. (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1039. #define IEnumPins_Skip(This,cPins) \
  1040. (This)->lpVtbl -> Skip(This,cPins)
  1041. #define IEnumPins_Reset(This) \
  1042. (This)->lpVtbl -> Reset(This)
  1043. #define IEnumPins_Clone(This,ppEnum) \
  1044. (This)->lpVtbl -> Clone(This,ppEnum)
  1045. #endif /* COBJMACROS */
  1046. #endif /* C style interface */
  1047. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(
  1048. IEnumPins * This,
  1049. /* [in] */ ULONG cPins,
  1050. /* [size_is][out] */ IPin **ppPins,
  1051. /* [out] */ ULONG *pcFetched);
  1052. void __RPC_STUB IEnumPins_Next_Stub(
  1053. IRpcStubBuffer *This,
  1054. IRpcChannelBuffer *_pRpcChannelBuffer,
  1055. PRPC_MESSAGE _pRpcMessage,
  1056. DWORD *_pdwStubPhase);
  1057. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(
  1058. IEnumPins * This,
  1059. /* [in] */ ULONG cPins);
  1060. void __RPC_STUB IEnumPins_Skip_Stub(
  1061. IRpcStubBuffer *This,
  1062. IRpcChannelBuffer *_pRpcChannelBuffer,
  1063. PRPC_MESSAGE _pRpcMessage,
  1064. DWORD *_pdwStubPhase);
  1065. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(
  1066. IEnumPins * This);
  1067. void __RPC_STUB IEnumPins_Reset_Stub(
  1068. IRpcStubBuffer *This,
  1069. IRpcChannelBuffer *_pRpcChannelBuffer,
  1070. PRPC_MESSAGE _pRpcMessage,
  1071. DWORD *_pdwStubPhase);
  1072. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(
  1073. IEnumPins * This,
  1074. /* [out] */ IEnumPins **ppEnum);
  1075. void __RPC_STUB IEnumPins_Clone_Stub(
  1076. IRpcStubBuffer *This,
  1077. IRpcChannelBuffer *_pRpcChannelBuffer,
  1078. PRPC_MESSAGE _pRpcMessage,
  1079. DWORD *_pdwStubPhase);
  1080. #endif /* __IEnumPins_INTERFACE_DEFINED__ */
  1081. /* interface __MIDL_itf_strmif_0115 */
  1082. /* [local] */
  1083. typedef IEnumPins *PENUMPINS;
  1084. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  1085. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  1086. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1087. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1088. /* interface IEnumMediaTypes */
  1089. /* [unique][uuid][object] */
  1090. EXTERN_C const IID IID_IEnumMediaTypes;
  1091. #if defined(__cplusplus) && !defined(CINTERFACE)
  1092. MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1093. IEnumMediaTypes : public IUnknown
  1094. {
  1095. public:
  1096. virtual HRESULT STDMETHODCALLTYPE Next(
  1097. /* [in] */ ULONG cMediaTypes,
  1098. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1099. /* [out] */ ULONG *pcFetched) = 0;
  1100. virtual HRESULT STDMETHODCALLTYPE Skip(
  1101. /* [in] */ ULONG cMediaTypes) = 0;
  1102. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1103. virtual HRESULT STDMETHODCALLTYPE Clone(
  1104. /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1105. };
  1106. #else /* C style interface */
  1107. typedef struct IEnumMediaTypesVtbl
  1108. {
  1109. BEGIN_INTERFACE
  1110. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1111. IEnumMediaTypes * This,
  1112. /* [in] */ REFIID riid,
  1113. /* [iid_is][out] */ void **ppvObject);
  1114. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1115. IEnumMediaTypes * This);
  1116. ULONG ( STDMETHODCALLTYPE *Release )(
  1117. IEnumMediaTypes * This);
  1118. HRESULT ( STDMETHODCALLTYPE *Next )(
  1119. IEnumMediaTypes * This,
  1120. /* [in] */ ULONG cMediaTypes,
  1121. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1122. /* [out] */ ULONG *pcFetched);
  1123. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1124. IEnumMediaTypes * This,
  1125. /* [in] */ ULONG cMediaTypes);
  1126. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1127. IEnumMediaTypes * This);
  1128. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1129. IEnumMediaTypes * This,
  1130. /* [out] */ IEnumMediaTypes **ppEnum);
  1131. END_INTERFACE
  1132. } IEnumMediaTypesVtbl;
  1133. interface IEnumMediaTypes
  1134. {
  1135. CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1136. };
  1137. #ifdef COBJMACROS
  1138. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject) \
  1139. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1140. #define IEnumMediaTypes_AddRef(This) \
  1141. (This)->lpVtbl -> AddRef(This)
  1142. #define IEnumMediaTypes_Release(This) \
  1143. (This)->lpVtbl -> Release(This)
  1144. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched) \
  1145. (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1146. #define IEnumMediaTypes_Skip(This,cMediaTypes) \
  1147. (This)->lpVtbl -> Skip(This,cMediaTypes)
  1148. #define IEnumMediaTypes_Reset(This) \
  1149. (This)->lpVtbl -> Reset(This)
  1150. #define IEnumMediaTypes_Clone(This,ppEnum) \
  1151. (This)->lpVtbl -> Clone(This,ppEnum)
  1152. #endif /* COBJMACROS */
  1153. #endif /* C style interface */
  1154. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(
  1155. IEnumMediaTypes * This,
  1156. /* [in] */ ULONG cMediaTypes,
  1157. /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1158. /* [out] */ ULONG *pcFetched);
  1159. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1160. IRpcStubBuffer *This,
  1161. IRpcChannelBuffer *_pRpcChannelBuffer,
  1162. PRPC_MESSAGE _pRpcMessage,
  1163. DWORD *_pdwStubPhase);
  1164. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(
  1165. IEnumMediaTypes * This,
  1166. /* [in] */ ULONG cMediaTypes);
  1167. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1168. IRpcStubBuffer *This,
  1169. IRpcChannelBuffer *_pRpcChannelBuffer,
  1170. PRPC_MESSAGE _pRpcMessage,
  1171. DWORD *_pdwStubPhase);
  1172. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(
  1173. IEnumMediaTypes * This);
  1174. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1175. IRpcStubBuffer *This,
  1176. IRpcChannelBuffer *_pRpcChannelBuffer,
  1177. PRPC_MESSAGE _pRpcMessage,
  1178. DWORD *_pdwStubPhase);
  1179. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(
  1180. IEnumMediaTypes * This,
  1181. /* [out] */ IEnumMediaTypes **ppEnum);
  1182. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1183. IRpcStubBuffer *This,
  1184. IRpcChannelBuffer *_pRpcChannelBuffer,
  1185. PRPC_MESSAGE _pRpcMessage,
  1186. DWORD *_pdwStubPhase);
  1187. #endif /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1188. /* interface __MIDL_itf_strmif_0116 */
  1189. /* [local] */
  1190. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1191. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  1192. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  1193. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1194. #define __IFilterGraph_INTERFACE_DEFINED__
  1195. /* interface IFilterGraph */
  1196. /* [unique][uuid][object] */
  1197. EXTERN_C const IID IID_IFilterGraph;
  1198. #if defined(__cplusplus) && !defined(CINTERFACE)
  1199. MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1200. IFilterGraph : public IUnknown
  1201. {
  1202. public:
  1203. virtual HRESULT STDMETHODCALLTYPE AddFilter(
  1204. /* [in] */ IBaseFilter *pFilter,
  1205. /* [string][in] */ LPCWSTR pName) = 0;
  1206. virtual HRESULT STDMETHODCALLTYPE RemoveFilter(
  1207. /* [in] */ IBaseFilter *pFilter) = 0;
  1208. virtual HRESULT STDMETHODCALLTYPE EnumFilters(
  1209. /* [out] */ IEnumFilters **ppEnum) = 0;
  1210. virtual HRESULT STDMETHODCALLTYPE FindFilterByName(
  1211. /* [string][in] */ LPCWSTR pName,
  1212. /* [out] */ IBaseFilter **ppFilter) = 0;
  1213. virtual HRESULT STDMETHODCALLTYPE ConnectDirect(
  1214. /* [in] */ IPin *ppinOut,
  1215. /* [in] */ IPin *ppinIn,
  1216. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1217. virtual HRESULT STDMETHODCALLTYPE Reconnect(
  1218. /* [in] */ IPin *ppin) = 0;
  1219. virtual HRESULT STDMETHODCALLTYPE Disconnect(
  1220. /* [in] */ IPin *ppin) = 0;
  1221. virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1222. };
  1223. #else /* C style interface */
  1224. typedef struct IFilterGraphVtbl
  1225. {
  1226. BEGIN_INTERFACE
  1227. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1228. IFilterGraph * This,
  1229. /* [in] */ REFIID riid,
  1230. /* [iid_is][out] */ void **ppvObject);
  1231. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1232. IFilterGraph * This);
  1233. ULONG ( STDMETHODCALLTYPE *Release )(
  1234. IFilterGraph * This);
  1235. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  1236. IFilterGraph * This,
  1237. /* [in] */ IBaseFilter *pFilter,
  1238. /* [string][in] */ LPCWSTR pName);
  1239. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  1240. IFilterGraph * This,
  1241. /* [in] */ IBaseFilter *pFilter);
  1242. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  1243. IFilterGraph * This,
  1244. /* [out] */ IEnumFilters **ppEnum);
  1245. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  1246. IFilterGraph * This,
  1247. /* [string][in] */ LPCWSTR pName,
  1248. /* [out] */ IBaseFilter **ppFilter);
  1249. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  1250. IFilterGraph * This,
  1251. /* [in] */ IPin *ppinOut,
  1252. /* [in] */ IPin *ppinIn,
  1253. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1254. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  1255. IFilterGraph * This,
  1256. /* [in] */ IPin *ppin);
  1257. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  1258. IFilterGraph * This,
  1259. /* [in] */ IPin *ppin);
  1260. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  1261. IFilterGraph * This);
  1262. END_INTERFACE
  1263. } IFilterGraphVtbl;
  1264. interface IFilterGraph
  1265. {
  1266. CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1267. };
  1268. #ifdef COBJMACROS
  1269. #define IFilterGraph_QueryInterface(This,riid,ppvObject) \
  1270. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1271. #define IFilterGraph_AddRef(This) \
  1272. (This)->lpVtbl -> AddRef(This)
  1273. #define IFilterGraph_Release(This) \
  1274. (This)->lpVtbl -> Release(This)
  1275. #define IFilterGraph_AddFilter(This,pFilter,pName) \
  1276. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1277. #define IFilterGraph_RemoveFilter(This,pFilter) \
  1278. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1279. #define IFilterGraph_EnumFilters(This,ppEnum) \
  1280. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1281. #define IFilterGraph_FindFilterByName(This,pName,ppFilter) \
  1282. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1283. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  1284. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1285. #define IFilterGraph_Reconnect(This,ppin) \
  1286. (This)->lpVtbl -> Reconnect(This,ppin)
  1287. #define IFilterGraph_Disconnect(This,ppin) \
  1288. (This)->lpVtbl -> Disconnect(This,ppin)
  1289. #define IFilterGraph_SetDefaultSyncSource(This) \
  1290. (This)->lpVtbl -> SetDefaultSyncSource(This)
  1291. #endif /* COBJMACROS */
  1292. #endif /* C style interface */
  1293. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(
  1294. IFilterGraph * This,
  1295. /* [in] */ IBaseFilter *pFilter,
  1296. /* [string][in] */ LPCWSTR pName);
  1297. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1298. IRpcStubBuffer *This,
  1299. IRpcChannelBuffer *_pRpcChannelBuffer,
  1300. PRPC_MESSAGE _pRpcMessage,
  1301. DWORD *_pdwStubPhase);
  1302. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(
  1303. IFilterGraph * This,
  1304. /* [in] */ IBaseFilter *pFilter);
  1305. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1306. IRpcStubBuffer *This,
  1307. IRpcChannelBuffer *_pRpcChannelBuffer,
  1308. PRPC_MESSAGE _pRpcMessage,
  1309. DWORD *_pdwStubPhase);
  1310. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(
  1311. IFilterGraph * This,
  1312. /* [out] */ IEnumFilters **ppEnum);
  1313. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1314. IRpcStubBuffer *This,
  1315. IRpcChannelBuffer *_pRpcChannelBuffer,
  1316. PRPC_MESSAGE _pRpcMessage,
  1317. DWORD *_pdwStubPhase);
  1318. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(
  1319. IFilterGraph * This,
  1320. /* [string][in] */ LPCWSTR pName,
  1321. /* [out] */ IBaseFilter **ppFilter);
  1322. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1323. IRpcStubBuffer *This,
  1324. IRpcChannelBuffer *_pRpcChannelBuffer,
  1325. PRPC_MESSAGE _pRpcMessage,
  1326. DWORD *_pdwStubPhase);
  1327. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(
  1328. IFilterGraph * This,
  1329. /* [in] */ IPin *ppinOut,
  1330. /* [in] */ IPin *ppinIn,
  1331. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1332. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1333. IRpcStubBuffer *This,
  1334. IRpcChannelBuffer *_pRpcChannelBuffer,
  1335. PRPC_MESSAGE _pRpcMessage,
  1336. DWORD *_pdwStubPhase);
  1337. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(
  1338. IFilterGraph * This,
  1339. /* [in] */ IPin *ppin);
  1340. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1341. IRpcStubBuffer *This,
  1342. IRpcChannelBuffer *_pRpcChannelBuffer,
  1343. PRPC_MESSAGE _pRpcMessage,
  1344. DWORD *_pdwStubPhase);
  1345. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(
  1346. IFilterGraph * This,
  1347. /* [in] */ IPin *ppin);
  1348. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1349. IRpcStubBuffer *This,
  1350. IRpcChannelBuffer *_pRpcChannelBuffer,
  1351. PRPC_MESSAGE _pRpcMessage,
  1352. DWORD *_pdwStubPhase);
  1353. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(
  1354. IFilterGraph * This);
  1355. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  1356. IRpcStubBuffer *This,
  1357. IRpcChannelBuffer *_pRpcChannelBuffer,
  1358. PRPC_MESSAGE _pRpcMessage,
  1359. DWORD *_pdwStubPhase);
  1360. #endif /* __IFilterGraph_INTERFACE_DEFINED__ */
  1361. /* interface __MIDL_itf_strmif_0117 */
  1362. /* [local] */
  1363. typedef IFilterGraph *PFILTERGRAPH;
  1364. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  1365. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  1366. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  1367. #define __IEnumFilters_INTERFACE_DEFINED__
  1368. /* interface IEnumFilters */
  1369. /* [unique][uuid][object] */
  1370. EXTERN_C const IID IID_IEnumFilters;
  1371. #if defined(__cplusplus) && !defined(CINTERFACE)
  1372. MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  1373. IEnumFilters : public IUnknown
  1374. {
  1375. public:
  1376. virtual HRESULT STDMETHODCALLTYPE Next(
  1377. /* [in] */ ULONG cFilters,
  1378. /* [out] */ IBaseFilter **ppFilter,
  1379. /* [out] */ ULONG *pcFetched) = 0;
  1380. virtual HRESULT STDMETHODCALLTYPE Skip(
  1381. /* [in] */ ULONG cFilters) = 0;
  1382. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1383. virtual HRESULT STDMETHODCALLTYPE Clone(
  1384. /* [out] */ IEnumFilters **ppEnum) = 0;
  1385. };
  1386. #else /* C style interface */
  1387. typedef struct IEnumFiltersVtbl
  1388. {
  1389. BEGIN_INTERFACE
  1390. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1391. IEnumFilters * This,
  1392. /* [in] */ REFIID riid,
  1393. /* [iid_is][out] */ void **ppvObject);
  1394. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1395. IEnumFilters * This);
  1396. ULONG ( STDMETHODCALLTYPE *Release )(
  1397. IEnumFilters * This);
  1398. HRESULT ( STDMETHODCALLTYPE *Next )(
  1399. IEnumFilters * This,
  1400. /* [in] */ ULONG cFilters,
  1401. /* [out] */ IBaseFilter **ppFilter,
  1402. /* [out] */ ULONG *pcFetched);
  1403. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1404. IEnumFilters * This,
  1405. /* [in] */ ULONG cFilters);
  1406. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1407. IEnumFilters * This);
  1408. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1409. IEnumFilters * This,
  1410. /* [out] */ IEnumFilters **ppEnum);
  1411. END_INTERFACE
  1412. } IEnumFiltersVtbl;
  1413. interface IEnumFilters
  1414. {
  1415. CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  1416. };
  1417. #ifdef COBJMACROS
  1418. #define IEnumFilters_QueryInterface(This,riid,ppvObject) \
  1419. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1420. #define IEnumFilters_AddRef(This) \
  1421. (This)->lpVtbl -> AddRef(This)
  1422. #define IEnumFilters_Release(This) \
  1423. (This)->lpVtbl -> Release(This)
  1424. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched) \
  1425. (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  1426. #define IEnumFilters_Skip(This,cFilters) \
  1427. (This)->lpVtbl -> Skip(This,cFilters)
  1428. #define IEnumFilters_Reset(This) \
  1429. (This)->lpVtbl -> Reset(This)
  1430. #define IEnumFilters_Clone(This,ppEnum) \
  1431. (This)->lpVtbl -> Clone(This,ppEnum)
  1432. #endif /* COBJMACROS */
  1433. #endif /* C style interface */
  1434. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(
  1435. IEnumFilters * This,
  1436. /* [in] */ ULONG cFilters,
  1437. /* [out] */ IBaseFilter **ppFilter,
  1438. /* [out] */ ULONG *pcFetched);
  1439. void __RPC_STUB IEnumFilters_Next_Stub(
  1440. IRpcStubBuffer *This,
  1441. IRpcChannelBuffer *_pRpcChannelBuffer,
  1442. PRPC_MESSAGE _pRpcMessage,
  1443. DWORD *_pdwStubPhase);
  1444. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(
  1445. IEnumFilters * This,
  1446. /* [in] */ ULONG cFilters);
  1447. void __RPC_STUB IEnumFilters_Skip_Stub(
  1448. IRpcStubBuffer *This,
  1449. IRpcChannelBuffer *_pRpcChannelBuffer,
  1450. PRPC_MESSAGE _pRpcMessage,
  1451. DWORD *_pdwStubPhase);
  1452. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(
  1453. IEnumFilters * This);
  1454. void __RPC_STUB IEnumFilters_Reset_Stub(
  1455. IRpcStubBuffer *This,
  1456. IRpcChannelBuffer *_pRpcChannelBuffer,
  1457. PRPC_MESSAGE _pRpcMessage,
  1458. DWORD *_pdwStubPhase);
  1459. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(
  1460. IEnumFilters * This,
  1461. /* [out] */ IEnumFilters **ppEnum);
  1462. void __RPC_STUB IEnumFilters_Clone_Stub(
  1463. IRpcStubBuffer *This,
  1464. IRpcChannelBuffer *_pRpcChannelBuffer,
  1465. PRPC_MESSAGE _pRpcMessage,
  1466. DWORD *_pdwStubPhase);
  1467. #endif /* __IEnumFilters_INTERFACE_DEFINED__ */
  1468. /* interface __MIDL_itf_strmif_0118 */
  1469. /* [local] */
  1470. typedef IEnumFilters *PENUMFILTERS;
  1471. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  1472. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  1473. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  1474. #define __IMediaFilter_INTERFACE_DEFINED__
  1475. /* interface IMediaFilter */
  1476. /* [unique][uuid][object] */
  1477. typedef
  1478. enum _FilterState
  1479. { State_Stopped = 0,
  1480. State_Paused = State_Stopped + 1,
  1481. State_Running = State_Paused + 1
  1482. } FILTER_STATE;
  1483. EXTERN_C const IID IID_IMediaFilter;
  1484. #if defined(__cplusplus) && !defined(CINTERFACE)
  1485. MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  1486. IMediaFilter : public IPersist
  1487. {
  1488. public:
  1489. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1490. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1491. virtual HRESULT STDMETHODCALLTYPE Run(
  1492. REFERENCE_TIME tStart) = 0;
  1493. virtual HRESULT STDMETHODCALLTYPE GetState(
  1494. /* [in] */ DWORD dwMilliSecsTimeout,
  1495. /* [out] */ FILTER_STATE *State) = 0;
  1496. virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
  1497. /* [in] */ IReferenceClock *pClock) = 0;
  1498. virtual HRESULT STDMETHODCALLTYPE GetSyncSource(
  1499. /* [out] */ IReferenceClock **pClock) = 0;
  1500. };
  1501. #else /* C style interface */
  1502. typedef struct IMediaFilterVtbl
  1503. {
  1504. BEGIN_INTERFACE
  1505. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1506. IMediaFilter * This,
  1507. /* [in] */ REFIID riid,
  1508. /* [iid_is][out] */ void **ppvObject);
  1509. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1510. IMediaFilter * This);
  1511. ULONG ( STDMETHODCALLTYPE *Release )(
  1512. IMediaFilter * This);
  1513. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  1514. IMediaFilter * This,
  1515. /* [out] */ CLSID *pClassID);
  1516. HRESULT ( STDMETHODCALLTYPE *Stop )(
  1517. IMediaFilter * This);
  1518. HRESULT ( STDMETHODCALLTYPE *Pause )(
  1519. IMediaFilter * This);
  1520. HRESULT ( STDMETHODCALLTYPE *Run )(
  1521. IMediaFilter * This,
  1522. REFERENCE_TIME tStart);
  1523. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1524. IMediaFilter * This,
  1525. /* [in] */ DWORD dwMilliSecsTimeout,
  1526. /* [out] */ FILTER_STATE *State);
  1527. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  1528. IMediaFilter * This,
  1529. /* [in] */ IReferenceClock *pClock);
  1530. HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
  1531. IMediaFilter * This,
  1532. /* [out] */ IReferenceClock **pClock);
  1533. END_INTERFACE
  1534. } IMediaFilterVtbl;
  1535. interface IMediaFilter
  1536. {
  1537. CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  1538. };
  1539. #ifdef COBJMACROS
  1540. #define IMediaFilter_QueryInterface(This,riid,ppvObject) \
  1541. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1542. #define IMediaFilter_AddRef(This) \
  1543. (This)->lpVtbl -> AddRef(This)
  1544. #define IMediaFilter_Release(This) \
  1545. (This)->lpVtbl -> Release(This)
  1546. #define IMediaFilter_GetClassID(This,pClassID) \
  1547. (This)->lpVtbl -> GetClassID(This,pClassID)
  1548. #define IMediaFilter_Stop(This) \
  1549. (This)->lpVtbl -> Stop(This)
  1550. #define IMediaFilter_Pause(This) \
  1551. (This)->lpVtbl -> Pause(This)
  1552. #define IMediaFilter_Run(This,tStart) \
  1553. (This)->lpVtbl -> Run(This,tStart)
  1554. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State) \
  1555. (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1556. #define IMediaFilter_SetSyncSource(This,pClock) \
  1557. (This)->lpVtbl -> SetSyncSource(This,pClock)
  1558. #define IMediaFilter_GetSyncSource(This,pClock) \
  1559. (This)->lpVtbl -> GetSyncSource(This,pClock)
  1560. #endif /* COBJMACROS */
  1561. #endif /* C style interface */
  1562. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(
  1563. IMediaFilter * This);
  1564. void __RPC_STUB IMediaFilter_Stop_Stub(
  1565. IRpcStubBuffer *This,
  1566. IRpcChannelBuffer *_pRpcChannelBuffer,
  1567. PRPC_MESSAGE _pRpcMessage,
  1568. DWORD *_pdwStubPhase);
  1569. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(
  1570. IMediaFilter * This);
  1571. void __RPC_STUB IMediaFilter_Pause_Stub(
  1572. IRpcStubBuffer *This,
  1573. IRpcChannelBuffer *_pRpcChannelBuffer,
  1574. PRPC_MESSAGE _pRpcMessage,
  1575. DWORD *_pdwStubPhase);
  1576. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(
  1577. IMediaFilter * This,
  1578. REFERENCE_TIME tStart);
  1579. void __RPC_STUB IMediaFilter_Run_Stub(
  1580. IRpcStubBuffer *This,
  1581. IRpcChannelBuffer *_pRpcChannelBuffer,
  1582. PRPC_MESSAGE _pRpcMessage,
  1583. DWORD *_pdwStubPhase);
  1584. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(
  1585. IMediaFilter * This,
  1586. /* [in] */ DWORD dwMilliSecsTimeout,
  1587. /* [out] */ FILTER_STATE *State);
  1588. void __RPC_STUB IMediaFilter_GetState_Stub(
  1589. IRpcStubBuffer *This,
  1590. IRpcChannelBuffer *_pRpcChannelBuffer,
  1591. PRPC_MESSAGE _pRpcMessage,
  1592. DWORD *_pdwStubPhase);
  1593. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(
  1594. IMediaFilter * This,
  1595. /* [in] */ IReferenceClock *pClock);
  1596. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  1597. IRpcStubBuffer *This,
  1598. IRpcChannelBuffer *_pRpcChannelBuffer,
  1599. PRPC_MESSAGE _pRpcMessage,
  1600. DWORD *_pdwStubPhase);
  1601. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(
  1602. IMediaFilter * This,
  1603. /* [out] */ IReferenceClock **pClock);
  1604. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  1605. IRpcStubBuffer *This,
  1606. IRpcChannelBuffer *_pRpcChannelBuffer,
  1607. PRPC_MESSAGE _pRpcMessage,
  1608. DWORD *_pdwStubPhase);
  1609. #endif /* __IMediaFilter_INTERFACE_DEFINED__ */
  1610. /* interface __MIDL_itf_strmif_0119 */
  1611. /* [local] */
  1612. typedef IMediaFilter *PMEDIAFILTER;
  1613. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  1614. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  1615. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  1616. #define __IBaseFilter_INTERFACE_DEFINED__
  1617. /* interface IBaseFilter */
  1618. /* [unique][uuid][object] */
  1619. typedef struct _FilterInfo
  1620. {
  1621. WCHAR achName[ 128 ];
  1622. IFilterGraph *pGraph;
  1623. } FILTER_INFO;
  1624. EXTERN_C const IID IID_IBaseFilter;
  1625. #if defined(__cplusplus) && !defined(CINTERFACE)
  1626. MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  1627. IBaseFilter : public IMediaFilter
  1628. {
  1629. public:
  1630. virtual HRESULT STDMETHODCALLTYPE EnumPins(
  1631. /* [out] */ IEnumPins **ppEnum) = 0;
  1632. virtual HRESULT STDMETHODCALLTYPE FindPin(
  1633. /* [string][in] */ LPCWSTR Id,
  1634. /* [out] */ IPin **ppPin) = 0;
  1635. virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(
  1636. /* [out] */ FILTER_INFO *pInfo) = 0;
  1637. virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(
  1638. /* [in] */ IFilterGraph *pGraph,
  1639. /* [string][in] */ LPCWSTR pName) = 0;
  1640. virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(
  1641. /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  1642. };
  1643. #else /* C style interface */
  1644. typedef struct IBaseFilterVtbl
  1645. {
  1646. BEGIN_INTERFACE
  1647. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1648. IBaseFilter * This,
  1649. /* [in] */ REFIID riid,
  1650. /* [iid_is][out] */ void **ppvObject);
  1651. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1652. IBaseFilter * This);
  1653. ULONG ( STDMETHODCALLTYPE *Release )(
  1654. IBaseFilter * This);
  1655. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  1656. IBaseFilter * This,
  1657. /* [out] */ CLSID *pClassID);
  1658. HRESULT ( STDMETHODCALLTYPE *Stop )(
  1659. IBaseFilter * This);
  1660. HRESULT ( STDMETHODCALLTYPE *Pause )(
  1661. IBaseFilter * This);
  1662. HRESULT ( STDMETHODCALLTYPE *Run )(
  1663. IBaseFilter * This,
  1664. REFERENCE_TIME tStart);
  1665. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1666. IBaseFilter * This,
  1667. /* [in] */ DWORD dwMilliSecsTimeout,
  1668. /* [out] */ FILTER_STATE *State);
  1669. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  1670. IBaseFilter * This,
  1671. /* [in] */ IReferenceClock *pClock);
  1672. HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(
  1673. IBaseFilter * This,
  1674. /* [out] */ IReferenceClock **pClock);
  1675. HRESULT ( STDMETHODCALLTYPE *EnumPins )(
  1676. IBaseFilter * This,
  1677. /* [out] */ IEnumPins **ppEnum);
  1678. HRESULT ( STDMETHODCALLTYPE *FindPin )(
  1679. IBaseFilter * This,
  1680. /* [string][in] */ LPCWSTR Id,
  1681. /* [out] */ IPin **ppPin);
  1682. HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(
  1683. IBaseFilter * This,
  1684. /* [out] */ FILTER_INFO *pInfo);
  1685. HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(
  1686. IBaseFilter * This,
  1687. /* [in] */ IFilterGraph *pGraph,
  1688. /* [string][in] */ LPCWSTR pName);
  1689. HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(
  1690. IBaseFilter * This,
  1691. /* [string][out] */ LPWSTR *pVendorInfo);
  1692. END_INTERFACE
  1693. } IBaseFilterVtbl;
  1694. interface IBaseFilter
  1695. {
  1696. CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  1697. };
  1698. #ifdef COBJMACROS
  1699. #define IBaseFilter_QueryInterface(This,riid,ppvObject) \
  1700. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1701. #define IBaseFilter_AddRef(This) \
  1702. (This)->lpVtbl -> AddRef(This)
  1703. #define IBaseFilter_Release(This) \
  1704. (This)->lpVtbl -> Release(This)
  1705. #define IBaseFilter_GetClassID(This,pClassID) \
  1706. (This)->lpVtbl -> GetClassID(This,pClassID)
  1707. #define IBaseFilter_Stop(This) \
  1708. (This)->lpVtbl -> Stop(This)
  1709. #define IBaseFilter_Pause(This) \
  1710. (This)->lpVtbl -> Pause(This)
  1711. #define IBaseFilter_Run(This,tStart) \
  1712. (This)->lpVtbl -> Run(This,tStart)
  1713. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State) \
  1714. (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  1715. #define IBaseFilter_SetSyncSource(This,pClock) \
  1716. (This)->lpVtbl -> SetSyncSource(This,pClock)
  1717. #define IBaseFilter_GetSyncSource(This,pClock) \
  1718. (This)->lpVtbl -> GetSyncSource(This,pClock)
  1719. #define IBaseFilter_EnumPins(This,ppEnum) \
  1720. (This)->lpVtbl -> EnumPins(This,ppEnum)
  1721. #define IBaseFilter_FindPin(This,Id,ppPin) \
  1722. (This)->lpVtbl -> FindPin(This,Id,ppPin)
  1723. #define IBaseFilter_QueryFilterInfo(This,pInfo) \
  1724. (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  1725. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName) \
  1726. (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  1727. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo) \
  1728. (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  1729. #endif /* COBJMACROS */
  1730. #endif /* C style interface */
  1731. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(
  1732. IBaseFilter * This,
  1733. /* [out] */ IEnumPins **ppEnum);
  1734. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  1735. IRpcStubBuffer *This,
  1736. IRpcChannelBuffer *_pRpcChannelBuffer,
  1737. PRPC_MESSAGE _pRpcMessage,
  1738. DWORD *_pdwStubPhase);
  1739. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(
  1740. IBaseFilter * This,
  1741. /* [string][in] */ LPCWSTR Id,
  1742. /* [out] */ IPin **ppPin);
  1743. void __RPC_STUB IBaseFilter_FindPin_Stub(
  1744. IRpcStubBuffer *This,
  1745. IRpcChannelBuffer *_pRpcChannelBuffer,
  1746. PRPC_MESSAGE _pRpcMessage,
  1747. DWORD *_pdwStubPhase);
  1748. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(
  1749. IBaseFilter * This,
  1750. /* [out] */ FILTER_INFO *pInfo);
  1751. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  1752. IRpcStubBuffer *This,
  1753. IRpcChannelBuffer *_pRpcChannelBuffer,
  1754. PRPC_MESSAGE _pRpcMessage,
  1755. DWORD *_pdwStubPhase);
  1756. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(
  1757. IBaseFilter * This,
  1758. /* [in] */ IFilterGraph *pGraph,
  1759. /* [string][in] */ LPCWSTR pName);
  1760. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  1761. IRpcStubBuffer *This,
  1762. IRpcChannelBuffer *_pRpcChannelBuffer,
  1763. PRPC_MESSAGE _pRpcMessage,
  1764. DWORD *_pdwStubPhase);
  1765. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(
  1766. IBaseFilter * This,
  1767. /* [string][out] */ LPWSTR *pVendorInfo);
  1768. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  1769. IRpcStubBuffer *This,
  1770. IRpcChannelBuffer *_pRpcChannelBuffer,
  1771. PRPC_MESSAGE _pRpcMessage,
  1772. DWORD *_pdwStubPhase);
  1773. #endif /* __IBaseFilter_INTERFACE_DEFINED__ */
  1774. /* interface __MIDL_itf_strmif_0120 */
  1775. /* [local] */
  1776. typedef IBaseFilter *PFILTER;
  1777. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  1778. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  1779. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  1780. #define __IReferenceClock_INTERFACE_DEFINED__
  1781. /* interface IReferenceClock */
  1782. /* [unique][uuid][object] */
  1783. EXTERN_C const IID IID_IReferenceClock;
  1784. #if defined(__cplusplus) && !defined(CINTERFACE)
  1785. MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  1786. IReferenceClock : public IUnknown
  1787. {
  1788. public:
  1789. virtual HRESULT STDMETHODCALLTYPE GetTime(
  1790. /* [out] */ REFERENCE_TIME *pTime) = 0;
  1791. virtual HRESULT STDMETHODCALLTYPE AdviseTime(
  1792. /* [in] */ REFERENCE_TIME baseTime,
  1793. /* [in] */ REFERENCE_TIME streamTime,
  1794. /* [in] */ HEVENT hEvent,
  1795. /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1796. virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(
  1797. /* [in] */ REFERENCE_TIME startTime,
  1798. /* [in] */ REFERENCE_TIME periodTime,
  1799. /* [in] */ HSEMAPHORE hSemaphore,
  1800. /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  1801. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  1802. /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  1803. };
  1804. #else /* C style interface */
  1805. typedef struct IReferenceClockVtbl
  1806. {
  1807. BEGIN_INTERFACE
  1808. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1809. IReferenceClock * This,
  1810. /* [in] */ REFIID riid,
  1811. /* [iid_is][out] */ void **ppvObject);
  1812. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1813. IReferenceClock * This);
  1814. ULONG ( STDMETHODCALLTYPE *Release )(
  1815. IReferenceClock * This);
  1816. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  1817. IReferenceClock * This,
  1818. /* [out] */ REFERENCE_TIME *pTime);
  1819. HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
  1820. IReferenceClock * This,
  1821. /* [in] */ REFERENCE_TIME baseTime,
  1822. /* [in] */ REFERENCE_TIME streamTime,
  1823. /* [in] */ HEVENT hEvent,
  1824. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1825. HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
  1826. IReferenceClock * This,
  1827. /* [in] */ REFERENCE_TIME startTime,
  1828. /* [in] */ REFERENCE_TIME periodTime,
  1829. /* [in] */ HSEMAPHORE hSemaphore,
  1830. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1831. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  1832. IReferenceClock * This,
  1833. /* [in] */ DWORD_PTR dwAdviseCookie);
  1834. END_INTERFACE
  1835. } IReferenceClockVtbl;
  1836. interface IReferenceClock
  1837. {
  1838. CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  1839. };
  1840. #ifdef COBJMACROS
  1841. #define IReferenceClock_QueryInterface(This,riid,ppvObject) \
  1842. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1843. #define IReferenceClock_AddRef(This) \
  1844. (This)->lpVtbl -> AddRef(This)
  1845. #define IReferenceClock_Release(This) \
  1846. (This)->lpVtbl -> Release(This)
  1847. #define IReferenceClock_GetTime(This,pTime) \
  1848. (This)->lpVtbl -> GetTime(This,pTime)
  1849. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) \
  1850. (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1851. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) \
  1852. (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1853. #define IReferenceClock_Unadvise(This,dwAdviseCookie) \
  1854. (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  1855. #endif /* COBJMACROS */
  1856. #endif /* C style interface */
  1857. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(
  1858. IReferenceClock * This,
  1859. /* [out] */ REFERENCE_TIME *pTime);
  1860. void __RPC_STUB IReferenceClock_GetTime_Stub(
  1861. IRpcStubBuffer *This,
  1862. IRpcChannelBuffer *_pRpcChannelBuffer,
  1863. PRPC_MESSAGE _pRpcMessage,
  1864. DWORD *_pdwStubPhase);
  1865. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(
  1866. IReferenceClock * This,
  1867. /* [in] */ REFERENCE_TIME baseTime,
  1868. /* [in] */ REFERENCE_TIME streamTime,
  1869. /* [in] */ HEVENT hEvent,
  1870. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1871. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  1872. IRpcStubBuffer *This,
  1873. IRpcChannelBuffer *_pRpcChannelBuffer,
  1874. PRPC_MESSAGE _pRpcMessage,
  1875. DWORD *_pdwStubPhase);
  1876. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(
  1877. IReferenceClock * This,
  1878. /* [in] */ REFERENCE_TIME startTime,
  1879. /* [in] */ REFERENCE_TIME periodTime,
  1880. /* [in] */ HSEMAPHORE hSemaphore,
  1881. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1882. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  1883. IRpcStubBuffer *This,
  1884. IRpcChannelBuffer *_pRpcChannelBuffer,
  1885. PRPC_MESSAGE _pRpcMessage,
  1886. DWORD *_pdwStubPhase);
  1887. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(
  1888. IReferenceClock * This,
  1889. /* [in] */ DWORD_PTR dwAdviseCookie);
  1890. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  1891. IRpcStubBuffer *This,
  1892. IRpcChannelBuffer *_pRpcChannelBuffer,
  1893. PRPC_MESSAGE _pRpcMessage,
  1894. DWORD *_pdwStubPhase);
  1895. #endif /* __IReferenceClock_INTERFACE_DEFINED__ */
  1896. /* interface __MIDL_itf_strmif_0121 */
  1897. /* [local] */
  1898. typedef IReferenceClock *PREFERENCECLOCK;
  1899. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  1900. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  1901. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  1902. #define __IReferenceClock2_INTERFACE_DEFINED__
  1903. /* interface IReferenceClock2 */
  1904. /* [unique][uuid][object] */
  1905. EXTERN_C const IID IID_IReferenceClock2;
  1906. #if defined(__cplusplus) && !defined(CINTERFACE)
  1907. MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  1908. IReferenceClock2 : public IReferenceClock
  1909. {
  1910. public:
  1911. };
  1912. #else /* C style interface */
  1913. typedef struct IReferenceClock2Vtbl
  1914. {
  1915. BEGIN_INTERFACE
  1916. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1917. IReferenceClock2 * This,
  1918. /* [in] */ REFIID riid,
  1919. /* [iid_is][out] */ void **ppvObject);
  1920. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1921. IReferenceClock2 * This);
  1922. ULONG ( STDMETHODCALLTYPE *Release )(
  1923. IReferenceClock2 * This);
  1924. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  1925. IReferenceClock2 * This,
  1926. /* [out] */ REFERENCE_TIME *pTime);
  1927. HRESULT ( STDMETHODCALLTYPE *AdviseTime )(
  1928. IReferenceClock2 * This,
  1929. /* [in] */ REFERENCE_TIME baseTime,
  1930. /* [in] */ REFERENCE_TIME streamTime,
  1931. /* [in] */ HEVENT hEvent,
  1932. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1933. HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(
  1934. IReferenceClock2 * This,
  1935. /* [in] */ REFERENCE_TIME startTime,
  1936. /* [in] */ REFERENCE_TIME periodTime,
  1937. /* [in] */ HSEMAPHORE hSemaphore,
  1938. /* [out] */ DWORD_PTR *pdwAdviseCookie);
  1939. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  1940. IReferenceClock2 * This,
  1941. /* [in] */ DWORD_PTR dwAdviseCookie);
  1942. END_INTERFACE
  1943. } IReferenceClock2Vtbl;
  1944. interface IReferenceClock2
  1945. {
  1946. CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  1947. };
  1948. #ifdef COBJMACROS
  1949. #define IReferenceClock2_QueryInterface(This,riid,ppvObject) \
  1950. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1951. #define IReferenceClock2_AddRef(This) \
  1952. (This)->lpVtbl -> AddRef(This)
  1953. #define IReferenceClock2_Release(This) \
  1954. (This)->lpVtbl -> Release(This)
  1955. #define IReferenceClock2_GetTime(This,pTime) \
  1956. (This)->lpVtbl -> GetTime(This,pTime)
  1957. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie) \
  1958. (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  1959. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie) \
  1960. (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  1961. #define IReferenceClock2_Unadvise(This,dwAdviseCookie) \
  1962. (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  1963. #endif /* COBJMACROS */
  1964. #endif /* C style interface */
  1965. #endif /* __IReferenceClock2_INTERFACE_DEFINED__ */
  1966. /* interface __MIDL_itf_strmif_0122 */
  1967. /* [local] */
  1968. typedef IReferenceClock2 *PREFERENCECLOCK2;
  1969. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  1970. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  1971. #ifndef __IMediaSample_INTERFACE_DEFINED__
  1972. #define __IMediaSample_INTERFACE_DEFINED__
  1973. /* interface IMediaSample */
  1974. /* [unique][uuid][object][local] */
  1975. EXTERN_C const IID IID_IMediaSample;
  1976. #if defined(__cplusplus) && !defined(CINTERFACE)
  1977. MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  1978. IMediaSample : public IUnknown
  1979. {
  1980. public:
  1981. virtual HRESULT STDMETHODCALLTYPE GetPointer(
  1982. /* [out] */ BYTE **ppBuffer) = 0;
  1983. virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  1984. virtual HRESULT STDMETHODCALLTYPE GetTime(
  1985. /* [out] */ REFERENCE_TIME *pTimeStart,
  1986. /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  1987. virtual HRESULT STDMETHODCALLTYPE SetTime(
  1988. /* [in] */ REFERENCE_TIME *pTimeStart,
  1989. /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  1990. virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  1991. virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(
  1992. BOOL bIsSyncPoint) = 0;
  1993. virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  1994. virtual HRESULT STDMETHODCALLTYPE SetPreroll(
  1995. BOOL bIsPreroll) = 0;
  1996. virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  1997. virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(
  1998. long __MIDL_0010) = 0;
  1999. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  2000. AM_MEDIA_TYPE **ppMediaType) = 0;
  2001. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  2002. AM_MEDIA_TYPE *pMediaType) = 0;
  2003. virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  2004. virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(
  2005. BOOL bDiscontinuity) = 0;
  2006. virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
  2007. /* [out] */ LONGLONG *pTimeStart,
  2008. /* [out] */ LONGLONG *pTimeEnd) = 0;
  2009. virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
  2010. /* [in] */ LONGLONG *pTimeStart,
  2011. /* [in] */ LONGLONG *pTimeEnd) = 0;
  2012. };
  2013. #else /* C style interface */
  2014. typedef struct IMediaSampleVtbl
  2015. {
  2016. BEGIN_INTERFACE
  2017. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2018. IMediaSample * This,
  2019. /* [in] */ REFIID riid,
  2020. /* [iid_is][out] */ void **ppvObject);
  2021. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2022. IMediaSample * This);
  2023. ULONG ( STDMETHODCALLTYPE *Release )(
  2024. IMediaSample * This);
  2025. HRESULT ( STDMETHODCALLTYPE *GetPointer )(
  2026. IMediaSample * This,
  2027. /* [out] */ BYTE **ppBuffer);
  2028. long ( STDMETHODCALLTYPE *GetSize )(
  2029. IMediaSample * This);
  2030. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  2031. IMediaSample * This,
  2032. /* [out] */ REFERENCE_TIME *pTimeStart,
  2033. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2034. HRESULT ( STDMETHODCALLTYPE *SetTime )(
  2035. IMediaSample * This,
  2036. /* [in] */ REFERENCE_TIME *pTimeStart,
  2037. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2038. HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
  2039. IMediaSample * This);
  2040. HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
  2041. IMediaSample * This,
  2042. BOOL bIsSyncPoint);
  2043. HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
  2044. IMediaSample * This);
  2045. HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
  2046. IMediaSample * This,
  2047. BOOL bIsPreroll);
  2048. long ( STDMETHODCALLTYPE *GetActualDataLength )(
  2049. IMediaSample * This);
  2050. HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
  2051. IMediaSample * This,
  2052. long __MIDL_0010);
  2053. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  2054. IMediaSample * This,
  2055. AM_MEDIA_TYPE **ppMediaType);
  2056. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  2057. IMediaSample * This,
  2058. AM_MEDIA_TYPE *pMediaType);
  2059. HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
  2060. IMediaSample * This);
  2061. HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
  2062. IMediaSample * This,
  2063. BOOL bDiscontinuity);
  2064. HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
  2065. IMediaSample * This,
  2066. /* [out] */ LONGLONG *pTimeStart,
  2067. /* [out] */ LONGLONG *pTimeEnd);
  2068. HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
  2069. IMediaSample * This,
  2070. /* [in] */ LONGLONG *pTimeStart,
  2071. /* [in] */ LONGLONG *pTimeEnd);
  2072. END_INTERFACE
  2073. } IMediaSampleVtbl;
  2074. interface IMediaSample
  2075. {
  2076. CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  2077. };
  2078. #ifdef COBJMACROS
  2079. #define IMediaSample_QueryInterface(This,riid,ppvObject) \
  2080. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2081. #define IMediaSample_AddRef(This) \
  2082. (This)->lpVtbl -> AddRef(This)
  2083. #define IMediaSample_Release(This) \
  2084. (This)->lpVtbl -> Release(This)
  2085. #define IMediaSample_GetPointer(This,ppBuffer) \
  2086. (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2087. #define IMediaSample_GetSize(This) \
  2088. (This)->lpVtbl -> GetSize(This)
  2089. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd) \
  2090. (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2091. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd) \
  2092. (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2093. #define IMediaSample_IsSyncPoint(This) \
  2094. (This)->lpVtbl -> IsSyncPoint(This)
  2095. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint) \
  2096. (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2097. #define IMediaSample_IsPreroll(This) \
  2098. (This)->lpVtbl -> IsPreroll(This)
  2099. #define IMediaSample_SetPreroll(This,bIsPreroll) \
  2100. (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2101. #define IMediaSample_GetActualDataLength(This) \
  2102. (This)->lpVtbl -> GetActualDataLength(This)
  2103. #define IMediaSample_SetActualDataLength(This,__MIDL_0010) \
  2104. (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2105. #define IMediaSample_GetMediaType(This,ppMediaType) \
  2106. (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2107. #define IMediaSample_SetMediaType(This,pMediaType) \
  2108. (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2109. #define IMediaSample_IsDiscontinuity(This) \
  2110. (This)->lpVtbl -> IsDiscontinuity(This)
  2111. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity) \
  2112. (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2113. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd) \
  2114. (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2115. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd) \
  2116. (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2117. #endif /* COBJMACROS */
  2118. #endif /* C style interface */
  2119. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(
  2120. IMediaSample * This,
  2121. /* [out] */ BYTE **ppBuffer);
  2122. void __RPC_STUB IMediaSample_GetPointer_Stub(
  2123. IRpcStubBuffer *This,
  2124. IRpcChannelBuffer *_pRpcChannelBuffer,
  2125. PRPC_MESSAGE _pRpcMessage,
  2126. DWORD *_pdwStubPhase);
  2127. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(
  2128. IMediaSample * This);
  2129. void __RPC_STUB IMediaSample_GetSize_Stub(
  2130. IRpcStubBuffer *This,
  2131. IRpcChannelBuffer *_pRpcChannelBuffer,
  2132. PRPC_MESSAGE _pRpcMessage,
  2133. DWORD *_pdwStubPhase);
  2134. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(
  2135. IMediaSample * This,
  2136. /* [out] */ REFERENCE_TIME *pTimeStart,
  2137. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2138. void __RPC_STUB IMediaSample_GetTime_Stub(
  2139. IRpcStubBuffer *This,
  2140. IRpcChannelBuffer *_pRpcChannelBuffer,
  2141. PRPC_MESSAGE _pRpcMessage,
  2142. DWORD *_pdwStubPhase);
  2143. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(
  2144. IMediaSample * This,
  2145. /* [in] */ REFERENCE_TIME *pTimeStart,
  2146. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2147. void __RPC_STUB IMediaSample_SetTime_Stub(
  2148. IRpcStubBuffer *This,
  2149. IRpcChannelBuffer *_pRpcChannelBuffer,
  2150. PRPC_MESSAGE _pRpcMessage,
  2151. DWORD *_pdwStubPhase);
  2152. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(
  2153. IMediaSample * This);
  2154. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  2155. IRpcStubBuffer *This,
  2156. IRpcChannelBuffer *_pRpcChannelBuffer,
  2157. PRPC_MESSAGE _pRpcMessage,
  2158. DWORD *_pdwStubPhase);
  2159. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(
  2160. IMediaSample * This,
  2161. BOOL bIsSyncPoint);
  2162. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  2163. IRpcStubBuffer *This,
  2164. IRpcChannelBuffer *_pRpcChannelBuffer,
  2165. PRPC_MESSAGE _pRpcMessage,
  2166. DWORD *_pdwStubPhase);
  2167. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(
  2168. IMediaSample * This);
  2169. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  2170. IRpcStubBuffer *This,
  2171. IRpcChannelBuffer *_pRpcChannelBuffer,
  2172. PRPC_MESSAGE _pRpcMessage,
  2173. DWORD *_pdwStubPhase);
  2174. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(
  2175. IMediaSample * This,
  2176. BOOL bIsPreroll);
  2177. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  2178. IRpcStubBuffer *This,
  2179. IRpcChannelBuffer *_pRpcChannelBuffer,
  2180. PRPC_MESSAGE _pRpcMessage,
  2181. DWORD *_pdwStubPhase);
  2182. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(
  2183. IMediaSample * This);
  2184. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  2185. IRpcStubBuffer *This,
  2186. IRpcChannelBuffer *_pRpcChannelBuffer,
  2187. PRPC_MESSAGE _pRpcMessage,
  2188. DWORD *_pdwStubPhase);
  2189. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(
  2190. IMediaSample * This,
  2191. long __MIDL_0010);
  2192. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  2193. IRpcStubBuffer *This,
  2194. IRpcChannelBuffer *_pRpcChannelBuffer,
  2195. PRPC_MESSAGE _pRpcMessage,
  2196. DWORD *_pdwStubPhase);
  2197. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(
  2198. IMediaSample * This,
  2199. AM_MEDIA_TYPE **ppMediaType);
  2200. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  2201. IRpcStubBuffer *This,
  2202. IRpcChannelBuffer *_pRpcChannelBuffer,
  2203. PRPC_MESSAGE _pRpcMessage,
  2204. DWORD *_pdwStubPhase);
  2205. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(
  2206. IMediaSample * This,
  2207. AM_MEDIA_TYPE *pMediaType);
  2208. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  2209. IRpcStubBuffer *This,
  2210. IRpcChannelBuffer *_pRpcChannelBuffer,
  2211. PRPC_MESSAGE _pRpcMessage,
  2212. DWORD *_pdwStubPhase);
  2213. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(
  2214. IMediaSample * This);
  2215. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  2216. IRpcStubBuffer *This,
  2217. IRpcChannelBuffer *_pRpcChannelBuffer,
  2218. PRPC_MESSAGE _pRpcMessage,
  2219. DWORD *_pdwStubPhase);
  2220. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(
  2221. IMediaSample * This,
  2222. BOOL bDiscontinuity);
  2223. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  2224. IRpcStubBuffer *This,
  2225. IRpcChannelBuffer *_pRpcChannelBuffer,
  2226. PRPC_MESSAGE _pRpcMessage,
  2227. DWORD *_pdwStubPhase);
  2228. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(
  2229. IMediaSample * This,
  2230. /* [out] */ LONGLONG *pTimeStart,
  2231. /* [out] */ LONGLONG *pTimeEnd);
  2232. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  2233. IRpcStubBuffer *This,
  2234. IRpcChannelBuffer *_pRpcChannelBuffer,
  2235. PRPC_MESSAGE _pRpcMessage,
  2236. DWORD *_pdwStubPhase);
  2237. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(
  2238. IMediaSample * This,
  2239. /* [in] */ LONGLONG *pTimeStart,
  2240. /* [in] */ LONGLONG *pTimeEnd);
  2241. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  2242. IRpcStubBuffer *This,
  2243. IRpcChannelBuffer *_pRpcChannelBuffer,
  2244. PRPC_MESSAGE _pRpcMessage,
  2245. DWORD *_pdwStubPhase);
  2246. #endif /* __IMediaSample_INTERFACE_DEFINED__ */
  2247. /* interface __MIDL_itf_strmif_0123 */
  2248. /* [local] */
  2249. typedef IMediaSample *PMEDIASAMPLE;
  2250. enum tagAM_SAMPLE_PROPERTY_FLAGS
  2251. { AM_SAMPLE_SPLICEPOINT = 0x1,
  2252. AM_SAMPLE_PREROLL = 0x2,
  2253. AM_SAMPLE_DATADISCONTINUITY = 0x4,
  2254. AM_SAMPLE_TYPECHANGED = 0x8,
  2255. AM_SAMPLE_TIMEVALID = 0x10,
  2256. AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  2257. AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  2258. AM_SAMPLE_STOPVALID = 0x100,
  2259. AM_SAMPLE_ENDOFSTREAM = 0x200,
  2260. AM_STREAM_MEDIA = 0,
  2261. AM_STREAM_CONTROL = 1
  2262. } ;
  2263. typedef struct tagAM_SAMPLE2_PROPERTIES
  2264. {
  2265. DWORD cbData;
  2266. DWORD dwTypeSpecificFlags;
  2267. DWORD dwSampleFlags;
  2268. LONG lActual;
  2269. REFERENCE_TIME tStart;
  2270. REFERENCE_TIME tStop;
  2271. DWORD dwStreamId;
  2272. AM_MEDIA_TYPE *pMediaType;
  2273. BYTE *pbBuffer;
  2274. LONG cbBuffer;
  2275. } AM_SAMPLE2_PROPERTIES;
  2276. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  2277. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  2278. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  2279. #define __IMediaSample2_INTERFACE_DEFINED__
  2280. /* interface IMediaSample2 */
  2281. /* [unique][uuid][object][local] */
  2282. EXTERN_C const IID IID_IMediaSample2;
  2283. #if defined(__cplusplus) && !defined(CINTERFACE)
  2284. MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  2285. IMediaSample2 : public IMediaSample
  2286. {
  2287. public:
  2288. virtual HRESULT STDMETHODCALLTYPE GetProperties(
  2289. /* [in] */ DWORD cbProperties,
  2290. /* [size_is][out] */ BYTE *pbProperties) = 0;
  2291. virtual HRESULT STDMETHODCALLTYPE SetProperties(
  2292. /* [in] */ DWORD cbProperties,
  2293. /* [size_is][in] */ const BYTE *pbProperties) = 0;
  2294. };
  2295. #else /* C style interface */
  2296. typedef struct IMediaSample2Vtbl
  2297. {
  2298. BEGIN_INTERFACE
  2299. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2300. IMediaSample2 * This,
  2301. /* [in] */ REFIID riid,
  2302. /* [iid_is][out] */ void **ppvObject);
  2303. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2304. IMediaSample2 * This);
  2305. ULONG ( STDMETHODCALLTYPE *Release )(
  2306. IMediaSample2 * This);
  2307. HRESULT ( STDMETHODCALLTYPE *GetPointer )(
  2308. IMediaSample2 * This,
  2309. /* [out] */ BYTE **ppBuffer);
  2310. long ( STDMETHODCALLTYPE *GetSize )(
  2311. IMediaSample2 * This);
  2312. HRESULT ( STDMETHODCALLTYPE *GetTime )(
  2313. IMediaSample2 * This,
  2314. /* [out] */ REFERENCE_TIME *pTimeStart,
  2315. /* [out] */ REFERENCE_TIME *pTimeEnd);
  2316. HRESULT ( STDMETHODCALLTYPE *SetTime )(
  2317. IMediaSample2 * This,
  2318. /* [in] */ REFERENCE_TIME *pTimeStart,
  2319. /* [in] */ REFERENCE_TIME *pTimeEnd);
  2320. HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(
  2321. IMediaSample2 * This);
  2322. HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(
  2323. IMediaSample2 * This,
  2324. BOOL bIsSyncPoint);
  2325. HRESULT ( STDMETHODCALLTYPE *IsPreroll )(
  2326. IMediaSample2 * This);
  2327. HRESULT ( STDMETHODCALLTYPE *SetPreroll )(
  2328. IMediaSample2 * This,
  2329. BOOL bIsPreroll);
  2330. long ( STDMETHODCALLTYPE *GetActualDataLength )(
  2331. IMediaSample2 * This);
  2332. HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(
  2333. IMediaSample2 * This,
  2334. long __MIDL_0010);
  2335. HRESULT ( STDMETHODCALLTYPE *GetMediaType )(
  2336. IMediaSample2 * This,
  2337. AM_MEDIA_TYPE **ppMediaType);
  2338. HRESULT ( STDMETHODCALLTYPE *SetMediaType )(
  2339. IMediaSample2 * This,
  2340. AM_MEDIA_TYPE *pMediaType);
  2341. HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(
  2342. IMediaSample2 * This);
  2343. HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(
  2344. IMediaSample2 * This,
  2345. BOOL bDiscontinuity);
  2346. HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(
  2347. IMediaSample2 * This,
  2348. /* [out] */ LONGLONG *pTimeStart,
  2349. /* [out] */ LONGLONG *pTimeEnd);
  2350. HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(
  2351. IMediaSample2 * This,
  2352. /* [in] */ LONGLONG *pTimeStart,
  2353. /* [in] */ LONGLONG *pTimeEnd);
  2354. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2355. IMediaSample2 * This,
  2356. /* [in] */ DWORD cbProperties,
  2357. /* [size_is][out] */ BYTE *pbProperties);
  2358. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2359. IMediaSample2 * This,
  2360. /* [in] */ DWORD cbProperties,
  2361. /* [size_is][in] */ const BYTE *pbProperties);
  2362. END_INTERFACE
  2363. } IMediaSample2Vtbl;
  2364. interface IMediaSample2
  2365. {
  2366. CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  2367. };
  2368. #ifdef COBJMACROS
  2369. #define IMediaSample2_QueryInterface(This,riid,ppvObject) \
  2370. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2371. #define IMediaSample2_AddRef(This) \
  2372. (This)->lpVtbl -> AddRef(This)
  2373. #define IMediaSample2_Release(This) \
  2374. (This)->lpVtbl -> Release(This)
  2375. #define IMediaSample2_GetPointer(This,ppBuffer) \
  2376. (This)->lpVtbl -> GetPointer(This,ppBuffer)
  2377. #define IMediaSample2_GetSize(This) \
  2378. (This)->lpVtbl -> GetSize(This)
  2379. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd) \
  2380. (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  2381. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd) \
  2382. (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  2383. #define IMediaSample2_IsSyncPoint(This) \
  2384. (This)->lpVtbl -> IsSyncPoint(This)
  2385. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint) \
  2386. (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  2387. #define IMediaSample2_IsPreroll(This) \
  2388. (This)->lpVtbl -> IsPreroll(This)
  2389. #define IMediaSample2_SetPreroll(This,bIsPreroll) \
  2390. (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  2391. #define IMediaSample2_GetActualDataLength(This) \
  2392. (This)->lpVtbl -> GetActualDataLength(This)
  2393. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010) \
  2394. (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  2395. #define IMediaSample2_GetMediaType(This,ppMediaType) \
  2396. (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  2397. #define IMediaSample2_SetMediaType(This,pMediaType) \
  2398. (This)->lpVtbl -> SetMediaType(This,pMediaType)
  2399. #define IMediaSample2_IsDiscontinuity(This) \
  2400. (This)->lpVtbl -> IsDiscontinuity(This)
  2401. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity) \
  2402. (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  2403. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd) \
  2404. (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  2405. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd) \
  2406. (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  2407. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties) \
  2408. (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  2409. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties) \
  2410. (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  2411. #endif /* COBJMACROS */
  2412. #endif /* C style interface */
  2413. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(
  2414. IMediaSample2 * This,
  2415. /* [in] */ DWORD cbProperties,
  2416. /* [size_is][out] */ BYTE *pbProperties);
  2417. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  2418. IRpcStubBuffer *This,
  2419. IRpcChannelBuffer *_pRpcChannelBuffer,
  2420. PRPC_MESSAGE _pRpcMessage,
  2421. DWORD *_pdwStubPhase);
  2422. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(
  2423. IMediaSample2 * This,
  2424. /* [in] */ DWORD cbProperties,
  2425. /* [size_is][in] */ const BYTE *pbProperties);
  2426. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  2427. IRpcStubBuffer *This,
  2428. IRpcChannelBuffer *_pRpcChannelBuffer,
  2429. PRPC_MESSAGE _pRpcMessage,
  2430. DWORD *_pdwStubPhase);
  2431. #endif /* __IMediaSample2_INTERFACE_DEFINED__ */
  2432. /* interface __MIDL_itf_strmif_0124 */
  2433. /* [local] */
  2434. typedef IMediaSample2 *PMEDIASAMPLE2;
  2435. #define AM_GBF_PREVFRAMESKIPPED 1
  2436. #define AM_GBF_NOTASYNCPOINT 2
  2437. #define AM_GBF_NOWAIT 4
  2438. #define AM_GBF_NODDSURFACELOCK 8
  2439. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  2440. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  2441. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  2442. #define __IMemAllocator_INTERFACE_DEFINED__
  2443. /* interface IMemAllocator */
  2444. /* [unique][uuid][object] */
  2445. EXTERN_C const IID IID_IMemAllocator;
  2446. #if defined(__cplusplus) && !defined(CINTERFACE)
  2447. MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  2448. IMemAllocator : public IUnknown
  2449. {
  2450. public:
  2451. virtual HRESULT STDMETHODCALLTYPE SetProperties(
  2452. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2453. /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  2454. virtual HRESULT STDMETHODCALLTYPE GetProperties(
  2455. /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  2456. virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  2457. virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  2458. virtual HRESULT STDMETHODCALLTYPE GetBuffer(
  2459. /* [out] */ IMediaSample **ppBuffer,
  2460. /* [in] */ REFERENCE_TIME *pStartTime,
  2461. /* [in] */ REFERENCE_TIME *pEndTime,
  2462. /* [in] */ DWORD dwFlags) = 0;
  2463. virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(
  2464. /* [in] */ IMediaSample *pBuffer) = 0;
  2465. };
  2466. #else /* C style interface */
  2467. typedef struct IMemAllocatorVtbl
  2468. {
  2469. BEGIN_INTERFACE
  2470. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2471. IMemAllocator * This,
  2472. /* [in] */ REFIID riid,
  2473. /* [iid_is][out] */ void **ppvObject);
  2474. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2475. IMemAllocator * This);
  2476. ULONG ( STDMETHODCALLTYPE *Release )(
  2477. IMemAllocator * This);
  2478. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2479. IMemAllocator * This,
  2480. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2481. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2482. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2483. IMemAllocator * This,
  2484. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2485. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2486. IMemAllocator * This);
  2487. HRESULT ( STDMETHODCALLTYPE *Decommit )(
  2488. IMemAllocator * This);
  2489. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  2490. IMemAllocator * This,
  2491. /* [out] */ IMediaSample **ppBuffer,
  2492. /* [in] */ REFERENCE_TIME *pStartTime,
  2493. /* [in] */ REFERENCE_TIME *pEndTime,
  2494. /* [in] */ DWORD dwFlags);
  2495. HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
  2496. IMemAllocator * This,
  2497. /* [in] */ IMediaSample *pBuffer);
  2498. END_INTERFACE
  2499. } IMemAllocatorVtbl;
  2500. interface IMemAllocator
  2501. {
  2502. CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  2503. };
  2504. #ifdef COBJMACROS
  2505. #define IMemAllocator_QueryInterface(This,riid,ppvObject) \
  2506. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2507. #define IMemAllocator_AddRef(This) \
  2508. (This)->lpVtbl -> AddRef(This)
  2509. #define IMemAllocator_Release(This) \
  2510. (This)->lpVtbl -> Release(This)
  2511. #define IMemAllocator_SetProperties(This,pRequest,pActual) \
  2512. (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2513. #define IMemAllocator_GetProperties(This,pProps) \
  2514. (This)->lpVtbl -> GetProperties(This,pProps)
  2515. #define IMemAllocator_Commit(This) \
  2516. (This)->lpVtbl -> Commit(This)
  2517. #define IMemAllocator_Decommit(This) \
  2518. (This)->lpVtbl -> Decommit(This)
  2519. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) \
  2520. (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2521. #define IMemAllocator_ReleaseBuffer(This,pBuffer) \
  2522. (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2523. #endif /* COBJMACROS */
  2524. #endif /* C style interface */
  2525. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(
  2526. IMemAllocator * This,
  2527. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2528. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2529. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  2530. IRpcStubBuffer *This,
  2531. IRpcChannelBuffer *_pRpcChannelBuffer,
  2532. PRPC_MESSAGE _pRpcMessage,
  2533. DWORD *_pdwStubPhase);
  2534. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(
  2535. IMemAllocator * This,
  2536. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2537. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  2538. IRpcStubBuffer *This,
  2539. IRpcChannelBuffer *_pRpcChannelBuffer,
  2540. PRPC_MESSAGE _pRpcMessage,
  2541. DWORD *_pdwStubPhase);
  2542. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(
  2543. IMemAllocator * This);
  2544. void __RPC_STUB IMemAllocator_Commit_Stub(
  2545. IRpcStubBuffer *This,
  2546. IRpcChannelBuffer *_pRpcChannelBuffer,
  2547. PRPC_MESSAGE _pRpcMessage,
  2548. DWORD *_pdwStubPhase);
  2549. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(
  2550. IMemAllocator * This);
  2551. void __RPC_STUB IMemAllocator_Decommit_Stub(
  2552. IRpcStubBuffer *This,
  2553. IRpcChannelBuffer *_pRpcChannelBuffer,
  2554. PRPC_MESSAGE _pRpcMessage,
  2555. DWORD *_pdwStubPhase);
  2556. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(
  2557. IMemAllocator * This,
  2558. /* [out] */ IMediaSample **ppBuffer,
  2559. /* [in] */ REFERENCE_TIME *pStartTime,
  2560. /* [in] */ REFERENCE_TIME *pEndTime,
  2561. /* [in] */ DWORD dwFlags);
  2562. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  2563. IRpcStubBuffer *This,
  2564. IRpcChannelBuffer *_pRpcChannelBuffer,
  2565. PRPC_MESSAGE _pRpcMessage,
  2566. DWORD *_pdwStubPhase);
  2567. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(
  2568. IMemAllocator * This,
  2569. /* [in] */ IMediaSample *pBuffer);
  2570. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  2571. IRpcStubBuffer *This,
  2572. IRpcChannelBuffer *_pRpcChannelBuffer,
  2573. PRPC_MESSAGE _pRpcMessage,
  2574. DWORD *_pdwStubPhase);
  2575. #endif /* __IMemAllocator_INTERFACE_DEFINED__ */
  2576. /* interface __MIDL_itf_strmif_0125 */
  2577. /* [local] */
  2578. typedef IMemAllocator *PMEMALLOCATOR;
  2579. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_c_ifspec;
  2580. extern RPC_IF_HANDLE __MIDL_itf_strmif_0125_v0_0_s_ifspec;
  2581. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2582. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  2583. /* interface IMemAllocatorCallbackTemp */
  2584. /* [unique][uuid][object] */
  2585. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  2586. #if defined(__cplusplus) && !defined(CINTERFACE)
  2587. MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  2588. IMemAllocatorCallbackTemp : public IMemAllocator
  2589. {
  2590. public:
  2591. virtual HRESULT STDMETHODCALLTYPE SetNotify(
  2592. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  2593. virtual HRESULT STDMETHODCALLTYPE GetFreeCount(
  2594. /* [out] */ LONG *plBuffersFree) = 0;
  2595. };
  2596. #else /* C style interface */
  2597. typedef struct IMemAllocatorCallbackTempVtbl
  2598. {
  2599. BEGIN_INTERFACE
  2600. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2601. IMemAllocatorCallbackTemp * This,
  2602. /* [in] */ REFIID riid,
  2603. /* [iid_is][out] */ void **ppvObject);
  2604. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2605. IMemAllocatorCallbackTemp * This);
  2606. ULONG ( STDMETHODCALLTYPE *Release )(
  2607. IMemAllocatorCallbackTemp * This);
  2608. HRESULT ( STDMETHODCALLTYPE *SetProperties )(
  2609. IMemAllocatorCallbackTemp * This,
  2610. /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  2611. /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  2612. HRESULT ( STDMETHODCALLTYPE *GetProperties )(
  2613. IMemAllocatorCallbackTemp * This,
  2614. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2615. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2616. IMemAllocatorCallbackTemp * This);
  2617. HRESULT ( STDMETHODCALLTYPE *Decommit )(
  2618. IMemAllocatorCallbackTemp * This);
  2619. HRESULT ( STDMETHODCALLTYPE *GetBuffer )(
  2620. IMemAllocatorCallbackTemp * This,
  2621. /* [out] */ IMediaSample **ppBuffer,
  2622. /* [in] */ REFERENCE_TIME *pStartTime,
  2623. /* [in] */ REFERENCE_TIME *pEndTime,
  2624. /* [in] */ DWORD dwFlags);
  2625. HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(
  2626. IMemAllocatorCallbackTemp * This,
  2627. /* [in] */ IMediaSample *pBuffer);
  2628. HRESULT ( STDMETHODCALLTYPE *SetNotify )(
  2629. IMemAllocatorCallbackTemp * This,
  2630. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2631. HRESULT ( STDMETHODCALLTYPE *GetFreeCount )(
  2632. IMemAllocatorCallbackTemp * This,
  2633. /* [out] */ LONG *plBuffersFree);
  2634. END_INTERFACE
  2635. } IMemAllocatorCallbackTempVtbl;
  2636. interface IMemAllocatorCallbackTemp
  2637. {
  2638. CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  2639. };
  2640. #ifdef COBJMACROS
  2641. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject) \
  2642. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2643. #define IMemAllocatorCallbackTemp_AddRef(This) \
  2644. (This)->lpVtbl -> AddRef(This)
  2645. #define IMemAllocatorCallbackTemp_Release(This) \
  2646. (This)->lpVtbl -> Release(This)
  2647. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual) \
  2648. (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  2649. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps) \
  2650. (This)->lpVtbl -> GetProperties(This,pProps)
  2651. #define IMemAllocatorCallbackTemp_Commit(This) \
  2652. (This)->lpVtbl -> Commit(This)
  2653. #define IMemAllocatorCallbackTemp_Decommit(This) \
  2654. (This)->lpVtbl -> Decommit(This)
  2655. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags) \
  2656. (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  2657. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer) \
  2658. (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  2659. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify) \
  2660. (This)->lpVtbl -> SetNotify(This,pNotify)
  2661. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree) \
  2662. (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  2663. #endif /* COBJMACROS */
  2664. #endif /* C style interface */
  2665. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(
  2666. IMemAllocatorCallbackTemp * This,
  2667. /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  2668. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  2669. IRpcStubBuffer *This,
  2670. IRpcChannelBuffer *_pRpcChannelBuffer,
  2671. PRPC_MESSAGE _pRpcMessage,
  2672. DWORD *_pdwStubPhase);
  2673. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(
  2674. IMemAllocatorCallbackTemp * This,
  2675. /* [out] */ LONG *plBuffersFree);
  2676. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  2677. IRpcStubBuffer *This,
  2678. IRpcChannelBuffer *_pRpcChannelBuffer,
  2679. PRPC_MESSAGE _pRpcMessage,
  2680. DWORD *_pdwStubPhase);
  2681. #endif /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  2682. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2683. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  2684. /* interface IMemAllocatorNotifyCallbackTemp */
  2685. /* [unique][uuid][object] */
  2686. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  2687. #if defined(__cplusplus) && !defined(CINTERFACE)
  2688. MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  2689. IMemAllocatorNotifyCallbackTemp : public IUnknown
  2690. {
  2691. public:
  2692. virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  2693. };
  2694. #else /* C style interface */
  2695. typedef struct IMemAllocatorNotifyCallbackTempVtbl
  2696. {
  2697. BEGIN_INTERFACE
  2698. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2699. IMemAllocatorNotifyCallbackTemp * This,
  2700. /* [in] */ REFIID riid,
  2701. /* [iid_is][out] */ void **ppvObject);
  2702. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2703. IMemAllocatorNotifyCallbackTemp * This);
  2704. ULONG ( STDMETHODCALLTYPE *Release )(
  2705. IMemAllocatorNotifyCallbackTemp * This);
  2706. HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
  2707. IMemAllocatorNotifyCallbackTemp * This);
  2708. END_INTERFACE
  2709. } IMemAllocatorNotifyCallbackTempVtbl;
  2710. interface IMemAllocatorNotifyCallbackTemp
  2711. {
  2712. CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  2713. };
  2714. #ifdef COBJMACROS
  2715. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject) \
  2716. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2717. #define IMemAllocatorNotifyCallbackTemp_AddRef(This) \
  2718. (This)->lpVtbl -> AddRef(This)
  2719. #define IMemAllocatorNotifyCallbackTemp_Release(This) \
  2720. (This)->lpVtbl -> Release(This)
  2721. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) \
  2722. (This)->lpVtbl -> NotifyRelease(This)
  2723. #endif /* COBJMACROS */
  2724. #endif /* C style interface */
  2725. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(
  2726. IMemAllocatorNotifyCallbackTemp * This);
  2727. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  2728. IRpcStubBuffer *This,
  2729. IRpcChannelBuffer *_pRpcChannelBuffer,
  2730. PRPC_MESSAGE _pRpcMessage,
  2731. DWORD *_pdwStubPhase);
  2732. #endif /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  2733. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  2734. #define __IMemInputPin_INTERFACE_DEFINED__
  2735. /* interface IMemInputPin */
  2736. /* [unique][uuid][object] */
  2737. EXTERN_C const IID IID_IMemInputPin;
  2738. #if defined(__cplusplus) && !defined(CINTERFACE)
  2739. MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  2740. IMemInputPin : public IUnknown
  2741. {
  2742. public:
  2743. virtual HRESULT STDMETHODCALLTYPE GetAllocator(
  2744. /* [out] */ IMemAllocator **ppAllocator) = 0;
  2745. virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(
  2746. /* [in] */ IMemAllocator *pAllocator,
  2747. /* [in] */ BOOL bReadOnly) = 0;
  2748. virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(
  2749. /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  2750. virtual HRESULT STDMETHODCALLTYPE Receive(
  2751. /* [in] */ IMediaSample *pSample) = 0;
  2752. virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(
  2753. /* [size_is][in] */ IMediaSample **pSamples,
  2754. /* [in] */ long nSamples,
  2755. /* [out] */ long *nSamplesProcessed) = 0;
  2756. virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  2757. };
  2758. #else /* C style interface */
  2759. typedef struct IMemInputPinVtbl
  2760. {
  2761. BEGIN_INTERFACE
  2762. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2763. IMemInputPin * This,
  2764. /* [in] */ REFIID riid,
  2765. /* [iid_is][out] */ void **ppvObject);
  2766. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2767. IMemInputPin * This);
  2768. ULONG ( STDMETHODCALLTYPE *Release )(
  2769. IMemInputPin * This);
  2770. HRESULT ( STDMETHODCALLTYPE *GetAllocator )(
  2771. IMemInputPin * This,
  2772. /* [out] */ IMemAllocator **ppAllocator);
  2773. HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(
  2774. IMemInputPin * This,
  2775. /* [in] */ IMemAllocator *pAllocator,
  2776. /* [in] */ BOOL bReadOnly);
  2777. HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )(
  2778. IMemInputPin * This,
  2779. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2780. HRESULT ( STDMETHODCALLTYPE *Receive )(
  2781. IMemInputPin * This,
  2782. /* [in] */ IMediaSample *pSample);
  2783. HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )(
  2784. IMemInputPin * This,
  2785. /* [size_is][in] */ IMediaSample **pSamples,
  2786. /* [in] */ long nSamples,
  2787. /* [out] */ long *nSamplesProcessed);
  2788. HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )(
  2789. IMemInputPin * This);
  2790. END_INTERFACE
  2791. } IMemInputPinVtbl;
  2792. interface IMemInputPin
  2793. {
  2794. CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  2795. };
  2796. #ifdef COBJMACROS
  2797. #define IMemInputPin_QueryInterface(This,riid,ppvObject) \
  2798. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2799. #define IMemInputPin_AddRef(This) \
  2800. (This)->lpVtbl -> AddRef(This)
  2801. #define IMemInputPin_Release(This) \
  2802. (This)->lpVtbl -> Release(This)
  2803. #define IMemInputPin_GetAllocator(This,ppAllocator) \
  2804. (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  2805. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly) \
  2806. (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  2807. #define IMemInputPin_GetAllocatorRequirements(This,pProps) \
  2808. (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  2809. #define IMemInputPin_Receive(This,pSample) \
  2810. (This)->lpVtbl -> Receive(This,pSample)
  2811. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed) \
  2812. (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  2813. #define IMemInputPin_ReceiveCanBlock(This) \
  2814. (This)->lpVtbl -> ReceiveCanBlock(This)
  2815. #endif /* COBJMACROS */
  2816. #endif /* C style interface */
  2817. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(
  2818. IMemInputPin * This,
  2819. /* [out] */ IMemAllocator **ppAllocator);
  2820. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  2821. IRpcStubBuffer *This,
  2822. IRpcChannelBuffer *_pRpcChannelBuffer,
  2823. PRPC_MESSAGE _pRpcMessage,
  2824. DWORD *_pdwStubPhase);
  2825. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(
  2826. IMemInputPin * This,
  2827. /* [in] */ IMemAllocator *pAllocator,
  2828. /* [in] */ BOOL bReadOnly);
  2829. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  2830. IRpcStubBuffer *This,
  2831. IRpcChannelBuffer *_pRpcChannelBuffer,
  2832. PRPC_MESSAGE _pRpcMessage,
  2833. DWORD *_pdwStubPhase);
  2834. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(
  2835. IMemInputPin * This,
  2836. /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  2837. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  2838. IRpcStubBuffer *This,
  2839. IRpcChannelBuffer *_pRpcChannelBuffer,
  2840. PRPC_MESSAGE _pRpcMessage,
  2841. DWORD *_pdwStubPhase);
  2842. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(
  2843. IMemInputPin * This,
  2844. /* [in] */ IMediaSample *pSample);
  2845. void __RPC_STUB IMemInputPin_Receive_Stub(
  2846. IRpcStubBuffer *This,
  2847. IRpcChannelBuffer *_pRpcChannelBuffer,
  2848. PRPC_MESSAGE _pRpcMessage,
  2849. DWORD *_pdwStubPhase);
  2850. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(
  2851. IMemInputPin * This,
  2852. /* [size_is][in] */ IMediaSample **pSamples,
  2853. /* [in] */ long nSamples,
  2854. /* [out] */ long *nSamplesProcessed);
  2855. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  2856. IRpcStubBuffer *This,
  2857. IRpcChannelBuffer *_pRpcChannelBuffer,
  2858. PRPC_MESSAGE _pRpcMessage,
  2859. DWORD *_pdwStubPhase);
  2860. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(
  2861. IMemInputPin * This);
  2862. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  2863. IRpcStubBuffer *This,
  2864. IRpcChannelBuffer *_pRpcChannelBuffer,
  2865. PRPC_MESSAGE _pRpcMessage,
  2866. DWORD *_pdwStubPhase);
  2867. #endif /* __IMemInputPin_INTERFACE_DEFINED__ */
  2868. /* interface __MIDL_itf_strmif_0128 */
  2869. /* [local] */
  2870. typedef IMemInputPin *PMEMINPUTPIN;
  2871. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
  2872. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
  2873. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  2874. #define __IAMovieSetup_INTERFACE_DEFINED__
  2875. /* interface IAMovieSetup */
  2876. /* [unique][uuid][object] */
  2877. EXTERN_C const IID IID_IAMovieSetup;
  2878. #if defined(__cplusplus) && !defined(CINTERFACE)
  2879. MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  2880. IAMovieSetup : public IUnknown
  2881. {
  2882. public:
  2883. virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  2884. virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  2885. };
  2886. #else /* C style interface */
  2887. typedef struct IAMovieSetupVtbl
  2888. {
  2889. BEGIN_INTERFACE
  2890. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2891. IAMovieSetup * This,
  2892. /* [in] */ REFIID riid,
  2893. /* [iid_is][out] */ void **ppvObject);
  2894. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2895. IAMovieSetup * This);
  2896. ULONG ( STDMETHODCALLTYPE *Release )(
  2897. IAMovieSetup * This);
  2898. HRESULT ( STDMETHODCALLTYPE *Register )(
  2899. IAMovieSetup * This);
  2900. HRESULT ( STDMETHODCALLTYPE *Unregister )(
  2901. IAMovieSetup * This);
  2902. END_INTERFACE
  2903. } IAMovieSetupVtbl;
  2904. interface IAMovieSetup
  2905. {
  2906. CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  2907. };
  2908. #ifdef COBJMACROS
  2909. #define IAMovieSetup_QueryInterface(This,riid,ppvObject) \
  2910. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2911. #define IAMovieSetup_AddRef(This) \
  2912. (This)->lpVtbl -> AddRef(This)
  2913. #define IAMovieSetup_Release(This) \
  2914. (This)->lpVtbl -> Release(This)
  2915. #define IAMovieSetup_Register(This) \
  2916. (This)->lpVtbl -> Register(This)
  2917. #define IAMovieSetup_Unregister(This) \
  2918. (This)->lpVtbl -> Unregister(This)
  2919. #endif /* COBJMACROS */
  2920. #endif /* C style interface */
  2921. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(
  2922. IAMovieSetup * This);
  2923. void __RPC_STUB IAMovieSetup_Register_Stub(
  2924. IRpcStubBuffer *This,
  2925. IRpcChannelBuffer *_pRpcChannelBuffer,
  2926. PRPC_MESSAGE _pRpcMessage,
  2927. DWORD *_pdwStubPhase);
  2928. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(
  2929. IAMovieSetup * This);
  2930. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  2931. IRpcStubBuffer *This,
  2932. IRpcChannelBuffer *_pRpcChannelBuffer,
  2933. PRPC_MESSAGE _pRpcMessage,
  2934. DWORD *_pdwStubPhase);
  2935. #endif /* __IAMovieSetup_INTERFACE_DEFINED__ */
  2936. /* interface __MIDL_itf_strmif_0129 */
  2937. /* [local] */
  2938. typedef IAMovieSetup *PAMOVIESETUP;
  2939. typedef
  2940. enum AM_SEEKING_SeekingFlags
  2941. { AM_SEEKING_NoPositioning = 0,
  2942. AM_SEEKING_AbsolutePositioning = 0x1,
  2943. AM_SEEKING_RelativePositioning = 0x2,
  2944. AM_SEEKING_IncrementalPositioning = 0x3,
  2945. AM_SEEKING_PositioningBitsMask = 0x3,
  2946. AM_SEEKING_SeekToKeyFrame = 0x4,
  2947. AM_SEEKING_ReturnTime = 0x8,
  2948. AM_SEEKING_Segment = 0x10,
  2949. AM_SEEKING_NoFlush = 0x20
  2950. } AM_SEEKING_SEEKING_FLAGS;
  2951. typedef
  2952. enum AM_SEEKING_SeekingCapabilities
  2953. { AM_SEEKING_CanSeekAbsolute = 0x1,
  2954. AM_SEEKING_CanSeekForwards = 0x2,
  2955. AM_SEEKING_CanSeekBackwards = 0x4,
  2956. AM_SEEKING_CanGetCurrentPos = 0x8,
  2957. AM_SEEKING_CanGetStopPos = 0x10,
  2958. AM_SEEKING_CanGetDuration = 0x20,
  2959. AM_SEEKING_CanPlayBackwards = 0x40,
  2960. AM_SEEKING_CanDoSegments = 0x80,
  2961. AM_SEEKING_Source = 0x100
  2962. } AM_SEEKING_SEEKING_CAPABILITIES;
  2963. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  2964. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  2965. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  2966. #define __IMediaSeeking_INTERFACE_DEFINED__
  2967. /* interface IMediaSeeking */
  2968. /* [unique][uuid][object] */
  2969. EXTERN_C const IID IID_IMediaSeeking;
  2970. #if defined(__cplusplus) && !defined(CINTERFACE)
  2971. MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  2972. IMediaSeeking : public IUnknown
  2973. {
  2974. public:
  2975. virtual HRESULT STDMETHODCALLTYPE GetCapabilities(
  2976. /* [out] */ DWORD *pCapabilities) = 0;
  2977. virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(
  2978. /* [out][in] */ DWORD *pCapabilities) = 0;
  2979. virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(
  2980. /* [in] */ const GUID *pFormat) = 0;
  2981. virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(
  2982. /* [out] */ GUID *pFormat) = 0;
  2983. virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(
  2984. /* [out] */ GUID *pFormat) = 0;
  2985. virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(
  2986. /* [in] */ const GUID *pFormat) = 0;
  2987. virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(
  2988. /* [in] */ const GUID *pFormat) = 0;
  2989. virtual HRESULT STDMETHODCALLTYPE GetDuration(
  2990. /* [out] */ LONGLONG *pDuration) = 0;
  2991. virtual HRESULT STDMETHODCALLTYPE GetStopPosition(
  2992. /* [out] */ LONGLONG *pStop) = 0;
  2993. virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
  2994. /* [out] */ LONGLONG *pCurrent) = 0;
  2995. virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(
  2996. /* [out] */ LONGLONG *pTarget,
  2997. /* [in] */ const GUID *pTargetFormat,
  2998. /* [in] */ LONGLONG Source,
  2999. /* [in] */ const GUID *pSourceFormat) = 0;
  3000. virtual HRESULT STDMETHODCALLTYPE SetPositions(
  3001. /* [out][in] */ LONGLONG *pCurrent,
  3002. /* [in] */ DWORD dwCurrentFlags,
  3003. /* [out][in] */ LONGLONG *pStop,
  3004. /* [in] */ DWORD dwStopFlags) = 0;
  3005. virtual HRESULT STDMETHODCALLTYPE GetPositions(
  3006. /* [out] */ LONGLONG *pCurrent,
  3007. /* [out] */ LONGLONG *pStop) = 0;
  3008. virtual HRESULT STDMETHODCALLTYPE GetAvailable(
  3009. /* [out] */ LONGLONG *pEarliest,
  3010. /* [out] */ LONGLONG *pLatest) = 0;
  3011. virtual HRESULT STDMETHODCALLTYPE SetRate(
  3012. /* [in] */ double dRate) = 0;
  3013. virtual HRESULT STDMETHODCALLTYPE GetRate(
  3014. /* [out] */ double *pdRate) = 0;
  3015. virtual HRESULT STDMETHODCALLTYPE GetPreroll(
  3016. /* [out] */ LONGLONG *pllPreroll) = 0;
  3017. };
  3018. #else /* C style interface */
  3019. typedef struct IMediaSeekingVtbl
  3020. {
  3021. BEGIN_INTERFACE
  3022. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3023. IMediaSeeking * This,
  3024. /* [in] */ REFIID riid,
  3025. /* [iid_is][out] */ void **ppvObject);
  3026. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3027. IMediaSeeking * This);
  3028. ULONG ( STDMETHODCALLTYPE *Release )(
  3029. IMediaSeeking * This);
  3030. HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
  3031. IMediaSeeking * This,
  3032. /* [out] */ DWORD *pCapabilities);
  3033. HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(
  3034. IMediaSeeking * This,
  3035. /* [out][in] */ DWORD *pCapabilities);
  3036. HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(
  3037. IMediaSeeking * This,
  3038. /* [in] */ const GUID *pFormat);
  3039. HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(
  3040. IMediaSeeking * This,
  3041. /* [out] */ GUID *pFormat);
  3042. HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )(
  3043. IMediaSeeking * This,
  3044. /* [out] */ GUID *pFormat);
  3045. HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(
  3046. IMediaSeeking * This,
  3047. /* [in] */ const GUID *pFormat);
  3048. HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(
  3049. IMediaSeeking * This,
  3050. /* [in] */ const GUID *pFormat);
  3051. HRESULT ( STDMETHODCALLTYPE *GetDuration )(
  3052. IMediaSeeking * This,
  3053. /* [out] */ LONGLONG *pDuration);
  3054. HRESULT ( STDMETHODCALLTYPE *GetStopPosition )(
  3055. IMediaSeeking * This,
  3056. /* [out] */ LONGLONG *pStop);
  3057. HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(
  3058. IMediaSeeking * This,
  3059. /* [out] */ LONGLONG *pCurrent);
  3060. HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )(
  3061. IMediaSeeking * This,
  3062. /* [out] */ LONGLONG *pTarget,
  3063. /* [in] */ const GUID *pTargetFormat,
  3064. /* [in] */ LONGLONG Source,
  3065. /* [in] */ const GUID *pSourceFormat);
  3066. HRESULT ( STDMETHODCALLTYPE *SetPositions )(
  3067. IMediaSeeking * This,
  3068. /* [out][in] */ LONGLONG *pCurrent,
  3069. /* [in] */ DWORD dwCurrentFlags,
  3070. /* [out][in] */ LONGLONG *pStop,
  3071. /* [in] */ DWORD dwStopFlags);
  3072. HRESULT ( STDMETHODCALLTYPE *GetPositions )(
  3073. IMediaSeeking * This,
  3074. /* [out] */ LONGLONG *pCurrent,
  3075. /* [out] */ LONGLONG *pStop);
  3076. HRESULT ( STDMETHODCALLTYPE *GetAvailable )(
  3077. IMediaSeeking * This,
  3078. /* [out] */ LONGLONG *pEarliest,
  3079. /* [out] */ LONGLONG *pLatest);
  3080. HRESULT ( STDMETHODCALLTYPE *SetRate )(
  3081. IMediaSeeking * This,
  3082. /* [in] */ double dRate);
  3083. HRESULT ( STDMETHODCALLTYPE *GetRate )(
  3084. IMediaSeeking * This,
  3085. /* [out] */ double *pdRate);
  3086. HRESULT ( STDMETHODCALLTYPE *GetPreroll )(
  3087. IMediaSeeking * This,
  3088. /* [out] */ LONGLONG *pllPreroll);
  3089. END_INTERFACE
  3090. } IMediaSeekingVtbl;
  3091. interface IMediaSeeking
  3092. {
  3093. CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  3094. };
  3095. #ifdef COBJMACROS
  3096. #define IMediaSeeking_QueryInterface(This,riid,ppvObject) \
  3097. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3098. #define IMediaSeeking_AddRef(This) \
  3099. (This)->lpVtbl -> AddRef(This)
  3100. #define IMediaSeeking_Release(This) \
  3101. (This)->lpVtbl -> Release(This)
  3102. #define IMediaSeeking_GetCapabilities(This,pCapabilities) \
  3103. (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  3104. #define IMediaSeeking_CheckCapabilities(This,pCapabilities) \
  3105. (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  3106. #define IMediaSeeking_IsFormatSupported(This,pFormat) \
  3107. (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  3108. #define IMediaSeeking_QueryPreferredFormat(This,pFormat) \
  3109. (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  3110. #define IMediaSeeking_GetTimeFormat(This,pFormat) \
  3111. (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  3112. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat) \
  3113. (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  3114. #define IMediaSeeking_SetTimeFormat(This,pFormat) \
  3115. (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  3116. #define IMediaSeeking_GetDuration(This,pDuration) \
  3117. (This)->lpVtbl -> GetDuration(This,pDuration)
  3118. #define IMediaSeeking_GetStopPosition(This,pStop) \
  3119. (This)->lpVtbl -> GetStopPosition(This,pStop)
  3120. #define IMediaSeeking_GetCurrentPosition(This,pCurrent) \
  3121. (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  3122. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat) \
  3123. (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  3124. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags) \
  3125. (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  3126. #define IMediaSeeking_GetPositions(This,pCurrent,pStop) \
  3127. (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  3128. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest) \
  3129. (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  3130. #define IMediaSeeking_SetRate(This,dRate) \
  3131. (This)->lpVtbl -> SetRate(This,dRate)
  3132. #define IMediaSeeking_GetRate(This,pdRate) \
  3133. (This)->lpVtbl -> GetRate(This,pdRate)
  3134. #define IMediaSeeking_GetPreroll(This,pllPreroll) \
  3135. (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  3136. #endif /* COBJMACROS */
  3137. #endif /* C style interface */
  3138. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(
  3139. IMediaSeeking * This,
  3140. /* [out] */ DWORD *pCapabilities);
  3141. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  3142. IRpcStubBuffer *This,
  3143. IRpcChannelBuffer *_pRpcChannelBuffer,
  3144. PRPC_MESSAGE _pRpcMessage,
  3145. DWORD *_pdwStubPhase);
  3146. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(
  3147. IMediaSeeking * This,
  3148. /* [out][in] */ DWORD *pCapabilities);
  3149. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  3150. IRpcStubBuffer *This,
  3151. IRpcChannelBuffer *_pRpcChannelBuffer,
  3152. PRPC_MESSAGE _pRpcMessage,
  3153. DWORD *_pdwStubPhase);
  3154. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(
  3155. IMediaSeeking * This,
  3156. /* [in] */ const GUID *pFormat);
  3157. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  3158. IRpcStubBuffer *This,
  3159. IRpcChannelBuffer *_pRpcChannelBuffer,
  3160. PRPC_MESSAGE _pRpcMessage,
  3161. DWORD *_pdwStubPhase);
  3162. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(
  3163. IMediaSeeking * This,
  3164. /* [out] */ GUID *pFormat);
  3165. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  3166. IRpcStubBuffer *This,
  3167. IRpcChannelBuffer *_pRpcChannelBuffer,
  3168. PRPC_MESSAGE _pRpcMessage,
  3169. DWORD *_pdwStubPhase);
  3170. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(
  3171. IMediaSeeking * This,
  3172. /* [out] */ GUID *pFormat);
  3173. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  3174. IRpcStubBuffer *This,
  3175. IRpcChannelBuffer *_pRpcChannelBuffer,
  3176. PRPC_MESSAGE _pRpcMessage,
  3177. DWORD *_pdwStubPhase);
  3178. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(
  3179. IMediaSeeking * This,
  3180. /* [in] */ const GUID *pFormat);
  3181. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  3182. IRpcStubBuffer *This,
  3183. IRpcChannelBuffer *_pRpcChannelBuffer,
  3184. PRPC_MESSAGE _pRpcMessage,
  3185. DWORD *_pdwStubPhase);
  3186. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(
  3187. IMediaSeeking * This,
  3188. /* [in] */ const GUID *pFormat);
  3189. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  3190. IRpcStubBuffer *This,
  3191. IRpcChannelBuffer *_pRpcChannelBuffer,
  3192. PRPC_MESSAGE _pRpcMessage,
  3193. DWORD *_pdwStubPhase);
  3194. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(
  3195. IMediaSeeking * This,
  3196. /* [out] */ LONGLONG *pDuration);
  3197. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  3198. IRpcStubBuffer *This,
  3199. IRpcChannelBuffer *_pRpcChannelBuffer,
  3200. PRPC_MESSAGE _pRpcMessage,
  3201. DWORD *_pdwStubPhase);
  3202. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(
  3203. IMediaSeeking * This,
  3204. /* [out] */ LONGLONG *pStop);
  3205. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  3206. IRpcStubBuffer *This,
  3207. IRpcChannelBuffer *_pRpcChannelBuffer,
  3208. PRPC_MESSAGE _pRpcMessage,
  3209. DWORD *_pdwStubPhase);
  3210. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(
  3211. IMediaSeeking * This,
  3212. /* [out] */ LONGLONG *pCurrent);
  3213. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  3214. IRpcStubBuffer *This,
  3215. IRpcChannelBuffer *_pRpcChannelBuffer,
  3216. PRPC_MESSAGE _pRpcMessage,
  3217. DWORD *_pdwStubPhase);
  3218. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(
  3219. IMediaSeeking * This,
  3220. /* [out] */ LONGLONG *pTarget,
  3221. /* [in] */ const GUID *pTargetFormat,
  3222. /* [in] */ LONGLONG Source,
  3223. /* [in] */ const GUID *pSourceFormat);
  3224. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  3225. IRpcStubBuffer *This,
  3226. IRpcChannelBuffer *_pRpcChannelBuffer,
  3227. PRPC_MESSAGE _pRpcMessage,
  3228. DWORD *_pdwStubPhase);
  3229. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(
  3230. IMediaSeeking * This,
  3231. /* [out][in] */ LONGLONG *pCurrent,
  3232. /* [in] */ DWORD dwCurrentFlags,
  3233. /* [out][in] */ LONGLONG *pStop,
  3234. /* [in] */ DWORD dwStopFlags);
  3235. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  3236. IRpcStubBuffer *This,
  3237. IRpcChannelBuffer *_pRpcChannelBuffer,
  3238. PRPC_MESSAGE _pRpcMessage,
  3239. DWORD *_pdwStubPhase);
  3240. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(
  3241. IMediaSeeking * This,
  3242. /* [out] */ LONGLONG *pCurrent,
  3243. /* [out] */ LONGLONG *pStop);
  3244. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  3245. IRpcStubBuffer *This,
  3246. IRpcChannelBuffer *_pRpcChannelBuffer,
  3247. PRPC_MESSAGE _pRpcMessage,
  3248. DWORD *_pdwStubPhase);
  3249. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(
  3250. IMediaSeeking * This,
  3251. /* [out] */ LONGLONG *pEarliest,
  3252. /* [out] */ LONGLONG *pLatest);
  3253. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  3254. IRpcStubBuffer *This,
  3255. IRpcChannelBuffer *_pRpcChannelBuffer,
  3256. PRPC_MESSAGE _pRpcMessage,
  3257. DWORD *_pdwStubPhase);
  3258. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(
  3259. IMediaSeeking * This,
  3260. /* [in] */ double dRate);
  3261. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  3262. IRpcStubBuffer *This,
  3263. IRpcChannelBuffer *_pRpcChannelBuffer,
  3264. PRPC_MESSAGE _pRpcMessage,
  3265. DWORD *_pdwStubPhase);
  3266. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(
  3267. IMediaSeeking * This,
  3268. /* [out] */ double *pdRate);
  3269. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  3270. IRpcStubBuffer *This,
  3271. IRpcChannelBuffer *_pRpcChannelBuffer,
  3272. PRPC_MESSAGE _pRpcMessage,
  3273. DWORD *_pdwStubPhase);
  3274. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(
  3275. IMediaSeeking * This,
  3276. /* [out] */ LONGLONG *pllPreroll);
  3277. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  3278. IRpcStubBuffer *This,
  3279. IRpcChannelBuffer *_pRpcChannelBuffer,
  3280. PRPC_MESSAGE _pRpcMessage,
  3281. DWORD *_pdwStubPhase);
  3282. #endif /* __IMediaSeeking_INTERFACE_DEFINED__ */
  3283. /* interface __MIDL_itf_strmif_0130 */
  3284. /* [local] */
  3285. typedef IMediaSeeking *PMEDIASEEKING;
  3286. enum tagAM_MEDIAEVENT_FLAGS
  3287. {
  3288. AM_MEDIAEVENT_NONOTIFY = 0x01
  3289. };
  3290. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0130_0001
  3291. {
  3292. CLSID Clsid;
  3293. LPWSTR Name;
  3294. } REGFILTER;
  3295. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_c_ifspec;
  3296. extern RPC_IF_HANDLE __MIDL_itf_strmif_0130_v0_0_s_ifspec;
  3297. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  3298. #define __IEnumRegFilters_INTERFACE_DEFINED__
  3299. /* interface IEnumRegFilters */
  3300. /* [unique][uuid][object] */
  3301. EXTERN_C const IID IID_IEnumRegFilters;
  3302. #if defined(__cplusplus) && !defined(CINTERFACE)
  3303. MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  3304. IEnumRegFilters : public IUnknown
  3305. {
  3306. public:
  3307. virtual HRESULT STDMETHODCALLTYPE Next(
  3308. /* [in] */ ULONG cFilters,
  3309. /* [out] */ REGFILTER **apRegFilter,
  3310. /* [out] */ ULONG *pcFetched) = 0;
  3311. virtual HRESULT STDMETHODCALLTYPE Skip(
  3312. /* [in] */ ULONG cFilters) = 0;
  3313. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  3314. virtual HRESULT STDMETHODCALLTYPE Clone(
  3315. /* [out] */ IEnumRegFilters **ppEnum) = 0;
  3316. };
  3317. #else /* C style interface */
  3318. typedef struct IEnumRegFiltersVtbl
  3319. {
  3320. BEGIN_INTERFACE
  3321. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3322. IEnumRegFilters * This,
  3323. /* [in] */ REFIID riid,
  3324. /* [iid_is][out] */ void **ppvObject);
  3325. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3326. IEnumRegFilters * This);
  3327. ULONG ( STDMETHODCALLTYPE *Release )(
  3328. IEnumRegFilters * This);
  3329. HRESULT ( STDMETHODCALLTYPE *Next )(
  3330. IEnumRegFilters * This,
  3331. /* [in] */ ULONG cFilters,
  3332. /* [out] */ REGFILTER **apRegFilter,
  3333. /* [out] */ ULONG *pcFetched);
  3334. HRESULT ( STDMETHODCALLTYPE *Skip )(
  3335. IEnumRegFilters * This,
  3336. /* [in] */ ULONG cFilters);
  3337. HRESULT ( STDMETHODCALLTYPE *Reset )(
  3338. IEnumRegFilters * This);
  3339. HRESULT ( STDMETHODCALLTYPE *Clone )(
  3340. IEnumRegFilters * This,
  3341. /* [out] */ IEnumRegFilters **ppEnum);
  3342. END_INTERFACE
  3343. } IEnumRegFiltersVtbl;
  3344. interface IEnumRegFilters
  3345. {
  3346. CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  3347. };
  3348. #ifdef COBJMACROS
  3349. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject) \
  3350. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3351. #define IEnumRegFilters_AddRef(This) \
  3352. (This)->lpVtbl -> AddRef(This)
  3353. #define IEnumRegFilters_Release(This) \
  3354. (This)->lpVtbl -> Release(This)
  3355. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched) \
  3356. (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  3357. #define IEnumRegFilters_Skip(This,cFilters) \
  3358. (This)->lpVtbl -> Skip(This,cFilters)
  3359. #define IEnumRegFilters_Reset(This) \
  3360. (This)->lpVtbl -> Reset(This)
  3361. #define IEnumRegFilters_Clone(This,ppEnum) \
  3362. (This)->lpVtbl -> Clone(This,ppEnum)
  3363. #endif /* COBJMACROS */
  3364. #endif /* C style interface */
  3365. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(
  3366. IEnumRegFilters * This,
  3367. /* [in] */ ULONG cFilters,
  3368. /* [out] */ REGFILTER **apRegFilter,
  3369. /* [out] */ ULONG *pcFetched);
  3370. void __RPC_STUB IEnumRegFilters_Next_Stub(
  3371. IRpcStubBuffer *This,
  3372. IRpcChannelBuffer *_pRpcChannelBuffer,
  3373. PRPC_MESSAGE _pRpcMessage,
  3374. DWORD *_pdwStubPhase);
  3375. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(
  3376. IEnumRegFilters * This,
  3377. /* [in] */ ULONG cFilters);
  3378. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  3379. IRpcStubBuffer *This,
  3380. IRpcChannelBuffer *_pRpcChannelBuffer,
  3381. PRPC_MESSAGE _pRpcMessage,
  3382. DWORD *_pdwStubPhase);
  3383. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(
  3384. IEnumRegFilters * This);
  3385. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  3386. IRpcStubBuffer *This,
  3387. IRpcChannelBuffer *_pRpcChannelBuffer,
  3388. PRPC_MESSAGE _pRpcMessage,
  3389. DWORD *_pdwStubPhase);
  3390. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(
  3391. IEnumRegFilters * This,
  3392. /* [out] */ IEnumRegFilters **ppEnum);
  3393. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  3394. IRpcStubBuffer *This,
  3395. IRpcChannelBuffer *_pRpcChannelBuffer,
  3396. PRPC_MESSAGE _pRpcMessage,
  3397. DWORD *_pdwStubPhase);
  3398. #endif /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  3399. /* interface __MIDL_itf_strmif_0132 */
  3400. /* [local] */
  3401. typedef IEnumRegFilters *PENUMREGFILTERS;
  3402. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_c_ifspec;
  3403. extern RPC_IF_HANDLE __MIDL_itf_strmif_0132_v0_0_s_ifspec;
  3404. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  3405. #define __IFilterMapper_INTERFACE_DEFINED__
  3406. /* interface IFilterMapper */
  3407. /* [unique][uuid][object] */
  3408. enum __MIDL_IFilterMapper_0001
  3409. { MERIT_PREFERRED = 0x800000,
  3410. MERIT_NORMAL = 0x600000,
  3411. MERIT_UNLIKELY = 0x400000,
  3412. MERIT_DO_NOT_USE = 0x200000,
  3413. MERIT_SW_COMPRESSOR = 0x100000,
  3414. MERIT_HW_COMPRESSOR = 0x100050
  3415. } ;
  3416. EXTERN_C const IID IID_IFilterMapper;
  3417. #if defined(__cplusplus) && !defined(CINTERFACE)
  3418. MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  3419. IFilterMapper : public IUnknown
  3420. {
  3421. public:
  3422. virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
  3423. /* [in] */ CLSID clsid,
  3424. /* [in] */ LPCWSTR Name,
  3425. /* [in] */ DWORD dwMerit) = 0;
  3426. virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(
  3427. /* [in] */ CLSID clsid,
  3428. /* [in] */ LPCWSTR Name,
  3429. /* [out] */ CLSID *MRId) = 0;
  3430. virtual HRESULT STDMETHODCALLTYPE RegisterPin(
  3431. /* [in] */ CLSID Filter,
  3432. /* [in] */ LPCWSTR Name,
  3433. /* [in] */ BOOL bRendered,
  3434. /* [in] */ BOOL bOutput,
  3435. /* [in] */ BOOL bZero,
  3436. /* [in] */ BOOL bMany,
  3437. /* [in] */ CLSID ConnectsToFilter,
  3438. /* [in] */ LPCWSTR ConnectsToPin) = 0;
  3439. virtual HRESULT STDMETHODCALLTYPE RegisterPinType(
  3440. /* [in] */ CLSID clsFilter,
  3441. /* [in] */ LPCWSTR strName,
  3442. /* [in] */ CLSID clsMajorType,
  3443. /* [in] */ CLSID clsSubType) = 0;
  3444. virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
  3445. /* [in] */ CLSID Filter) = 0;
  3446. virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(
  3447. /* [in] */ CLSID MRId) = 0;
  3448. virtual HRESULT STDMETHODCALLTYPE UnregisterPin(
  3449. /* [in] */ CLSID Filter,
  3450. /* [in] */ LPCWSTR Name) = 0;
  3451. virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
  3452. /* [out] */ IEnumRegFilters **ppEnum,
  3453. /* [in] */ DWORD dwMerit,
  3454. /* [in] */ BOOL bInputNeeded,
  3455. /* [in] */ CLSID clsInMaj,
  3456. /* [in] */ CLSID clsInSub,
  3457. /* [in] */ BOOL bRender,
  3458. /* [in] */ BOOL bOututNeeded,
  3459. /* [in] */ CLSID clsOutMaj,
  3460. /* [in] */ CLSID clsOutSub) = 0;
  3461. };
  3462. #else /* C style interface */
  3463. typedef struct IFilterMapperVtbl
  3464. {
  3465. BEGIN_INTERFACE
  3466. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3467. IFilterMapper * This,
  3468. /* [in] */ REFIID riid,
  3469. /* [iid_is][out] */ void **ppvObject);
  3470. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3471. IFilterMapper * This);
  3472. ULONG ( STDMETHODCALLTYPE *Release )(
  3473. IFilterMapper * This);
  3474. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3475. IFilterMapper * This,
  3476. /* [in] */ CLSID clsid,
  3477. /* [in] */ LPCWSTR Name,
  3478. /* [in] */ DWORD dwMerit);
  3479. HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )(
  3480. IFilterMapper * This,
  3481. /* [in] */ CLSID clsid,
  3482. /* [in] */ LPCWSTR Name,
  3483. /* [out] */ CLSID *MRId);
  3484. HRESULT ( STDMETHODCALLTYPE *RegisterPin )(
  3485. IFilterMapper * This,
  3486. /* [in] */ CLSID Filter,
  3487. /* [in] */ LPCWSTR Name,
  3488. /* [in] */ BOOL bRendered,
  3489. /* [in] */ BOOL bOutput,
  3490. /* [in] */ BOOL bZero,
  3491. /* [in] */ BOOL bMany,
  3492. /* [in] */ CLSID ConnectsToFilter,
  3493. /* [in] */ LPCWSTR ConnectsToPin);
  3494. HRESULT ( STDMETHODCALLTYPE *RegisterPinType )(
  3495. IFilterMapper * This,
  3496. /* [in] */ CLSID clsFilter,
  3497. /* [in] */ LPCWSTR strName,
  3498. /* [in] */ CLSID clsMajorType,
  3499. /* [in] */ CLSID clsSubType);
  3500. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3501. IFilterMapper * This,
  3502. /* [in] */ CLSID Filter);
  3503. HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )(
  3504. IFilterMapper * This,
  3505. /* [in] */ CLSID MRId);
  3506. HRESULT ( STDMETHODCALLTYPE *UnregisterPin )(
  3507. IFilterMapper * This,
  3508. /* [in] */ CLSID Filter,
  3509. /* [in] */ LPCWSTR Name);
  3510. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3511. IFilterMapper * This,
  3512. /* [out] */ IEnumRegFilters **ppEnum,
  3513. /* [in] */ DWORD dwMerit,
  3514. /* [in] */ BOOL bInputNeeded,
  3515. /* [in] */ CLSID clsInMaj,
  3516. /* [in] */ CLSID clsInSub,
  3517. /* [in] */ BOOL bRender,
  3518. /* [in] */ BOOL bOututNeeded,
  3519. /* [in] */ CLSID clsOutMaj,
  3520. /* [in] */ CLSID clsOutSub);
  3521. END_INTERFACE
  3522. } IFilterMapperVtbl;
  3523. interface IFilterMapper
  3524. {
  3525. CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  3526. };
  3527. #ifdef COBJMACROS
  3528. #define IFilterMapper_QueryInterface(This,riid,ppvObject) \
  3529. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3530. #define IFilterMapper_AddRef(This) \
  3531. (This)->lpVtbl -> AddRef(This)
  3532. #define IFilterMapper_Release(This) \
  3533. (This)->lpVtbl -> Release(This)
  3534. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit) \
  3535. (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  3536. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId) \
  3537. (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  3538. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin) \
  3539. (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  3540. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType) \
  3541. (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  3542. #define IFilterMapper_UnregisterFilter(This,Filter) \
  3543. (This)->lpVtbl -> UnregisterFilter(This,Filter)
  3544. #define IFilterMapper_UnregisterFilterInstance(This,MRId) \
  3545. (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  3546. #define IFilterMapper_UnregisterPin(This,Filter,Name) \
  3547. (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  3548. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub) \
  3549. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  3550. #endif /* COBJMACROS */
  3551. #endif /* C style interface */
  3552. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(
  3553. IFilterMapper * This,
  3554. /* [in] */ CLSID clsid,
  3555. /* [in] */ LPCWSTR Name,
  3556. /* [in] */ DWORD dwMerit);
  3557. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  3558. IRpcStubBuffer *This,
  3559. IRpcChannelBuffer *_pRpcChannelBuffer,
  3560. PRPC_MESSAGE _pRpcMessage,
  3561. DWORD *_pdwStubPhase);
  3562. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(
  3563. IFilterMapper * This,
  3564. /* [in] */ CLSID clsid,
  3565. /* [in] */ LPCWSTR Name,
  3566. /* [out] */ CLSID *MRId);
  3567. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  3568. IRpcStubBuffer *This,
  3569. IRpcChannelBuffer *_pRpcChannelBuffer,
  3570. PRPC_MESSAGE _pRpcMessage,
  3571. DWORD *_pdwStubPhase);
  3572. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(
  3573. IFilterMapper * This,
  3574. /* [in] */ CLSID Filter,
  3575. /* [in] */ LPCWSTR Name,
  3576. /* [in] */ BOOL bRendered,
  3577. /* [in] */ BOOL bOutput,
  3578. /* [in] */ BOOL bZero,
  3579. /* [in] */ BOOL bMany,
  3580. /* [in] */ CLSID ConnectsToFilter,
  3581. /* [in] */ LPCWSTR ConnectsToPin);
  3582. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  3583. IRpcStubBuffer *This,
  3584. IRpcChannelBuffer *_pRpcChannelBuffer,
  3585. PRPC_MESSAGE _pRpcMessage,
  3586. DWORD *_pdwStubPhase);
  3587. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(
  3588. IFilterMapper * This,
  3589. /* [in] */ CLSID clsFilter,
  3590. /* [in] */ LPCWSTR strName,
  3591. /* [in] */ CLSID clsMajorType,
  3592. /* [in] */ CLSID clsSubType);
  3593. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  3594. IRpcStubBuffer *This,
  3595. IRpcChannelBuffer *_pRpcChannelBuffer,
  3596. PRPC_MESSAGE _pRpcMessage,
  3597. DWORD *_pdwStubPhase);
  3598. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(
  3599. IFilterMapper * This,
  3600. /* [in] */ CLSID Filter);
  3601. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  3602. IRpcStubBuffer *This,
  3603. IRpcChannelBuffer *_pRpcChannelBuffer,
  3604. PRPC_MESSAGE _pRpcMessage,
  3605. DWORD *_pdwStubPhase);
  3606. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(
  3607. IFilterMapper * This,
  3608. /* [in] */ CLSID MRId);
  3609. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  3610. IRpcStubBuffer *This,
  3611. IRpcChannelBuffer *_pRpcChannelBuffer,
  3612. PRPC_MESSAGE _pRpcMessage,
  3613. DWORD *_pdwStubPhase);
  3614. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(
  3615. IFilterMapper * This,
  3616. /* [in] */ CLSID Filter,
  3617. /* [in] */ LPCWSTR Name);
  3618. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  3619. IRpcStubBuffer *This,
  3620. IRpcChannelBuffer *_pRpcChannelBuffer,
  3621. PRPC_MESSAGE _pRpcMessage,
  3622. DWORD *_pdwStubPhase);
  3623. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(
  3624. IFilterMapper * This,
  3625. /* [out] */ IEnumRegFilters **ppEnum,
  3626. /* [in] */ DWORD dwMerit,
  3627. /* [in] */ BOOL bInputNeeded,
  3628. /* [in] */ CLSID clsInMaj,
  3629. /* [in] */ CLSID clsInSub,
  3630. /* [in] */ BOOL bRender,
  3631. /* [in] */ BOOL bOututNeeded,
  3632. /* [in] */ CLSID clsOutMaj,
  3633. /* [in] */ CLSID clsOutSub);
  3634. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  3635. IRpcStubBuffer *This,
  3636. IRpcChannelBuffer *_pRpcChannelBuffer,
  3637. PRPC_MESSAGE _pRpcMessage,
  3638. DWORD *_pdwStubPhase);
  3639. #endif /* __IFilterMapper_INTERFACE_DEFINED__ */
  3640. /* interface __MIDL_itf_strmif_0134 */
  3641. /* [local] */
  3642. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0001
  3643. {
  3644. const CLSID *clsMajorType;
  3645. const CLSID *clsMinorType;
  3646. } REGPINTYPES;
  3647. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0002
  3648. {
  3649. LPWSTR strName;
  3650. BOOL bRendered;
  3651. BOOL bOutput;
  3652. BOOL bZero;
  3653. BOOL bMany;
  3654. const CLSID *clsConnectsToFilter;
  3655. const WCHAR *strConnectsToPin;
  3656. UINT nMediaTypes;
  3657. const REGPINTYPES *lpMediaType;
  3658. } REGFILTERPINS;
  3659. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0003
  3660. {
  3661. CLSID clsMedium;
  3662. DWORD dw1;
  3663. DWORD dw2;
  3664. } REGPINMEDIUM;
  3665. enum __MIDL___MIDL_itf_strmif_0134_0004
  3666. { REG_PINFLAG_B_ZERO = 0x1,
  3667. REG_PINFLAG_B_RENDERER = 0x2,
  3668. REG_PINFLAG_B_MANY = 0x4,
  3669. REG_PINFLAG_B_OUTPUT = 0x8
  3670. } ;
  3671. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0005
  3672. {
  3673. DWORD dwFlags;
  3674. UINT cInstances;
  3675. UINT nMediaTypes;
  3676. /* [size_is] */ const REGPINTYPES *lpMediaType;
  3677. UINT nMediums;
  3678. /* [size_is] */ const REGPINMEDIUM *lpMedium;
  3679. const CLSID *clsPinCategory;
  3680. } REGFILTERPINS2;
  3681. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0134_0006
  3682. {
  3683. DWORD dwVersion;
  3684. DWORD dwMerit;
  3685. /* [switch_type][switch_is] */ union
  3686. {
  3687. /* [case()] */ struct
  3688. {
  3689. ULONG cPins;
  3690. /* [size_is] */ const REGFILTERPINS *rgPins;
  3691. } ;
  3692. /* [case()] */ struct
  3693. {
  3694. ULONG cPins2;
  3695. /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  3696. } ;
  3697. /* [default] */ /* Empty union arm */
  3698. } ;
  3699. } REGFILTER2;
  3700. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_c_ifspec;
  3701. extern RPC_IF_HANDLE __MIDL_itf_strmif_0134_v0_0_s_ifspec;
  3702. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  3703. #define __IFilterMapper2_INTERFACE_DEFINED__
  3704. /* interface IFilterMapper2 */
  3705. /* [unique][uuid][object] */
  3706. EXTERN_C const IID IID_IFilterMapper2;
  3707. #if defined(__cplusplus) && !defined(CINTERFACE)
  3708. MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  3709. IFilterMapper2 : public IUnknown
  3710. {
  3711. public:
  3712. virtual HRESULT STDMETHODCALLTYPE CreateCategory(
  3713. /* [in] */ REFCLSID clsidCategory,
  3714. /* [in] */ DWORD dwCategoryMerit,
  3715. /* [in] */ LPCWSTR Description) = 0;
  3716. virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(
  3717. /* [in] */ const CLSID *pclsidCategory,
  3718. /* [in] */ const OLECHAR *szInstance,
  3719. /* [in] */ REFCLSID Filter) = 0;
  3720. virtual HRESULT STDMETHODCALLTYPE RegisterFilter(
  3721. /* [in] */ REFCLSID clsidFilter,
  3722. /* [in] */ LPCWSTR Name,
  3723. /* [out][in] */ IMoniker **ppMoniker,
  3724. /* [in] */ const CLSID *pclsidCategory,
  3725. /* [in] */ const OLECHAR *szInstance,
  3726. /* [in] */ const REGFILTER2 *prf2) = 0;
  3727. virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(
  3728. /* [out] */ IEnumMoniker **ppEnum,
  3729. /* [in] */ DWORD dwFlags,
  3730. /* [in] */ BOOL bExactMatch,
  3731. /* [in] */ DWORD dwMerit,
  3732. /* [in] */ BOOL bInputNeeded,
  3733. /* [in] */ DWORD cInputTypes,
  3734. /* [size_is] */ const GUID *pInputTypes,
  3735. /* [in] */ const REGPINMEDIUM *pMedIn,
  3736. /* [in] */ const CLSID *pPinCategoryIn,
  3737. /* [in] */ BOOL bRender,
  3738. /* [in] */ BOOL bOutputNeeded,
  3739. /* [in] */ DWORD cOutputTypes,
  3740. /* [size_is] */ const GUID *pOutputTypes,
  3741. /* [in] */ const REGPINMEDIUM *pMedOut,
  3742. /* [in] */ const CLSID *pPinCategoryOut) = 0;
  3743. };
  3744. #else /* C style interface */
  3745. typedef struct IFilterMapper2Vtbl
  3746. {
  3747. BEGIN_INTERFACE
  3748. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3749. IFilterMapper2 * This,
  3750. /* [in] */ REFIID riid,
  3751. /* [iid_is][out] */ void **ppvObject);
  3752. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3753. IFilterMapper2 * This);
  3754. ULONG ( STDMETHODCALLTYPE *Release )(
  3755. IFilterMapper2 * This);
  3756. HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
  3757. IFilterMapper2 * This,
  3758. /* [in] */ REFCLSID clsidCategory,
  3759. /* [in] */ DWORD dwCategoryMerit,
  3760. /* [in] */ LPCWSTR Description);
  3761. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3762. IFilterMapper2 * This,
  3763. /* [in] */ const CLSID *pclsidCategory,
  3764. /* [in] */ const OLECHAR *szInstance,
  3765. /* [in] */ REFCLSID Filter);
  3766. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3767. IFilterMapper2 * This,
  3768. /* [in] */ REFCLSID clsidFilter,
  3769. /* [in] */ LPCWSTR Name,
  3770. /* [out][in] */ IMoniker **ppMoniker,
  3771. /* [in] */ const CLSID *pclsidCategory,
  3772. /* [in] */ const OLECHAR *szInstance,
  3773. /* [in] */ const REGFILTER2 *prf2);
  3774. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3775. IFilterMapper2 * This,
  3776. /* [out] */ IEnumMoniker **ppEnum,
  3777. /* [in] */ DWORD dwFlags,
  3778. /* [in] */ BOOL bExactMatch,
  3779. /* [in] */ DWORD dwMerit,
  3780. /* [in] */ BOOL bInputNeeded,
  3781. /* [in] */ DWORD cInputTypes,
  3782. /* [size_is] */ const GUID *pInputTypes,
  3783. /* [in] */ const REGPINMEDIUM *pMedIn,
  3784. /* [in] */ const CLSID *pPinCategoryIn,
  3785. /* [in] */ BOOL bRender,
  3786. /* [in] */ BOOL bOutputNeeded,
  3787. /* [in] */ DWORD cOutputTypes,
  3788. /* [size_is] */ const GUID *pOutputTypes,
  3789. /* [in] */ const REGPINMEDIUM *pMedOut,
  3790. /* [in] */ const CLSID *pPinCategoryOut);
  3791. END_INTERFACE
  3792. } IFilterMapper2Vtbl;
  3793. interface IFilterMapper2
  3794. {
  3795. CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  3796. };
  3797. #ifdef COBJMACROS
  3798. #define IFilterMapper2_QueryInterface(This,riid,ppvObject) \
  3799. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3800. #define IFilterMapper2_AddRef(This) \
  3801. (This)->lpVtbl -> AddRef(This)
  3802. #define IFilterMapper2_Release(This) \
  3803. (This)->lpVtbl -> Release(This)
  3804. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) \
  3805. (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  3806. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter) \
  3807. (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  3808. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) \
  3809. (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  3810. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) \
  3811. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  3812. #endif /* COBJMACROS */
  3813. #endif /* C style interface */
  3814. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(
  3815. IFilterMapper2 * This,
  3816. /* [in] */ REFCLSID clsidCategory,
  3817. /* [in] */ DWORD dwCategoryMerit,
  3818. /* [in] */ LPCWSTR Description);
  3819. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  3820. IRpcStubBuffer *This,
  3821. IRpcChannelBuffer *_pRpcChannelBuffer,
  3822. PRPC_MESSAGE _pRpcMessage,
  3823. DWORD *_pdwStubPhase);
  3824. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(
  3825. IFilterMapper2 * This,
  3826. /* [in] */ const CLSID *pclsidCategory,
  3827. /* [in] */ const OLECHAR *szInstance,
  3828. /* [in] */ REFCLSID Filter);
  3829. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  3830. IRpcStubBuffer *This,
  3831. IRpcChannelBuffer *_pRpcChannelBuffer,
  3832. PRPC_MESSAGE _pRpcMessage,
  3833. DWORD *_pdwStubPhase);
  3834. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(
  3835. IFilterMapper2 * This,
  3836. /* [in] */ REFCLSID clsidFilter,
  3837. /* [in] */ LPCWSTR Name,
  3838. /* [out][in] */ IMoniker **ppMoniker,
  3839. /* [in] */ const CLSID *pclsidCategory,
  3840. /* [in] */ const OLECHAR *szInstance,
  3841. /* [in] */ const REGFILTER2 *prf2);
  3842. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  3843. IRpcStubBuffer *This,
  3844. IRpcChannelBuffer *_pRpcChannelBuffer,
  3845. PRPC_MESSAGE _pRpcMessage,
  3846. DWORD *_pdwStubPhase);
  3847. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(
  3848. IFilterMapper2 * This,
  3849. /* [out] */ IEnumMoniker **ppEnum,
  3850. /* [in] */ DWORD dwFlags,
  3851. /* [in] */ BOOL bExactMatch,
  3852. /* [in] */ DWORD dwMerit,
  3853. /* [in] */ BOOL bInputNeeded,
  3854. /* [in] */ DWORD cInputTypes,
  3855. /* [size_is] */ const GUID *pInputTypes,
  3856. /* [in] */ const REGPINMEDIUM *pMedIn,
  3857. /* [in] */ const CLSID *pPinCategoryIn,
  3858. /* [in] */ BOOL bRender,
  3859. /* [in] */ BOOL bOutputNeeded,
  3860. /* [in] */ DWORD cOutputTypes,
  3861. /* [size_is] */ const GUID *pOutputTypes,
  3862. /* [in] */ const REGPINMEDIUM *pMedOut,
  3863. /* [in] */ const CLSID *pPinCategoryOut);
  3864. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  3865. IRpcStubBuffer *This,
  3866. IRpcChannelBuffer *_pRpcChannelBuffer,
  3867. PRPC_MESSAGE _pRpcMessage,
  3868. DWORD *_pdwStubPhase);
  3869. #endif /* __IFilterMapper2_INTERFACE_DEFINED__ */
  3870. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  3871. #define __IFilterMapper3_INTERFACE_DEFINED__
  3872. /* interface IFilterMapper3 */
  3873. /* [unique][uuid][object] */
  3874. EXTERN_C const IID IID_IFilterMapper3;
  3875. #if defined(__cplusplus) && !defined(CINTERFACE)
  3876. MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  3877. IFilterMapper3 : public IFilterMapper2
  3878. {
  3879. public:
  3880. virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(
  3881. /* [out] */ ICreateDevEnum **ppEnum) = 0;
  3882. };
  3883. #else /* C style interface */
  3884. typedef struct IFilterMapper3Vtbl
  3885. {
  3886. BEGIN_INTERFACE
  3887. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3888. IFilterMapper3 * This,
  3889. /* [in] */ REFIID riid,
  3890. /* [iid_is][out] */ void **ppvObject);
  3891. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3892. IFilterMapper3 * This);
  3893. ULONG ( STDMETHODCALLTYPE *Release )(
  3894. IFilterMapper3 * This);
  3895. HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
  3896. IFilterMapper3 * This,
  3897. /* [in] */ REFCLSID clsidCategory,
  3898. /* [in] */ DWORD dwCategoryMerit,
  3899. /* [in] */ LPCWSTR Description);
  3900. HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(
  3901. IFilterMapper3 * This,
  3902. /* [in] */ const CLSID *pclsidCategory,
  3903. /* [in] */ const OLECHAR *szInstance,
  3904. /* [in] */ REFCLSID Filter);
  3905. HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(
  3906. IFilterMapper3 * This,
  3907. /* [in] */ REFCLSID clsidFilter,
  3908. /* [in] */ LPCWSTR Name,
  3909. /* [out][in] */ IMoniker **ppMoniker,
  3910. /* [in] */ const CLSID *pclsidCategory,
  3911. /* [in] */ const OLECHAR *szInstance,
  3912. /* [in] */ const REGFILTER2 *prf2);
  3913. HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(
  3914. IFilterMapper3 * This,
  3915. /* [out] */ IEnumMoniker **ppEnum,
  3916. /* [in] */ DWORD dwFlags,
  3917. /* [in] */ BOOL bExactMatch,
  3918. /* [in] */ DWORD dwMerit,
  3919. /* [in] */ BOOL bInputNeeded,
  3920. /* [in] */ DWORD cInputTypes,
  3921. /* [size_is] */ const GUID *pInputTypes,
  3922. /* [in] */ const REGPINMEDIUM *pMedIn,
  3923. /* [in] */ const CLSID *pPinCategoryIn,
  3924. /* [in] */ BOOL bRender,
  3925. /* [in] */ BOOL bOutputNeeded,
  3926. /* [in] */ DWORD cOutputTypes,
  3927. /* [size_is] */ const GUID *pOutputTypes,
  3928. /* [in] */ const REGPINMEDIUM *pMedOut,
  3929. /* [in] */ const CLSID *pPinCategoryOut);
  3930. HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )(
  3931. IFilterMapper3 * This,
  3932. /* [out] */ ICreateDevEnum **ppEnum);
  3933. END_INTERFACE
  3934. } IFilterMapper3Vtbl;
  3935. interface IFilterMapper3
  3936. {
  3937. CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  3938. };
  3939. #ifdef COBJMACROS
  3940. #define IFilterMapper3_QueryInterface(This,riid,ppvObject) \
  3941. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3942. #define IFilterMapper3_AddRef(This) \
  3943. (This)->lpVtbl -> AddRef(This)
  3944. #define IFilterMapper3_Release(This) \
  3945. (This)->lpVtbl -> Release(This)
  3946. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description) \
  3947. (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  3948. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter) \
  3949. (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  3950. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2) \
  3951. (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  3952. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut) \
  3953. (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  3954. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum) \
  3955. (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  3956. #endif /* COBJMACROS */
  3957. #endif /* C style interface */
  3958. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(
  3959. IFilterMapper3 * This,
  3960. /* [out] */ ICreateDevEnum **ppEnum);
  3961. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  3962. IRpcStubBuffer *This,
  3963. IRpcChannelBuffer *_pRpcChannelBuffer,
  3964. PRPC_MESSAGE _pRpcMessage,
  3965. DWORD *_pdwStubPhase);
  3966. #endif /* __IFilterMapper3_INTERFACE_DEFINED__ */
  3967. /* interface __MIDL_itf_strmif_0137 */
  3968. /* [local] */
  3969. typedef
  3970. enum tagQualityMessageType
  3971. { Famine = 0,
  3972. Flood = Famine + 1
  3973. } QualityMessageType;
  3974. typedef struct tagQuality
  3975. {
  3976. QualityMessageType Type;
  3977. long Proportion;
  3978. REFERENCE_TIME Late;
  3979. REFERENCE_TIME TimeStamp;
  3980. } Quality;
  3981. typedef IQualityControl *PQUALITYCONTROL;
  3982. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  3983. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  3984. #ifndef __IQualityControl_INTERFACE_DEFINED__
  3985. #define __IQualityControl_INTERFACE_DEFINED__
  3986. /* interface IQualityControl */
  3987. /* [unique][uuid][object] */
  3988. EXTERN_C const IID IID_IQualityControl;
  3989. #if defined(__cplusplus) && !defined(CINTERFACE)
  3990. MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  3991. IQualityControl : public IUnknown
  3992. {
  3993. public:
  3994. virtual HRESULT STDMETHODCALLTYPE Notify(
  3995. /* [in] */ IBaseFilter *pSelf,
  3996. /* [in] */ Quality q) = 0;
  3997. virtual HRESULT STDMETHODCALLTYPE SetSink(
  3998. /* [in] */ IQualityControl *piqc) = 0;
  3999. };
  4000. #else /* C style interface */
  4001. typedef struct IQualityControlVtbl
  4002. {
  4003. BEGIN_INTERFACE
  4004. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4005. IQualityControl * This,
  4006. /* [in] */ REFIID riid,
  4007. /* [iid_is][out] */ void **ppvObject);
  4008. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4009. IQualityControl * This);
  4010. ULONG ( STDMETHODCALLTYPE *Release )(
  4011. IQualityControl * This);
  4012. HRESULT ( STDMETHODCALLTYPE *Notify )(
  4013. IQualityControl * This,
  4014. /* [in] */ IBaseFilter *pSelf,
  4015. /* [in] */ Quality q);
  4016. HRESULT ( STDMETHODCALLTYPE *SetSink )(
  4017. IQualityControl * This,
  4018. /* [in] */ IQualityControl *piqc);
  4019. END_INTERFACE
  4020. } IQualityControlVtbl;
  4021. interface IQualityControl
  4022. {
  4023. CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  4024. };
  4025. #ifdef COBJMACROS
  4026. #define IQualityControl_QueryInterface(This,riid,ppvObject) \
  4027. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4028. #define IQualityControl_AddRef(This) \
  4029. (This)->lpVtbl -> AddRef(This)
  4030. #define IQualityControl_Release(This) \
  4031. (This)->lpVtbl -> Release(This)
  4032. #define IQualityControl_Notify(This,pSelf,q) \
  4033. (This)->lpVtbl -> Notify(This,pSelf,q)
  4034. #define IQualityControl_SetSink(This,piqc) \
  4035. (This)->lpVtbl -> SetSink(This,piqc)
  4036. #endif /* COBJMACROS */
  4037. #endif /* C style interface */
  4038. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(
  4039. IQualityControl * This,
  4040. /* [in] */ IBaseFilter *pSelf,
  4041. /* [in] */ Quality q);
  4042. void __RPC_STUB IQualityControl_Notify_Stub(
  4043. IRpcStubBuffer *This,
  4044. IRpcChannelBuffer *_pRpcChannelBuffer,
  4045. PRPC_MESSAGE _pRpcMessage,
  4046. DWORD *_pdwStubPhase);
  4047. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(
  4048. IQualityControl * This,
  4049. /* [in] */ IQualityControl *piqc);
  4050. void __RPC_STUB IQualityControl_SetSink_Stub(
  4051. IRpcStubBuffer *This,
  4052. IRpcChannelBuffer *_pRpcChannelBuffer,
  4053. PRPC_MESSAGE _pRpcMessage,
  4054. DWORD *_pdwStubPhase);
  4055. #endif /* __IQualityControl_INTERFACE_DEFINED__ */
  4056. /* interface __MIDL_itf_strmif_0138 */
  4057. /* [local] */
  4058. enum __MIDL___MIDL_itf_strmif_0138_0001
  4059. { CK_NOCOLORKEY = 0,
  4060. CK_INDEX = 0x1,
  4061. CK_RGB = 0x2
  4062. } ;
  4063. typedef struct tagCOLORKEY
  4064. {
  4065. DWORD KeyType;
  4066. DWORD PaletteIndex;
  4067. COLORREF LowColorValue;
  4068. COLORREF HighColorValue;
  4069. } COLORKEY;
  4070. enum __MIDL___MIDL_itf_strmif_0138_0002
  4071. { ADVISE_NONE = 0,
  4072. ADVISE_CLIPPING = 0x1,
  4073. ADVISE_PALETTE = 0x2,
  4074. ADVISE_COLORKEY = 0x4,
  4075. ADVISE_POSITION = 0x8,
  4076. ADVISE_DISPLAY_CHANGE = 0x10
  4077. } ;
  4078. #define ADVISE_ALL ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  4079. #define ADVISE_ALL2 ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  4080. #ifndef _WINGDI_
  4081. typedef struct _RGNDATAHEADER
  4082. {
  4083. DWORD dwSize;
  4084. DWORD iType;
  4085. DWORD nCount;
  4086. DWORD nRgnSize;
  4087. RECT rcBound;
  4088. } RGNDATAHEADER;
  4089. typedef struct _RGNDATA
  4090. {
  4091. RGNDATAHEADER rdh;
  4092. char Buffer[ 1 ];
  4093. } RGNDATA;
  4094. #endif
  4095. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  4096. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  4097. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  4098. #define __IOverlayNotify_INTERFACE_DEFINED__
  4099. /* interface IOverlayNotify */
  4100. /* [unique][uuid][local][object] */
  4101. EXTERN_C const IID IID_IOverlayNotify;
  4102. #if defined(__cplusplus) && !defined(CINTERFACE)
  4103. MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  4104. IOverlayNotify : public IUnknown
  4105. {
  4106. public:
  4107. virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(
  4108. /* [in] */ DWORD dwColors,
  4109. /* [in] */ const PALETTEENTRY *pPalette) = 0;
  4110. virtual HRESULT STDMETHODCALLTYPE OnClipChange(
  4111. /* [in] */ const RECT *pSourceRect,
  4112. /* [in] */ const RECT *pDestinationRect,
  4113. /* [in] */ const RGNDATA *pRgnData) = 0;
  4114. virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(
  4115. /* [in] */ const COLORKEY *pColorKey) = 0;
  4116. virtual HRESULT STDMETHODCALLTYPE OnPositionChange(
  4117. /* [in] */ const RECT *pSourceRect,
  4118. /* [in] */ const RECT *pDestinationRect) = 0;
  4119. };
  4120. #else /* C style interface */
  4121. typedef struct IOverlayNotifyVtbl
  4122. {
  4123. BEGIN_INTERFACE
  4124. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4125. IOverlayNotify * This,
  4126. /* [in] */ REFIID riid,
  4127. /* [iid_is][out] */ void **ppvObject);
  4128. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4129. IOverlayNotify * This);
  4130. ULONG ( STDMETHODCALLTYPE *Release )(
  4131. IOverlayNotify * This);
  4132. HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
  4133. IOverlayNotify * This,
  4134. /* [in] */ DWORD dwColors,
  4135. /* [in] */ const PALETTEENTRY *pPalette);
  4136. HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
  4137. IOverlayNotify * This,
  4138. /* [in] */ const RECT *pSourceRect,
  4139. /* [in] */ const RECT *pDestinationRect,
  4140. /* [in] */ const RGNDATA *pRgnData);
  4141. HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
  4142. IOverlayNotify * This,
  4143. /* [in] */ const COLORKEY *pColorKey);
  4144. HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
  4145. IOverlayNotify * This,
  4146. /* [in] */ const RECT *pSourceRect,
  4147. /* [in] */ const RECT *pDestinationRect);
  4148. END_INTERFACE
  4149. } IOverlayNotifyVtbl;
  4150. interface IOverlayNotify
  4151. {
  4152. CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  4153. };
  4154. #ifdef COBJMACROS
  4155. #define IOverlayNotify_QueryInterface(This,riid,ppvObject) \
  4156. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4157. #define IOverlayNotify_AddRef(This) \
  4158. (This)->lpVtbl -> AddRef(This)
  4159. #define IOverlayNotify_Release(This) \
  4160. (This)->lpVtbl -> Release(This)
  4161. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette) \
  4162. (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  4163. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) \
  4164. (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  4165. #define IOverlayNotify_OnColorKeyChange(This,pColorKey) \
  4166. (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  4167. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect) \
  4168. (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  4169. #endif /* COBJMACROS */
  4170. #endif /* C style interface */
  4171. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(
  4172. IOverlayNotify * This,
  4173. /* [in] */ DWORD dwColors,
  4174. /* [in] */ const PALETTEENTRY *pPalette);
  4175. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  4176. IRpcStubBuffer *This,
  4177. IRpcChannelBuffer *_pRpcChannelBuffer,
  4178. PRPC_MESSAGE _pRpcMessage,
  4179. DWORD *_pdwStubPhase);
  4180. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(
  4181. IOverlayNotify * This,
  4182. /* [in] */ const RECT *pSourceRect,
  4183. /* [in] */ const RECT *pDestinationRect,
  4184. /* [in] */ const RGNDATA *pRgnData);
  4185. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  4186. IRpcStubBuffer *This,
  4187. IRpcChannelBuffer *_pRpcChannelBuffer,
  4188. PRPC_MESSAGE _pRpcMessage,
  4189. DWORD *_pdwStubPhase);
  4190. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(
  4191. IOverlayNotify * This,
  4192. /* [in] */ const COLORKEY *pColorKey);
  4193. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  4194. IRpcStubBuffer *This,
  4195. IRpcChannelBuffer *_pRpcChannelBuffer,
  4196. PRPC_MESSAGE _pRpcMessage,
  4197. DWORD *_pdwStubPhase);
  4198. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(
  4199. IOverlayNotify * This,
  4200. /* [in] */ const RECT *pSourceRect,
  4201. /* [in] */ const RECT *pDestinationRect);
  4202. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  4203. IRpcStubBuffer *This,
  4204. IRpcChannelBuffer *_pRpcChannelBuffer,
  4205. PRPC_MESSAGE _pRpcMessage,
  4206. DWORD *_pdwStubPhase);
  4207. #endif /* __IOverlayNotify_INTERFACE_DEFINED__ */
  4208. /* interface __MIDL_itf_strmif_0139 */
  4209. /* [local] */
  4210. typedef IOverlayNotify *POVERLAYNOTIFY;
  4211. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  4212. #define HMONITOR_DECLARED
  4213. #if 0
  4214. typedef HANDLE HMONITOR;
  4215. #endif
  4216. DECLARE_HANDLE(HMONITOR);
  4217. #endif
  4218. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  4219. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  4220. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  4221. #define __IOverlayNotify2_INTERFACE_DEFINED__
  4222. /* interface IOverlayNotify2 */
  4223. /* [unique][uuid][local][object] */
  4224. EXTERN_C const IID IID_IOverlayNotify2;
  4225. #if defined(__cplusplus) && !defined(CINTERFACE)
  4226. MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  4227. IOverlayNotify2 : public IOverlayNotify
  4228. {
  4229. public:
  4230. virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(
  4231. HMONITOR hMonitor) = 0;
  4232. };
  4233. #else /* C style interface */
  4234. typedef struct IOverlayNotify2Vtbl
  4235. {
  4236. BEGIN_INTERFACE
  4237. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4238. IOverlayNotify2 * This,
  4239. /* [in] */ REFIID riid,
  4240. /* [iid_is][out] */ void **ppvObject);
  4241. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4242. IOverlayNotify2 * This);
  4243. ULONG ( STDMETHODCALLTYPE *Release )(
  4244. IOverlayNotify2 * This);
  4245. HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(
  4246. IOverlayNotify2 * This,
  4247. /* [in] */ DWORD dwColors,
  4248. /* [in] */ const PALETTEENTRY *pPalette);
  4249. HRESULT ( STDMETHODCALLTYPE *OnClipChange )(
  4250. IOverlayNotify2 * This,
  4251. /* [in] */ const RECT *pSourceRect,
  4252. /* [in] */ const RECT *pDestinationRect,
  4253. /* [in] */ const RGNDATA *pRgnData);
  4254. HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(
  4255. IOverlayNotify2 * This,
  4256. /* [in] */ const COLORKEY *pColorKey);
  4257. HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(
  4258. IOverlayNotify2 * This,
  4259. /* [in] */ const RECT *pSourceRect,
  4260. /* [in] */ const RECT *pDestinationRect);
  4261. HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )(
  4262. IOverlayNotify2 * This,
  4263. HMONITOR hMonitor);
  4264. END_INTERFACE
  4265. } IOverlayNotify2Vtbl;
  4266. interface IOverlayNotify2
  4267. {
  4268. CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  4269. };
  4270. #ifdef COBJMACROS
  4271. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject) \
  4272. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4273. #define IOverlayNotify2_AddRef(This) \
  4274. (This)->lpVtbl -> AddRef(This)
  4275. #define IOverlayNotify2_Release(This) \
  4276. (This)->lpVtbl -> Release(This)
  4277. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette) \
  4278. (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  4279. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData) \
  4280. (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  4281. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey) \
  4282. (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  4283. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect) \
  4284. (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  4285. #define IOverlayNotify2_OnDisplayChange(This,hMonitor) \
  4286. (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  4287. #endif /* COBJMACROS */
  4288. #endif /* C style interface */
  4289. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(
  4290. IOverlayNotify2 * This,
  4291. HMONITOR hMonitor);
  4292. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  4293. IRpcStubBuffer *This,
  4294. IRpcChannelBuffer *_pRpcChannelBuffer,
  4295. PRPC_MESSAGE _pRpcMessage,
  4296. DWORD *_pdwStubPhase);
  4297. #endif /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  4298. /* interface __MIDL_itf_strmif_0140 */
  4299. /* [local] */
  4300. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  4301. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  4302. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  4303. #ifndef __IOverlay_INTERFACE_DEFINED__
  4304. #define __IOverlay_INTERFACE_DEFINED__
  4305. /* interface IOverlay */
  4306. /* [unique][uuid][local][object] */
  4307. EXTERN_C const IID IID_IOverlay;
  4308. #if defined(__cplusplus) && !defined(CINTERFACE)
  4309. MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  4310. IOverlay : public IUnknown
  4311. {
  4312. public:
  4313. virtual HRESULT STDMETHODCALLTYPE GetPalette(
  4314. /* [out] */ DWORD *pdwColors,
  4315. /* [out] */ PALETTEENTRY **ppPalette) = 0;
  4316. virtual HRESULT STDMETHODCALLTYPE SetPalette(
  4317. /* [in] */ DWORD dwColors,
  4318. /* [in] */ PALETTEENTRY *pPalette) = 0;
  4319. virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(
  4320. /* [out] */ COLORKEY *pColorKey) = 0;
  4321. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  4322. /* [out] */ COLORKEY *pColorKey) = 0;
  4323. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  4324. /* [out][in] */ COLORKEY *pColorKey) = 0;
  4325. virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(
  4326. /* [out] */ HWND *pHwnd) = 0;
  4327. virtual HRESULT STDMETHODCALLTYPE GetClipList(
  4328. /* [out] */ RECT *pSourceRect,
  4329. /* [out] */ RECT *pDestinationRect,
  4330. /* [out] */ RGNDATA **ppRgnData) = 0;
  4331. virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
  4332. /* [out] */ RECT *pSourceRect,
  4333. /* [out] */ RECT *pDestinationRect) = 0;
  4334. virtual HRESULT STDMETHODCALLTYPE Advise(
  4335. /* [in] */ IOverlayNotify *pOverlayNotify,
  4336. /* [in] */ DWORD dwInterests) = 0;
  4337. virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  4338. };
  4339. #else /* C style interface */
  4340. typedef struct IOverlayVtbl
  4341. {
  4342. BEGIN_INTERFACE
  4343. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4344. IOverlay * This,
  4345. /* [in] */ REFIID riid,
  4346. /* [iid_is][out] */ void **ppvObject);
  4347. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4348. IOverlay * This);
  4349. ULONG ( STDMETHODCALLTYPE *Release )(
  4350. IOverlay * This);
  4351. HRESULT ( STDMETHODCALLTYPE *GetPalette )(
  4352. IOverlay * This,
  4353. /* [out] */ DWORD *pdwColors,
  4354. /* [out] */ PALETTEENTRY **ppPalette);
  4355. HRESULT ( STDMETHODCALLTYPE *SetPalette )(
  4356. IOverlay * This,
  4357. /* [in] */ DWORD dwColors,
  4358. /* [in] */ PALETTEENTRY *pPalette);
  4359. HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )(
  4360. IOverlay * This,
  4361. /* [out] */ COLORKEY *pColorKey);
  4362. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  4363. IOverlay * This,
  4364. /* [out] */ COLORKEY *pColorKey);
  4365. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  4366. IOverlay * This,
  4367. /* [out][in] */ COLORKEY *pColorKey);
  4368. HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )(
  4369. IOverlay * This,
  4370. /* [out] */ HWND *pHwnd);
  4371. HRESULT ( STDMETHODCALLTYPE *GetClipList )(
  4372. IOverlay * This,
  4373. /* [out] */ RECT *pSourceRect,
  4374. /* [out] */ RECT *pDestinationRect,
  4375. /* [out] */ RGNDATA **ppRgnData);
  4376. HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
  4377. IOverlay * This,
  4378. /* [out] */ RECT *pSourceRect,
  4379. /* [out] */ RECT *pDestinationRect);
  4380. HRESULT ( STDMETHODCALLTYPE *Advise )(
  4381. IOverlay * This,
  4382. /* [in] */ IOverlayNotify *pOverlayNotify,
  4383. /* [in] */ DWORD dwInterests);
  4384. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  4385. IOverlay * This);
  4386. END_INTERFACE
  4387. } IOverlayVtbl;
  4388. interface IOverlay
  4389. {
  4390. CONST_VTBL struct IOverlayVtbl *lpVtbl;
  4391. };
  4392. #ifdef COBJMACROS
  4393. #define IOverlay_QueryInterface(This,riid,ppvObject) \
  4394. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4395. #define IOverlay_AddRef(This) \
  4396. (This)->lpVtbl -> AddRef(This)
  4397. #define IOverlay_Release(This) \
  4398. (This)->lpVtbl -> Release(This)
  4399. #define IOverlay_GetPalette(This,pdwColors,ppPalette) \
  4400. (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  4401. #define IOverlay_SetPalette(This,dwColors,pPalette) \
  4402. (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  4403. #define IOverlay_GetDefaultColorKey(This,pColorKey) \
  4404. (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  4405. #define IOverlay_GetColorKey(This,pColorKey) \
  4406. (This)->lpVtbl -> GetColorKey(This,pColorKey)
  4407. #define IOverlay_SetColorKey(This,pColorKey) \
  4408. (This)->lpVtbl -> SetColorKey(This,pColorKey)
  4409. #define IOverlay_GetWindowHandle(This,pHwnd) \
  4410. (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  4411. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData) \
  4412. (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  4413. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect) \
  4414. (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  4415. #define IOverlay_Advise(This,pOverlayNotify,dwInterests) \
  4416. (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  4417. #define IOverlay_Unadvise(This) \
  4418. (This)->lpVtbl -> Unadvise(This)
  4419. #endif /* COBJMACROS */
  4420. #endif /* C style interface */
  4421. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(
  4422. IOverlay * This,
  4423. /* [out] */ DWORD *pdwColors,
  4424. /* [out] */ PALETTEENTRY **ppPalette);
  4425. void __RPC_STUB IOverlay_GetPalette_Stub(
  4426. IRpcStubBuffer *This,
  4427. IRpcChannelBuffer *_pRpcChannelBuffer,
  4428. PRPC_MESSAGE _pRpcMessage,
  4429. DWORD *_pdwStubPhase);
  4430. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(
  4431. IOverlay * This,
  4432. /* [in] */ DWORD dwColors,
  4433. /* [in] */ PALETTEENTRY *pPalette);
  4434. void __RPC_STUB IOverlay_SetPalette_Stub(
  4435. IRpcStubBuffer *This,
  4436. IRpcChannelBuffer *_pRpcChannelBuffer,
  4437. PRPC_MESSAGE _pRpcMessage,
  4438. DWORD *_pdwStubPhase);
  4439. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(
  4440. IOverlay * This,
  4441. /* [out] */ COLORKEY *pColorKey);
  4442. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  4443. IRpcStubBuffer *This,
  4444. IRpcChannelBuffer *_pRpcChannelBuffer,
  4445. PRPC_MESSAGE _pRpcMessage,
  4446. DWORD *_pdwStubPhase);
  4447. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(
  4448. IOverlay * This,
  4449. /* [out] */ COLORKEY *pColorKey);
  4450. void __RPC_STUB IOverlay_GetColorKey_Stub(
  4451. IRpcStubBuffer *This,
  4452. IRpcChannelBuffer *_pRpcChannelBuffer,
  4453. PRPC_MESSAGE _pRpcMessage,
  4454. DWORD *_pdwStubPhase);
  4455. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(
  4456. IOverlay * This,
  4457. /* [out][in] */ COLORKEY *pColorKey);
  4458. void __RPC_STUB IOverlay_SetColorKey_Stub(
  4459. IRpcStubBuffer *This,
  4460. IRpcChannelBuffer *_pRpcChannelBuffer,
  4461. PRPC_MESSAGE _pRpcMessage,
  4462. DWORD *_pdwStubPhase);
  4463. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(
  4464. IOverlay * This,
  4465. /* [out] */ HWND *pHwnd);
  4466. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  4467. IRpcStubBuffer *This,
  4468. IRpcChannelBuffer *_pRpcChannelBuffer,
  4469. PRPC_MESSAGE _pRpcMessage,
  4470. DWORD *_pdwStubPhase);
  4471. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(
  4472. IOverlay * This,
  4473. /* [out] */ RECT *pSourceRect,
  4474. /* [out] */ RECT *pDestinationRect,
  4475. /* [out] */ RGNDATA **ppRgnData);
  4476. void __RPC_STUB IOverlay_GetClipList_Stub(
  4477. IRpcStubBuffer *This,
  4478. IRpcChannelBuffer *_pRpcChannelBuffer,
  4479. PRPC_MESSAGE _pRpcMessage,
  4480. DWORD *_pdwStubPhase);
  4481. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(
  4482. IOverlay * This,
  4483. /* [out] */ RECT *pSourceRect,
  4484. /* [out] */ RECT *pDestinationRect);
  4485. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  4486. IRpcStubBuffer *This,
  4487. IRpcChannelBuffer *_pRpcChannelBuffer,
  4488. PRPC_MESSAGE _pRpcMessage,
  4489. DWORD *_pdwStubPhase);
  4490. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(
  4491. IOverlay * This,
  4492. /* [in] */ IOverlayNotify *pOverlayNotify,
  4493. /* [in] */ DWORD dwInterests);
  4494. void __RPC_STUB IOverlay_Advise_Stub(
  4495. IRpcStubBuffer *This,
  4496. IRpcChannelBuffer *_pRpcChannelBuffer,
  4497. PRPC_MESSAGE _pRpcMessage,
  4498. DWORD *_pdwStubPhase);
  4499. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(
  4500. IOverlay * This);
  4501. void __RPC_STUB IOverlay_Unadvise_Stub(
  4502. IRpcStubBuffer *This,
  4503. IRpcChannelBuffer *_pRpcChannelBuffer,
  4504. PRPC_MESSAGE _pRpcMessage,
  4505. DWORD *_pdwStubPhase);
  4506. #endif /* __IOverlay_INTERFACE_DEFINED__ */
  4507. /* interface __MIDL_itf_strmif_0141 */
  4508. /* [local] */
  4509. typedef IOverlay *POVERLAY;
  4510. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  4511. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  4512. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  4513. #define __IMediaEventSink_INTERFACE_DEFINED__
  4514. /* interface IMediaEventSink */
  4515. /* [unique][uuid][object] */
  4516. EXTERN_C const IID IID_IMediaEventSink;
  4517. #if defined(__cplusplus) && !defined(CINTERFACE)
  4518. MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  4519. IMediaEventSink : public IUnknown
  4520. {
  4521. public:
  4522. virtual HRESULT STDMETHODCALLTYPE Notify(
  4523. /* [in] */ long EventCode,
  4524. /* [in] */ LONG_PTR EventParam1,
  4525. /* [in] */ LONG_PTR EventParam2) = 0;
  4526. };
  4527. #else /* C style interface */
  4528. typedef struct IMediaEventSinkVtbl
  4529. {
  4530. BEGIN_INTERFACE
  4531. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4532. IMediaEventSink * This,
  4533. /* [in] */ REFIID riid,
  4534. /* [iid_is][out] */ void **ppvObject);
  4535. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4536. IMediaEventSink * This);
  4537. ULONG ( STDMETHODCALLTYPE *Release )(
  4538. IMediaEventSink * This);
  4539. HRESULT ( STDMETHODCALLTYPE *Notify )(
  4540. IMediaEventSink * This,
  4541. /* [in] */ long EventCode,
  4542. /* [in] */ LONG_PTR EventParam1,
  4543. /* [in] */ LONG_PTR EventParam2);
  4544. END_INTERFACE
  4545. } IMediaEventSinkVtbl;
  4546. interface IMediaEventSink
  4547. {
  4548. CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  4549. };
  4550. #ifdef COBJMACROS
  4551. #define IMediaEventSink_QueryInterface(This,riid,ppvObject) \
  4552. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4553. #define IMediaEventSink_AddRef(This) \
  4554. (This)->lpVtbl -> AddRef(This)
  4555. #define IMediaEventSink_Release(This) \
  4556. (This)->lpVtbl -> Release(This)
  4557. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2) \
  4558. (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  4559. #endif /* COBJMACROS */
  4560. #endif /* C style interface */
  4561. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(
  4562. IMediaEventSink * This,
  4563. /* [in] */ long EventCode,
  4564. /* [in] */ LONG_PTR EventParam1,
  4565. /* [in] */ LONG_PTR EventParam2);
  4566. void __RPC_STUB IMediaEventSink_Notify_Stub(
  4567. IRpcStubBuffer *This,
  4568. IRpcChannelBuffer *_pRpcChannelBuffer,
  4569. PRPC_MESSAGE _pRpcMessage,
  4570. DWORD *_pdwStubPhase);
  4571. #endif /* __IMediaEventSink_INTERFACE_DEFINED__ */
  4572. /* interface __MIDL_itf_strmif_0142 */
  4573. /* [local] */
  4574. typedef IMediaEventSink *PMEDIAEVENTSINK;
  4575. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  4576. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  4577. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  4578. #define __IFileSourceFilter_INTERFACE_DEFINED__
  4579. /* interface IFileSourceFilter */
  4580. /* [unique][uuid][object] */
  4581. EXTERN_C const IID IID_IFileSourceFilter;
  4582. #if defined(__cplusplus) && !defined(CINTERFACE)
  4583. MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  4584. IFileSourceFilter : public IUnknown
  4585. {
  4586. public:
  4587. virtual HRESULT STDMETHODCALLTYPE Load(
  4588. /* [in] */ LPCOLESTR pszFileName,
  4589. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  4590. virtual HRESULT STDMETHODCALLTYPE GetCurFile(
  4591. /* [out] */ LPOLESTR *ppszFileName,
  4592. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  4593. };
  4594. #else /* C style interface */
  4595. typedef struct IFileSourceFilterVtbl
  4596. {
  4597. BEGIN_INTERFACE
  4598. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4599. IFileSourceFilter * This,
  4600. /* [in] */ REFIID riid,
  4601. /* [iid_is][out] */ void **ppvObject);
  4602. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4603. IFileSourceFilter * This);
  4604. ULONG ( STDMETHODCALLTYPE *Release )(
  4605. IFileSourceFilter * This);
  4606. HRESULT ( STDMETHODCALLTYPE *Load )(
  4607. IFileSourceFilter * This,
  4608. /* [in] */ LPCOLESTR pszFileName,
  4609. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4610. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4611. IFileSourceFilter * This,
  4612. /* [out] */ LPOLESTR *ppszFileName,
  4613. /* [out] */ AM_MEDIA_TYPE *pmt);
  4614. END_INTERFACE
  4615. } IFileSourceFilterVtbl;
  4616. interface IFileSourceFilter
  4617. {
  4618. CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  4619. };
  4620. #ifdef COBJMACROS
  4621. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject) \
  4622. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4623. #define IFileSourceFilter_AddRef(This) \
  4624. (This)->lpVtbl -> AddRef(This)
  4625. #define IFileSourceFilter_Release(This) \
  4626. (This)->lpVtbl -> Release(This)
  4627. #define IFileSourceFilter_Load(This,pszFileName,pmt) \
  4628. (This)->lpVtbl -> Load(This,pszFileName,pmt)
  4629. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt) \
  4630. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4631. #endif /* COBJMACROS */
  4632. #endif /* C style interface */
  4633. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(
  4634. IFileSourceFilter * This,
  4635. /* [in] */ LPCOLESTR pszFileName,
  4636. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4637. void __RPC_STUB IFileSourceFilter_Load_Stub(
  4638. IRpcStubBuffer *This,
  4639. IRpcChannelBuffer *_pRpcChannelBuffer,
  4640. PRPC_MESSAGE _pRpcMessage,
  4641. DWORD *_pdwStubPhase);
  4642. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(
  4643. IFileSourceFilter * This,
  4644. /* [out] */ LPOLESTR *ppszFileName,
  4645. /* [out] */ AM_MEDIA_TYPE *pmt);
  4646. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  4647. IRpcStubBuffer *This,
  4648. IRpcChannelBuffer *_pRpcChannelBuffer,
  4649. PRPC_MESSAGE _pRpcMessage,
  4650. DWORD *_pdwStubPhase);
  4651. #endif /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  4652. /* interface __MIDL_itf_strmif_0143 */
  4653. /* [local] */
  4654. typedef IFileSourceFilter *PFILTERFILESOURCE;
  4655. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
  4656. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
  4657. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  4658. #define __IFileSinkFilter_INTERFACE_DEFINED__
  4659. /* interface IFileSinkFilter */
  4660. /* [unique][uuid][object] */
  4661. EXTERN_C const IID IID_IFileSinkFilter;
  4662. #if defined(__cplusplus) && !defined(CINTERFACE)
  4663. MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  4664. IFileSinkFilter : public IUnknown
  4665. {
  4666. public:
  4667. virtual HRESULT STDMETHODCALLTYPE SetFileName(
  4668. /* [in] */ LPCOLESTR pszFileName,
  4669. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  4670. virtual HRESULT STDMETHODCALLTYPE GetCurFile(
  4671. /* [out] */ LPOLESTR *ppszFileName,
  4672. /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  4673. };
  4674. #else /* C style interface */
  4675. typedef struct IFileSinkFilterVtbl
  4676. {
  4677. BEGIN_INTERFACE
  4678. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4679. IFileSinkFilter * This,
  4680. /* [in] */ REFIID riid,
  4681. /* [iid_is][out] */ void **ppvObject);
  4682. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4683. IFileSinkFilter * This);
  4684. ULONG ( STDMETHODCALLTYPE *Release )(
  4685. IFileSinkFilter * This);
  4686. HRESULT ( STDMETHODCALLTYPE *SetFileName )(
  4687. IFileSinkFilter * This,
  4688. /* [in] */ LPCOLESTR pszFileName,
  4689. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4690. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4691. IFileSinkFilter * This,
  4692. /* [out] */ LPOLESTR *ppszFileName,
  4693. /* [out] */ AM_MEDIA_TYPE *pmt);
  4694. END_INTERFACE
  4695. } IFileSinkFilterVtbl;
  4696. interface IFileSinkFilter
  4697. {
  4698. CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  4699. };
  4700. #ifdef COBJMACROS
  4701. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject) \
  4702. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4703. #define IFileSinkFilter_AddRef(This) \
  4704. (This)->lpVtbl -> AddRef(This)
  4705. #define IFileSinkFilter_Release(This) \
  4706. (This)->lpVtbl -> Release(This)
  4707. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt) \
  4708. (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  4709. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt) \
  4710. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4711. #endif /* COBJMACROS */
  4712. #endif /* C style interface */
  4713. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(
  4714. IFileSinkFilter * This,
  4715. /* [in] */ LPCOLESTR pszFileName,
  4716. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4717. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  4718. IRpcStubBuffer *This,
  4719. IRpcChannelBuffer *_pRpcChannelBuffer,
  4720. PRPC_MESSAGE _pRpcMessage,
  4721. DWORD *_pdwStubPhase);
  4722. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(
  4723. IFileSinkFilter * This,
  4724. /* [out] */ LPOLESTR *ppszFileName,
  4725. /* [out] */ AM_MEDIA_TYPE *pmt);
  4726. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  4727. IRpcStubBuffer *This,
  4728. IRpcChannelBuffer *_pRpcChannelBuffer,
  4729. PRPC_MESSAGE _pRpcMessage,
  4730. DWORD *_pdwStubPhase);
  4731. #endif /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  4732. /* interface __MIDL_itf_strmif_0144 */
  4733. /* [local] */
  4734. typedef IFileSinkFilter *PFILTERFILESINK;
  4735. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  4736. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  4737. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  4738. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  4739. /* interface IFileSinkFilter2 */
  4740. /* [unique][uuid][object] */
  4741. EXTERN_C const IID IID_IFileSinkFilter2;
  4742. #if defined(__cplusplus) && !defined(CINTERFACE)
  4743. MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  4744. IFileSinkFilter2 : public IFileSinkFilter
  4745. {
  4746. public:
  4747. virtual HRESULT STDMETHODCALLTYPE SetMode(
  4748. /* [in] */ DWORD dwFlags) = 0;
  4749. virtual HRESULT STDMETHODCALLTYPE GetMode(
  4750. /* [out] */ DWORD *pdwFlags) = 0;
  4751. };
  4752. #else /* C style interface */
  4753. typedef struct IFileSinkFilter2Vtbl
  4754. {
  4755. BEGIN_INTERFACE
  4756. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4757. IFileSinkFilter2 * This,
  4758. /* [in] */ REFIID riid,
  4759. /* [iid_is][out] */ void **ppvObject);
  4760. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4761. IFileSinkFilter2 * This);
  4762. ULONG ( STDMETHODCALLTYPE *Release )(
  4763. IFileSinkFilter2 * This);
  4764. HRESULT ( STDMETHODCALLTYPE *SetFileName )(
  4765. IFileSinkFilter2 * This,
  4766. /* [in] */ LPCOLESTR pszFileName,
  4767. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4768. HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
  4769. IFileSinkFilter2 * This,
  4770. /* [out] */ LPOLESTR *ppszFileName,
  4771. /* [out] */ AM_MEDIA_TYPE *pmt);
  4772. HRESULT ( STDMETHODCALLTYPE *SetMode )(
  4773. IFileSinkFilter2 * This,
  4774. /* [in] */ DWORD dwFlags);
  4775. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  4776. IFileSinkFilter2 * This,
  4777. /* [out] */ DWORD *pdwFlags);
  4778. END_INTERFACE
  4779. } IFileSinkFilter2Vtbl;
  4780. interface IFileSinkFilter2
  4781. {
  4782. CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  4783. };
  4784. #ifdef COBJMACROS
  4785. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject) \
  4786. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4787. #define IFileSinkFilter2_AddRef(This) \
  4788. (This)->lpVtbl -> AddRef(This)
  4789. #define IFileSinkFilter2_Release(This) \
  4790. (This)->lpVtbl -> Release(This)
  4791. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt) \
  4792. (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  4793. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt) \
  4794. (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  4795. #define IFileSinkFilter2_SetMode(This,dwFlags) \
  4796. (This)->lpVtbl -> SetMode(This,dwFlags)
  4797. #define IFileSinkFilter2_GetMode(This,pdwFlags) \
  4798. (This)->lpVtbl -> GetMode(This,pdwFlags)
  4799. #endif /* COBJMACROS */
  4800. #endif /* C style interface */
  4801. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(
  4802. IFileSinkFilter2 * This,
  4803. /* [in] */ DWORD dwFlags);
  4804. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  4805. IRpcStubBuffer *This,
  4806. IRpcChannelBuffer *_pRpcChannelBuffer,
  4807. PRPC_MESSAGE _pRpcMessage,
  4808. DWORD *_pdwStubPhase);
  4809. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(
  4810. IFileSinkFilter2 * This,
  4811. /* [out] */ DWORD *pdwFlags);
  4812. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  4813. IRpcStubBuffer *This,
  4814. IRpcChannelBuffer *_pRpcChannelBuffer,
  4815. PRPC_MESSAGE _pRpcMessage,
  4816. DWORD *_pdwStubPhase);
  4817. #endif /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  4818. /* interface __MIDL_itf_strmif_0145 */
  4819. /* [local] */
  4820. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  4821. typedef /* [public] */
  4822. enum __MIDL___MIDL_itf_strmif_0145_0001
  4823. { AM_FILE_OVERWRITE = 0x1
  4824. } AM_FILESINK_FLAGS;
  4825. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_c_ifspec;
  4826. extern RPC_IF_HANDLE __MIDL_itf_strmif_0145_v0_0_s_ifspec;
  4827. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  4828. #define __IGraphBuilder_INTERFACE_DEFINED__
  4829. /* interface IGraphBuilder */
  4830. /* [unique][uuid][object] */
  4831. EXTERN_C const IID IID_IGraphBuilder;
  4832. #if defined(__cplusplus) && !defined(CINTERFACE)
  4833. MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  4834. IGraphBuilder : public IFilterGraph
  4835. {
  4836. public:
  4837. virtual HRESULT STDMETHODCALLTYPE Connect(
  4838. /* [in] */ IPin *ppinOut,
  4839. /* [in] */ IPin *ppinIn) = 0;
  4840. virtual HRESULT STDMETHODCALLTYPE Render(
  4841. /* [in] */ IPin *ppinOut) = 0;
  4842. virtual HRESULT STDMETHODCALLTYPE RenderFile(
  4843. /* [in] */ LPCWSTR lpcwstrFile,
  4844. /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  4845. virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(
  4846. /* [in] */ LPCWSTR lpcwstrFileName,
  4847. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4848. /* [out] */ IBaseFilter **ppFilter) = 0;
  4849. virtual HRESULT STDMETHODCALLTYPE SetLogFile(
  4850. /* [in] */ DWORD_PTR hFile) = 0;
  4851. virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  4852. virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  4853. };
  4854. #else /* C style interface */
  4855. typedef struct IGraphBuilderVtbl
  4856. {
  4857. BEGIN_INTERFACE
  4858. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4859. IGraphBuilder * This,
  4860. /* [in] */ REFIID riid,
  4861. /* [iid_is][out] */ void **ppvObject);
  4862. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4863. IGraphBuilder * This);
  4864. ULONG ( STDMETHODCALLTYPE *Release )(
  4865. IGraphBuilder * This);
  4866. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  4867. IGraphBuilder * This,
  4868. /* [in] */ IBaseFilter *pFilter,
  4869. /* [string][in] */ LPCWSTR pName);
  4870. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  4871. IGraphBuilder * This,
  4872. /* [in] */ IBaseFilter *pFilter);
  4873. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  4874. IGraphBuilder * This,
  4875. /* [out] */ IEnumFilters **ppEnum);
  4876. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  4877. IGraphBuilder * This,
  4878. /* [string][in] */ LPCWSTR pName,
  4879. /* [out] */ IBaseFilter **ppFilter);
  4880. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  4881. IGraphBuilder * This,
  4882. /* [in] */ IPin *ppinOut,
  4883. /* [in] */ IPin *ppinIn,
  4884. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  4885. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  4886. IGraphBuilder * This,
  4887. /* [in] */ IPin *ppin);
  4888. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  4889. IGraphBuilder * This,
  4890. /* [in] */ IPin *ppin);
  4891. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  4892. IGraphBuilder * This);
  4893. HRESULT ( STDMETHODCALLTYPE *Connect )(
  4894. IGraphBuilder * This,
  4895. /* [in] */ IPin *ppinOut,
  4896. /* [in] */ IPin *ppinIn);
  4897. HRESULT ( STDMETHODCALLTYPE *Render )(
  4898. IGraphBuilder * This,
  4899. /* [in] */ IPin *ppinOut);
  4900. HRESULT ( STDMETHODCALLTYPE *RenderFile )(
  4901. IGraphBuilder * This,
  4902. /* [in] */ LPCWSTR lpcwstrFile,
  4903. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  4904. HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
  4905. IGraphBuilder * This,
  4906. /* [in] */ LPCWSTR lpcwstrFileName,
  4907. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4908. /* [out] */ IBaseFilter **ppFilter);
  4909. HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
  4910. IGraphBuilder * This,
  4911. /* [in] */ DWORD_PTR hFile);
  4912. HRESULT ( STDMETHODCALLTYPE *Abort )(
  4913. IGraphBuilder * This);
  4914. HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
  4915. IGraphBuilder * This);
  4916. END_INTERFACE
  4917. } IGraphBuilderVtbl;
  4918. interface IGraphBuilder
  4919. {
  4920. CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  4921. };
  4922. #ifdef COBJMACROS
  4923. #define IGraphBuilder_QueryInterface(This,riid,ppvObject) \
  4924. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4925. #define IGraphBuilder_AddRef(This) \
  4926. (This)->lpVtbl -> AddRef(This)
  4927. #define IGraphBuilder_Release(This) \
  4928. (This)->lpVtbl -> Release(This)
  4929. #define IGraphBuilder_AddFilter(This,pFilter,pName) \
  4930. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  4931. #define IGraphBuilder_RemoveFilter(This,pFilter) \
  4932. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  4933. #define IGraphBuilder_EnumFilters(This,ppEnum) \
  4934. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  4935. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter) \
  4936. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  4937. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  4938. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  4939. #define IGraphBuilder_Reconnect(This,ppin) \
  4940. (This)->lpVtbl -> Reconnect(This,ppin)
  4941. #define IGraphBuilder_Disconnect(This,ppin) \
  4942. (This)->lpVtbl -> Disconnect(This,ppin)
  4943. #define IGraphBuilder_SetDefaultSyncSource(This) \
  4944. (This)->lpVtbl -> SetDefaultSyncSource(This)
  4945. #define IGraphBuilder_Connect(This,ppinOut,ppinIn) \
  4946. (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  4947. #define IGraphBuilder_Render(This,ppinOut) \
  4948. (This)->lpVtbl -> Render(This,ppinOut)
  4949. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList) \
  4950. (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  4951. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) \
  4952. (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  4953. #define IGraphBuilder_SetLogFile(This,hFile) \
  4954. (This)->lpVtbl -> SetLogFile(This,hFile)
  4955. #define IGraphBuilder_Abort(This) \
  4956. (This)->lpVtbl -> Abort(This)
  4957. #define IGraphBuilder_ShouldOperationContinue(This) \
  4958. (This)->lpVtbl -> ShouldOperationContinue(This)
  4959. #endif /* COBJMACROS */
  4960. #endif /* C style interface */
  4961. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(
  4962. IGraphBuilder * This,
  4963. /* [in] */ IPin *ppinOut,
  4964. /* [in] */ IPin *ppinIn);
  4965. void __RPC_STUB IGraphBuilder_Connect_Stub(
  4966. IRpcStubBuffer *This,
  4967. IRpcChannelBuffer *_pRpcChannelBuffer,
  4968. PRPC_MESSAGE _pRpcMessage,
  4969. DWORD *_pdwStubPhase);
  4970. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(
  4971. IGraphBuilder * This,
  4972. /* [in] */ IPin *ppinOut);
  4973. void __RPC_STUB IGraphBuilder_Render_Stub(
  4974. IRpcStubBuffer *This,
  4975. IRpcChannelBuffer *_pRpcChannelBuffer,
  4976. PRPC_MESSAGE _pRpcMessage,
  4977. DWORD *_pdwStubPhase);
  4978. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(
  4979. IGraphBuilder * This,
  4980. /* [in] */ LPCWSTR lpcwstrFile,
  4981. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  4982. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  4983. IRpcStubBuffer *This,
  4984. IRpcChannelBuffer *_pRpcChannelBuffer,
  4985. PRPC_MESSAGE _pRpcMessage,
  4986. DWORD *_pdwStubPhase);
  4987. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(
  4988. IGraphBuilder * This,
  4989. /* [in] */ LPCWSTR lpcwstrFileName,
  4990. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  4991. /* [out] */ IBaseFilter **ppFilter);
  4992. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  4993. IRpcStubBuffer *This,
  4994. IRpcChannelBuffer *_pRpcChannelBuffer,
  4995. PRPC_MESSAGE _pRpcMessage,
  4996. DWORD *_pdwStubPhase);
  4997. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(
  4998. IGraphBuilder * This,
  4999. /* [in] */ DWORD_PTR hFile);
  5000. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  5001. IRpcStubBuffer *This,
  5002. IRpcChannelBuffer *_pRpcChannelBuffer,
  5003. PRPC_MESSAGE _pRpcMessage,
  5004. DWORD *_pdwStubPhase);
  5005. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(
  5006. IGraphBuilder * This);
  5007. void __RPC_STUB IGraphBuilder_Abort_Stub(
  5008. IRpcStubBuffer *This,
  5009. IRpcChannelBuffer *_pRpcChannelBuffer,
  5010. PRPC_MESSAGE _pRpcMessage,
  5011. DWORD *_pdwStubPhase);
  5012. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(
  5013. IGraphBuilder * This);
  5014. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  5015. IRpcStubBuffer *This,
  5016. IRpcChannelBuffer *_pRpcChannelBuffer,
  5017. PRPC_MESSAGE _pRpcMessage,
  5018. DWORD *_pdwStubPhase);
  5019. #endif /* __IGraphBuilder_INTERFACE_DEFINED__ */
  5020. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  5021. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  5022. /* interface ICaptureGraphBuilder */
  5023. /* [unique][uuid][object] */
  5024. EXTERN_C const IID IID_ICaptureGraphBuilder;
  5025. #if defined(__cplusplus) && !defined(CINTERFACE)
  5026. MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  5027. ICaptureGraphBuilder : public IUnknown
  5028. {
  5029. public:
  5030. virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
  5031. /* [in] */ IGraphBuilder *pfg) = 0;
  5032. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  5033. /* [out] */ IGraphBuilder **ppfg) = 0;
  5034. virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
  5035. /* [in] */ const GUID *pType,
  5036. /* [in] */ LPCOLESTR lpstrFile,
  5037. /* [out] */ IBaseFilter **ppf,
  5038. /* [out] */ IFileSinkFilter **ppSink) = 0;
  5039. virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
  5040. /* [unique][in] */ const GUID *pCategory,
  5041. /* [in] */ IBaseFilter *pf,
  5042. /* [in] */ REFIID riid,
  5043. /* [out] */ void **ppint) = 0;
  5044. virtual HRESULT STDMETHODCALLTYPE RenderStream(
  5045. /* [in] */ const GUID *pCategory,
  5046. /* [in] */ IUnknown *pSource,
  5047. /* [in] */ IBaseFilter *pfCompressor,
  5048. /* [in] */ IBaseFilter *pfRenderer) = 0;
  5049. virtual HRESULT STDMETHODCALLTYPE ControlStream(
  5050. /* [in] */ const GUID *pCategory,
  5051. /* [in] */ IBaseFilter *pFilter,
  5052. /* [in] */ REFERENCE_TIME *pstart,
  5053. /* [in] */ REFERENCE_TIME *pstop,
  5054. /* [in] */ WORD wStartCookie,
  5055. /* [in] */ WORD wStopCookie) = 0;
  5056. virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
  5057. /* [in] */ LPCOLESTR lpstr,
  5058. /* [in] */ DWORDLONG dwlSize) = 0;
  5059. virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
  5060. /* [in] */ LPOLESTR lpwstrOld,
  5061. /* [in] */ LPOLESTR lpwstrNew,
  5062. /* [in] */ int fAllowEscAbort,
  5063. /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  5064. };
  5065. #else /* C style interface */
  5066. typedef struct ICaptureGraphBuilderVtbl
  5067. {
  5068. BEGIN_INTERFACE
  5069. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5070. ICaptureGraphBuilder * This,
  5071. /* [in] */ REFIID riid,
  5072. /* [iid_is][out] */ void **ppvObject);
  5073. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5074. ICaptureGraphBuilder * This);
  5075. ULONG ( STDMETHODCALLTYPE *Release )(
  5076. ICaptureGraphBuilder * This);
  5077. HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
  5078. ICaptureGraphBuilder * This,
  5079. /* [in] */ IGraphBuilder *pfg);
  5080. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  5081. ICaptureGraphBuilder * This,
  5082. /* [out] */ IGraphBuilder **ppfg);
  5083. HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
  5084. ICaptureGraphBuilder * This,
  5085. /* [in] */ const GUID *pType,
  5086. /* [in] */ LPCOLESTR lpstrFile,
  5087. /* [out] */ IBaseFilter **ppf,
  5088. /* [out] */ IFileSinkFilter **ppSink);
  5089. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
  5090. ICaptureGraphBuilder * This,
  5091. /* [unique][in] */ const GUID *pCategory,
  5092. /* [in] */ IBaseFilter *pf,
  5093. /* [in] */ REFIID riid,
  5094. /* [out] */ void **ppint);
  5095. HRESULT ( STDMETHODCALLTYPE *RenderStream )(
  5096. ICaptureGraphBuilder * This,
  5097. /* [in] */ const GUID *pCategory,
  5098. /* [in] */ IUnknown *pSource,
  5099. /* [in] */ IBaseFilter *pfCompressor,
  5100. /* [in] */ IBaseFilter *pfRenderer);
  5101. HRESULT ( STDMETHODCALLTYPE *ControlStream )(
  5102. ICaptureGraphBuilder * This,
  5103. /* [in] */ const GUID *pCategory,
  5104. /* [in] */ IBaseFilter *pFilter,
  5105. /* [in] */ REFERENCE_TIME *pstart,
  5106. /* [in] */ REFERENCE_TIME *pstop,
  5107. /* [in] */ WORD wStartCookie,
  5108. /* [in] */ WORD wStopCookie);
  5109. HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
  5110. ICaptureGraphBuilder * This,
  5111. /* [in] */ LPCOLESTR lpstr,
  5112. /* [in] */ DWORDLONG dwlSize);
  5113. HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
  5114. ICaptureGraphBuilder * This,
  5115. /* [in] */ LPOLESTR lpwstrOld,
  5116. /* [in] */ LPOLESTR lpwstrNew,
  5117. /* [in] */ int fAllowEscAbort,
  5118. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5119. END_INTERFACE
  5120. } ICaptureGraphBuilderVtbl;
  5121. interface ICaptureGraphBuilder
  5122. {
  5123. CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  5124. };
  5125. #ifdef COBJMACROS
  5126. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject) \
  5127. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5128. #define ICaptureGraphBuilder_AddRef(This) \
  5129. (This)->lpVtbl -> AddRef(This)
  5130. #define ICaptureGraphBuilder_Release(This) \
  5131. (This)->lpVtbl -> Release(This)
  5132. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg) \
  5133. (This)->lpVtbl -> SetFiltergraph(This,pfg)
  5134. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg) \
  5135. (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  5136. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) \
  5137. (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  5138. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint) \
  5139. (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  5140. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer) \
  5141. (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  5142. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie) \
  5143. (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  5144. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize) \
  5145. (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  5146. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) \
  5147. (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  5148. #endif /* COBJMACROS */
  5149. #endif /* C style interface */
  5150. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(
  5151. ICaptureGraphBuilder * This,
  5152. /* [in] */ IGraphBuilder *pfg);
  5153. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  5154. IRpcStubBuffer *This,
  5155. IRpcChannelBuffer *_pRpcChannelBuffer,
  5156. PRPC_MESSAGE _pRpcMessage,
  5157. DWORD *_pdwStubPhase);
  5158. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(
  5159. ICaptureGraphBuilder * This,
  5160. /* [out] */ IGraphBuilder **ppfg);
  5161. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  5162. IRpcStubBuffer *This,
  5163. IRpcChannelBuffer *_pRpcChannelBuffer,
  5164. PRPC_MESSAGE _pRpcMessage,
  5165. DWORD *_pdwStubPhase);
  5166. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(
  5167. ICaptureGraphBuilder * This,
  5168. /* [in] */ const GUID *pType,
  5169. /* [in] */ LPCOLESTR lpstrFile,
  5170. /* [out] */ IBaseFilter **ppf,
  5171. /* [out] */ IFileSinkFilter **ppSink);
  5172. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  5173. IRpcStubBuffer *This,
  5174. IRpcChannelBuffer *_pRpcChannelBuffer,
  5175. PRPC_MESSAGE _pRpcMessage,
  5176. DWORD *_pdwStubPhase);
  5177. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(
  5178. ICaptureGraphBuilder * This,
  5179. /* [unique][in] */ const GUID *pCategory,
  5180. /* [in] */ IBaseFilter *pf,
  5181. /* [in] */ REFIID riid,
  5182. /* [out] */ IUnknown **ppint);
  5183. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  5184. IRpcStubBuffer *This,
  5185. IRpcChannelBuffer *_pRpcChannelBuffer,
  5186. PRPC_MESSAGE _pRpcMessage,
  5187. DWORD *_pdwStubPhase);
  5188. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(
  5189. ICaptureGraphBuilder * This,
  5190. /* [in] */ const GUID *pCategory,
  5191. /* [in] */ IUnknown *pSource,
  5192. /* [in] */ IBaseFilter *pfCompressor,
  5193. /* [in] */ IBaseFilter *pfRenderer);
  5194. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  5195. IRpcStubBuffer *This,
  5196. IRpcChannelBuffer *_pRpcChannelBuffer,
  5197. PRPC_MESSAGE _pRpcMessage,
  5198. DWORD *_pdwStubPhase);
  5199. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(
  5200. ICaptureGraphBuilder * This,
  5201. /* [in] */ const GUID *pCategory,
  5202. /* [in] */ IBaseFilter *pFilter,
  5203. /* [in] */ REFERENCE_TIME *pstart,
  5204. /* [in] */ REFERENCE_TIME *pstop,
  5205. /* [in] */ WORD wStartCookie,
  5206. /* [in] */ WORD wStopCookie);
  5207. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  5208. IRpcStubBuffer *This,
  5209. IRpcChannelBuffer *_pRpcChannelBuffer,
  5210. PRPC_MESSAGE _pRpcMessage,
  5211. DWORD *_pdwStubPhase);
  5212. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(
  5213. ICaptureGraphBuilder * This,
  5214. /* [in] */ LPCOLESTR lpstr,
  5215. /* [in] */ DWORDLONG dwlSize);
  5216. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  5217. IRpcStubBuffer *This,
  5218. IRpcChannelBuffer *_pRpcChannelBuffer,
  5219. PRPC_MESSAGE _pRpcMessage,
  5220. DWORD *_pdwStubPhase);
  5221. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(
  5222. ICaptureGraphBuilder * This,
  5223. /* [in] */ LPOLESTR lpwstrOld,
  5224. /* [in] */ LPOLESTR lpwstrNew,
  5225. /* [in] */ int fAllowEscAbort,
  5226. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5227. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  5228. IRpcStubBuffer *This,
  5229. IRpcChannelBuffer *_pRpcChannelBuffer,
  5230. PRPC_MESSAGE _pRpcMessage,
  5231. DWORD *_pdwStubPhase);
  5232. #endif /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  5233. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  5234. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  5235. /* interface IAMCopyCaptureFileProgress */
  5236. /* [unique][uuid][object] */
  5237. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  5238. #if defined(__cplusplus) && !defined(CINTERFACE)
  5239. MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  5240. IAMCopyCaptureFileProgress : public IUnknown
  5241. {
  5242. public:
  5243. virtual HRESULT STDMETHODCALLTYPE Progress(
  5244. /* [in] */ int iProgress) = 0;
  5245. };
  5246. #else /* C style interface */
  5247. typedef struct IAMCopyCaptureFileProgressVtbl
  5248. {
  5249. BEGIN_INTERFACE
  5250. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5251. IAMCopyCaptureFileProgress * This,
  5252. /* [in] */ REFIID riid,
  5253. /* [iid_is][out] */ void **ppvObject);
  5254. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5255. IAMCopyCaptureFileProgress * This);
  5256. ULONG ( STDMETHODCALLTYPE *Release )(
  5257. IAMCopyCaptureFileProgress * This);
  5258. HRESULT ( STDMETHODCALLTYPE *Progress )(
  5259. IAMCopyCaptureFileProgress * This,
  5260. /* [in] */ int iProgress);
  5261. END_INTERFACE
  5262. } IAMCopyCaptureFileProgressVtbl;
  5263. interface IAMCopyCaptureFileProgress
  5264. {
  5265. CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  5266. };
  5267. #ifdef COBJMACROS
  5268. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject) \
  5269. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5270. #define IAMCopyCaptureFileProgress_AddRef(This) \
  5271. (This)->lpVtbl -> AddRef(This)
  5272. #define IAMCopyCaptureFileProgress_Release(This) \
  5273. (This)->lpVtbl -> Release(This)
  5274. #define IAMCopyCaptureFileProgress_Progress(This,iProgress) \
  5275. (This)->lpVtbl -> Progress(This,iProgress)
  5276. #endif /* COBJMACROS */
  5277. #endif /* C style interface */
  5278. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(
  5279. IAMCopyCaptureFileProgress * This,
  5280. /* [in] */ int iProgress);
  5281. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  5282. IRpcStubBuffer *This,
  5283. IRpcChannelBuffer *_pRpcChannelBuffer,
  5284. PRPC_MESSAGE _pRpcMessage,
  5285. DWORD *_pdwStubPhase);
  5286. #endif /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  5287. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  5288. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  5289. /* interface ICaptureGraphBuilder2 */
  5290. /* [unique][uuid][object] */
  5291. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  5292. #if defined(__cplusplus) && !defined(CINTERFACE)
  5293. MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  5294. ICaptureGraphBuilder2 : public IUnknown
  5295. {
  5296. public:
  5297. virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(
  5298. /* [in] */ IGraphBuilder *pfg) = 0;
  5299. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  5300. /* [out] */ IGraphBuilder **ppfg) = 0;
  5301. virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(
  5302. /* [in] */ const GUID *pType,
  5303. /* [in] */ LPCOLESTR lpstrFile,
  5304. /* [out] */ IBaseFilter **ppf,
  5305. /* [out] */ IFileSinkFilter **ppSink) = 0;
  5306. virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(
  5307. /* [in] */ const GUID *pCategory,
  5308. /* [in] */ const GUID *pType,
  5309. /* [in] */ IBaseFilter *pf,
  5310. /* [in] */ REFIID riid,
  5311. /* [out] */ void **ppint) = 0;
  5312. virtual HRESULT STDMETHODCALLTYPE RenderStream(
  5313. /* [in] */ const GUID *pCategory,
  5314. /* [in] */ const GUID *pType,
  5315. /* [in] */ IUnknown *pSource,
  5316. /* [in] */ IBaseFilter *pfCompressor,
  5317. /* [in] */ IBaseFilter *pfRenderer) = 0;
  5318. virtual HRESULT STDMETHODCALLTYPE ControlStream(
  5319. /* [in] */ const GUID *pCategory,
  5320. /* [in] */ const GUID *pType,
  5321. /* [in] */ IBaseFilter *pFilter,
  5322. /* [in] */ REFERENCE_TIME *pstart,
  5323. /* [in] */ REFERENCE_TIME *pstop,
  5324. /* [in] */ WORD wStartCookie,
  5325. /* [in] */ WORD wStopCookie) = 0;
  5326. virtual HRESULT STDMETHODCALLTYPE AllocCapFile(
  5327. /* [in] */ LPCOLESTR lpstr,
  5328. /* [in] */ DWORDLONG dwlSize) = 0;
  5329. virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(
  5330. /* [in] */ LPOLESTR lpwstrOld,
  5331. /* [in] */ LPOLESTR lpwstrNew,
  5332. /* [in] */ int fAllowEscAbort,
  5333. /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  5334. virtual HRESULT STDMETHODCALLTYPE FindPin(
  5335. /* [in] */ IUnknown *pSource,
  5336. /* [in] */ PIN_DIRECTION pindir,
  5337. /* [in] */ const GUID *pCategory,
  5338. /* [in] */ const GUID *pType,
  5339. /* [in] */ BOOL fUnconnected,
  5340. /* [in] */ int num,
  5341. /* [out] */ IPin **ppPin) = 0;
  5342. };
  5343. #else /* C style interface */
  5344. typedef struct ICaptureGraphBuilder2Vtbl
  5345. {
  5346. BEGIN_INTERFACE
  5347. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5348. ICaptureGraphBuilder2 * This,
  5349. /* [in] */ REFIID riid,
  5350. /* [iid_is][out] */ void **ppvObject);
  5351. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5352. ICaptureGraphBuilder2 * This);
  5353. ULONG ( STDMETHODCALLTYPE *Release )(
  5354. ICaptureGraphBuilder2 * This);
  5355. HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(
  5356. ICaptureGraphBuilder2 * This,
  5357. /* [in] */ IGraphBuilder *pfg);
  5358. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  5359. ICaptureGraphBuilder2 * This,
  5360. /* [out] */ IGraphBuilder **ppfg);
  5361. HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(
  5362. ICaptureGraphBuilder2 * This,
  5363. /* [in] */ const GUID *pType,
  5364. /* [in] */ LPCOLESTR lpstrFile,
  5365. /* [out] */ IBaseFilter **ppf,
  5366. /* [out] */ IFileSinkFilter **ppSink);
  5367. /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(
  5368. ICaptureGraphBuilder2 * This,
  5369. /* [in] */ const GUID *pCategory,
  5370. /* [in] */ const GUID *pType,
  5371. /* [in] */ IBaseFilter *pf,
  5372. /* [in] */ REFIID riid,
  5373. /* [out] */ void **ppint);
  5374. HRESULT ( STDMETHODCALLTYPE *RenderStream )(
  5375. ICaptureGraphBuilder2 * This,
  5376. /* [in] */ const GUID *pCategory,
  5377. /* [in] */ const GUID *pType,
  5378. /* [in] */ IUnknown *pSource,
  5379. /* [in] */ IBaseFilter *pfCompressor,
  5380. /* [in] */ IBaseFilter *pfRenderer);
  5381. HRESULT ( STDMETHODCALLTYPE *ControlStream )(
  5382. ICaptureGraphBuilder2 * This,
  5383. /* [in] */ const GUID *pCategory,
  5384. /* [in] */ const GUID *pType,
  5385. /* [in] */ IBaseFilter *pFilter,
  5386. /* [in] */ REFERENCE_TIME *pstart,
  5387. /* [in] */ REFERENCE_TIME *pstop,
  5388. /* [in] */ WORD wStartCookie,
  5389. /* [in] */ WORD wStopCookie);
  5390. HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(
  5391. ICaptureGraphBuilder2 * This,
  5392. /* [in] */ LPCOLESTR lpstr,
  5393. /* [in] */ DWORDLONG dwlSize);
  5394. HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(
  5395. ICaptureGraphBuilder2 * This,
  5396. /* [in] */ LPOLESTR lpwstrOld,
  5397. /* [in] */ LPOLESTR lpwstrNew,
  5398. /* [in] */ int fAllowEscAbort,
  5399. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5400. HRESULT ( STDMETHODCALLTYPE *FindPin )(
  5401. ICaptureGraphBuilder2 * This,
  5402. /* [in] */ IUnknown *pSource,
  5403. /* [in] */ PIN_DIRECTION pindir,
  5404. /* [in] */ const GUID *pCategory,
  5405. /* [in] */ const GUID *pType,
  5406. /* [in] */ BOOL fUnconnected,
  5407. /* [in] */ int num,
  5408. /* [out] */ IPin **ppPin);
  5409. END_INTERFACE
  5410. } ICaptureGraphBuilder2Vtbl;
  5411. interface ICaptureGraphBuilder2
  5412. {
  5413. CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  5414. };
  5415. #ifdef COBJMACROS
  5416. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject) \
  5417. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5418. #define ICaptureGraphBuilder2_AddRef(This) \
  5419. (This)->lpVtbl -> AddRef(This)
  5420. #define ICaptureGraphBuilder2_Release(This) \
  5421. (This)->lpVtbl -> Release(This)
  5422. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg) \
  5423. (This)->lpVtbl -> SetFiltergraph(This,pfg)
  5424. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg) \
  5425. (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  5426. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink) \
  5427. (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  5428. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint) \
  5429. (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  5430. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer) \
  5431. (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  5432. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie) \
  5433. (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  5434. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize) \
  5435. (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  5436. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback) \
  5437. (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  5438. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin) \
  5439. (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  5440. #endif /* COBJMACROS */
  5441. #endif /* C style interface */
  5442. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(
  5443. ICaptureGraphBuilder2 * This,
  5444. /* [in] */ IGraphBuilder *pfg);
  5445. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  5446. IRpcStubBuffer *This,
  5447. IRpcChannelBuffer *_pRpcChannelBuffer,
  5448. PRPC_MESSAGE _pRpcMessage,
  5449. DWORD *_pdwStubPhase);
  5450. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(
  5451. ICaptureGraphBuilder2 * This,
  5452. /* [out] */ IGraphBuilder **ppfg);
  5453. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  5454. IRpcStubBuffer *This,
  5455. IRpcChannelBuffer *_pRpcChannelBuffer,
  5456. PRPC_MESSAGE _pRpcMessage,
  5457. DWORD *_pdwStubPhase);
  5458. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(
  5459. ICaptureGraphBuilder2 * This,
  5460. /* [in] */ const GUID *pType,
  5461. /* [in] */ LPCOLESTR lpstrFile,
  5462. /* [out] */ IBaseFilter **ppf,
  5463. /* [out] */ IFileSinkFilter **ppSink);
  5464. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  5465. IRpcStubBuffer *This,
  5466. IRpcChannelBuffer *_pRpcChannelBuffer,
  5467. PRPC_MESSAGE _pRpcMessage,
  5468. DWORD *_pdwStubPhase);
  5469. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(
  5470. ICaptureGraphBuilder2 * This,
  5471. /* [in] */ const GUID *pCategory,
  5472. /* [in] */ const GUID *pType,
  5473. /* [in] */ IBaseFilter *pf,
  5474. /* [in] */ REFIID riid,
  5475. /* [out] */ IUnknown **ppint);
  5476. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  5477. IRpcStubBuffer *This,
  5478. IRpcChannelBuffer *_pRpcChannelBuffer,
  5479. PRPC_MESSAGE _pRpcMessage,
  5480. DWORD *_pdwStubPhase);
  5481. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(
  5482. ICaptureGraphBuilder2 * This,
  5483. /* [in] */ const GUID *pCategory,
  5484. /* [in] */ const GUID *pType,
  5485. /* [in] */ IUnknown *pSource,
  5486. /* [in] */ IBaseFilter *pfCompressor,
  5487. /* [in] */ IBaseFilter *pfRenderer);
  5488. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  5489. IRpcStubBuffer *This,
  5490. IRpcChannelBuffer *_pRpcChannelBuffer,
  5491. PRPC_MESSAGE _pRpcMessage,
  5492. DWORD *_pdwStubPhase);
  5493. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(
  5494. ICaptureGraphBuilder2 * This,
  5495. /* [in] */ const GUID *pCategory,
  5496. /* [in] */ const GUID *pType,
  5497. /* [in] */ IBaseFilter *pFilter,
  5498. /* [in] */ REFERENCE_TIME *pstart,
  5499. /* [in] */ REFERENCE_TIME *pstop,
  5500. /* [in] */ WORD wStartCookie,
  5501. /* [in] */ WORD wStopCookie);
  5502. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  5503. IRpcStubBuffer *This,
  5504. IRpcChannelBuffer *_pRpcChannelBuffer,
  5505. PRPC_MESSAGE _pRpcMessage,
  5506. DWORD *_pdwStubPhase);
  5507. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(
  5508. ICaptureGraphBuilder2 * This,
  5509. /* [in] */ LPCOLESTR lpstr,
  5510. /* [in] */ DWORDLONG dwlSize);
  5511. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  5512. IRpcStubBuffer *This,
  5513. IRpcChannelBuffer *_pRpcChannelBuffer,
  5514. PRPC_MESSAGE _pRpcMessage,
  5515. DWORD *_pdwStubPhase);
  5516. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(
  5517. ICaptureGraphBuilder2 * This,
  5518. /* [in] */ LPOLESTR lpwstrOld,
  5519. /* [in] */ LPOLESTR lpwstrNew,
  5520. /* [in] */ int fAllowEscAbort,
  5521. /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  5522. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  5523. IRpcStubBuffer *This,
  5524. IRpcChannelBuffer *_pRpcChannelBuffer,
  5525. PRPC_MESSAGE _pRpcMessage,
  5526. DWORD *_pdwStubPhase);
  5527. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(
  5528. ICaptureGraphBuilder2 * This,
  5529. /* [in] */ IUnknown *pSource,
  5530. /* [in] */ PIN_DIRECTION pindir,
  5531. /* [in] */ const GUID *pCategory,
  5532. /* [in] */ const GUID *pType,
  5533. /* [in] */ BOOL fUnconnected,
  5534. /* [in] */ int num,
  5535. /* [out] */ IPin **ppPin);
  5536. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  5537. IRpcStubBuffer *This,
  5538. IRpcChannelBuffer *_pRpcChannelBuffer,
  5539. PRPC_MESSAGE _pRpcMessage,
  5540. DWORD *_pdwStubPhase);
  5541. #endif /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  5542. /* interface __MIDL_itf_strmif_0149 */
  5543. /* [local] */
  5544. enum _AM_RENSDEREXFLAGS
  5545. { AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x1
  5546. } ;
  5547. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_c_ifspec;
  5548. extern RPC_IF_HANDLE __MIDL_itf_strmif_0149_v0_0_s_ifspec;
  5549. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  5550. #define __IFilterGraph2_INTERFACE_DEFINED__
  5551. /* interface IFilterGraph2 */
  5552. /* [unique][uuid][object] */
  5553. EXTERN_C const IID IID_IFilterGraph2;
  5554. #if defined(__cplusplus) && !defined(CINTERFACE)
  5555. MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  5556. IFilterGraph2 : public IGraphBuilder
  5557. {
  5558. public:
  5559. virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(
  5560. /* [in] */ IMoniker *pMoniker,
  5561. /* [in] */ IBindCtx *pCtx,
  5562. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5563. /* [out] */ IBaseFilter **ppFilter) = 0;
  5564. virtual HRESULT STDMETHODCALLTYPE ReconnectEx(
  5565. /* [in] */ IPin *ppin,
  5566. /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  5567. virtual HRESULT STDMETHODCALLTYPE RenderEx(
  5568. /* [in] */ IPin *pPinOut,
  5569. /* [in] */ DWORD dwFlags,
  5570. /* [out][in] */ DWORD *pvContext) = 0;
  5571. };
  5572. #else /* C style interface */
  5573. typedef struct IFilterGraph2Vtbl
  5574. {
  5575. BEGIN_INTERFACE
  5576. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5577. IFilterGraph2 * This,
  5578. /* [in] */ REFIID riid,
  5579. /* [iid_is][out] */ void **ppvObject);
  5580. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5581. IFilterGraph2 * This);
  5582. ULONG ( STDMETHODCALLTYPE *Release )(
  5583. IFilterGraph2 * This);
  5584. HRESULT ( STDMETHODCALLTYPE *AddFilter )(
  5585. IFilterGraph2 * This,
  5586. /* [in] */ IBaseFilter *pFilter,
  5587. /* [string][in] */ LPCWSTR pName);
  5588. HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(
  5589. IFilterGraph2 * This,
  5590. /* [in] */ IBaseFilter *pFilter);
  5591. HRESULT ( STDMETHODCALLTYPE *EnumFilters )(
  5592. IFilterGraph2 * This,
  5593. /* [out] */ IEnumFilters **ppEnum);
  5594. HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(
  5595. IFilterGraph2 * This,
  5596. /* [string][in] */ LPCWSTR pName,
  5597. /* [out] */ IBaseFilter **ppFilter);
  5598. HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(
  5599. IFilterGraph2 * This,
  5600. /* [in] */ IPin *ppinOut,
  5601. /* [in] */ IPin *ppinIn,
  5602. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5603. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  5604. IFilterGraph2 * This,
  5605. /* [in] */ IPin *ppin);
  5606. HRESULT ( STDMETHODCALLTYPE *Disconnect )(
  5607. IFilterGraph2 * This,
  5608. /* [in] */ IPin *ppin);
  5609. HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(
  5610. IFilterGraph2 * This);
  5611. HRESULT ( STDMETHODCALLTYPE *Connect )(
  5612. IFilterGraph2 * This,
  5613. /* [in] */ IPin *ppinOut,
  5614. /* [in] */ IPin *ppinIn);
  5615. HRESULT ( STDMETHODCALLTYPE *Render )(
  5616. IFilterGraph2 * This,
  5617. /* [in] */ IPin *ppinOut);
  5618. HRESULT ( STDMETHODCALLTYPE *RenderFile )(
  5619. IFilterGraph2 * This,
  5620. /* [in] */ LPCWSTR lpcwstrFile,
  5621. /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  5622. HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(
  5623. IFilterGraph2 * This,
  5624. /* [in] */ LPCWSTR lpcwstrFileName,
  5625. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5626. /* [out] */ IBaseFilter **ppFilter);
  5627. HRESULT ( STDMETHODCALLTYPE *SetLogFile )(
  5628. IFilterGraph2 * This,
  5629. /* [in] */ DWORD_PTR hFile);
  5630. HRESULT ( STDMETHODCALLTYPE *Abort )(
  5631. IFilterGraph2 * This);
  5632. HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(
  5633. IFilterGraph2 * This);
  5634. HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )(
  5635. IFilterGraph2 * This,
  5636. /* [in] */ IMoniker *pMoniker,
  5637. /* [in] */ IBindCtx *pCtx,
  5638. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5639. /* [out] */ IBaseFilter **ppFilter);
  5640. HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(
  5641. IFilterGraph2 * This,
  5642. /* [in] */ IPin *ppin,
  5643. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5644. HRESULT ( STDMETHODCALLTYPE *RenderEx )(
  5645. IFilterGraph2 * This,
  5646. /* [in] */ IPin *pPinOut,
  5647. /* [in] */ DWORD dwFlags,
  5648. /* [out][in] */ DWORD *pvContext);
  5649. END_INTERFACE
  5650. } IFilterGraph2Vtbl;
  5651. interface IFilterGraph2
  5652. {
  5653. CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  5654. };
  5655. #ifdef COBJMACROS
  5656. #define IFilterGraph2_QueryInterface(This,riid,ppvObject) \
  5657. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5658. #define IFilterGraph2_AddRef(This) \
  5659. (This)->lpVtbl -> AddRef(This)
  5660. #define IFilterGraph2_Release(This) \
  5661. (This)->lpVtbl -> Release(This)
  5662. #define IFilterGraph2_AddFilter(This,pFilter,pName) \
  5663. (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  5664. #define IFilterGraph2_RemoveFilter(This,pFilter) \
  5665. (This)->lpVtbl -> RemoveFilter(This,pFilter)
  5666. #define IFilterGraph2_EnumFilters(This,ppEnum) \
  5667. (This)->lpVtbl -> EnumFilters(This,ppEnum)
  5668. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter) \
  5669. (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  5670. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt) \
  5671. (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  5672. #define IFilterGraph2_Reconnect(This,ppin) \
  5673. (This)->lpVtbl -> Reconnect(This,ppin)
  5674. #define IFilterGraph2_Disconnect(This,ppin) \
  5675. (This)->lpVtbl -> Disconnect(This,ppin)
  5676. #define IFilterGraph2_SetDefaultSyncSource(This) \
  5677. (This)->lpVtbl -> SetDefaultSyncSource(This)
  5678. #define IFilterGraph2_Connect(This,ppinOut,ppinIn) \
  5679. (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  5680. #define IFilterGraph2_Render(This,ppinOut) \
  5681. (This)->lpVtbl -> Render(This,ppinOut)
  5682. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList) \
  5683. (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  5684. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter) \
  5685. (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  5686. #define IFilterGraph2_SetLogFile(This,hFile) \
  5687. (This)->lpVtbl -> SetLogFile(This,hFile)
  5688. #define IFilterGraph2_Abort(This) \
  5689. (This)->lpVtbl -> Abort(This)
  5690. #define IFilterGraph2_ShouldOperationContinue(This) \
  5691. (This)->lpVtbl -> ShouldOperationContinue(This)
  5692. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter) \
  5693. (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  5694. #define IFilterGraph2_ReconnectEx(This,ppin,pmt) \
  5695. (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  5696. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext) \
  5697. (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  5698. #endif /* COBJMACROS */
  5699. #endif /* C style interface */
  5700. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(
  5701. IFilterGraph2 * This,
  5702. /* [in] */ IMoniker *pMoniker,
  5703. /* [in] */ IBindCtx *pCtx,
  5704. /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  5705. /* [out] */ IBaseFilter **ppFilter);
  5706. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  5707. IRpcStubBuffer *This,
  5708. IRpcChannelBuffer *_pRpcChannelBuffer,
  5709. PRPC_MESSAGE _pRpcMessage,
  5710. DWORD *_pdwStubPhase);
  5711. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(
  5712. IFilterGraph2 * This,
  5713. /* [in] */ IPin *ppin,
  5714. /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  5715. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  5716. IRpcStubBuffer *This,
  5717. IRpcChannelBuffer *_pRpcChannelBuffer,
  5718. PRPC_MESSAGE _pRpcMessage,
  5719. DWORD *_pdwStubPhase);
  5720. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(
  5721. IFilterGraph2 * This,
  5722. /* [in] */ IPin *pPinOut,
  5723. /* [in] */ DWORD dwFlags,
  5724. /* [out][in] */ DWORD *pvContext);
  5725. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  5726. IRpcStubBuffer *This,
  5727. IRpcChannelBuffer *_pRpcChannelBuffer,
  5728. PRPC_MESSAGE _pRpcMessage,
  5729. DWORD *_pdwStubPhase);
  5730. #endif /* __IFilterGraph2_INTERFACE_DEFINED__ */
  5731. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  5732. #define __IStreamBuilder_INTERFACE_DEFINED__
  5733. /* interface IStreamBuilder */
  5734. /* [unique][uuid][local][object] */
  5735. EXTERN_C const IID IID_IStreamBuilder;
  5736. #if defined(__cplusplus) && !defined(CINTERFACE)
  5737. MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  5738. IStreamBuilder : public IUnknown
  5739. {
  5740. public:
  5741. virtual HRESULT STDMETHODCALLTYPE Render(
  5742. /* [in] */ IPin *ppinOut,
  5743. /* [in] */ IGraphBuilder *pGraph) = 0;
  5744. virtual HRESULT STDMETHODCALLTYPE Backout(
  5745. /* [in] */ IPin *ppinOut,
  5746. /* [in] */ IGraphBuilder *pGraph) = 0;
  5747. };
  5748. #else /* C style interface */
  5749. typedef struct IStreamBuilderVtbl
  5750. {
  5751. BEGIN_INTERFACE
  5752. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5753. IStreamBuilder * This,
  5754. /* [in] */ REFIID riid,
  5755. /* [iid_is][out] */ void **ppvObject);
  5756. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5757. IStreamBuilder * This);
  5758. ULONG ( STDMETHODCALLTYPE *Release )(
  5759. IStreamBuilder * This);
  5760. HRESULT ( STDMETHODCALLTYPE *Render )(
  5761. IStreamBuilder * This,
  5762. /* [in] */ IPin *ppinOut,
  5763. /* [in] */ IGraphBuilder *pGraph);
  5764. HRESULT ( STDMETHODCALLTYPE *Backout )(
  5765. IStreamBuilder * This,
  5766. /* [in] */ IPin *ppinOut,
  5767. /* [in] */ IGraphBuilder *pGraph);
  5768. END_INTERFACE
  5769. } IStreamBuilderVtbl;
  5770. interface IStreamBuilder
  5771. {
  5772. CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  5773. };
  5774. #ifdef COBJMACROS
  5775. #define IStreamBuilder_QueryInterface(This,riid,ppvObject) \
  5776. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5777. #define IStreamBuilder_AddRef(This) \
  5778. (This)->lpVtbl -> AddRef(This)
  5779. #define IStreamBuilder_Release(This) \
  5780. (This)->lpVtbl -> Release(This)
  5781. #define IStreamBuilder_Render(This,ppinOut,pGraph) \
  5782. (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  5783. #define IStreamBuilder_Backout(This,ppinOut,pGraph) \
  5784. (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  5785. #endif /* COBJMACROS */
  5786. #endif /* C style interface */
  5787. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(
  5788. IStreamBuilder * This,
  5789. /* [in] */ IPin *ppinOut,
  5790. /* [in] */ IGraphBuilder *pGraph);
  5791. void __RPC_STUB IStreamBuilder_Render_Stub(
  5792. IRpcStubBuffer *This,
  5793. IRpcChannelBuffer *_pRpcChannelBuffer,
  5794. PRPC_MESSAGE _pRpcMessage,
  5795. DWORD *_pdwStubPhase);
  5796. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(
  5797. IStreamBuilder * This,
  5798. /* [in] */ IPin *ppinOut,
  5799. /* [in] */ IGraphBuilder *pGraph);
  5800. void __RPC_STUB IStreamBuilder_Backout_Stub(
  5801. IRpcStubBuffer *This,
  5802. IRpcChannelBuffer *_pRpcChannelBuffer,
  5803. PRPC_MESSAGE _pRpcMessage,
  5804. DWORD *_pdwStubPhase);
  5805. #endif /* __IStreamBuilder_INTERFACE_DEFINED__ */
  5806. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  5807. #define __IAsyncReader_INTERFACE_DEFINED__
  5808. /* interface IAsyncReader */
  5809. /* [unique][uuid][object] */
  5810. EXTERN_C const IID IID_IAsyncReader;
  5811. #if defined(__cplusplus) && !defined(CINTERFACE)
  5812. MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  5813. IAsyncReader : public IUnknown
  5814. {
  5815. public:
  5816. virtual HRESULT STDMETHODCALLTYPE RequestAllocator(
  5817. /* [in] */ IMemAllocator *pPreferred,
  5818. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5819. /* [out] */ IMemAllocator **ppActual) = 0;
  5820. virtual HRESULT STDMETHODCALLTYPE Request(
  5821. /* [in] */ IMediaSample *pSample,
  5822. /* [in] */ DWORD_PTR dwUser) = 0;
  5823. virtual HRESULT STDMETHODCALLTYPE WaitForNext(
  5824. /* [in] */ DWORD dwTimeout,
  5825. /* [out] */ IMediaSample **ppSample,
  5826. /* [out] */ DWORD_PTR *pdwUser) = 0;
  5827. virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(
  5828. /* [in] */ IMediaSample *pSample) = 0;
  5829. virtual HRESULT STDMETHODCALLTYPE SyncRead(
  5830. /* [in] */ LONGLONG llPosition,
  5831. /* [in] */ LONG lLength,
  5832. /* [size_is][out] */ BYTE *pBuffer) = 0;
  5833. virtual HRESULT STDMETHODCALLTYPE Length(
  5834. /* [out] */ LONGLONG *pTotal,
  5835. /* [out] */ LONGLONG *pAvailable) = 0;
  5836. virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  5837. virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  5838. };
  5839. #else /* C style interface */
  5840. typedef struct IAsyncReaderVtbl
  5841. {
  5842. BEGIN_INTERFACE
  5843. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5844. IAsyncReader * This,
  5845. /* [in] */ REFIID riid,
  5846. /* [iid_is][out] */ void **ppvObject);
  5847. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5848. IAsyncReader * This);
  5849. ULONG ( STDMETHODCALLTYPE *Release )(
  5850. IAsyncReader * This);
  5851. HRESULT ( STDMETHODCALLTYPE *RequestAllocator )(
  5852. IAsyncReader * This,
  5853. /* [in] */ IMemAllocator *pPreferred,
  5854. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5855. /* [out] */ IMemAllocator **ppActual);
  5856. HRESULT ( STDMETHODCALLTYPE *Request )(
  5857. IAsyncReader * This,
  5858. /* [in] */ IMediaSample *pSample,
  5859. /* [in] */ DWORD_PTR dwUser);
  5860. HRESULT ( STDMETHODCALLTYPE *WaitForNext )(
  5861. IAsyncReader * This,
  5862. /* [in] */ DWORD dwTimeout,
  5863. /* [out] */ IMediaSample **ppSample,
  5864. /* [out] */ DWORD_PTR *pdwUser);
  5865. HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )(
  5866. IAsyncReader * This,
  5867. /* [in] */ IMediaSample *pSample);
  5868. HRESULT ( STDMETHODCALLTYPE *SyncRead )(
  5869. IAsyncReader * This,
  5870. /* [in] */ LONGLONG llPosition,
  5871. /* [in] */ LONG lLength,
  5872. /* [size_is][out] */ BYTE *pBuffer);
  5873. HRESULT ( STDMETHODCALLTYPE *Length )(
  5874. IAsyncReader * This,
  5875. /* [out] */ LONGLONG *pTotal,
  5876. /* [out] */ LONGLONG *pAvailable);
  5877. HRESULT ( STDMETHODCALLTYPE *BeginFlush )(
  5878. IAsyncReader * This);
  5879. HRESULT ( STDMETHODCALLTYPE *EndFlush )(
  5880. IAsyncReader * This);
  5881. END_INTERFACE
  5882. } IAsyncReaderVtbl;
  5883. interface IAsyncReader
  5884. {
  5885. CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  5886. };
  5887. #ifdef COBJMACROS
  5888. #define IAsyncReader_QueryInterface(This,riid,ppvObject) \
  5889. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5890. #define IAsyncReader_AddRef(This) \
  5891. (This)->lpVtbl -> AddRef(This)
  5892. #define IAsyncReader_Release(This) \
  5893. (This)->lpVtbl -> Release(This)
  5894. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual) \
  5895. (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  5896. #define IAsyncReader_Request(This,pSample,dwUser) \
  5897. (This)->lpVtbl -> Request(This,pSample,dwUser)
  5898. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser) \
  5899. (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  5900. #define IAsyncReader_SyncReadAligned(This,pSample) \
  5901. (This)->lpVtbl -> SyncReadAligned(This,pSample)
  5902. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer) \
  5903. (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  5904. #define IAsyncReader_Length(This,pTotal,pAvailable) \
  5905. (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  5906. #define IAsyncReader_BeginFlush(This) \
  5907. (This)->lpVtbl -> BeginFlush(This)
  5908. #define IAsyncReader_EndFlush(This) \
  5909. (This)->lpVtbl -> EndFlush(This)
  5910. #endif /* COBJMACROS */
  5911. #endif /* C style interface */
  5912. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(
  5913. IAsyncReader * This,
  5914. /* [in] */ IMemAllocator *pPreferred,
  5915. /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  5916. /* [out] */ IMemAllocator **ppActual);
  5917. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  5918. IRpcStubBuffer *This,
  5919. IRpcChannelBuffer *_pRpcChannelBuffer,
  5920. PRPC_MESSAGE _pRpcMessage,
  5921. DWORD *_pdwStubPhase);
  5922. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(
  5923. IAsyncReader * This,
  5924. /* [in] */ IMediaSample *pSample,
  5925. /* [in] */ DWORD_PTR dwUser);
  5926. void __RPC_STUB IAsyncReader_Request_Stub(
  5927. IRpcStubBuffer *This,
  5928. IRpcChannelBuffer *_pRpcChannelBuffer,
  5929. PRPC_MESSAGE _pRpcMessage,
  5930. DWORD *_pdwStubPhase);
  5931. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(
  5932. IAsyncReader * This,
  5933. /* [in] */ DWORD dwTimeout,
  5934. /* [out] */ IMediaSample **ppSample,
  5935. /* [out] */ DWORD_PTR *pdwUser);
  5936. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  5937. IRpcStubBuffer *This,
  5938. IRpcChannelBuffer *_pRpcChannelBuffer,
  5939. PRPC_MESSAGE _pRpcMessage,
  5940. DWORD *_pdwStubPhase);
  5941. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(
  5942. IAsyncReader * This,
  5943. /* [in] */ IMediaSample *pSample);
  5944. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  5945. IRpcStubBuffer *This,
  5946. IRpcChannelBuffer *_pRpcChannelBuffer,
  5947. PRPC_MESSAGE _pRpcMessage,
  5948. DWORD *_pdwStubPhase);
  5949. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(
  5950. IAsyncReader * This,
  5951. /* [in] */ LONGLONG llPosition,
  5952. /* [in] */ LONG lLength,
  5953. /* [size_is][out] */ BYTE *pBuffer);
  5954. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  5955. IRpcStubBuffer *This,
  5956. IRpcChannelBuffer *_pRpcChannelBuffer,
  5957. PRPC_MESSAGE _pRpcMessage,
  5958. DWORD *_pdwStubPhase);
  5959. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(
  5960. IAsyncReader * This,
  5961. /* [out] */ LONGLONG *pTotal,
  5962. /* [out] */ LONGLONG *pAvailable);
  5963. void __RPC_STUB IAsyncReader_Length_Stub(
  5964. IRpcStubBuffer *This,
  5965. IRpcChannelBuffer *_pRpcChannelBuffer,
  5966. PRPC_MESSAGE _pRpcMessage,
  5967. DWORD *_pdwStubPhase);
  5968. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(
  5969. IAsyncReader * This);
  5970. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  5971. IRpcStubBuffer *This,
  5972. IRpcChannelBuffer *_pRpcChannelBuffer,
  5973. PRPC_MESSAGE _pRpcMessage,
  5974. DWORD *_pdwStubPhase);
  5975. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(
  5976. IAsyncReader * This);
  5977. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  5978. IRpcStubBuffer *This,
  5979. IRpcChannelBuffer *_pRpcChannelBuffer,
  5980. PRPC_MESSAGE _pRpcMessage,
  5981. DWORD *_pdwStubPhase);
  5982. #endif /* __IAsyncReader_INTERFACE_DEFINED__ */
  5983. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  5984. #define __IGraphVersion_INTERFACE_DEFINED__
  5985. /* interface IGraphVersion */
  5986. /* [unique][uuid][object] */
  5987. EXTERN_C const IID IID_IGraphVersion;
  5988. #if defined(__cplusplus) && !defined(CINTERFACE)
  5989. MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  5990. IGraphVersion : public IUnknown
  5991. {
  5992. public:
  5993. virtual HRESULT STDMETHODCALLTYPE QueryVersion(
  5994. LONG *pVersion) = 0;
  5995. };
  5996. #else /* C style interface */
  5997. typedef struct IGraphVersionVtbl
  5998. {
  5999. BEGIN_INTERFACE
  6000. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6001. IGraphVersion * This,
  6002. /* [in] */ REFIID riid,
  6003. /* [iid_is][out] */ void **ppvObject);
  6004. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6005. IGraphVersion * This);
  6006. ULONG ( STDMETHODCALLTYPE *Release )(
  6007. IGraphVersion * This);
  6008. HRESULT ( STDMETHODCALLTYPE *QueryVersion )(
  6009. IGraphVersion * This,
  6010. LONG *pVersion);
  6011. END_INTERFACE
  6012. } IGraphVersionVtbl;
  6013. interface IGraphVersion
  6014. {
  6015. CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  6016. };
  6017. #ifdef COBJMACROS
  6018. #define IGraphVersion_QueryInterface(This,riid,ppvObject) \
  6019. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6020. #define IGraphVersion_AddRef(This) \
  6021. (This)->lpVtbl -> AddRef(This)
  6022. #define IGraphVersion_Release(This) \
  6023. (This)->lpVtbl -> Release(This)
  6024. #define IGraphVersion_QueryVersion(This,pVersion) \
  6025. (This)->lpVtbl -> QueryVersion(This,pVersion)
  6026. #endif /* COBJMACROS */
  6027. #endif /* C style interface */
  6028. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(
  6029. IGraphVersion * This,
  6030. LONG *pVersion);
  6031. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  6032. IRpcStubBuffer *This,
  6033. IRpcChannelBuffer *_pRpcChannelBuffer,
  6034. PRPC_MESSAGE _pRpcMessage,
  6035. DWORD *_pdwStubPhase);
  6036. #endif /* __IGraphVersion_INTERFACE_DEFINED__ */
  6037. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  6038. #define __IResourceConsumer_INTERFACE_DEFINED__
  6039. /* interface IResourceConsumer */
  6040. /* [unique][uuid][object] */
  6041. EXTERN_C const IID IID_IResourceConsumer;
  6042. #if defined(__cplusplus) && !defined(CINTERFACE)
  6043. MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  6044. IResourceConsumer : public IUnknown
  6045. {
  6046. public:
  6047. virtual HRESULT STDMETHODCALLTYPE AcquireResource(
  6048. /* [in] */ LONG idResource) = 0;
  6049. virtual HRESULT STDMETHODCALLTYPE ReleaseResource(
  6050. /* [in] */ LONG idResource) = 0;
  6051. };
  6052. #else /* C style interface */
  6053. typedef struct IResourceConsumerVtbl
  6054. {
  6055. BEGIN_INTERFACE
  6056. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6057. IResourceConsumer * This,
  6058. /* [in] */ REFIID riid,
  6059. /* [iid_is][out] */ void **ppvObject);
  6060. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6061. IResourceConsumer * This);
  6062. ULONG ( STDMETHODCALLTYPE *Release )(
  6063. IResourceConsumer * This);
  6064. HRESULT ( STDMETHODCALLTYPE *AcquireResource )(
  6065. IResourceConsumer * This,
  6066. /* [in] */ LONG idResource);
  6067. HRESULT ( STDMETHODCALLTYPE *ReleaseResource )(
  6068. IResourceConsumer * This,
  6069. /* [in] */ LONG idResource);
  6070. END_INTERFACE
  6071. } IResourceConsumerVtbl;
  6072. interface IResourceConsumer
  6073. {
  6074. CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  6075. };
  6076. #ifdef COBJMACROS
  6077. #define IResourceConsumer_QueryInterface(This,riid,ppvObject) \
  6078. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6079. #define IResourceConsumer_AddRef(This) \
  6080. (This)->lpVtbl -> AddRef(This)
  6081. #define IResourceConsumer_Release(This) \
  6082. (This)->lpVtbl -> Release(This)
  6083. #define IResourceConsumer_AcquireResource(This,idResource) \
  6084. (This)->lpVtbl -> AcquireResource(This,idResource)
  6085. #define IResourceConsumer_ReleaseResource(This,idResource) \
  6086. (This)->lpVtbl -> ReleaseResource(This,idResource)
  6087. #endif /* COBJMACROS */
  6088. #endif /* C style interface */
  6089. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(
  6090. IResourceConsumer * This,
  6091. /* [in] */ LONG idResource);
  6092. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  6093. IRpcStubBuffer *This,
  6094. IRpcChannelBuffer *_pRpcChannelBuffer,
  6095. PRPC_MESSAGE _pRpcMessage,
  6096. DWORD *_pdwStubPhase);
  6097. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(
  6098. IResourceConsumer * This,
  6099. /* [in] */ LONG idResource);
  6100. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  6101. IRpcStubBuffer *This,
  6102. IRpcChannelBuffer *_pRpcChannelBuffer,
  6103. PRPC_MESSAGE _pRpcMessage,
  6104. DWORD *_pdwStubPhase);
  6105. #endif /* __IResourceConsumer_INTERFACE_DEFINED__ */
  6106. #ifndef __IResourceManager_INTERFACE_DEFINED__
  6107. #define __IResourceManager_INTERFACE_DEFINED__
  6108. /* interface IResourceManager */
  6109. /* [unique][uuid][object] */
  6110. EXTERN_C const IID IID_IResourceManager;
  6111. #if defined(__cplusplus) && !defined(CINTERFACE)
  6112. MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  6113. IResourceManager : public IUnknown
  6114. {
  6115. public:
  6116. virtual HRESULT STDMETHODCALLTYPE Register(
  6117. /* [in] */ LPCWSTR pName,
  6118. /* [in] */ LONG cResource,
  6119. /* [out] */ LONG *plToken) = 0;
  6120. virtual HRESULT STDMETHODCALLTYPE RegisterGroup(
  6121. /* [in] */ LPCWSTR pName,
  6122. /* [in] */ LONG cResource,
  6123. /* [size_is][in] */ LONG *palTokens,
  6124. /* [out] */ LONG *plToken) = 0;
  6125. virtual HRESULT STDMETHODCALLTYPE RequestResource(
  6126. /* [in] */ LONG idResource,
  6127. /* [in] */ IUnknown *pFocusObject,
  6128. /* [in] */ IResourceConsumer *pConsumer) = 0;
  6129. virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(
  6130. /* [in] */ LONG idResource,
  6131. /* [in] */ IResourceConsumer *pConsumer,
  6132. /* [in] */ HRESULT hr) = 0;
  6133. virtual HRESULT STDMETHODCALLTYPE NotifyRelease(
  6134. /* [in] */ LONG idResource,
  6135. /* [in] */ IResourceConsumer *pConsumer,
  6136. /* [in] */ BOOL bStillWant) = 0;
  6137. virtual HRESULT STDMETHODCALLTYPE CancelRequest(
  6138. /* [in] */ LONG idResource,
  6139. /* [in] */ IResourceConsumer *pConsumer) = 0;
  6140. virtual HRESULT STDMETHODCALLTYPE SetFocus(
  6141. /* [in] */ IUnknown *pFocusObject) = 0;
  6142. virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(
  6143. /* [in] */ IUnknown *pFocusObject) = 0;
  6144. };
  6145. #else /* C style interface */
  6146. typedef struct IResourceManagerVtbl
  6147. {
  6148. BEGIN_INTERFACE
  6149. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6150. IResourceManager * This,
  6151. /* [in] */ REFIID riid,
  6152. /* [iid_is][out] */ void **ppvObject);
  6153. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6154. IResourceManager * This);
  6155. ULONG ( STDMETHODCALLTYPE *Release )(
  6156. IResourceManager * This);
  6157. HRESULT ( STDMETHODCALLTYPE *Register )(
  6158. IResourceManager * This,
  6159. /* [in] */ LPCWSTR pName,
  6160. /* [in] */ LONG cResource,
  6161. /* [out] */ LONG *plToken);
  6162. HRESULT ( STDMETHODCALLTYPE *RegisterGroup )(
  6163. IResourceManager * This,
  6164. /* [in] */ LPCWSTR pName,
  6165. /* [in] */ LONG cResource,
  6166. /* [size_is][in] */ LONG *palTokens,
  6167. /* [out] */ LONG *plToken);
  6168. HRESULT ( STDMETHODCALLTYPE *RequestResource )(
  6169. IResourceManager * This,
  6170. /* [in] */ LONG idResource,
  6171. /* [in] */ IUnknown *pFocusObject,
  6172. /* [in] */ IResourceConsumer *pConsumer);
  6173. HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )(
  6174. IResourceManager * This,
  6175. /* [in] */ LONG idResource,
  6176. /* [in] */ IResourceConsumer *pConsumer,
  6177. /* [in] */ HRESULT hr);
  6178. HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
  6179. IResourceManager * This,
  6180. /* [in] */ LONG idResource,
  6181. /* [in] */ IResourceConsumer *pConsumer,
  6182. /* [in] */ BOOL bStillWant);
  6183. HRESULT ( STDMETHODCALLTYPE *CancelRequest )(
  6184. IResourceManager * This,
  6185. /* [in] */ LONG idResource,
  6186. /* [in] */ IResourceConsumer *pConsumer);
  6187. HRESULT ( STDMETHODCALLTYPE *SetFocus )(
  6188. IResourceManager * This,
  6189. /* [in] */ IUnknown *pFocusObject);
  6190. HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )(
  6191. IResourceManager * This,
  6192. /* [in] */ IUnknown *pFocusObject);
  6193. END_INTERFACE
  6194. } IResourceManagerVtbl;
  6195. interface IResourceManager
  6196. {
  6197. CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  6198. };
  6199. #ifdef COBJMACROS
  6200. #define IResourceManager_QueryInterface(This,riid,ppvObject) \
  6201. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6202. #define IResourceManager_AddRef(This) \
  6203. (This)->lpVtbl -> AddRef(This)
  6204. #define IResourceManager_Release(This) \
  6205. (This)->lpVtbl -> Release(This)
  6206. #define IResourceManager_Register(This,pName,cResource,plToken) \
  6207. (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  6208. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken) \
  6209. (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  6210. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer) \
  6211. (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  6212. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr) \
  6213. (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  6214. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant) \
  6215. (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  6216. #define IResourceManager_CancelRequest(This,idResource,pConsumer) \
  6217. (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  6218. #define IResourceManager_SetFocus(This,pFocusObject) \
  6219. (This)->lpVtbl -> SetFocus(This,pFocusObject)
  6220. #define IResourceManager_ReleaseFocus(This,pFocusObject) \
  6221. (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  6222. #endif /* COBJMACROS */
  6223. #endif /* C style interface */
  6224. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(
  6225. IResourceManager * This,
  6226. /* [in] */ LPCWSTR pName,
  6227. /* [in] */ LONG cResource,
  6228. /* [out] */ LONG *plToken);
  6229. void __RPC_STUB IResourceManager_Register_Stub(
  6230. IRpcStubBuffer *This,
  6231. IRpcChannelBuffer *_pRpcChannelBuffer,
  6232. PRPC_MESSAGE _pRpcMessage,
  6233. DWORD *_pdwStubPhase);
  6234. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(
  6235. IResourceManager * This,
  6236. /* [in] */ LPCWSTR pName,
  6237. /* [in] */ LONG cResource,
  6238. /* [size_is][in] */ LONG *palTokens,
  6239. /* [out] */ LONG *plToken);
  6240. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  6241. IRpcStubBuffer *This,
  6242. IRpcChannelBuffer *_pRpcChannelBuffer,
  6243. PRPC_MESSAGE _pRpcMessage,
  6244. DWORD *_pdwStubPhase);
  6245. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(
  6246. IResourceManager * This,
  6247. /* [in] */ LONG idResource,
  6248. /* [in] */ IUnknown *pFocusObject,
  6249. /* [in] */ IResourceConsumer *pConsumer);
  6250. void __RPC_STUB IResourceManager_RequestResource_Stub(
  6251. IRpcStubBuffer *This,
  6252. IRpcChannelBuffer *_pRpcChannelBuffer,
  6253. PRPC_MESSAGE _pRpcMessage,
  6254. DWORD *_pdwStubPhase);
  6255. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(
  6256. IResourceManager * This,
  6257. /* [in] */ LONG idResource,
  6258. /* [in] */ IResourceConsumer *pConsumer,
  6259. /* [in] */ HRESULT hr);
  6260. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  6261. IRpcStubBuffer *This,
  6262. IRpcChannelBuffer *_pRpcChannelBuffer,
  6263. PRPC_MESSAGE _pRpcMessage,
  6264. DWORD *_pdwStubPhase);
  6265. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(
  6266. IResourceManager * This,
  6267. /* [in] */ LONG idResource,
  6268. /* [in] */ IResourceConsumer *pConsumer,
  6269. /* [in] */ BOOL bStillWant);
  6270. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  6271. IRpcStubBuffer *This,
  6272. IRpcChannelBuffer *_pRpcChannelBuffer,
  6273. PRPC_MESSAGE _pRpcMessage,
  6274. DWORD *_pdwStubPhase);
  6275. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(
  6276. IResourceManager * This,
  6277. /* [in] */ LONG idResource,
  6278. /* [in] */ IResourceConsumer *pConsumer);
  6279. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  6280. IRpcStubBuffer *This,
  6281. IRpcChannelBuffer *_pRpcChannelBuffer,
  6282. PRPC_MESSAGE _pRpcMessage,
  6283. DWORD *_pdwStubPhase);
  6284. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(
  6285. IResourceManager * This,
  6286. /* [in] */ IUnknown *pFocusObject);
  6287. void __RPC_STUB IResourceManager_SetFocus_Stub(
  6288. IRpcStubBuffer *This,
  6289. IRpcChannelBuffer *_pRpcChannelBuffer,
  6290. PRPC_MESSAGE _pRpcMessage,
  6291. DWORD *_pdwStubPhase);
  6292. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(
  6293. IResourceManager * This,
  6294. /* [in] */ IUnknown *pFocusObject);
  6295. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  6296. IRpcStubBuffer *This,
  6297. IRpcChannelBuffer *_pRpcChannelBuffer,
  6298. PRPC_MESSAGE _pRpcMessage,
  6299. DWORD *_pdwStubPhase);
  6300. #endif /* __IResourceManager_INTERFACE_DEFINED__ */
  6301. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  6302. #define __IDistributorNotify_INTERFACE_DEFINED__
  6303. /* interface IDistributorNotify */
  6304. /* [unique][uuid][object] */
  6305. EXTERN_C const IID IID_IDistributorNotify;
  6306. #if defined(__cplusplus) && !defined(CINTERFACE)
  6307. MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  6308. IDistributorNotify : public IUnknown
  6309. {
  6310. public:
  6311. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  6312. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  6313. virtual HRESULT STDMETHODCALLTYPE Run(
  6314. REFERENCE_TIME tStart) = 0;
  6315. virtual HRESULT STDMETHODCALLTYPE SetSyncSource(
  6316. /* [in] */ IReferenceClock *pClock) = 0;
  6317. virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  6318. };
  6319. #else /* C style interface */
  6320. typedef struct IDistributorNotifyVtbl
  6321. {
  6322. BEGIN_INTERFACE
  6323. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6324. IDistributorNotify * This,
  6325. /* [in] */ REFIID riid,
  6326. /* [iid_is][out] */ void **ppvObject);
  6327. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6328. IDistributorNotify * This);
  6329. ULONG ( STDMETHODCALLTYPE *Release )(
  6330. IDistributorNotify * This);
  6331. HRESULT ( STDMETHODCALLTYPE *Stop )(
  6332. IDistributorNotify * This);
  6333. HRESULT ( STDMETHODCALLTYPE *Pause )(
  6334. IDistributorNotify * This);
  6335. HRESULT ( STDMETHODCALLTYPE *Run )(
  6336. IDistributorNotify * This,
  6337. REFERENCE_TIME tStart);
  6338. HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(
  6339. IDistributorNotify * This,
  6340. /* [in] */ IReferenceClock *pClock);
  6341. HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )(
  6342. IDistributorNotify * This);
  6343. END_INTERFACE
  6344. } IDistributorNotifyVtbl;
  6345. interface IDistributorNotify
  6346. {
  6347. CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  6348. };
  6349. #ifdef COBJMACROS
  6350. #define IDistributorNotify_QueryInterface(This,riid,ppvObject) \
  6351. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6352. #define IDistributorNotify_AddRef(This) \
  6353. (This)->lpVtbl -> AddRef(This)
  6354. #define IDistributorNotify_Release(This) \
  6355. (This)->lpVtbl -> Release(This)
  6356. #define IDistributorNotify_Stop(This) \
  6357. (This)->lpVtbl -> Stop(This)
  6358. #define IDistributorNotify_Pause(This) \
  6359. (This)->lpVtbl -> Pause(This)
  6360. #define IDistributorNotify_Run(This,tStart) \
  6361. (This)->lpVtbl -> Run(This,tStart)
  6362. #define IDistributorNotify_SetSyncSource(This,pClock) \
  6363. (This)->lpVtbl -> SetSyncSource(This,pClock)
  6364. #define IDistributorNotify_NotifyGraphChange(This) \
  6365. (This)->lpVtbl -> NotifyGraphChange(This)
  6366. #endif /* COBJMACROS */
  6367. #endif /* C style interface */
  6368. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy(
  6369. IDistributorNotify * This);
  6370. void __RPC_STUB IDistributorNotify_Stop_Stub(
  6371. IRpcStubBuffer *This,
  6372. IRpcChannelBuffer *_pRpcChannelBuffer,
  6373. PRPC_MESSAGE _pRpcMessage,
  6374. DWORD *_pdwStubPhase);
  6375. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy(
  6376. IDistributorNotify * This);
  6377. void __RPC_STUB IDistributorNotify_Pause_Stub(
  6378. IRpcStubBuffer *This,
  6379. IRpcChannelBuffer *_pRpcChannelBuffer,
  6380. PRPC_MESSAGE _pRpcMessage,
  6381. DWORD *_pdwStubPhase);
  6382. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy(
  6383. IDistributorNotify * This,
  6384. REFERENCE_TIME tStart);
  6385. void __RPC_STUB IDistributorNotify_Run_Stub(
  6386. IRpcStubBuffer *This,
  6387. IRpcChannelBuffer *_pRpcChannelBuffer,
  6388. PRPC_MESSAGE _pRpcMessage,
  6389. DWORD *_pdwStubPhase);
  6390. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy(
  6391. IDistributorNotify * This,
  6392. /* [in] */ IReferenceClock *pClock);
  6393. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  6394. IRpcStubBuffer *This,
  6395. IRpcChannelBuffer *_pRpcChannelBuffer,
  6396. PRPC_MESSAGE _pRpcMessage,
  6397. DWORD *_pdwStubPhase);
  6398. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy(
  6399. IDistributorNotify * This);
  6400. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  6401. IRpcStubBuffer *This,
  6402. IRpcChannelBuffer *_pRpcChannelBuffer,
  6403. PRPC_MESSAGE _pRpcMessage,
  6404. DWORD *_pdwStubPhase);
  6405. #endif /* __IDistributorNotify_INTERFACE_DEFINED__ */
  6406. /* interface __MIDL_itf_strmif_0156 */
  6407. /* [local] */
  6408. typedef /* [public] */
  6409. enum __MIDL___MIDL_itf_strmif_0156_0001
  6410. { AM_STREAM_INFO_START_DEFINED = 0x1,
  6411. AM_STREAM_INFO_STOP_DEFINED = 0x2,
  6412. AM_STREAM_INFO_DISCARDING = 0x4,
  6413. AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
  6414. } AM_STREAM_INFO_FLAGS;
  6415. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0156_0002
  6416. {
  6417. REFERENCE_TIME tStart;
  6418. REFERENCE_TIME tStop;
  6419. DWORD dwStartCookie;
  6420. DWORD dwStopCookie;
  6421. DWORD dwFlags;
  6422. } AM_STREAM_INFO;
  6423. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_c_ifspec;
  6424. extern RPC_IF_HANDLE __MIDL_itf_strmif_0156_v0_0_s_ifspec;
  6425. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  6426. #define __IAMStreamControl_INTERFACE_DEFINED__
  6427. /* interface IAMStreamControl */
  6428. /* [unique][uuid][object] */
  6429. EXTERN_C const IID IID_IAMStreamControl;
  6430. #if defined(__cplusplus) && !defined(CINTERFACE)
  6431. MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  6432. IAMStreamControl : public IUnknown
  6433. {
  6434. public:
  6435. virtual HRESULT STDMETHODCALLTYPE StartAt(
  6436. /* [in] */ const REFERENCE_TIME *ptStart,
  6437. /* [in] */ DWORD dwCookie) = 0;
  6438. virtual HRESULT STDMETHODCALLTYPE StopAt(
  6439. /* [in] */ const REFERENCE_TIME *ptStop,
  6440. /* [in] */ BOOL bSendExtra,
  6441. /* [in] */ DWORD dwCookie) = 0;
  6442. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  6443. /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  6444. };
  6445. #else /* C style interface */
  6446. typedef struct IAMStreamControlVtbl
  6447. {
  6448. BEGIN_INTERFACE
  6449. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6450. IAMStreamControl * This,
  6451. /* [in] */ REFIID riid,
  6452. /* [iid_is][out] */ void **ppvObject);
  6453. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6454. IAMStreamControl * This);
  6455. ULONG ( STDMETHODCALLTYPE *Release )(
  6456. IAMStreamControl * This);
  6457. HRESULT ( STDMETHODCALLTYPE *StartAt )(
  6458. IAMStreamControl * This,
  6459. /* [in] */ const REFERENCE_TIME *ptStart,
  6460. /* [in] */ DWORD dwCookie);
  6461. HRESULT ( STDMETHODCALLTYPE *StopAt )(
  6462. IAMStreamControl * This,
  6463. /* [in] */ const REFERENCE_TIME *ptStop,
  6464. /* [in] */ BOOL bSendExtra,
  6465. /* [in] */ DWORD dwCookie);
  6466. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  6467. IAMStreamControl * This,
  6468. /* [out] */ AM_STREAM_INFO *pInfo);
  6469. END_INTERFACE
  6470. } IAMStreamControlVtbl;
  6471. interface IAMStreamControl
  6472. {
  6473. CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  6474. };
  6475. #ifdef COBJMACROS
  6476. #define IAMStreamControl_QueryInterface(This,riid,ppvObject) \
  6477. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6478. #define IAMStreamControl_AddRef(This) \
  6479. (This)->lpVtbl -> AddRef(This)
  6480. #define IAMStreamControl_Release(This) \
  6481. (This)->lpVtbl -> Release(This)
  6482. #define IAMStreamControl_StartAt(This,ptStart,dwCookie) \
  6483. (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  6484. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie) \
  6485. (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  6486. #define IAMStreamControl_GetInfo(This,pInfo) \
  6487. (This)->lpVtbl -> GetInfo(This,pInfo)
  6488. #endif /* COBJMACROS */
  6489. #endif /* C style interface */
  6490. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy(
  6491. IAMStreamControl * This,
  6492. /* [in] */ const REFERENCE_TIME *ptStart,
  6493. /* [in] */ DWORD dwCookie);
  6494. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  6495. IRpcStubBuffer *This,
  6496. IRpcChannelBuffer *_pRpcChannelBuffer,
  6497. PRPC_MESSAGE _pRpcMessage,
  6498. DWORD *_pdwStubPhase);
  6499. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy(
  6500. IAMStreamControl * This,
  6501. /* [in] */ const REFERENCE_TIME *ptStop,
  6502. /* [in] */ BOOL bSendExtra,
  6503. /* [in] */ DWORD dwCookie);
  6504. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  6505. IRpcStubBuffer *This,
  6506. IRpcChannelBuffer *_pRpcChannelBuffer,
  6507. PRPC_MESSAGE _pRpcMessage,
  6508. DWORD *_pdwStubPhase);
  6509. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy(
  6510. IAMStreamControl * This,
  6511. /* [out] */ AM_STREAM_INFO *pInfo);
  6512. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  6513. IRpcStubBuffer *This,
  6514. IRpcChannelBuffer *_pRpcChannelBuffer,
  6515. PRPC_MESSAGE _pRpcMessage,
  6516. DWORD *_pdwStubPhase);
  6517. #endif /* __IAMStreamControl_INTERFACE_DEFINED__ */
  6518. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  6519. #define __ISeekingPassThru_INTERFACE_DEFINED__
  6520. /* interface ISeekingPassThru */
  6521. /* [unique][uuid][object] */
  6522. EXTERN_C const IID IID_ISeekingPassThru;
  6523. #if defined(__cplusplus) && !defined(CINTERFACE)
  6524. MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  6525. ISeekingPassThru : public IUnknown
  6526. {
  6527. public:
  6528. virtual HRESULT STDMETHODCALLTYPE Init(
  6529. /* [in] */ BOOL bSupportRendering,
  6530. /* [in] */ IPin *pPin) = 0;
  6531. };
  6532. #else /* C style interface */
  6533. typedef struct ISeekingPassThruVtbl
  6534. {
  6535. BEGIN_INTERFACE
  6536. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6537. ISeekingPassThru * This,
  6538. /* [in] */ REFIID riid,
  6539. /* [iid_is][out] */ void **ppvObject);
  6540. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6541. ISeekingPassThru * This);
  6542. ULONG ( STDMETHODCALLTYPE *Release )(
  6543. ISeekingPassThru * This);
  6544. HRESULT ( STDMETHODCALLTYPE *Init )(
  6545. ISeekingPassThru * This,
  6546. /* [in] */ BOOL bSupportRendering,
  6547. /* [in] */ IPin *pPin);
  6548. END_INTERFACE
  6549. } ISeekingPassThruVtbl;
  6550. interface ISeekingPassThru
  6551. {
  6552. CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  6553. };
  6554. #ifdef COBJMACROS
  6555. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject) \
  6556. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6557. #define ISeekingPassThru_AddRef(This) \
  6558. (This)->lpVtbl -> AddRef(This)
  6559. #define ISeekingPassThru_Release(This) \
  6560. (This)->lpVtbl -> Release(This)
  6561. #define ISeekingPassThru_Init(This,bSupportRendering,pPin) \
  6562. (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  6563. #endif /* COBJMACROS */
  6564. #endif /* C style interface */
  6565. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(
  6566. ISeekingPassThru * This,
  6567. /* [in] */ BOOL bSupportRendering,
  6568. /* [in] */ IPin *pPin);
  6569. void __RPC_STUB ISeekingPassThru_Init_Stub(
  6570. IRpcStubBuffer *This,
  6571. IRpcChannelBuffer *_pRpcChannelBuffer,
  6572. PRPC_MESSAGE _pRpcMessage,
  6573. DWORD *_pdwStubPhase);
  6574. #endif /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  6575. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  6576. #define __IAMStreamConfig_INTERFACE_DEFINED__
  6577. /* interface IAMStreamConfig */
  6578. /* [unique][uuid][object] */
  6579. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  6580. {
  6581. GUID guid;
  6582. ULONG VideoStandard;
  6583. SIZE InputSize;
  6584. SIZE MinCroppingSize;
  6585. SIZE MaxCroppingSize;
  6586. int CropGranularityX;
  6587. int CropGranularityY;
  6588. int CropAlignX;
  6589. int CropAlignY;
  6590. SIZE MinOutputSize;
  6591. SIZE MaxOutputSize;
  6592. int OutputGranularityX;
  6593. int OutputGranularityY;
  6594. int StretchTapsX;
  6595. int StretchTapsY;
  6596. int ShrinkTapsX;
  6597. int ShrinkTapsY;
  6598. LONGLONG MinFrameInterval;
  6599. LONGLONG MaxFrameInterval;
  6600. LONG MinBitsPerSecond;
  6601. LONG MaxBitsPerSecond;
  6602. } VIDEO_STREAM_CONFIG_CAPS;
  6603. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  6604. {
  6605. GUID guid;
  6606. ULONG MinimumChannels;
  6607. ULONG MaximumChannels;
  6608. ULONG ChannelsGranularity;
  6609. ULONG MinimumBitsPerSample;
  6610. ULONG MaximumBitsPerSample;
  6611. ULONG BitsPerSampleGranularity;
  6612. ULONG MinimumSampleFrequency;
  6613. ULONG MaximumSampleFrequency;
  6614. ULONG SampleFrequencyGranularity;
  6615. } AUDIO_STREAM_CONFIG_CAPS;
  6616. EXTERN_C const IID IID_IAMStreamConfig;
  6617. #if defined(__cplusplus) && !defined(CINTERFACE)
  6618. MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  6619. IAMStreamConfig : public IUnknown
  6620. {
  6621. public:
  6622. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  6623. /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  6624. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  6625. /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  6626. virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
  6627. /* [out] */ int *piCount,
  6628. /* [out] */ int *piSize) = 0;
  6629. virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
  6630. /* [in] */ int iIndex,
  6631. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6632. /* [out] */ BYTE *pSCC) = 0;
  6633. };
  6634. #else /* C style interface */
  6635. typedef struct IAMStreamConfigVtbl
  6636. {
  6637. BEGIN_INTERFACE
  6638. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6639. IAMStreamConfig * This,
  6640. /* [in] */ REFIID riid,
  6641. /* [iid_is][out] */ void **ppvObject);
  6642. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6643. IAMStreamConfig * This);
  6644. ULONG ( STDMETHODCALLTYPE *Release )(
  6645. IAMStreamConfig * This);
  6646. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  6647. IAMStreamConfig * This,
  6648. /* [in] */ AM_MEDIA_TYPE *pmt);
  6649. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  6650. IAMStreamConfig * This,
  6651. /* [out] */ AM_MEDIA_TYPE **ppmt);
  6652. HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(
  6653. IAMStreamConfig * This,
  6654. /* [out] */ int *piCount,
  6655. /* [out] */ int *piSize);
  6656. HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(
  6657. IAMStreamConfig * This,
  6658. /* [in] */ int iIndex,
  6659. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6660. /* [out] */ BYTE *pSCC);
  6661. END_INTERFACE
  6662. } IAMStreamConfigVtbl;
  6663. interface IAMStreamConfig
  6664. {
  6665. CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  6666. };
  6667. #ifdef COBJMACROS
  6668. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject) \
  6669. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6670. #define IAMStreamConfig_AddRef(This) \
  6671. (This)->lpVtbl -> AddRef(This)
  6672. #define IAMStreamConfig_Release(This) \
  6673. (This)->lpVtbl -> Release(This)
  6674. #define IAMStreamConfig_SetFormat(This,pmt) \
  6675. (This)->lpVtbl -> SetFormat(This,pmt)
  6676. #define IAMStreamConfig_GetFormat(This,ppmt) \
  6677. (This)->lpVtbl -> GetFormat(This,ppmt)
  6678. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize) \
  6679. (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  6680. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC) \
  6681. (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  6682. #endif /* COBJMACROS */
  6683. #endif /* C style interface */
  6684. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(
  6685. IAMStreamConfig * This,
  6686. /* [in] */ AM_MEDIA_TYPE *pmt);
  6687. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  6688. IRpcStubBuffer *This,
  6689. IRpcChannelBuffer *_pRpcChannelBuffer,
  6690. PRPC_MESSAGE _pRpcMessage,
  6691. DWORD *_pdwStubPhase);
  6692. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(
  6693. IAMStreamConfig * This,
  6694. /* [out] */ AM_MEDIA_TYPE **ppmt);
  6695. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  6696. IRpcStubBuffer *This,
  6697. IRpcChannelBuffer *_pRpcChannelBuffer,
  6698. PRPC_MESSAGE _pRpcMessage,
  6699. DWORD *_pdwStubPhase);
  6700. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(
  6701. IAMStreamConfig * This,
  6702. /* [out] */ int *piCount,
  6703. /* [out] */ int *piSize);
  6704. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  6705. IRpcStubBuffer *This,
  6706. IRpcChannelBuffer *_pRpcChannelBuffer,
  6707. PRPC_MESSAGE _pRpcMessage,
  6708. DWORD *_pdwStubPhase);
  6709. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(
  6710. IAMStreamConfig * This,
  6711. /* [in] */ int iIndex,
  6712. /* [out] */ AM_MEDIA_TYPE **ppmt,
  6713. /* [out] */ BYTE *pSCC);
  6714. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  6715. IRpcStubBuffer *This,
  6716. IRpcChannelBuffer *_pRpcChannelBuffer,
  6717. PRPC_MESSAGE _pRpcMessage,
  6718. DWORD *_pdwStubPhase);
  6719. #endif /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  6720. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  6721. #define __IConfigInterleaving_INTERFACE_DEFINED__
  6722. /* interface IConfigInterleaving */
  6723. /* [unique][uuid][object] */
  6724. typedef /* [public][public][public] */
  6725. enum __MIDL_IConfigInterleaving_0001
  6726. { INTERLEAVE_NONE = 0,
  6727. INTERLEAVE_CAPTURE = INTERLEAVE_NONE + 1,
  6728. INTERLEAVE_FULL = INTERLEAVE_CAPTURE + 1,
  6729. INTERLEAVE_NONE_BUFFERED = INTERLEAVE_FULL + 1
  6730. } InterleavingMode;
  6731. EXTERN_C const IID IID_IConfigInterleaving;
  6732. #if defined(__cplusplus) && !defined(CINTERFACE)
  6733. MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  6734. IConfigInterleaving : public IUnknown
  6735. {
  6736. public:
  6737. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  6738. /* [in] */ InterleavingMode mode) = 0;
  6739. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  6740. /* [out] */ InterleavingMode *pMode) = 0;
  6741. virtual HRESULT STDMETHODCALLTYPE put_Interleaving(
  6742. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6743. /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  6744. virtual HRESULT STDMETHODCALLTYPE get_Interleaving(
  6745. /* [out] */ REFERENCE_TIME *prtInterleave,
  6746. /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  6747. };
  6748. #else /* C style interface */
  6749. typedef struct IConfigInterleavingVtbl
  6750. {
  6751. BEGIN_INTERFACE
  6752. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6753. IConfigInterleaving * This,
  6754. /* [in] */ REFIID riid,
  6755. /* [iid_is][out] */ void **ppvObject);
  6756. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6757. IConfigInterleaving * This);
  6758. ULONG ( STDMETHODCALLTYPE *Release )(
  6759. IConfigInterleaving * This);
  6760. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  6761. IConfigInterleaving * This,
  6762. /* [in] */ InterleavingMode mode);
  6763. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  6764. IConfigInterleaving * This,
  6765. /* [out] */ InterleavingMode *pMode);
  6766. HRESULT ( STDMETHODCALLTYPE *put_Interleaving )(
  6767. IConfigInterleaving * This,
  6768. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6769. /* [in] */ const REFERENCE_TIME *prtPreroll);
  6770. HRESULT ( STDMETHODCALLTYPE *get_Interleaving )(
  6771. IConfigInterleaving * This,
  6772. /* [out] */ REFERENCE_TIME *prtInterleave,
  6773. /* [out] */ REFERENCE_TIME *prtPreroll);
  6774. END_INTERFACE
  6775. } IConfigInterleavingVtbl;
  6776. interface IConfigInterleaving
  6777. {
  6778. CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  6779. };
  6780. #ifdef COBJMACROS
  6781. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject) \
  6782. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6783. #define IConfigInterleaving_AddRef(This) \
  6784. (This)->lpVtbl -> AddRef(This)
  6785. #define IConfigInterleaving_Release(This) \
  6786. (This)->lpVtbl -> Release(This)
  6787. #define IConfigInterleaving_put_Mode(This,mode) \
  6788. (This)->lpVtbl -> put_Mode(This,mode)
  6789. #define IConfigInterleaving_get_Mode(This,pMode) \
  6790. (This)->lpVtbl -> get_Mode(This,pMode)
  6791. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll) \
  6792. (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  6793. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll) \
  6794. (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  6795. #endif /* COBJMACROS */
  6796. #endif /* C style interface */
  6797. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy(
  6798. IConfigInterleaving * This,
  6799. /* [in] */ InterleavingMode mode);
  6800. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  6801. IRpcStubBuffer *This,
  6802. IRpcChannelBuffer *_pRpcChannelBuffer,
  6803. PRPC_MESSAGE _pRpcMessage,
  6804. DWORD *_pdwStubPhase);
  6805. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy(
  6806. IConfigInterleaving * This,
  6807. /* [out] */ InterleavingMode *pMode);
  6808. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  6809. IRpcStubBuffer *This,
  6810. IRpcChannelBuffer *_pRpcChannelBuffer,
  6811. PRPC_MESSAGE _pRpcMessage,
  6812. DWORD *_pdwStubPhase);
  6813. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy(
  6814. IConfigInterleaving * This,
  6815. /* [in] */ const REFERENCE_TIME *prtInterleave,
  6816. /* [in] */ const REFERENCE_TIME *prtPreroll);
  6817. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  6818. IRpcStubBuffer *This,
  6819. IRpcChannelBuffer *_pRpcChannelBuffer,
  6820. PRPC_MESSAGE _pRpcMessage,
  6821. DWORD *_pdwStubPhase);
  6822. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy(
  6823. IConfigInterleaving * This,
  6824. /* [out] */ REFERENCE_TIME *prtInterleave,
  6825. /* [out] */ REFERENCE_TIME *prtPreroll);
  6826. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  6827. IRpcStubBuffer *This,
  6828. IRpcChannelBuffer *_pRpcChannelBuffer,
  6829. PRPC_MESSAGE _pRpcMessage,
  6830. DWORD *_pdwStubPhase);
  6831. #endif /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  6832. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  6833. #define __IConfigAviMux_INTERFACE_DEFINED__
  6834. /* interface IConfigAviMux */
  6835. /* [unique][uuid][object] */
  6836. EXTERN_C const IID IID_IConfigAviMux;
  6837. #if defined(__cplusplus) && !defined(CINTERFACE)
  6838. MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  6839. IConfigAviMux : public IUnknown
  6840. {
  6841. public:
  6842. virtual HRESULT STDMETHODCALLTYPE SetMasterStream(
  6843. /* [in] */ LONG iStream) = 0;
  6844. virtual HRESULT STDMETHODCALLTYPE GetMasterStream(
  6845. /* [out] */ LONG *pStream) = 0;
  6846. virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(
  6847. /* [in] */ BOOL fOldIndex) = 0;
  6848. virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(
  6849. /* [out] */ BOOL *pfOldIndex) = 0;
  6850. };
  6851. #else /* C style interface */
  6852. typedef struct IConfigAviMuxVtbl
  6853. {
  6854. BEGIN_INTERFACE
  6855. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6856. IConfigAviMux * This,
  6857. /* [in] */ REFIID riid,
  6858. /* [iid_is][out] */ void **ppvObject);
  6859. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6860. IConfigAviMux * This);
  6861. ULONG ( STDMETHODCALLTYPE *Release )(
  6862. IConfigAviMux * This);
  6863. HRESULT ( STDMETHODCALLTYPE *SetMasterStream )(
  6864. IConfigAviMux * This,
  6865. /* [in] */ LONG iStream);
  6866. HRESULT ( STDMETHODCALLTYPE *GetMasterStream )(
  6867. IConfigAviMux * This,
  6868. /* [out] */ LONG *pStream);
  6869. HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )(
  6870. IConfigAviMux * This,
  6871. /* [in] */ BOOL fOldIndex);
  6872. HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )(
  6873. IConfigAviMux * This,
  6874. /* [out] */ BOOL *pfOldIndex);
  6875. END_INTERFACE
  6876. } IConfigAviMuxVtbl;
  6877. interface IConfigAviMux
  6878. {
  6879. CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  6880. };
  6881. #ifdef COBJMACROS
  6882. #define IConfigAviMux_QueryInterface(This,riid,ppvObject) \
  6883. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6884. #define IConfigAviMux_AddRef(This) \
  6885. (This)->lpVtbl -> AddRef(This)
  6886. #define IConfigAviMux_Release(This) \
  6887. (This)->lpVtbl -> Release(This)
  6888. #define IConfigAviMux_SetMasterStream(This,iStream) \
  6889. (This)->lpVtbl -> SetMasterStream(This,iStream)
  6890. #define IConfigAviMux_GetMasterStream(This,pStream) \
  6891. (This)->lpVtbl -> GetMasterStream(This,pStream)
  6892. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex) \
  6893. (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  6894. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex) \
  6895. (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  6896. #endif /* COBJMACROS */
  6897. #endif /* C style interface */
  6898. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy(
  6899. IConfigAviMux * This,
  6900. /* [in] */ LONG iStream);
  6901. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  6902. IRpcStubBuffer *This,
  6903. IRpcChannelBuffer *_pRpcChannelBuffer,
  6904. PRPC_MESSAGE _pRpcMessage,
  6905. DWORD *_pdwStubPhase);
  6906. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy(
  6907. IConfigAviMux * This,
  6908. /* [out] */ LONG *pStream);
  6909. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  6910. IRpcStubBuffer *This,
  6911. IRpcChannelBuffer *_pRpcChannelBuffer,
  6912. PRPC_MESSAGE _pRpcMessage,
  6913. DWORD *_pdwStubPhase);
  6914. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy(
  6915. IConfigAviMux * This,
  6916. /* [in] */ BOOL fOldIndex);
  6917. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  6918. IRpcStubBuffer *This,
  6919. IRpcChannelBuffer *_pRpcChannelBuffer,
  6920. PRPC_MESSAGE _pRpcMessage,
  6921. DWORD *_pdwStubPhase);
  6922. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy(
  6923. IConfigAviMux * This,
  6924. /* [out] */ BOOL *pfOldIndex);
  6925. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  6926. IRpcStubBuffer *This,
  6927. IRpcChannelBuffer *_pRpcChannelBuffer,
  6928. PRPC_MESSAGE _pRpcMessage,
  6929. DWORD *_pdwStubPhase);
  6930. #endif /* __IConfigAviMux_INTERFACE_DEFINED__ */
  6931. /* interface __MIDL_itf_strmif_0163 */
  6932. /* [local] */
  6933. typedef /* [public] */
  6934. enum __MIDL___MIDL_itf_strmif_0163_0001
  6935. { CompressionCaps_CanQuality = 0x1,
  6936. CompressionCaps_CanCrunch = 0x2,
  6937. CompressionCaps_CanKeyFrame = 0x4,
  6938. CompressionCaps_CanBFrame = 0x8,
  6939. CompressionCaps_CanWindow = 0x10
  6940. } CompressionCaps;
  6941. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;
  6942. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;
  6943. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  6944. #define __IAMVideoCompression_INTERFACE_DEFINED__
  6945. /* interface IAMVideoCompression */
  6946. /* [unique][uuid][object] */
  6947. EXTERN_C const IID IID_IAMVideoCompression;
  6948. #if defined(__cplusplus) && !defined(CINTERFACE)
  6949. MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  6950. IAMVideoCompression : public IUnknown
  6951. {
  6952. public:
  6953. virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate(
  6954. /* [in] */ long KeyFrameRate) = 0;
  6955. virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate(
  6956. /* [out] */ long *pKeyFrameRate) = 0;
  6957. virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(
  6958. /* [in] */ long PFramesPerKeyFrame) = 0;
  6959. virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(
  6960. /* [out] */ long *pPFramesPerKeyFrame) = 0;
  6961. virtual HRESULT STDMETHODCALLTYPE put_Quality(
  6962. /* [in] */ double Quality) = 0;
  6963. virtual HRESULT STDMETHODCALLTYPE get_Quality(
  6964. /* [out] */ double *pQuality) = 0;
  6965. virtual HRESULT STDMETHODCALLTYPE put_WindowSize(
  6966. /* [in] */ DWORDLONG WindowSize) = 0;
  6967. virtual HRESULT STDMETHODCALLTYPE get_WindowSize(
  6968. /* [out] */ DWORDLONG *pWindowSize) = 0;
  6969. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  6970. /* [size_is][out] */ WCHAR *pszVersion,
  6971. /* [out][in] */ int *pcbVersion,
  6972. /* [size_is][out] */ LPWSTR pszDescription,
  6973. /* [out][in] */ int *pcbDescription,
  6974. /* [out] */ long *pDefaultKeyFrameRate,
  6975. /* [out] */ long *pDefaultPFramesPerKey,
  6976. /* [out] */ double *pDefaultQuality,
  6977. /* [out] */ long *pCapabilities) = 0;
  6978. virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame(
  6979. /* [in] */ long FrameNumber) = 0;
  6980. virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize(
  6981. /* [in] */ long FrameNumber,
  6982. /* [in] */ long Size) = 0;
  6983. };
  6984. #else /* C style interface */
  6985. typedef struct IAMVideoCompressionVtbl
  6986. {
  6987. BEGIN_INTERFACE
  6988. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6989. IAMVideoCompression * This,
  6990. /* [in] */ REFIID riid,
  6991. /* [iid_is][out] */ void **ppvObject);
  6992. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6993. IAMVideoCompression * This);
  6994. ULONG ( STDMETHODCALLTYPE *Release )(
  6995. IAMVideoCompression * This);
  6996. HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )(
  6997. IAMVideoCompression * This,
  6998. /* [in] */ long KeyFrameRate);
  6999. HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )(
  7000. IAMVideoCompression * This,
  7001. /* [out] */ long *pKeyFrameRate);
  7002. HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )(
  7003. IAMVideoCompression * This,
  7004. /* [in] */ long PFramesPerKeyFrame);
  7005. HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )(
  7006. IAMVideoCompression * This,
  7007. /* [out] */ long *pPFramesPerKeyFrame);
  7008. HRESULT ( STDMETHODCALLTYPE *put_Quality )(
  7009. IAMVideoCompression * This,
  7010. /* [in] */ double Quality);
  7011. HRESULT ( STDMETHODCALLTYPE *get_Quality )(
  7012. IAMVideoCompression * This,
  7013. /* [out] */ double *pQuality);
  7014. HRESULT ( STDMETHODCALLTYPE *put_WindowSize )(
  7015. IAMVideoCompression * This,
  7016. /* [in] */ DWORDLONG WindowSize);
  7017. HRESULT ( STDMETHODCALLTYPE *get_WindowSize )(
  7018. IAMVideoCompression * This,
  7019. /* [out] */ DWORDLONG *pWindowSize);
  7020. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  7021. IAMVideoCompression * This,
  7022. /* [size_is][out] */ WCHAR *pszVersion,
  7023. /* [out][in] */ int *pcbVersion,
  7024. /* [size_is][out] */ LPWSTR pszDescription,
  7025. /* [out][in] */ int *pcbDescription,
  7026. /* [out] */ long *pDefaultKeyFrameRate,
  7027. /* [out] */ long *pDefaultPFramesPerKey,
  7028. /* [out] */ double *pDefaultQuality,
  7029. /* [out] */ long *pCapabilities);
  7030. HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )(
  7031. IAMVideoCompression * This,
  7032. /* [in] */ long FrameNumber);
  7033. HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )(
  7034. IAMVideoCompression * This,
  7035. /* [in] */ long FrameNumber,
  7036. /* [in] */ long Size);
  7037. END_INTERFACE
  7038. } IAMVideoCompressionVtbl;
  7039. interface IAMVideoCompression
  7040. {
  7041. CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  7042. };
  7043. #ifdef COBJMACROS
  7044. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject) \
  7045. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7046. #define IAMVideoCompression_AddRef(This) \
  7047. (This)->lpVtbl -> AddRef(This)
  7048. #define IAMVideoCompression_Release(This) \
  7049. (This)->lpVtbl -> Release(This)
  7050. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate) \
  7051. (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  7052. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate) \
  7053. (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  7054. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame) \
  7055. (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  7056. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame) \
  7057. (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  7058. #define IAMVideoCompression_put_Quality(This,Quality) \
  7059. (This)->lpVtbl -> put_Quality(This,Quality)
  7060. #define IAMVideoCompression_get_Quality(This,pQuality) \
  7061. (This)->lpVtbl -> get_Quality(This,pQuality)
  7062. #define IAMVideoCompression_put_WindowSize(This,WindowSize) \
  7063. (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  7064. #define IAMVideoCompression_get_WindowSize(This,pWindowSize) \
  7065. (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  7066. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities) \
  7067. (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  7068. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber) \
  7069. (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  7070. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size) \
  7071. (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  7072. #endif /* COBJMACROS */
  7073. #endif /* C style interface */
  7074. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy(
  7075. IAMVideoCompression * This,
  7076. /* [in] */ long KeyFrameRate);
  7077. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  7078. IRpcStubBuffer *This,
  7079. IRpcChannelBuffer *_pRpcChannelBuffer,
  7080. PRPC_MESSAGE _pRpcMessage,
  7081. DWORD *_pdwStubPhase);
  7082. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy(
  7083. IAMVideoCompression * This,
  7084. /* [out] */ long *pKeyFrameRate);
  7085. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  7086. IRpcStubBuffer *This,
  7087. IRpcChannelBuffer *_pRpcChannelBuffer,
  7088. PRPC_MESSAGE _pRpcMessage,
  7089. DWORD *_pdwStubPhase);
  7090. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(
  7091. IAMVideoCompression * This,
  7092. /* [in] */ long PFramesPerKeyFrame);
  7093. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  7094. IRpcStubBuffer *This,
  7095. IRpcChannelBuffer *_pRpcChannelBuffer,
  7096. PRPC_MESSAGE _pRpcMessage,
  7097. DWORD *_pdwStubPhase);
  7098. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(
  7099. IAMVideoCompression * This,
  7100. /* [out] */ long *pPFramesPerKeyFrame);
  7101. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  7102. IRpcStubBuffer *This,
  7103. IRpcChannelBuffer *_pRpcChannelBuffer,
  7104. PRPC_MESSAGE _pRpcMessage,
  7105. DWORD *_pdwStubPhase);
  7106. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy(
  7107. IAMVideoCompression * This,
  7108. /* [in] */ double Quality);
  7109. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  7110. IRpcStubBuffer *This,
  7111. IRpcChannelBuffer *_pRpcChannelBuffer,
  7112. PRPC_MESSAGE _pRpcMessage,
  7113. DWORD *_pdwStubPhase);
  7114. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy(
  7115. IAMVideoCompression * This,
  7116. /* [out] */ double *pQuality);
  7117. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  7118. IRpcStubBuffer *This,
  7119. IRpcChannelBuffer *_pRpcChannelBuffer,
  7120. PRPC_MESSAGE _pRpcMessage,
  7121. DWORD *_pdwStubPhase);
  7122. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy(
  7123. IAMVideoCompression * This,
  7124. /* [in] */ DWORDLONG WindowSize);
  7125. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  7126. IRpcStubBuffer *This,
  7127. IRpcChannelBuffer *_pRpcChannelBuffer,
  7128. PRPC_MESSAGE _pRpcMessage,
  7129. DWORD *_pdwStubPhase);
  7130. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy(
  7131. IAMVideoCompression * This,
  7132. /* [out] */ DWORDLONG *pWindowSize);
  7133. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  7134. IRpcStubBuffer *This,
  7135. IRpcChannelBuffer *_pRpcChannelBuffer,
  7136. PRPC_MESSAGE _pRpcMessage,
  7137. DWORD *_pdwStubPhase);
  7138. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy(
  7139. IAMVideoCompression * This,
  7140. /* [size_is][out] */ WCHAR *pszVersion,
  7141. /* [out][in] */ int *pcbVersion,
  7142. /* [size_is][out] */ LPWSTR pszDescription,
  7143. /* [out][in] */ int *pcbDescription,
  7144. /* [out] */ long *pDefaultKeyFrameRate,
  7145. /* [out] */ long *pDefaultPFramesPerKey,
  7146. /* [out] */ double *pDefaultQuality,
  7147. /* [out] */ long *pCapabilities);
  7148. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  7149. IRpcStubBuffer *This,
  7150. IRpcChannelBuffer *_pRpcChannelBuffer,
  7151. PRPC_MESSAGE _pRpcMessage,
  7152. DWORD *_pdwStubPhase);
  7153. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy(
  7154. IAMVideoCompression * This,
  7155. /* [in] */ long FrameNumber);
  7156. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  7157. IRpcStubBuffer *This,
  7158. IRpcChannelBuffer *_pRpcChannelBuffer,
  7159. PRPC_MESSAGE _pRpcMessage,
  7160. DWORD *_pdwStubPhase);
  7161. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy(
  7162. IAMVideoCompression * This,
  7163. /* [in] */ long FrameNumber,
  7164. /* [in] */ long Size);
  7165. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  7166. IRpcStubBuffer *This,
  7167. IRpcChannelBuffer *_pRpcChannelBuffer,
  7168. PRPC_MESSAGE _pRpcMessage,
  7169. DWORD *_pdwStubPhase);
  7170. #endif /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  7171. /* interface __MIDL_itf_strmif_0164 */
  7172. /* [local] */
  7173. typedef /* [public] */
  7174. enum __MIDL___MIDL_itf_strmif_0164_0001
  7175. { VfwCaptureDialog_Source = 0x1,
  7176. VfwCaptureDialog_Format = 0x2,
  7177. VfwCaptureDialog_Display = 0x4
  7178. } VfwCaptureDialogs;
  7179. typedef /* [public] */
  7180. enum __MIDL___MIDL_itf_strmif_0164_0002
  7181. { VfwCompressDialog_Config = 0x1,
  7182. VfwCompressDialog_About = 0x2,
  7183. VfwCompressDialog_QueryConfig = 0x4,
  7184. VfwCompressDialog_QueryAbout = 0x8
  7185. } VfwCompressDialogs;
  7186. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_c_ifspec;
  7187. extern RPC_IF_HANDLE __MIDL_itf_strmif_0164_v0_0_s_ifspec;
  7188. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  7189. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  7190. /* interface IAMVfwCaptureDialogs */
  7191. /* [unique][uuid][local][object] */
  7192. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  7193. #if defined(__cplusplus) && !defined(CINTERFACE)
  7194. MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  7195. IAMVfwCaptureDialogs : public IUnknown
  7196. {
  7197. public:
  7198. virtual HRESULT STDMETHODCALLTYPE HasDialog(
  7199. /* [in] */ int iDialog) = 0;
  7200. virtual HRESULT STDMETHODCALLTYPE ShowDialog(
  7201. /* [in] */ int iDialog,
  7202. /* [in] */ HWND hwnd) = 0;
  7203. virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
  7204. /* [in] */ int iDialog,
  7205. /* [in] */ int uMsg,
  7206. /* [in] */ long dw1,
  7207. /* [in] */ long dw2) = 0;
  7208. };
  7209. #else /* C style interface */
  7210. typedef struct IAMVfwCaptureDialogsVtbl
  7211. {
  7212. BEGIN_INTERFACE
  7213. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7214. IAMVfwCaptureDialogs * This,
  7215. /* [in] */ REFIID riid,
  7216. /* [iid_is][out] */ void **ppvObject);
  7217. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7218. IAMVfwCaptureDialogs * This);
  7219. ULONG ( STDMETHODCALLTYPE *Release )(
  7220. IAMVfwCaptureDialogs * This);
  7221. HRESULT ( STDMETHODCALLTYPE *HasDialog )(
  7222. IAMVfwCaptureDialogs * This,
  7223. /* [in] */ int iDialog);
  7224. HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
  7225. IAMVfwCaptureDialogs * This,
  7226. /* [in] */ int iDialog,
  7227. /* [in] */ HWND hwnd);
  7228. HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
  7229. IAMVfwCaptureDialogs * This,
  7230. /* [in] */ int iDialog,
  7231. /* [in] */ int uMsg,
  7232. /* [in] */ long dw1,
  7233. /* [in] */ long dw2);
  7234. END_INTERFACE
  7235. } IAMVfwCaptureDialogsVtbl;
  7236. interface IAMVfwCaptureDialogs
  7237. {
  7238. CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  7239. };
  7240. #ifdef COBJMACROS
  7241. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject) \
  7242. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7243. #define IAMVfwCaptureDialogs_AddRef(This) \
  7244. (This)->lpVtbl -> AddRef(This)
  7245. #define IAMVfwCaptureDialogs_Release(This) \
  7246. (This)->lpVtbl -> Release(This)
  7247. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog) \
  7248. (This)->lpVtbl -> HasDialog(This,iDialog)
  7249. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd) \
  7250. (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  7251. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2) \
  7252. (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  7253. #endif /* COBJMACROS */
  7254. #endif /* C style interface */
  7255. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy(
  7256. IAMVfwCaptureDialogs * This,
  7257. /* [in] */ int iDialog);
  7258. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  7259. IRpcStubBuffer *This,
  7260. IRpcChannelBuffer *_pRpcChannelBuffer,
  7261. PRPC_MESSAGE _pRpcMessage,
  7262. DWORD *_pdwStubPhase);
  7263. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy(
  7264. IAMVfwCaptureDialogs * This,
  7265. /* [in] */ int iDialog,
  7266. /* [in] */ HWND hwnd);
  7267. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  7268. IRpcStubBuffer *This,
  7269. IRpcChannelBuffer *_pRpcChannelBuffer,
  7270. PRPC_MESSAGE _pRpcMessage,
  7271. DWORD *_pdwStubPhase);
  7272. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy(
  7273. IAMVfwCaptureDialogs * This,
  7274. /* [in] */ int iDialog,
  7275. /* [in] */ int uMsg,
  7276. /* [in] */ long dw1,
  7277. /* [in] */ long dw2);
  7278. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  7279. IRpcStubBuffer *This,
  7280. IRpcChannelBuffer *_pRpcChannelBuffer,
  7281. PRPC_MESSAGE _pRpcMessage,
  7282. DWORD *_pdwStubPhase);
  7283. #endif /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  7284. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  7285. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  7286. /* interface IAMVfwCompressDialogs */
  7287. /* [unique][uuid][local][object] */
  7288. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  7289. #if defined(__cplusplus) && !defined(CINTERFACE)
  7290. MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  7291. IAMVfwCompressDialogs : public IUnknown
  7292. {
  7293. public:
  7294. virtual HRESULT STDMETHODCALLTYPE ShowDialog(
  7295. /* [in] */ int iDialog,
  7296. /* [in] */ HWND hwnd) = 0;
  7297. virtual HRESULT STDMETHODCALLTYPE GetState(
  7298. /* [size_is][out] */ LPVOID pState,
  7299. /* [out][in] */ int *pcbState) = 0;
  7300. virtual HRESULT STDMETHODCALLTYPE SetState(
  7301. /* [size_is][in] */ LPVOID pState,
  7302. /* [in] */ int cbState) = 0;
  7303. virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(
  7304. /* [in] */ int uMsg,
  7305. /* [in] */ long dw1,
  7306. /* [in] */ long dw2) = 0;
  7307. };
  7308. #else /* C style interface */
  7309. typedef struct IAMVfwCompressDialogsVtbl
  7310. {
  7311. BEGIN_INTERFACE
  7312. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7313. IAMVfwCompressDialogs * This,
  7314. /* [in] */ REFIID riid,
  7315. /* [iid_is][out] */ void **ppvObject);
  7316. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7317. IAMVfwCompressDialogs * This);
  7318. ULONG ( STDMETHODCALLTYPE *Release )(
  7319. IAMVfwCompressDialogs * This);
  7320. HRESULT ( STDMETHODCALLTYPE *ShowDialog )(
  7321. IAMVfwCompressDialogs * This,
  7322. /* [in] */ int iDialog,
  7323. /* [in] */ HWND hwnd);
  7324. HRESULT ( STDMETHODCALLTYPE *GetState )(
  7325. IAMVfwCompressDialogs * This,
  7326. /* [size_is][out] */ LPVOID pState,
  7327. /* [out][in] */ int *pcbState);
  7328. HRESULT ( STDMETHODCALLTYPE *SetState )(
  7329. IAMVfwCompressDialogs * This,
  7330. /* [size_is][in] */ LPVOID pState,
  7331. /* [in] */ int cbState);
  7332. HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(
  7333. IAMVfwCompressDialogs * This,
  7334. /* [in] */ int uMsg,
  7335. /* [in] */ long dw1,
  7336. /* [in] */ long dw2);
  7337. END_INTERFACE
  7338. } IAMVfwCompressDialogsVtbl;
  7339. interface IAMVfwCompressDialogs
  7340. {
  7341. CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  7342. };
  7343. #ifdef COBJMACROS
  7344. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject) \
  7345. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7346. #define IAMVfwCompressDialogs_AddRef(This) \
  7347. (This)->lpVtbl -> AddRef(This)
  7348. #define IAMVfwCompressDialogs_Release(This) \
  7349. (This)->lpVtbl -> Release(This)
  7350. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd) \
  7351. (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  7352. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState) \
  7353. (This)->lpVtbl -> GetState(This,pState,pcbState)
  7354. #define IAMVfwCompressDialogs_SetState(This,pState,cbState) \
  7355. (This)->lpVtbl -> SetState(This,pState,cbState)
  7356. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2) \
  7357. (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  7358. #endif /* COBJMACROS */
  7359. #endif /* C style interface */
  7360. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy(
  7361. IAMVfwCompressDialogs * This,
  7362. /* [in] */ int iDialog,
  7363. /* [in] */ HWND hwnd);
  7364. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  7365. IRpcStubBuffer *This,
  7366. IRpcChannelBuffer *_pRpcChannelBuffer,
  7367. PRPC_MESSAGE _pRpcMessage,
  7368. DWORD *_pdwStubPhase);
  7369. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy(
  7370. IAMVfwCompressDialogs * This,
  7371. /* [size_is][out] */ LPVOID pState,
  7372. /* [out][in] */ int *pcbState);
  7373. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  7374. IRpcStubBuffer *This,
  7375. IRpcChannelBuffer *_pRpcChannelBuffer,
  7376. PRPC_MESSAGE _pRpcMessage,
  7377. DWORD *_pdwStubPhase);
  7378. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy(
  7379. IAMVfwCompressDialogs * This,
  7380. /* [size_is][in] */ LPVOID pState,
  7381. /* [in] */ int cbState);
  7382. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  7383. IRpcStubBuffer *This,
  7384. IRpcChannelBuffer *_pRpcChannelBuffer,
  7385. PRPC_MESSAGE _pRpcMessage,
  7386. DWORD *_pdwStubPhase);
  7387. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy(
  7388. IAMVfwCompressDialogs * This,
  7389. /* [in] */ int uMsg,
  7390. /* [in] */ long dw1,
  7391. /* [in] */ long dw2);
  7392. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  7393. IRpcStubBuffer *This,
  7394. IRpcChannelBuffer *_pRpcChannelBuffer,
  7395. PRPC_MESSAGE _pRpcMessage,
  7396. DWORD *_pdwStubPhase);
  7397. #endif /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  7398. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  7399. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  7400. /* interface IAMDroppedFrames */
  7401. /* [unique][uuid][object] */
  7402. EXTERN_C const IID IID_IAMDroppedFrames;
  7403. #if defined(__cplusplus) && !defined(CINTERFACE)
  7404. MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  7405. IAMDroppedFrames : public IUnknown
  7406. {
  7407. public:
  7408. virtual HRESULT STDMETHODCALLTYPE GetNumDropped(
  7409. /* [out] */ long *plDropped) = 0;
  7410. virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(
  7411. /* [out] */ long *plNotDropped) = 0;
  7412. virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(
  7413. /* [in] */ long lSize,
  7414. /* [out] */ long *plArray,
  7415. /* [out] */ long *plNumCopied) = 0;
  7416. virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(
  7417. /* [out] */ long *plAverageSize) = 0;
  7418. };
  7419. #else /* C style interface */
  7420. typedef struct IAMDroppedFramesVtbl
  7421. {
  7422. BEGIN_INTERFACE
  7423. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7424. IAMDroppedFrames * This,
  7425. /* [in] */ REFIID riid,
  7426. /* [iid_is][out] */ void **ppvObject);
  7427. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7428. IAMDroppedFrames * This);
  7429. ULONG ( STDMETHODCALLTYPE *Release )(
  7430. IAMDroppedFrames * This);
  7431. HRESULT ( STDMETHODCALLTYPE *GetNumDropped )(
  7432. IAMDroppedFrames * This,
  7433. /* [out] */ long *plDropped);
  7434. HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )(
  7435. IAMDroppedFrames * This,
  7436. /* [out] */ long *plNotDropped);
  7437. HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )(
  7438. IAMDroppedFrames * This,
  7439. /* [in] */ long lSize,
  7440. /* [out] */ long *plArray,
  7441. /* [out] */ long *plNumCopied);
  7442. HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )(
  7443. IAMDroppedFrames * This,
  7444. /* [out] */ long *plAverageSize);
  7445. END_INTERFACE
  7446. } IAMDroppedFramesVtbl;
  7447. interface IAMDroppedFrames
  7448. {
  7449. CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  7450. };
  7451. #ifdef COBJMACROS
  7452. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject) \
  7453. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7454. #define IAMDroppedFrames_AddRef(This) \
  7455. (This)->lpVtbl -> AddRef(This)
  7456. #define IAMDroppedFrames_Release(This) \
  7457. (This)->lpVtbl -> Release(This)
  7458. #define IAMDroppedFrames_GetNumDropped(This,plDropped) \
  7459. (This)->lpVtbl -> GetNumDropped(This,plDropped)
  7460. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped) \
  7461. (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  7462. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied) \
  7463. (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  7464. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize) \
  7465. (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  7466. #endif /* COBJMACROS */
  7467. #endif /* C style interface */
  7468. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy(
  7469. IAMDroppedFrames * This,
  7470. /* [out] */ long *plDropped);
  7471. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  7472. IRpcStubBuffer *This,
  7473. IRpcChannelBuffer *_pRpcChannelBuffer,
  7474. PRPC_MESSAGE _pRpcMessage,
  7475. DWORD *_pdwStubPhase);
  7476. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy(
  7477. IAMDroppedFrames * This,
  7478. /* [out] */ long *plNotDropped);
  7479. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  7480. IRpcStubBuffer *This,
  7481. IRpcChannelBuffer *_pRpcChannelBuffer,
  7482. PRPC_MESSAGE _pRpcMessage,
  7483. DWORD *_pdwStubPhase);
  7484. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy(
  7485. IAMDroppedFrames * This,
  7486. /* [in] */ long lSize,
  7487. /* [out] */ long *plArray,
  7488. /* [out] */ long *plNumCopied);
  7489. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  7490. IRpcStubBuffer *This,
  7491. IRpcChannelBuffer *_pRpcChannelBuffer,
  7492. PRPC_MESSAGE _pRpcMessage,
  7493. DWORD *_pdwStubPhase);
  7494. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy(
  7495. IAMDroppedFrames * This,
  7496. /* [out] */ long *plAverageSize);
  7497. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  7498. IRpcStubBuffer *This,
  7499. IRpcChannelBuffer *_pRpcChannelBuffer,
  7500. PRPC_MESSAGE _pRpcMessage,
  7501. DWORD *_pdwStubPhase);
  7502. #endif /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  7503. /* interface __MIDL_itf_strmif_0167 */
  7504. /* [local] */
  7505. #define AMF_AUTOMATICGAIN -1.0
  7506. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  7507. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  7508. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  7509. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  7510. /* interface IAMAudioInputMixer */
  7511. /* [unique][uuid][object] */
  7512. EXTERN_C const IID IID_IAMAudioInputMixer;
  7513. #if defined(__cplusplus) && !defined(CINTERFACE)
  7514. MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  7515. IAMAudioInputMixer : public IUnknown
  7516. {
  7517. public:
  7518. virtual HRESULT STDMETHODCALLTYPE put_Enable(
  7519. /* [in] */ BOOL fEnable) = 0;
  7520. virtual HRESULT STDMETHODCALLTYPE get_Enable(
  7521. /* [out] */ BOOL *pfEnable) = 0;
  7522. virtual HRESULT STDMETHODCALLTYPE put_Mono(
  7523. /* [in] */ BOOL fMono) = 0;
  7524. virtual HRESULT STDMETHODCALLTYPE get_Mono(
  7525. /* [out] */ BOOL *pfMono) = 0;
  7526. virtual HRESULT STDMETHODCALLTYPE put_MixLevel(
  7527. /* [in] */ double Level) = 0;
  7528. virtual HRESULT STDMETHODCALLTYPE get_MixLevel(
  7529. /* [out] */ double *pLevel) = 0;
  7530. virtual HRESULT STDMETHODCALLTYPE put_Pan(
  7531. /* [in] */ double Pan) = 0;
  7532. virtual HRESULT STDMETHODCALLTYPE get_Pan(
  7533. /* [out] */ double *pPan) = 0;
  7534. virtual HRESULT STDMETHODCALLTYPE put_Loudness(
  7535. /* [in] */ BOOL fLoudness) = 0;
  7536. virtual HRESULT STDMETHODCALLTYPE get_Loudness(
  7537. /* [out] */ BOOL *pfLoudness) = 0;
  7538. virtual HRESULT STDMETHODCALLTYPE put_Treble(
  7539. /* [in] */ double Treble) = 0;
  7540. virtual HRESULT STDMETHODCALLTYPE get_Treble(
  7541. /* [out] */ double *pTreble) = 0;
  7542. virtual HRESULT STDMETHODCALLTYPE get_TrebleRange(
  7543. /* [out] */ double *pRange) = 0;
  7544. virtual HRESULT STDMETHODCALLTYPE put_Bass(
  7545. /* [in] */ double Bass) = 0;
  7546. virtual HRESULT STDMETHODCALLTYPE get_Bass(
  7547. /* [out] */ double *pBass) = 0;
  7548. virtual HRESULT STDMETHODCALLTYPE get_BassRange(
  7549. /* [out] */ double *pRange) = 0;
  7550. };
  7551. #else /* C style interface */
  7552. typedef struct IAMAudioInputMixerVtbl
  7553. {
  7554. BEGIN_INTERFACE
  7555. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7556. IAMAudioInputMixer * This,
  7557. /* [in] */ REFIID riid,
  7558. /* [iid_is][out] */ void **ppvObject);
  7559. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7560. IAMAudioInputMixer * This);
  7561. ULONG ( STDMETHODCALLTYPE *Release )(
  7562. IAMAudioInputMixer * This);
  7563. HRESULT ( STDMETHODCALLTYPE *put_Enable )(
  7564. IAMAudioInputMixer * This,
  7565. /* [in] */ BOOL fEnable);
  7566. HRESULT ( STDMETHODCALLTYPE *get_Enable )(
  7567. IAMAudioInputMixer * This,
  7568. /* [out] */ BOOL *pfEnable);
  7569. HRESULT ( STDMETHODCALLTYPE *put_Mono )(
  7570. IAMAudioInputMixer * This,
  7571. /* [in] */ BOOL fMono);
  7572. HRESULT ( STDMETHODCALLTYPE *get_Mono )(
  7573. IAMAudioInputMixer * This,
  7574. /* [out] */ BOOL *pfMono);
  7575. HRESULT ( STDMETHODCALLTYPE *put_MixLevel )(
  7576. IAMAudioInputMixer * This,
  7577. /* [in] */ double Level);
  7578. HRESULT ( STDMETHODCALLTYPE *get_MixLevel )(
  7579. IAMAudioInputMixer * This,
  7580. /* [out] */ double *pLevel);
  7581. HRESULT ( STDMETHODCALLTYPE *put_Pan )(
  7582. IAMAudioInputMixer * This,
  7583. /* [in] */ double Pan);
  7584. HRESULT ( STDMETHODCALLTYPE *get_Pan )(
  7585. IAMAudioInputMixer * This,
  7586. /* [out] */ double *pPan);
  7587. HRESULT ( STDMETHODCALLTYPE *put_Loudness )(
  7588. IAMAudioInputMixer * This,
  7589. /* [in] */ BOOL fLoudness);
  7590. HRESULT ( STDMETHODCALLTYPE *get_Loudness )(
  7591. IAMAudioInputMixer * This,
  7592. /* [out] */ BOOL *pfLoudness);
  7593. HRESULT ( STDMETHODCALLTYPE *put_Treble )(
  7594. IAMAudioInputMixer * This,
  7595. /* [in] */ double Treble);
  7596. HRESULT ( STDMETHODCALLTYPE *get_Treble )(
  7597. IAMAudioInputMixer * This,
  7598. /* [out] */ double *pTreble);
  7599. HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )(
  7600. IAMAudioInputMixer * This,
  7601. /* [out] */ double *pRange);
  7602. HRESULT ( STDMETHODCALLTYPE *put_Bass )(
  7603. IAMAudioInputMixer * This,
  7604. /* [in] */ double Bass);
  7605. HRESULT ( STDMETHODCALLTYPE *get_Bass )(
  7606. IAMAudioInputMixer * This,
  7607. /* [out] */ double *pBass);
  7608. HRESULT ( STDMETHODCALLTYPE *get_BassRange )(
  7609. IAMAudioInputMixer * This,
  7610. /* [out] */ double *pRange);
  7611. END_INTERFACE
  7612. } IAMAudioInputMixerVtbl;
  7613. interface IAMAudioInputMixer
  7614. {
  7615. CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  7616. };
  7617. #ifdef COBJMACROS
  7618. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject) \
  7619. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7620. #define IAMAudioInputMixer_AddRef(This) \
  7621. (This)->lpVtbl -> AddRef(This)
  7622. #define IAMAudioInputMixer_Release(This) \
  7623. (This)->lpVtbl -> Release(This)
  7624. #define IAMAudioInputMixer_put_Enable(This,fEnable) \
  7625. (This)->lpVtbl -> put_Enable(This,fEnable)
  7626. #define IAMAudioInputMixer_get_Enable(This,pfEnable) \
  7627. (This)->lpVtbl -> get_Enable(This,pfEnable)
  7628. #define IAMAudioInputMixer_put_Mono(This,fMono) \
  7629. (This)->lpVtbl -> put_Mono(This,fMono)
  7630. #define IAMAudioInputMixer_get_Mono(This,pfMono) \
  7631. (This)->lpVtbl -> get_Mono(This,pfMono)
  7632. #define IAMAudioInputMixer_put_MixLevel(This,Level) \
  7633. (This)->lpVtbl -> put_MixLevel(This,Level)
  7634. #define IAMAudioInputMixer_get_MixLevel(This,pLevel) \
  7635. (This)->lpVtbl -> get_MixLevel(This,pLevel)
  7636. #define IAMAudioInputMixer_put_Pan(This,Pan) \
  7637. (This)->lpVtbl -> put_Pan(This,Pan)
  7638. #define IAMAudioInputMixer_get_Pan(This,pPan) \
  7639. (This)->lpVtbl -> get_Pan(This,pPan)
  7640. #define IAMAudioInputMixer_put_Loudness(This,fLoudness) \
  7641. (This)->lpVtbl -> put_Loudness(This,fLoudness)
  7642. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness) \
  7643. (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  7644. #define IAMAudioInputMixer_put_Treble(This,Treble) \
  7645. (This)->lpVtbl -> put_Treble(This,Treble)
  7646. #define IAMAudioInputMixer_get_Treble(This,pTreble) \
  7647. (This)->lpVtbl -> get_Treble(This,pTreble)
  7648. #define IAMAudioInputMixer_get_TrebleRange(This,pRange) \
  7649. (This)->lpVtbl -> get_TrebleRange(This,pRange)
  7650. #define IAMAudioInputMixer_put_Bass(This,Bass) \
  7651. (This)->lpVtbl -> put_Bass(This,Bass)
  7652. #define IAMAudioInputMixer_get_Bass(This,pBass) \
  7653. (This)->lpVtbl -> get_Bass(This,pBass)
  7654. #define IAMAudioInputMixer_get_BassRange(This,pRange) \
  7655. (This)->lpVtbl -> get_BassRange(This,pRange)
  7656. #endif /* COBJMACROS */
  7657. #endif /* C style interface */
  7658. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy(
  7659. IAMAudioInputMixer * This,
  7660. /* [in] */ BOOL fEnable);
  7661. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  7662. IRpcStubBuffer *This,
  7663. IRpcChannelBuffer *_pRpcChannelBuffer,
  7664. PRPC_MESSAGE _pRpcMessage,
  7665. DWORD *_pdwStubPhase);
  7666. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy(
  7667. IAMAudioInputMixer * This,
  7668. /* [out] */ BOOL *pfEnable);
  7669. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  7670. IRpcStubBuffer *This,
  7671. IRpcChannelBuffer *_pRpcChannelBuffer,
  7672. PRPC_MESSAGE _pRpcMessage,
  7673. DWORD *_pdwStubPhase);
  7674. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy(
  7675. IAMAudioInputMixer * This,
  7676. /* [in] */ BOOL fMono);
  7677. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  7678. IRpcStubBuffer *This,
  7679. IRpcChannelBuffer *_pRpcChannelBuffer,
  7680. PRPC_MESSAGE _pRpcMessage,
  7681. DWORD *_pdwStubPhase);
  7682. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy(
  7683. IAMAudioInputMixer * This,
  7684. /* [out] */ BOOL *pfMono);
  7685. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  7686. IRpcStubBuffer *This,
  7687. IRpcChannelBuffer *_pRpcChannelBuffer,
  7688. PRPC_MESSAGE _pRpcMessage,
  7689. DWORD *_pdwStubPhase);
  7690. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy(
  7691. IAMAudioInputMixer * This,
  7692. /* [in] */ double Level);
  7693. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  7694. IRpcStubBuffer *This,
  7695. IRpcChannelBuffer *_pRpcChannelBuffer,
  7696. PRPC_MESSAGE _pRpcMessage,
  7697. DWORD *_pdwStubPhase);
  7698. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy(
  7699. IAMAudioInputMixer * This,
  7700. /* [out] */ double *pLevel);
  7701. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  7702. IRpcStubBuffer *This,
  7703. IRpcChannelBuffer *_pRpcChannelBuffer,
  7704. PRPC_MESSAGE _pRpcMessage,
  7705. DWORD *_pdwStubPhase);
  7706. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy(
  7707. IAMAudioInputMixer * This,
  7708. /* [in] */ double Pan);
  7709. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  7710. IRpcStubBuffer *This,
  7711. IRpcChannelBuffer *_pRpcChannelBuffer,
  7712. PRPC_MESSAGE _pRpcMessage,
  7713. DWORD *_pdwStubPhase);
  7714. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy(
  7715. IAMAudioInputMixer * This,
  7716. /* [out] */ double *pPan);
  7717. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  7718. IRpcStubBuffer *This,
  7719. IRpcChannelBuffer *_pRpcChannelBuffer,
  7720. PRPC_MESSAGE _pRpcMessage,
  7721. DWORD *_pdwStubPhase);
  7722. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy(
  7723. IAMAudioInputMixer * This,
  7724. /* [in] */ BOOL fLoudness);
  7725. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  7726. IRpcStubBuffer *This,
  7727. IRpcChannelBuffer *_pRpcChannelBuffer,
  7728. PRPC_MESSAGE _pRpcMessage,
  7729. DWORD *_pdwStubPhase);
  7730. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy(
  7731. IAMAudioInputMixer * This,
  7732. /* [out] */ BOOL *pfLoudness);
  7733. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  7734. IRpcStubBuffer *This,
  7735. IRpcChannelBuffer *_pRpcChannelBuffer,
  7736. PRPC_MESSAGE _pRpcMessage,
  7737. DWORD *_pdwStubPhase);
  7738. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy(
  7739. IAMAudioInputMixer * This,
  7740. /* [in] */ double Treble);
  7741. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  7742. IRpcStubBuffer *This,
  7743. IRpcChannelBuffer *_pRpcChannelBuffer,
  7744. PRPC_MESSAGE _pRpcMessage,
  7745. DWORD *_pdwStubPhase);
  7746. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy(
  7747. IAMAudioInputMixer * This,
  7748. /* [out] */ double *pTreble);
  7749. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  7750. IRpcStubBuffer *This,
  7751. IRpcChannelBuffer *_pRpcChannelBuffer,
  7752. PRPC_MESSAGE _pRpcMessage,
  7753. DWORD *_pdwStubPhase);
  7754. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy(
  7755. IAMAudioInputMixer * This,
  7756. /* [out] */ double *pRange);
  7757. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  7758. IRpcStubBuffer *This,
  7759. IRpcChannelBuffer *_pRpcChannelBuffer,
  7760. PRPC_MESSAGE _pRpcMessage,
  7761. DWORD *_pdwStubPhase);
  7762. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy(
  7763. IAMAudioInputMixer * This,
  7764. /* [in] */ double Bass);
  7765. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  7766. IRpcStubBuffer *This,
  7767. IRpcChannelBuffer *_pRpcChannelBuffer,
  7768. PRPC_MESSAGE _pRpcMessage,
  7769. DWORD *_pdwStubPhase);
  7770. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy(
  7771. IAMAudioInputMixer * This,
  7772. /* [out] */ double *pBass);
  7773. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  7774. IRpcStubBuffer *This,
  7775. IRpcChannelBuffer *_pRpcChannelBuffer,
  7776. PRPC_MESSAGE _pRpcMessage,
  7777. DWORD *_pdwStubPhase);
  7778. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy(
  7779. IAMAudioInputMixer * This,
  7780. /* [out] */ double *pRange);
  7781. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  7782. IRpcStubBuffer *This,
  7783. IRpcChannelBuffer *_pRpcChannelBuffer,
  7784. PRPC_MESSAGE _pRpcMessage,
  7785. DWORD *_pdwStubPhase);
  7786. #endif /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  7787. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  7788. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  7789. /* interface IAMBufferNegotiation */
  7790. /* [unique][uuid][object] */
  7791. EXTERN_C const IID IID_IAMBufferNegotiation;
  7792. #if defined(__cplusplus) && !defined(CINTERFACE)
  7793. MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  7794. IAMBufferNegotiation : public IUnknown
  7795. {
  7796. public:
  7797. virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties(
  7798. /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  7799. virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties(
  7800. /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  7801. };
  7802. #else /* C style interface */
  7803. typedef struct IAMBufferNegotiationVtbl
  7804. {
  7805. BEGIN_INTERFACE
  7806. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7807. IAMBufferNegotiation * This,
  7808. /* [in] */ REFIID riid,
  7809. /* [iid_is][out] */ void **ppvObject);
  7810. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7811. IAMBufferNegotiation * This);
  7812. ULONG ( STDMETHODCALLTYPE *Release )(
  7813. IAMBufferNegotiation * This);
  7814. HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )(
  7815. IAMBufferNegotiation * This,
  7816. /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  7817. HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )(
  7818. IAMBufferNegotiation * This,
  7819. /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  7820. END_INTERFACE
  7821. } IAMBufferNegotiationVtbl;
  7822. interface IAMBufferNegotiation
  7823. {
  7824. CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  7825. };
  7826. #ifdef COBJMACROS
  7827. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject) \
  7828. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7829. #define IAMBufferNegotiation_AddRef(This) \
  7830. (This)->lpVtbl -> AddRef(This)
  7831. #define IAMBufferNegotiation_Release(This) \
  7832. (This)->lpVtbl -> Release(This)
  7833. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop) \
  7834. (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  7835. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop) \
  7836. (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  7837. #endif /* COBJMACROS */
  7838. #endif /* C style interface */
  7839. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(
  7840. IAMBufferNegotiation * This,
  7841. /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  7842. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  7843. IRpcStubBuffer *This,
  7844. IRpcChannelBuffer *_pRpcChannelBuffer,
  7845. PRPC_MESSAGE _pRpcMessage,
  7846. DWORD *_pdwStubPhase);
  7847. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy(
  7848. IAMBufferNegotiation * This,
  7849. /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  7850. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  7851. IRpcStubBuffer *This,
  7852. IRpcChannelBuffer *_pRpcChannelBuffer,
  7853. PRPC_MESSAGE _pRpcMessage,
  7854. DWORD *_pdwStubPhase);
  7855. #endif /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  7856. /* interface __MIDL_itf_strmif_0169 */
  7857. /* [local] */
  7858. typedef
  7859. enum tagAnalogVideoStandard
  7860. { AnalogVideo_None = 0,
  7861. AnalogVideo_NTSC_M = 0x1,
  7862. AnalogVideo_NTSC_M_J = 0x2,
  7863. AnalogVideo_NTSC_433 = 0x4,
  7864. AnalogVideo_PAL_B = 0x10,
  7865. AnalogVideo_PAL_D = 0x20,
  7866. AnalogVideo_PAL_G = 0x40,
  7867. AnalogVideo_PAL_H = 0x80,
  7868. AnalogVideo_PAL_I = 0x100,
  7869. AnalogVideo_PAL_M = 0x200,
  7870. AnalogVideo_PAL_N = 0x400,
  7871. AnalogVideo_PAL_60 = 0x800,
  7872. AnalogVideo_SECAM_B = 0x1000,
  7873. AnalogVideo_SECAM_D = 0x2000,
  7874. AnalogVideo_SECAM_G = 0x4000,
  7875. AnalogVideo_SECAM_H = 0x8000,
  7876. AnalogVideo_SECAM_K = 0x10000,
  7877. AnalogVideo_SECAM_K1 = 0x20000,
  7878. AnalogVideo_SECAM_L = 0x40000,
  7879. AnalogVideo_SECAM_L1 = 0x80000,
  7880. AnalogVideo_PAL_N_COMBO = 0x100000
  7881. } AnalogVideoStandard;
  7882. #define AnalogVideo_NTSC_Mask 0x00000007
  7883. #define AnalogVideo_PAL_Mask 0x00100FF0
  7884. #define AnalogVideo_SECAM_Mask 0x000FF000
  7885. typedef
  7886. enum tagTunerInputType
  7887. { TunerInputCable = 0,
  7888. TunerInputAntenna = TunerInputCable + 1
  7889. } TunerInputType;
  7890. typedef /* [public] */
  7891. enum __MIDL___MIDL_itf_strmif_0169_0001
  7892. { VideoCopyProtectionMacrovisionBasic = 0,
  7893. VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
  7894. } VideoCopyProtectionType;
  7895. typedef
  7896. enum tagPhysicalConnectorType
  7897. { PhysConn_Video_Tuner = 1,
  7898. PhysConn_Video_Composite = PhysConn_Video_Tuner + 1,
  7899. PhysConn_Video_SVideo = PhysConn_Video_Composite + 1,
  7900. PhysConn_Video_RGB = PhysConn_Video_SVideo + 1,
  7901. PhysConn_Video_YRYBY = PhysConn_Video_RGB + 1,
  7902. PhysConn_Video_SerialDigital = PhysConn_Video_YRYBY + 1,
  7903. PhysConn_Video_ParallelDigital = PhysConn_Video_SerialDigital + 1,
  7904. PhysConn_Video_SCSI = PhysConn_Video_ParallelDigital + 1,
  7905. PhysConn_Video_AUX = PhysConn_Video_SCSI + 1,
  7906. PhysConn_Video_1394 = PhysConn_Video_AUX + 1,
  7907. PhysConn_Video_USB = PhysConn_Video_1394 + 1,
  7908. PhysConn_Video_VideoDecoder = PhysConn_Video_USB + 1,
  7909. PhysConn_Video_VideoEncoder = PhysConn_Video_VideoDecoder + 1,
  7910. PhysConn_Video_SCART = PhysConn_Video_VideoEncoder + 1,
  7911. PhysConn_Video_Black = PhysConn_Video_SCART + 1,
  7912. PhysConn_Audio_Tuner = 0x1000,
  7913. PhysConn_Audio_Line = PhysConn_Audio_Tuner + 1,
  7914. PhysConn_Audio_Mic = PhysConn_Audio_Line + 1,
  7915. PhysConn_Audio_AESDigital = PhysConn_Audio_Mic + 1,
  7916. PhysConn_Audio_SPDIFDigital = PhysConn_Audio_AESDigital + 1,
  7917. PhysConn_Audio_SCSI = PhysConn_Audio_SPDIFDigital + 1,
  7918. PhysConn_Audio_AUX = PhysConn_Audio_SCSI + 1,
  7919. PhysConn_Audio_1394 = PhysConn_Audio_AUX + 1,
  7920. PhysConn_Audio_USB = PhysConn_Audio_1394 + 1,
  7921. PhysConn_Audio_AudioDecoder = PhysConn_Audio_USB + 1
  7922. } PhysicalConnectorType;
  7923. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  7924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  7925. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  7926. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  7927. /* interface IAMAnalogVideoDecoder */
  7928. /* [unique][uuid][object] */
  7929. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  7930. #if defined(__cplusplus) && !defined(CINTERFACE)
  7931. MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  7932. IAMAnalogVideoDecoder : public IUnknown
  7933. {
  7934. public:
  7935. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  7936. /* [out] */ long *lAnalogVideoStandard) = 0;
  7937. virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
  7938. /* [in] */ long lAnalogVideoStandard) = 0;
  7939. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  7940. /* [out] */ long *plAnalogVideoStandard) = 0;
  7941. virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked(
  7942. /* [out] */ long *plLocked) = 0;
  7943. virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking(
  7944. /* [in] */ long lVCRHorizontalLocking) = 0;
  7945. virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking(
  7946. /* [out] */ long *plVCRHorizontalLocking) = 0;
  7947. virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines(
  7948. /* [out] */ long *plNumberOfLines) = 0;
  7949. virtual HRESULT STDMETHODCALLTYPE put_OutputEnable(
  7950. /* [in] */ long lOutputEnable) = 0;
  7951. virtual HRESULT STDMETHODCALLTYPE get_OutputEnable(
  7952. /* [out] */ long *plOutputEnable) = 0;
  7953. };
  7954. #else /* C style interface */
  7955. typedef struct IAMAnalogVideoDecoderVtbl
  7956. {
  7957. BEGIN_INTERFACE
  7958. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7959. IAMAnalogVideoDecoder * This,
  7960. /* [in] */ REFIID riid,
  7961. /* [iid_is][out] */ void **ppvObject);
  7962. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7963. IAMAnalogVideoDecoder * This);
  7964. ULONG ( STDMETHODCALLTYPE *Release )(
  7965. IAMAnalogVideoDecoder * This);
  7966. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  7967. IAMAnalogVideoDecoder * This,
  7968. /* [out] */ long *lAnalogVideoStandard);
  7969. HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
  7970. IAMAnalogVideoDecoder * This,
  7971. /* [in] */ long lAnalogVideoStandard);
  7972. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  7973. IAMAnalogVideoDecoder * This,
  7974. /* [out] */ long *plAnalogVideoStandard);
  7975. HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )(
  7976. IAMAnalogVideoDecoder * This,
  7977. /* [out] */ long *plLocked);
  7978. HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )(
  7979. IAMAnalogVideoDecoder * This,
  7980. /* [in] */ long lVCRHorizontalLocking);
  7981. HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )(
  7982. IAMAnalogVideoDecoder * This,
  7983. /* [out] */ long *plVCRHorizontalLocking);
  7984. HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )(
  7985. IAMAnalogVideoDecoder * This,
  7986. /* [out] */ long *plNumberOfLines);
  7987. HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )(
  7988. IAMAnalogVideoDecoder * This,
  7989. /* [in] */ long lOutputEnable);
  7990. HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )(
  7991. IAMAnalogVideoDecoder * This,
  7992. /* [out] */ long *plOutputEnable);
  7993. END_INTERFACE
  7994. } IAMAnalogVideoDecoderVtbl;
  7995. interface IAMAnalogVideoDecoder
  7996. {
  7997. CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  7998. };
  7999. #ifdef COBJMACROS
  8000. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject) \
  8001. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8002. #define IAMAnalogVideoDecoder_AddRef(This) \
  8003. (This)->lpVtbl -> AddRef(This)
  8004. #define IAMAnalogVideoDecoder_Release(This) \
  8005. (This)->lpVtbl -> Release(This)
  8006. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  8007. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  8008. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard) \
  8009. (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  8010. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard) \
  8011. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  8012. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked) \
  8013. (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  8014. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking) \
  8015. (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  8016. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking) \
  8017. (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  8018. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines) \
  8019. (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  8020. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable) \
  8021. (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  8022. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable) \
  8023. (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  8024. #endif /* COBJMACROS */
  8025. #endif /* C style interface */
  8026. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(
  8027. IAMAnalogVideoDecoder * This,
  8028. /* [out] */ long *lAnalogVideoStandard);
  8029. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  8030. IRpcStubBuffer *This,
  8031. IRpcChannelBuffer *_pRpcChannelBuffer,
  8032. PRPC_MESSAGE _pRpcMessage,
  8033. DWORD *_pdwStubPhase);
  8034. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy(
  8035. IAMAnalogVideoDecoder * This,
  8036. /* [in] */ long lAnalogVideoStandard);
  8037. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  8038. IRpcStubBuffer *This,
  8039. IRpcChannelBuffer *_pRpcChannelBuffer,
  8040. PRPC_MESSAGE _pRpcMessage,
  8041. DWORD *_pdwStubPhase);
  8042. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy(
  8043. IAMAnalogVideoDecoder * This,
  8044. /* [out] */ long *plAnalogVideoStandard);
  8045. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  8046. IRpcStubBuffer *This,
  8047. IRpcChannelBuffer *_pRpcChannelBuffer,
  8048. PRPC_MESSAGE _pRpcMessage,
  8049. DWORD *_pdwStubPhase);
  8050. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(
  8051. IAMAnalogVideoDecoder * This,
  8052. /* [out] */ long *plLocked);
  8053. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  8054. IRpcStubBuffer *This,
  8055. IRpcChannelBuffer *_pRpcChannelBuffer,
  8056. PRPC_MESSAGE _pRpcMessage,
  8057. DWORD *_pdwStubPhase);
  8058. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(
  8059. IAMAnalogVideoDecoder * This,
  8060. /* [in] */ long lVCRHorizontalLocking);
  8061. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  8062. IRpcStubBuffer *This,
  8063. IRpcChannelBuffer *_pRpcChannelBuffer,
  8064. PRPC_MESSAGE _pRpcMessage,
  8065. DWORD *_pdwStubPhase);
  8066. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(
  8067. IAMAnalogVideoDecoder * This,
  8068. /* [out] */ long *plVCRHorizontalLocking);
  8069. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  8070. IRpcStubBuffer *This,
  8071. IRpcChannelBuffer *_pRpcChannelBuffer,
  8072. PRPC_MESSAGE _pRpcMessage,
  8073. DWORD *_pdwStubPhase);
  8074. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(
  8075. IAMAnalogVideoDecoder * This,
  8076. /* [out] */ long *plNumberOfLines);
  8077. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  8078. IRpcStubBuffer *This,
  8079. IRpcChannelBuffer *_pRpcChannelBuffer,
  8080. PRPC_MESSAGE _pRpcMessage,
  8081. DWORD *_pdwStubPhase);
  8082. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy(
  8083. IAMAnalogVideoDecoder * This,
  8084. /* [in] */ long lOutputEnable);
  8085. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  8086. IRpcStubBuffer *This,
  8087. IRpcChannelBuffer *_pRpcChannelBuffer,
  8088. PRPC_MESSAGE _pRpcMessage,
  8089. DWORD *_pdwStubPhase);
  8090. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy(
  8091. IAMAnalogVideoDecoder * This,
  8092. /* [out] */ long *plOutputEnable);
  8093. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  8094. IRpcStubBuffer *This,
  8095. IRpcChannelBuffer *_pRpcChannelBuffer,
  8096. PRPC_MESSAGE _pRpcMessage,
  8097. DWORD *_pdwStubPhase);
  8098. #endif /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  8099. /* interface __MIDL_itf_strmif_0170 */
  8100. /* [local] */
  8101. typedef
  8102. enum tagVideoProcAmpProperty
  8103. { VideoProcAmp_Brightness = 0,
  8104. VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
  8105. VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
  8106. VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
  8107. VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
  8108. VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
  8109. VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
  8110. VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
  8111. VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
  8112. VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
  8113. } VideoProcAmpProperty;
  8114. typedef
  8115. enum tagVideoProcAmpFlags
  8116. { VideoProcAmp_Flags_Auto = 0x1,
  8117. VideoProcAmp_Flags_Manual = 0x2
  8118. } VideoProcAmpFlags;
  8119. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;
  8120. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
  8121. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  8122. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  8123. /* interface IAMVideoProcAmp */
  8124. /* [unique][uuid][object] */
  8125. EXTERN_C const IID IID_IAMVideoProcAmp;
  8126. #if defined(__cplusplus) && !defined(CINTERFACE)
  8127. MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  8128. IAMVideoProcAmp : public IUnknown
  8129. {
  8130. public:
  8131. virtual HRESULT STDMETHODCALLTYPE GetRange(
  8132. /* [in] */ long Property,
  8133. /* [out] */ long *pMin,
  8134. /* [out] */ long *pMax,
  8135. /* [out] */ long *pSteppingDelta,
  8136. /* [out] */ long *pDefault,
  8137. /* [out] */ long *pCapsFlags) = 0;
  8138. virtual HRESULT STDMETHODCALLTYPE Set(
  8139. /* [in] */ long Property,
  8140. /* [in] */ long lValue,
  8141. /* [in] */ long Flags) = 0;
  8142. virtual HRESULT STDMETHODCALLTYPE Get(
  8143. /* [in] */ long Property,
  8144. /* [out] */ long *lValue,
  8145. /* [out] */ long *Flags) = 0;
  8146. };
  8147. #else /* C style interface */
  8148. typedef struct IAMVideoProcAmpVtbl
  8149. {
  8150. BEGIN_INTERFACE
  8151. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8152. IAMVideoProcAmp * This,
  8153. /* [in] */ REFIID riid,
  8154. /* [iid_is][out] */ void **ppvObject);
  8155. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8156. IAMVideoProcAmp * This);
  8157. ULONG ( STDMETHODCALLTYPE *Release )(
  8158. IAMVideoProcAmp * This);
  8159. HRESULT ( STDMETHODCALLTYPE *GetRange )(
  8160. IAMVideoProcAmp * This,
  8161. /* [in] */ long Property,
  8162. /* [out] */ long *pMin,
  8163. /* [out] */ long *pMax,
  8164. /* [out] */ long *pSteppingDelta,
  8165. /* [out] */ long *pDefault,
  8166. /* [out] */ long *pCapsFlags);
  8167. HRESULT ( STDMETHODCALLTYPE *Set )(
  8168. IAMVideoProcAmp * This,
  8169. /* [in] */ long Property,
  8170. /* [in] */ long lValue,
  8171. /* [in] */ long Flags);
  8172. HRESULT ( STDMETHODCALLTYPE *Get )(
  8173. IAMVideoProcAmp * This,
  8174. /* [in] */ long Property,
  8175. /* [out] */ long *lValue,
  8176. /* [out] */ long *Flags);
  8177. END_INTERFACE
  8178. } IAMVideoProcAmpVtbl;
  8179. interface IAMVideoProcAmp
  8180. {
  8181. CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  8182. };
  8183. #ifdef COBJMACROS
  8184. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject) \
  8185. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8186. #define IAMVideoProcAmp_AddRef(This) \
  8187. (This)->lpVtbl -> AddRef(This)
  8188. #define IAMVideoProcAmp_Release(This) \
  8189. (This)->lpVtbl -> Release(This)
  8190. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) \
  8191. (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  8192. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags) \
  8193. (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  8194. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags) \
  8195. (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  8196. #endif /* COBJMACROS */
  8197. #endif /* C style interface */
  8198. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(
  8199. IAMVideoProcAmp * This,
  8200. /* [in] */ long Property,
  8201. /* [out] */ long *pMin,
  8202. /* [out] */ long *pMax,
  8203. /* [out] */ long *pSteppingDelta,
  8204. /* [out] */ long *pDefault,
  8205. /* [out] */ long *pCapsFlags);
  8206. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  8207. IRpcStubBuffer *This,
  8208. IRpcChannelBuffer *_pRpcChannelBuffer,
  8209. PRPC_MESSAGE _pRpcMessage,
  8210. DWORD *_pdwStubPhase);
  8211. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(
  8212. IAMVideoProcAmp * This,
  8213. /* [in] */ long Property,
  8214. /* [in] */ long lValue,
  8215. /* [in] */ long Flags);
  8216. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  8217. IRpcStubBuffer *This,
  8218. IRpcChannelBuffer *_pRpcChannelBuffer,
  8219. PRPC_MESSAGE _pRpcMessage,
  8220. DWORD *_pdwStubPhase);
  8221. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(
  8222. IAMVideoProcAmp * This,
  8223. /* [in] */ long Property,
  8224. /* [out] */ long *lValue,
  8225. /* [out] */ long *Flags);
  8226. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  8227. IRpcStubBuffer *This,
  8228. IRpcChannelBuffer *_pRpcChannelBuffer,
  8229. PRPC_MESSAGE _pRpcMessage,
  8230. DWORD *_pdwStubPhase);
  8231. #endif /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  8232. /* interface __MIDL_itf_strmif_0171 */
  8233. /* [local] */
  8234. typedef
  8235. enum tagCameraControlProperty
  8236. { CameraControl_Pan = 0,
  8237. CameraControl_Tilt = CameraControl_Pan + 1,
  8238. CameraControl_Roll = CameraControl_Tilt + 1,
  8239. CameraControl_Zoom = CameraControl_Roll + 1,
  8240. CameraControl_Exposure = CameraControl_Zoom + 1,
  8241. CameraControl_Iris = CameraControl_Exposure + 1,
  8242. CameraControl_Focus = CameraControl_Iris + 1
  8243. } CameraControlProperty;
  8244. typedef
  8245. enum tagCameraControlFlags
  8246. { CameraControl_Flags_Auto = 0x1,
  8247. CameraControl_Flags_Manual = 0x2
  8248. } CameraControlFlags;
  8249. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
  8250. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
  8251. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  8252. #define __IAMCameraControl_INTERFACE_DEFINED__
  8253. /* interface IAMCameraControl */
  8254. /* [unique][uuid][object] */
  8255. EXTERN_C const IID IID_IAMCameraControl;
  8256. #if defined(__cplusplus) && !defined(CINTERFACE)
  8257. MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  8258. IAMCameraControl : public IUnknown
  8259. {
  8260. public:
  8261. virtual HRESULT STDMETHODCALLTYPE GetRange(
  8262. /* [in] */ long Property,
  8263. /* [out] */ long *pMin,
  8264. /* [out] */ long *pMax,
  8265. /* [out] */ long *pSteppingDelta,
  8266. /* [out] */ long *pDefault,
  8267. /* [out] */ long *pCapsFlags) = 0;
  8268. virtual HRESULT STDMETHODCALLTYPE Set(
  8269. /* [in] */ long Property,
  8270. /* [in] */ long lValue,
  8271. /* [in] */ long Flags) = 0;
  8272. virtual HRESULT STDMETHODCALLTYPE Get(
  8273. /* [in] */ long Property,
  8274. /* [out] */ long *lValue,
  8275. /* [out] */ long *Flags) = 0;
  8276. };
  8277. #else /* C style interface */
  8278. typedef struct IAMCameraControlVtbl
  8279. {
  8280. BEGIN_INTERFACE
  8281. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8282. IAMCameraControl * This,
  8283. /* [in] */ REFIID riid,
  8284. /* [iid_is][out] */ void **ppvObject);
  8285. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8286. IAMCameraControl * This);
  8287. ULONG ( STDMETHODCALLTYPE *Release )(
  8288. IAMCameraControl * This);
  8289. HRESULT ( STDMETHODCALLTYPE *GetRange )(
  8290. IAMCameraControl * This,
  8291. /* [in] */ long Property,
  8292. /* [out] */ long *pMin,
  8293. /* [out] */ long *pMax,
  8294. /* [out] */ long *pSteppingDelta,
  8295. /* [out] */ long *pDefault,
  8296. /* [out] */ long *pCapsFlags);
  8297. HRESULT ( STDMETHODCALLTYPE *Set )(
  8298. IAMCameraControl * This,
  8299. /* [in] */ long Property,
  8300. /* [in] */ long lValue,
  8301. /* [in] */ long Flags);
  8302. HRESULT ( STDMETHODCALLTYPE *Get )(
  8303. IAMCameraControl * This,
  8304. /* [in] */ long Property,
  8305. /* [out] */ long *lValue,
  8306. /* [out] */ long *Flags);
  8307. END_INTERFACE
  8308. } IAMCameraControlVtbl;
  8309. interface IAMCameraControl
  8310. {
  8311. CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  8312. };
  8313. #ifdef COBJMACROS
  8314. #define IAMCameraControl_QueryInterface(This,riid,ppvObject) \
  8315. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8316. #define IAMCameraControl_AddRef(This) \
  8317. (This)->lpVtbl -> AddRef(This)
  8318. #define IAMCameraControl_Release(This) \
  8319. (This)->lpVtbl -> Release(This)
  8320. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags) \
  8321. (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  8322. #define IAMCameraControl_Set(This,Property,lValue,Flags) \
  8323. (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  8324. #define IAMCameraControl_Get(This,Property,lValue,Flags) \
  8325. (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  8326. #endif /* COBJMACROS */
  8327. #endif /* C style interface */
  8328. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy(
  8329. IAMCameraControl * This,
  8330. /* [in] */ long Property,
  8331. /* [out] */ long *pMin,
  8332. /* [out] */ long *pMax,
  8333. /* [out] */ long *pSteppingDelta,
  8334. /* [out] */ long *pDefault,
  8335. /* [out] */ long *pCapsFlags);
  8336. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  8337. IRpcStubBuffer *This,
  8338. IRpcChannelBuffer *_pRpcChannelBuffer,
  8339. PRPC_MESSAGE _pRpcMessage,
  8340. DWORD *_pdwStubPhase);
  8341. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy(
  8342. IAMCameraControl * This,
  8343. /* [in] */ long Property,
  8344. /* [in] */ long lValue,
  8345. /* [in] */ long Flags);
  8346. void __RPC_STUB IAMCameraControl_Set_Stub(
  8347. IRpcStubBuffer *This,
  8348. IRpcChannelBuffer *_pRpcChannelBuffer,
  8349. PRPC_MESSAGE _pRpcMessage,
  8350. DWORD *_pdwStubPhase);
  8351. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy(
  8352. IAMCameraControl * This,
  8353. /* [in] */ long Property,
  8354. /* [out] */ long *lValue,
  8355. /* [out] */ long *Flags);
  8356. void __RPC_STUB IAMCameraControl_Get_Stub(
  8357. IRpcStubBuffer *This,
  8358. IRpcChannelBuffer *_pRpcChannelBuffer,
  8359. PRPC_MESSAGE _pRpcMessage,
  8360. DWORD *_pdwStubPhase);
  8361. #endif /* __IAMCameraControl_INTERFACE_DEFINED__ */
  8362. /* interface __MIDL_itf_strmif_0172 */
  8363. /* [local] */
  8364. typedef
  8365. enum tagVideoControlFlags
  8366. { VideoControlFlag_FlipHorizontal = 0x1,
  8367. VideoControlFlag_FlipVertical = 0x2,
  8368. VideoControlFlag_ExternalTriggerEnable = 0x4,
  8369. VideoControlFlag_Trigger = 0x8
  8370. } VideoControlFlags;
  8371. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_c_ifspec;
  8372. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_s_ifspec;
  8373. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  8374. #define __IAMVideoControl_INTERFACE_DEFINED__
  8375. /* interface IAMVideoControl */
  8376. /* [unique][uuid][object] */
  8377. EXTERN_C const IID IID_IAMVideoControl;
  8378. #if defined(__cplusplus) && !defined(CINTERFACE)
  8379. MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  8380. IAMVideoControl : public IUnknown
  8381. {
  8382. public:
  8383. virtual HRESULT STDMETHODCALLTYPE GetCaps(
  8384. /* [in] */ IPin *pPin,
  8385. /* [out] */ long *pCapsFlags) = 0;
  8386. virtual HRESULT STDMETHODCALLTYPE SetMode(
  8387. /* [in] */ IPin *pPin,
  8388. /* [in] */ long Mode) = 0;
  8389. virtual HRESULT STDMETHODCALLTYPE GetMode(
  8390. /* [in] */ IPin *pPin,
  8391. /* [out] */ long *Mode) = 0;
  8392. virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(
  8393. /* [in] */ IPin *pPin,
  8394. /* [out] */ LONGLONG *ActualFrameRate) = 0;
  8395. virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(
  8396. /* [in] */ IPin *pPin,
  8397. /* [in] */ long iIndex,
  8398. /* [in] */ SIZE Dimensions,
  8399. /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  8400. virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(
  8401. /* [in] */ IPin *pPin,
  8402. /* [in] */ long iIndex,
  8403. /* [in] */ SIZE Dimensions,
  8404. /* [out] */ long *ListSize,
  8405. /* [out] */ LONGLONG **FrameRates) = 0;
  8406. };
  8407. #else /* C style interface */
  8408. typedef struct IAMVideoControlVtbl
  8409. {
  8410. BEGIN_INTERFACE
  8411. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8412. IAMVideoControl * This,
  8413. /* [in] */ REFIID riid,
  8414. /* [iid_is][out] */ void **ppvObject);
  8415. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8416. IAMVideoControl * This);
  8417. ULONG ( STDMETHODCALLTYPE *Release )(
  8418. IAMVideoControl * This);
  8419. HRESULT ( STDMETHODCALLTYPE *GetCaps )(
  8420. IAMVideoControl * This,
  8421. /* [in] */ IPin *pPin,
  8422. /* [out] */ long *pCapsFlags);
  8423. HRESULT ( STDMETHODCALLTYPE *SetMode )(
  8424. IAMVideoControl * This,
  8425. /* [in] */ IPin *pPin,
  8426. /* [in] */ long Mode);
  8427. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  8428. IAMVideoControl * This,
  8429. /* [in] */ IPin *pPin,
  8430. /* [out] */ long *Mode);
  8431. HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )(
  8432. IAMVideoControl * This,
  8433. /* [in] */ IPin *pPin,
  8434. /* [out] */ LONGLONG *ActualFrameRate);
  8435. HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )(
  8436. IAMVideoControl * This,
  8437. /* [in] */ IPin *pPin,
  8438. /* [in] */ long iIndex,
  8439. /* [in] */ SIZE Dimensions,
  8440. /* [out] */ LONGLONG *MaxAvailableFrameRate);
  8441. HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )(
  8442. IAMVideoControl * This,
  8443. /* [in] */ IPin *pPin,
  8444. /* [in] */ long iIndex,
  8445. /* [in] */ SIZE Dimensions,
  8446. /* [out] */ long *ListSize,
  8447. /* [out] */ LONGLONG **FrameRates);
  8448. END_INTERFACE
  8449. } IAMVideoControlVtbl;
  8450. interface IAMVideoControl
  8451. {
  8452. CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  8453. };
  8454. #ifdef COBJMACROS
  8455. #define IAMVideoControl_QueryInterface(This,riid,ppvObject) \
  8456. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8457. #define IAMVideoControl_AddRef(This) \
  8458. (This)->lpVtbl -> AddRef(This)
  8459. #define IAMVideoControl_Release(This) \
  8460. (This)->lpVtbl -> Release(This)
  8461. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags) \
  8462. (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  8463. #define IAMVideoControl_SetMode(This,pPin,Mode) \
  8464. (This)->lpVtbl -> SetMode(This,pPin,Mode)
  8465. #define IAMVideoControl_GetMode(This,pPin,Mode) \
  8466. (This)->lpVtbl -> GetMode(This,pPin,Mode)
  8467. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate) \
  8468. (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  8469. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate) \
  8470. (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  8471. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates) \
  8472. (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  8473. #endif /* COBJMACROS */
  8474. #endif /* C style interface */
  8475. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy(
  8476. IAMVideoControl * This,
  8477. /* [in] */ IPin *pPin,
  8478. /* [out] */ long *pCapsFlags);
  8479. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  8480. IRpcStubBuffer *This,
  8481. IRpcChannelBuffer *_pRpcChannelBuffer,
  8482. PRPC_MESSAGE _pRpcMessage,
  8483. DWORD *_pdwStubPhase);
  8484. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy(
  8485. IAMVideoControl * This,
  8486. /* [in] */ IPin *pPin,
  8487. /* [in] */ long Mode);
  8488. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  8489. IRpcStubBuffer *This,
  8490. IRpcChannelBuffer *_pRpcChannelBuffer,
  8491. PRPC_MESSAGE _pRpcMessage,
  8492. DWORD *_pdwStubPhase);
  8493. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy(
  8494. IAMVideoControl * This,
  8495. /* [in] */ IPin *pPin,
  8496. /* [out] */ long *Mode);
  8497. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  8498. IRpcStubBuffer *This,
  8499. IRpcChannelBuffer *_pRpcChannelBuffer,
  8500. PRPC_MESSAGE _pRpcMessage,
  8501. DWORD *_pdwStubPhase);
  8502. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy(
  8503. IAMVideoControl * This,
  8504. /* [in] */ IPin *pPin,
  8505. /* [out] */ LONGLONG *ActualFrameRate);
  8506. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  8507. IRpcStubBuffer *This,
  8508. IRpcChannelBuffer *_pRpcChannelBuffer,
  8509. PRPC_MESSAGE _pRpcMessage,
  8510. DWORD *_pdwStubPhase);
  8511. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy(
  8512. IAMVideoControl * This,
  8513. /* [in] */ IPin *pPin,
  8514. /* [in] */ long iIndex,
  8515. /* [in] */ SIZE Dimensions,
  8516. /* [out] */ LONGLONG *MaxAvailableFrameRate);
  8517. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  8518. IRpcStubBuffer *This,
  8519. IRpcChannelBuffer *_pRpcChannelBuffer,
  8520. PRPC_MESSAGE _pRpcMessage,
  8521. DWORD *_pdwStubPhase);
  8522. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy(
  8523. IAMVideoControl * This,
  8524. /* [in] */ IPin *pPin,
  8525. /* [in] */ long iIndex,
  8526. /* [in] */ SIZE Dimensions,
  8527. /* [out] */ long *ListSize,
  8528. /* [out] */ LONGLONG **FrameRates);
  8529. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  8530. IRpcStubBuffer *This,
  8531. IRpcChannelBuffer *_pRpcChannelBuffer,
  8532. PRPC_MESSAGE _pRpcMessage,
  8533. DWORD *_pdwStubPhase);
  8534. #endif /* __IAMVideoControl_INTERFACE_DEFINED__ */
  8535. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  8536. #define __IAMCrossbar_INTERFACE_DEFINED__
  8537. /* interface IAMCrossbar */
  8538. /* [unique][uuid][object] */
  8539. EXTERN_C const IID IID_IAMCrossbar;
  8540. #if defined(__cplusplus) && !defined(CINTERFACE)
  8541. MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  8542. IAMCrossbar : public IUnknown
  8543. {
  8544. public:
  8545. virtual HRESULT STDMETHODCALLTYPE get_PinCounts(
  8546. /* [out] */ long *OutputPinCount,
  8547. /* [out] */ long *InputPinCount) = 0;
  8548. virtual HRESULT STDMETHODCALLTYPE CanRoute(
  8549. /* [in] */ long OutputPinIndex,
  8550. /* [in] */ long InputPinIndex) = 0;
  8551. virtual HRESULT STDMETHODCALLTYPE Route(
  8552. /* [in] */ long OutputPinIndex,
  8553. /* [in] */ long InputPinIndex) = 0;
  8554. virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo(
  8555. /* [in] */ long OutputPinIndex,
  8556. /* [out] */ long *InputPinIndex) = 0;
  8557. virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(
  8558. /* [in] */ BOOL IsInputPin,
  8559. /* [in] */ long PinIndex,
  8560. /* [out] */ long *PinIndexRelated,
  8561. /* [out] */ long *PhysicalType) = 0;
  8562. };
  8563. #else /* C style interface */
  8564. typedef struct IAMCrossbarVtbl
  8565. {
  8566. BEGIN_INTERFACE
  8567. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8568. IAMCrossbar * This,
  8569. /* [in] */ REFIID riid,
  8570. /* [iid_is][out] */ void **ppvObject);
  8571. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8572. IAMCrossbar * This);
  8573. ULONG ( STDMETHODCALLTYPE *Release )(
  8574. IAMCrossbar * This);
  8575. HRESULT ( STDMETHODCALLTYPE *get_PinCounts )(
  8576. IAMCrossbar * This,
  8577. /* [out] */ long *OutputPinCount,
  8578. /* [out] */ long *InputPinCount);
  8579. HRESULT ( STDMETHODCALLTYPE *CanRoute )(
  8580. IAMCrossbar * This,
  8581. /* [in] */ long OutputPinIndex,
  8582. /* [in] */ long InputPinIndex);
  8583. HRESULT ( STDMETHODCALLTYPE *Route )(
  8584. IAMCrossbar * This,
  8585. /* [in] */ long OutputPinIndex,
  8586. /* [in] */ long InputPinIndex);
  8587. HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )(
  8588. IAMCrossbar * This,
  8589. /* [in] */ long OutputPinIndex,
  8590. /* [out] */ long *InputPinIndex);
  8591. HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )(
  8592. IAMCrossbar * This,
  8593. /* [in] */ BOOL IsInputPin,
  8594. /* [in] */ long PinIndex,
  8595. /* [out] */ long *PinIndexRelated,
  8596. /* [out] */ long *PhysicalType);
  8597. END_INTERFACE
  8598. } IAMCrossbarVtbl;
  8599. interface IAMCrossbar
  8600. {
  8601. CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  8602. };
  8603. #ifdef COBJMACROS
  8604. #define IAMCrossbar_QueryInterface(This,riid,ppvObject) \
  8605. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8606. #define IAMCrossbar_AddRef(This) \
  8607. (This)->lpVtbl -> AddRef(This)
  8608. #define IAMCrossbar_Release(This) \
  8609. (This)->lpVtbl -> Release(This)
  8610. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount) \
  8611. (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  8612. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex) \
  8613. (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  8614. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex) \
  8615. (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  8616. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex) \
  8617. (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  8618. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType) \
  8619. (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  8620. #endif /* COBJMACROS */
  8621. #endif /* C style interface */
  8622. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy(
  8623. IAMCrossbar * This,
  8624. /* [out] */ long *OutputPinCount,
  8625. /* [out] */ long *InputPinCount);
  8626. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  8627. IRpcStubBuffer *This,
  8628. IRpcChannelBuffer *_pRpcChannelBuffer,
  8629. PRPC_MESSAGE _pRpcMessage,
  8630. DWORD *_pdwStubPhase);
  8631. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy(
  8632. IAMCrossbar * This,
  8633. /* [in] */ long OutputPinIndex,
  8634. /* [in] */ long InputPinIndex);
  8635. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  8636. IRpcStubBuffer *This,
  8637. IRpcChannelBuffer *_pRpcChannelBuffer,
  8638. PRPC_MESSAGE _pRpcMessage,
  8639. DWORD *_pdwStubPhase);
  8640. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy(
  8641. IAMCrossbar * This,
  8642. /* [in] */ long OutputPinIndex,
  8643. /* [in] */ long InputPinIndex);
  8644. void __RPC_STUB IAMCrossbar_Route_Stub(
  8645. IRpcStubBuffer *This,
  8646. IRpcChannelBuffer *_pRpcChannelBuffer,
  8647. PRPC_MESSAGE _pRpcMessage,
  8648. DWORD *_pdwStubPhase);
  8649. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy(
  8650. IAMCrossbar * This,
  8651. /* [in] */ long OutputPinIndex,
  8652. /* [out] */ long *InputPinIndex);
  8653. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  8654. IRpcStubBuffer *This,
  8655. IRpcChannelBuffer *_pRpcChannelBuffer,
  8656. PRPC_MESSAGE _pRpcMessage,
  8657. DWORD *_pdwStubPhase);
  8658. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy(
  8659. IAMCrossbar * This,
  8660. /* [in] */ BOOL IsInputPin,
  8661. /* [in] */ long PinIndex,
  8662. /* [out] */ long *PinIndexRelated,
  8663. /* [out] */ long *PhysicalType);
  8664. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  8665. IRpcStubBuffer *This,
  8666. IRpcChannelBuffer *_pRpcChannelBuffer,
  8667. PRPC_MESSAGE _pRpcMessage,
  8668. DWORD *_pdwStubPhase);
  8669. #endif /* __IAMCrossbar_INTERFACE_DEFINED__ */
  8670. /* interface __MIDL_itf_strmif_0174 */
  8671. /* [local] */
  8672. typedef
  8673. enum tagAMTunerSubChannel
  8674. { AMTUNER_SUBCHAN_NO_TUNE = -2,
  8675. AMTUNER_SUBCHAN_DEFAULT = -1
  8676. } AMTunerSubChannel;
  8677. typedef
  8678. enum tagAMTunerSignalStrength
  8679. { AMTUNER_HASNOSIGNALSTRENGTH = -1,
  8680. AMTUNER_NOSIGNAL = 0,
  8681. AMTUNER_SIGNALPRESENT = 1
  8682. } AMTunerSignalStrength;
  8683. typedef
  8684. enum tagAMTunerModeType
  8685. { AMTUNER_MODE_DEFAULT = 0,
  8686. AMTUNER_MODE_TV = 0x1,
  8687. AMTUNER_MODE_FM_RADIO = 0x2,
  8688. AMTUNER_MODE_AM_RADIO = 0x4,
  8689. AMTUNER_MODE_DSS = 0x8
  8690. } AMTunerModeType;
  8691. typedef
  8692. enum tagAMTunerEventType
  8693. { AMTUNER_EVENT_CHANGED = 0x1
  8694. } AMTunerEventType;
  8695. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_c_ifspec;
  8696. extern RPC_IF_HANDLE __MIDL_itf_strmif_0174_v0_0_s_ifspec;
  8697. #ifndef __IAMTuner_INTERFACE_DEFINED__
  8698. #define __IAMTuner_INTERFACE_DEFINED__
  8699. /* interface IAMTuner */
  8700. /* [unique][uuid][object] */
  8701. EXTERN_C const IID IID_IAMTuner;
  8702. #if defined(__cplusplus) && !defined(CINTERFACE)
  8703. MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  8704. IAMTuner : public IUnknown
  8705. {
  8706. public:
  8707. virtual HRESULT STDMETHODCALLTYPE put_Channel(
  8708. /* [in] */ long lChannel,
  8709. /* [in] */ long lVideoSubChannel,
  8710. /* [in] */ long lAudioSubChannel) = 0;
  8711. virtual HRESULT STDMETHODCALLTYPE get_Channel(
  8712. /* [out] */ long *plChannel,
  8713. /* [out] */ long *plVideoSubChannel,
  8714. /* [out] */ long *plAudioSubChannel) = 0;
  8715. virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(
  8716. /* [out] */ long *lChannelMin,
  8717. /* [out] */ long *lChannelMax) = 0;
  8718. virtual HRESULT STDMETHODCALLTYPE put_CountryCode(
  8719. /* [in] */ long lCountryCode) = 0;
  8720. virtual HRESULT STDMETHODCALLTYPE get_CountryCode(
  8721. /* [out] */ long *plCountryCode) = 0;
  8722. virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(
  8723. /* [in] */ long lTuningSpace) = 0;
  8724. virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(
  8725. /* [out] */ long *plTuningSpace) = 0;
  8726. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon(
  8727. /* [in] */ HANDLE hCurrentUser) = 0;
  8728. virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  8729. virtual HRESULT STDMETHODCALLTYPE SignalPresent(
  8730. /* [out] */ long *plSignalStrength) = 0;
  8731. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  8732. /* [in] */ AMTunerModeType lMode) = 0;
  8733. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  8734. /* [out] */ AMTunerModeType *plMode) = 0;
  8735. virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(
  8736. /* [out] */ long *plModes) = 0;
  8737. virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
  8738. /* [in] */ IAMTunerNotification *pNotify,
  8739. /* [in] */ long lEvents) = 0;
  8740. virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
  8741. /* [in] */ IAMTunerNotification *pNotify) = 0;
  8742. };
  8743. #else /* C style interface */
  8744. typedef struct IAMTunerVtbl
  8745. {
  8746. BEGIN_INTERFACE
  8747. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8748. IAMTuner * This,
  8749. /* [in] */ REFIID riid,
  8750. /* [iid_is][out] */ void **ppvObject);
  8751. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8752. IAMTuner * This);
  8753. ULONG ( STDMETHODCALLTYPE *Release )(
  8754. IAMTuner * This);
  8755. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  8756. IAMTuner * This,
  8757. /* [in] */ long lChannel,
  8758. /* [in] */ long lVideoSubChannel,
  8759. /* [in] */ long lAudioSubChannel);
  8760. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  8761. IAMTuner * This,
  8762. /* [out] */ long *plChannel,
  8763. /* [out] */ long *plVideoSubChannel,
  8764. /* [out] */ long *plAudioSubChannel);
  8765. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  8766. IAMTuner * This,
  8767. /* [out] */ long *lChannelMin,
  8768. /* [out] */ long *lChannelMax);
  8769. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  8770. IAMTuner * This,
  8771. /* [in] */ long lCountryCode);
  8772. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  8773. IAMTuner * This,
  8774. /* [out] */ long *plCountryCode);
  8775. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  8776. IAMTuner * This,
  8777. /* [in] */ long lTuningSpace);
  8778. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  8779. IAMTuner * This,
  8780. /* [out] */ long *plTuningSpace);
  8781. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  8782. IAMTuner * This,
  8783. /* [in] */ HANDLE hCurrentUser);
  8784. HRESULT ( STDMETHODCALLTYPE *Logout )(
  8785. IAMTuner * This);
  8786. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  8787. IAMTuner * This,
  8788. /* [out] */ long *plSignalStrength);
  8789. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  8790. IAMTuner * This,
  8791. /* [in] */ AMTunerModeType lMode);
  8792. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  8793. IAMTuner * This,
  8794. /* [out] */ AMTunerModeType *plMode);
  8795. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  8796. IAMTuner * This,
  8797. /* [out] */ long *plModes);
  8798. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  8799. IAMTuner * This,
  8800. /* [in] */ IAMTunerNotification *pNotify,
  8801. /* [in] */ long lEvents);
  8802. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  8803. IAMTuner * This,
  8804. /* [in] */ IAMTunerNotification *pNotify);
  8805. END_INTERFACE
  8806. } IAMTunerVtbl;
  8807. interface IAMTuner
  8808. {
  8809. CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  8810. };
  8811. #ifdef COBJMACROS
  8812. #define IAMTuner_QueryInterface(This,riid,ppvObject) \
  8813. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8814. #define IAMTuner_AddRef(This) \
  8815. (This)->lpVtbl -> AddRef(This)
  8816. #define IAMTuner_Release(This) \
  8817. (This)->lpVtbl -> Release(This)
  8818. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  8819. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  8820. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  8821. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  8822. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  8823. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  8824. #define IAMTuner_put_CountryCode(This,lCountryCode) \
  8825. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  8826. #define IAMTuner_get_CountryCode(This,plCountryCode) \
  8827. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  8828. #define IAMTuner_put_TuningSpace(This,lTuningSpace) \
  8829. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  8830. #define IAMTuner_get_TuningSpace(This,plTuningSpace) \
  8831. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  8832. #define IAMTuner_Logon(This,hCurrentUser) \
  8833. (This)->lpVtbl -> Logon(This,hCurrentUser)
  8834. #define IAMTuner_Logout(This) \
  8835. (This)->lpVtbl -> Logout(This)
  8836. #define IAMTuner_SignalPresent(This,plSignalStrength) \
  8837. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  8838. #define IAMTuner_put_Mode(This,lMode) \
  8839. (This)->lpVtbl -> put_Mode(This,lMode)
  8840. #define IAMTuner_get_Mode(This,plMode) \
  8841. (This)->lpVtbl -> get_Mode(This,plMode)
  8842. #define IAMTuner_GetAvailableModes(This,plModes) \
  8843. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  8844. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  8845. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  8846. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify) \
  8847. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  8848. #endif /* COBJMACROS */
  8849. #endif /* C style interface */
  8850. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy(
  8851. IAMTuner * This,
  8852. /* [in] */ long lChannel,
  8853. /* [in] */ long lVideoSubChannel,
  8854. /* [in] */ long lAudioSubChannel);
  8855. void __RPC_STUB IAMTuner_put_Channel_Stub(
  8856. IRpcStubBuffer *This,
  8857. IRpcChannelBuffer *_pRpcChannelBuffer,
  8858. PRPC_MESSAGE _pRpcMessage,
  8859. DWORD *_pdwStubPhase);
  8860. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy(
  8861. IAMTuner * This,
  8862. /* [out] */ long *plChannel,
  8863. /* [out] */ long *plVideoSubChannel,
  8864. /* [out] */ long *plAudioSubChannel);
  8865. void __RPC_STUB IAMTuner_get_Channel_Stub(
  8866. IRpcStubBuffer *This,
  8867. IRpcChannelBuffer *_pRpcChannelBuffer,
  8868. PRPC_MESSAGE _pRpcMessage,
  8869. DWORD *_pdwStubPhase);
  8870. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy(
  8871. IAMTuner * This,
  8872. /* [out] */ long *lChannelMin,
  8873. /* [out] */ long *lChannelMax);
  8874. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  8875. IRpcStubBuffer *This,
  8876. IRpcChannelBuffer *_pRpcChannelBuffer,
  8877. PRPC_MESSAGE _pRpcMessage,
  8878. DWORD *_pdwStubPhase);
  8879. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy(
  8880. IAMTuner * This,
  8881. /* [in] */ long lCountryCode);
  8882. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  8883. IRpcStubBuffer *This,
  8884. IRpcChannelBuffer *_pRpcChannelBuffer,
  8885. PRPC_MESSAGE _pRpcMessage,
  8886. DWORD *_pdwStubPhase);
  8887. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy(
  8888. IAMTuner * This,
  8889. /* [out] */ long *plCountryCode);
  8890. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  8891. IRpcStubBuffer *This,
  8892. IRpcChannelBuffer *_pRpcChannelBuffer,
  8893. PRPC_MESSAGE _pRpcMessage,
  8894. DWORD *_pdwStubPhase);
  8895. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy(
  8896. IAMTuner * This,
  8897. /* [in] */ long lTuningSpace);
  8898. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  8899. IRpcStubBuffer *This,
  8900. IRpcChannelBuffer *_pRpcChannelBuffer,
  8901. PRPC_MESSAGE _pRpcMessage,
  8902. DWORD *_pdwStubPhase);
  8903. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy(
  8904. IAMTuner * This,
  8905. /* [out] */ long *plTuningSpace);
  8906. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  8907. IRpcStubBuffer *This,
  8908. IRpcChannelBuffer *_pRpcChannelBuffer,
  8909. PRPC_MESSAGE _pRpcMessage,
  8910. DWORD *_pdwStubPhase);
  8911. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy(
  8912. IAMTuner * This,
  8913. /* [in] */ HANDLE hCurrentUser);
  8914. void __RPC_STUB IAMTuner_Logon_Stub(
  8915. IRpcStubBuffer *This,
  8916. IRpcChannelBuffer *_pRpcChannelBuffer,
  8917. PRPC_MESSAGE _pRpcMessage,
  8918. DWORD *_pdwStubPhase);
  8919. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy(
  8920. IAMTuner * This);
  8921. void __RPC_STUB IAMTuner_Logout_Stub(
  8922. IRpcStubBuffer *This,
  8923. IRpcChannelBuffer *_pRpcChannelBuffer,
  8924. PRPC_MESSAGE _pRpcMessage,
  8925. DWORD *_pdwStubPhase);
  8926. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy(
  8927. IAMTuner * This,
  8928. /* [out] */ long *plSignalStrength);
  8929. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  8930. IRpcStubBuffer *This,
  8931. IRpcChannelBuffer *_pRpcChannelBuffer,
  8932. PRPC_MESSAGE _pRpcMessage,
  8933. DWORD *_pdwStubPhase);
  8934. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy(
  8935. IAMTuner * This,
  8936. /* [in] */ AMTunerModeType lMode);
  8937. void __RPC_STUB IAMTuner_put_Mode_Stub(
  8938. IRpcStubBuffer *This,
  8939. IRpcChannelBuffer *_pRpcChannelBuffer,
  8940. PRPC_MESSAGE _pRpcMessage,
  8941. DWORD *_pdwStubPhase);
  8942. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy(
  8943. IAMTuner * This,
  8944. /* [out] */ AMTunerModeType *plMode);
  8945. void __RPC_STUB IAMTuner_get_Mode_Stub(
  8946. IRpcStubBuffer *This,
  8947. IRpcChannelBuffer *_pRpcChannelBuffer,
  8948. PRPC_MESSAGE _pRpcMessage,
  8949. DWORD *_pdwStubPhase);
  8950. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy(
  8951. IAMTuner * This,
  8952. /* [out] */ long *plModes);
  8953. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  8954. IRpcStubBuffer *This,
  8955. IRpcChannelBuffer *_pRpcChannelBuffer,
  8956. PRPC_MESSAGE _pRpcMessage,
  8957. DWORD *_pdwStubPhase);
  8958. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy(
  8959. IAMTuner * This,
  8960. /* [in] */ IAMTunerNotification *pNotify,
  8961. /* [in] */ long lEvents);
  8962. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  8963. IRpcStubBuffer *This,
  8964. IRpcChannelBuffer *_pRpcChannelBuffer,
  8965. PRPC_MESSAGE _pRpcMessage,
  8966. DWORD *_pdwStubPhase);
  8967. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy(
  8968. IAMTuner * This,
  8969. /* [in] */ IAMTunerNotification *pNotify);
  8970. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  8971. IRpcStubBuffer *This,
  8972. IRpcChannelBuffer *_pRpcChannelBuffer,
  8973. PRPC_MESSAGE _pRpcMessage,
  8974. DWORD *_pdwStubPhase);
  8975. #endif /* __IAMTuner_INTERFACE_DEFINED__ */
  8976. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  8977. #define __IAMTunerNotification_INTERFACE_DEFINED__
  8978. /* interface IAMTunerNotification */
  8979. /* [unique][uuid][object] */
  8980. EXTERN_C const IID IID_IAMTunerNotification;
  8981. #if defined(__cplusplus) && !defined(CINTERFACE)
  8982. MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  8983. IAMTunerNotification : public IUnknown
  8984. {
  8985. public:
  8986. virtual HRESULT STDMETHODCALLTYPE OnEvent(
  8987. /* [in] */ AMTunerEventType Event) = 0;
  8988. };
  8989. #else /* C style interface */
  8990. typedef struct IAMTunerNotificationVtbl
  8991. {
  8992. BEGIN_INTERFACE
  8993. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8994. IAMTunerNotification * This,
  8995. /* [in] */ REFIID riid,
  8996. /* [iid_is][out] */ void **ppvObject);
  8997. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8998. IAMTunerNotification * This);
  8999. ULONG ( STDMETHODCALLTYPE *Release )(
  9000. IAMTunerNotification * This);
  9001. HRESULT ( STDMETHODCALLTYPE *OnEvent )(
  9002. IAMTunerNotification * This,
  9003. /* [in] */ AMTunerEventType Event);
  9004. END_INTERFACE
  9005. } IAMTunerNotificationVtbl;
  9006. interface IAMTunerNotification
  9007. {
  9008. CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  9009. };
  9010. #ifdef COBJMACROS
  9011. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject) \
  9012. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9013. #define IAMTunerNotification_AddRef(This) \
  9014. (This)->lpVtbl -> AddRef(This)
  9015. #define IAMTunerNotification_Release(This) \
  9016. (This)->lpVtbl -> Release(This)
  9017. #define IAMTunerNotification_OnEvent(This,Event) \
  9018. (This)->lpVtbl -> OnEvent(This,Event)
  9019. #endif /* COBJMACROS */
  9020. #endif /* C style interface */
  9021. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy(
  9022. IAMTunerNotification * This,
  9023. /* [in] */ AMTunerEventType Event);
  9024. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  9025. IRpcStubBuffer *This,
  9026. IRpcChannelBuffer *_pRpcChannelBuffer,
  9027. PRPC_MESSAGE _pRpcMessage,
  9028. DWORD *_pdwStubPhase);
  9029. #endif /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  9030. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  9031. #define __IAMTVTuner_INTERFACE_DEFINED__
  9032. /* interface IAMTVTuner */
  9033. /* [unique][uuid][object] */
  9034. EXTERN_C const IID IID_IAMTVTuner;
  9035. #if defined(__cplusplus) && !defined(CINTERFACE)
  9036. MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  9037. IAMTVTuner : public IAMTuner
  9038. {
  9039. public:
  9040. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  9041. /* [out] */ long *lAnalogVideoStandard) = 0;
  9042. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  9043. /* [out] */ long *plAnalogVideoStandard) = 0;
  9044. virtual HRESULT STDMETHODCALLTYPE AutoTune(
  9045. /* [in] */ long lChannel,
  9046. /* [out] */ long *plFoundSignal) = 0;
  9047. virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  9048. virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(
  9049. /* [out] */ long *plNumInputConnections) = 0;
  9050. virtual HRESULT STDMETHODCALLTYPE put_InputType(
  9051. /* [in] */ long lIndex,
  9052. /* [in] */ TunerInputType InputType) = 0;
  9053. virtual HRESULT STDMETHODCALLTYPE get_InputType(
  9054. /* [in] */ long lIndex,
  9055. /* [out] */ TunerInputType *pInputType) = 0;
  9056. virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(
  9057. /* [in] */ long lIndex) = 0;
  9058. virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(
  9059. /* [out] */ long *plIndex) = 0;
  9060. virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(
  9061. /* [out] */ long *lFreq) = 0;
  9062. virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(
  9063. /* [out] */ long *lFreq) = 0;
  9064. };
  9065. #else /* C style interface */
  9066. typedef struct IAMTVTunerVtbl
  9067. {
  9068. BEGIN_INTERFACE
  9069. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9070. IAMTVTuner * This,
  9071. /* [in] */ REFIID riid,
  9072. /* [iid_is][out] */ void **ppvObject);
  9073. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9074. IAMTVTuner * This);
  9075. ULONG ( STDMETHODCALLTYPE *Release )(
  9076. IAMTVTuner * This);
  9077. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  9078. IAMTVTuner * This,
  9079. /* [in] */ long lChannel,
  9080. /* [in] */ long lVideoSubChannel,
  9081. /* [in] */ long lAudioSubChannel);
  9082. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  9083. IAMTVTuner * This,
  9084. /* [out] */ long *plChannel,
  9085. /* [out] */ long *plVideoSubChannel,
  9086. /* [out] */ long *plAudioSubChannel);
  9087. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  9088. IAMTVTuner * This,
  9089. /* [out] */ long *lChannelMin,
  9090. /* [out] */ long *lChannelMax);
  9091. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  9092. IAMTVTuner * This,
  9093. /* [in] */ long lCountryCode);
  9094. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  9095. IAMTVTuner * This,
  9096. /* [out] */ long *plCountryCode);
  9097. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  9098. IAMTVTuner * This,
  9099. /* [in] */ long lTuningSpace);
  9100. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  9101. IAMTVTuner * This,
  9102. /* [out] */ long *plTuningSpace);
  9103. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  9104. IAMTVTuner * This,
  9105. /* [in] */ HANDLE hCurrentUser);
  9106. HRESULT ( STDMETHODCALLTYPE *Logout )(
  9107. IAMTVTuner * This);
  9108. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  9109. IAMTVTuner * This,
  9110. /* [out] */ long *plSignalStrength);
  9111. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  9112. IAMTVTuner * This,
  9113. /* [in] */ AMTunerModeType lMode);
  9114. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  9115. IAMTVTuner * This,
  9116. /* [out] */ AMTunerModeType *plMode);
  9117. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  9118. IAMTVTuner * This,
  9119. /* [out] */ long *plModes);
  9120. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9121. IAMTVTuner * This,
  9122. /* [in] */ IAMTunerNotification *pNotify,
  9123. /* [in] */ long lEvents);
  9124. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9125. IAMTVTuner * This,
  9126. /* [in] */ IAMTunerNotification *pNotify);
  9127. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  9128. IAMTVTuner * This,
  9129. /* [out] */ long *lAnalogVideoStandard);
  9130. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  9131. IAMTVTuner * This,
  9132. /* [out] */ long *plAnalogVideoStandard);
  9133. HRESULT ( STDMETHODCALLTYPE *AutoTune )(
  9134. IAMTVTuner * This,
  9135. /* [in] */ long lChannel,
  9136. /* [out] */ long *plFoundSignal);
  9137. HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )(
  9138. IAMTVTuner * This);
  9139. HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )(
  9140. IAMTVTuner * This,
  9141. /* [out] */ long *plNumInputConnections);
  9142. HRESULT ( STDMETHODCALLTYPE *put_InputType )(
  9143. IAMTVTuner * This,
  9144. /* [in] */ long lIndex,
  9145. /* [in] */ TunerInputType InputType);
  9146. HRESULT ( STDMETHODCALLTYPE *get_InputType )(
  9147. IAMTVTuner * This,
  9148. /* [in] */ long lIndex,
  9149. /* [out] */ TunerInputType *pInputType);
  9150. HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )(
  9151. IAMTVTuner * This,
  9152. /* [in] */ long lIndex);
  9153. HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )(
  9154. IAMTVTuner * This,
  9155. /* [out] */ long *plIndex);
  9156. HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )(
  9157. IAMTVTuner * This,
  9158. /* [out] */ long *lFreq);
  9159. HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )(
  9160. IAMTVTuner * This,
  9161. /* [out] */ long *lFreq);
  9162. END_INTERFACE
  9163. } IAMTVTunerVtbl;
  9164. interface IAMTVTuner
  9165. {
  9166. CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  9167. };
  9168. #ifdef COBJMACROS
  9169. #define IAMTVTuner_QueryInterface(This,riid,ppvObject) \
  9170. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9171. #define IAMTVTuner_AddRef(This) \
  9172. (This)->lpVtbl -> AddRef(This)
  9173. #define IAMTVTuner_Release(This) \
  9174. (This)->lpVtbl -> Release(This)
  9175. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  9176. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  9177. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  9178. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  9179. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  9180. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  9181. #define IAMTVTuner_put_CountryCode(This,lCountryCode) \
  9182. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  9183. #define IAMTVTuner_get_CountryCode(This,plCountryCode) \
  9184. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  9185. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace) \
  9186. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  9187. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace) \
  9188. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  9189. #define IAMTVTuner_Logon(This,hCurrentUser) \
  9190. (This)->lpVtbl -> Logon(This,hCurrentUser)
  9191. #define IAMTVTuner_Logout(This) \
  9192. (This)->lpVtbl -> Logout(This)
  9193. #define IAMTVTuner_SignalPresent(This,plSignalStrength) \
  9194. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  9195. #define IAMTVTuner_put_Mode(This,lMode) \
  9196. (This)->lpVtbl -> put_Mode(This,lMode)
  9197. #define IAMTVTuner_get_Mode(This,plMode) \
  9198. (This)->lpVtbl -> get_Mode(This,plMode)
  9199. #define IAMTVTuner_GetAvailableModes(This,plModes) \
  9200. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  9201. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9202. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9203. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify) \
  9204. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9205. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  9206. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  9207. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard) \
  9208. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  9209. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal) \
  9210. (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  9211. #define IAMTVTuner_StoreAutoTune(This) \
  9212. (This)->lpVtbl -> StoreAutoTune(This)
  9213. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections) \
  9214. (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  9215. #define IAMTVTuner_put_InputType(This,lIndex,InputType) \
  9216. (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  9217. #define IAMTVTuner_get_InputType(This,lIndex,pInputType) \
  9218. (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  9219. #define IAMTVTuner_put_ConnectInput(This,lIndex) \
  9220. (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  9221. #define IAMTVTuner_get_ConnectInput(This,plIndex) \
  9222. (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  9223. #define IAMTVTuner_get_VideoFrequency(This,lFreq) \
  9224. (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  9225. #define IAMTVTuner_get_AudioFrequency(This,lFreq) \
  9226. (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  9227. #endif /* COBJMACROS */
  9228. #endif /* C style interface */
  9229. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy(
  9230. IAMTVTuner * This,
  9231. /* [out] */ long *lAnalogVideoStandard);
  9232. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  9233. IRpcStubBuffer *This,
  9234. IRpcChannelBuffer *_pRpcChannelBuffer,
  9235. PRPC_MESSAGE _pRpcMessage,
  9236. DWORD *_pdwStubPhase);
  9237. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy(
  9238. IAMTVTuner * This,
  9239. /* [out] */ long *plAnalogVideoStandard);
  9240. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  9241. IRpcStubBuffer *This,
  9242. IRpcChannelBuffer *_pRpcChannelBuffer,
  9243. PRPC_MESSAGE _pRpcMessage,
  9244. DWORD *_pdwStubPhase);
  9245. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy(
  9246. IAMTVTuner * This,
  9247. /* [in] */ long lChannel,
  9248. /* [out] */ long *plFoundSignal);
  9249. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  9250. IRpcStubBuffer *This,
  9251. IRpcChannelBuffer *_pRpcChannelBuffer,
  9252. PRPC_MESSAGE _pRpcMessage,
  9253. DWORD *_pdwStubPhase);
  9254. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy(
  9255. IAMTVTuner * This);
  9256. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  9257. IRpcStubBuffer *This,
  9258. IRpcChannelBuffer *_pRpcChannelBuffer,
  9259. PRPC_MESSAGE _pRpcMessage,
  9260. DWORD *_pdwStubPhase);
  9261. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy(
  9262. IAMTVTuner * This,
  9263. /* [out] */ long *plNumInputConnections);
  9264. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  9265. IRpcStubBuffer *This,
  9266. IRpcChannelBuffer *_pRpcChannelBuffer,
  9267. PRPC_MESSAGE _pRpcMessage,
  9268. DWORD *_pdwStubPhase);
  9269. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy(
  9270. IAMTVTuner * This,
  9271. /* [in] */ long lIndex,
  9272. /* [in] */ TunerInputType InputType);
  9273. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  9274. IRpcStubBuffer *This,
  9275. IRpcChannelBuffer *_pRpcChannelBuffer,
  9276. PRPC_MESSAGE _pRpcMessage,
  9277. DWORD *_pdwStubPhase);
  9278. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy(
  9279. IAMTVTuner * This,
  9280. /* [in] */ long lIndex,
  9281. /* [out] */ TunerInputType *pInputType);
  9282. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  9283. IRpcStubBuffer *This,
  9284. IRpcChannelBuffer *_pRpcChannelBuffer,
  9285. PRPC_MESSAGE _pRpcMessage,
  9286. DWORD *_pdwStubPhase);
  9287. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy(
  9288. IAMTVTuner * This,
  9289. /* [in] */ long lIndex);
  9290. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  9291. IRpcStubBuffer *This,
  9292. IRpcChannelBuffer *_pRpcChannelBuffer,
  9293. PRPC_MESSAGE _pRpcMessage,
  9294. DWORD *_pdwStubPhase);
  9295. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy(
  9296. IAMTVTuner * This,
  9297. /* [out] */ long *plIndex);
  9298. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  9299. IRpcStubBuffer *This,
  9300. IRpcChannelBuffer *_pRpcChannelBuffer,
  9301. PRPC_MESSAGE _pRpcMessage,
  9302. DWORD *_pdwStubPhase);
  9303. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy(
  9304. IAMTVTuner * This,
  9305. /* [out] */ long *lFreq);
  9306. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  9307. IRpcStubBuffer *This,
  9308. IRpcChannelBuffer *_pRpcChannelBuffer,
  9309. PRPC_MESSAGE _pRpcMessage,
  9310. DWORD *_pdwStubPhase);
  9311. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy(
  9312. IAMTVTuner * This,
  9313. /* [out] */ long *lFreq);
  9314. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  9315. IRpcStubBuffer *This,
  9316. IRpcChannelBuffer *_pRpcChannelBuffer,
  9317. PRPC_MESSAGE _pRpcMessage,
  9318. DWORD *_pdwStubPhase);
  9319. #endif /* __IAMTVTuner_INTERFACE_DEFINED__ */
  9320. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  9321. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  9322. /* interface IBPCSatelliteTuner */
  9323. /* [unique][uuid][local][object] */
  9324. EXTERN_C const IID IID_IBPCSatelliteTuner;
  9325. #if defined(__cplusplus) && !defined(CINTERFACE)
  9326. MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  9327. IBPCSatelliteTuner : public IAMTuner
  9328. {
  9329. public:
  9330. virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes(
  9331. /* [out] */ long *plDefaultVideoType,
  9332. /* [out] */ long *plDefaultAudioType) = 0;
  9333. virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes(
  9334. /* [in] */ long lDefaultVideoType,
  9335. /* [in] */ long lDefaultAudioType) = 0;
  9336. virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  9337. };
  9338. #else /* C style interface */
  9339. typedef struct IBPCSatelliteTunerVtbl
  9340. {
  9341. BEGIN_INTERFACE
  9342. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9343. IBPCSatelliteTuner * This,
  9344. /* [in] */ REFIID riid,
  9345. /* [iid_is][out] */ void **ppvObject);
  9346. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9347. IBPCSatelliteTuner * This);
  9348. ULONG ( STDMETHODCALLTYPE *Release )(
  9349. IBPCSatelliteTuner * This);
  9350. HRESULT ( STDMETHODCALLTYPE *put_Channel )(
  9351. IBPCSatelliteTuner * This,
  9352. /* [in] */ long lChannel,
  9353. /* [in] */ long lVideoSubChannel,
  9354. /* [in] */ long lAudioSubChannel);
  9355. HRESULT ( STDMETHODCALLTYPE *get_Channel )(
  9356. IBPCSatelliteTuner * This,
  9357. /* [out] */ long *plChannel,
  9358. /* [out] */ long *plVideoSubChannel,
  9359. /* [out] */ long *plAudioSubChannel);
  9360. HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(
  9361. IBPCSatelliteTuner * This,
  9362. /* [out] */ long *lChannelMin,
  9363. /* [out] */ long *lChannelMax);
  9364. HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(
  9365. IBPCSatelliteTuner * This,
  9366. /* [in] */ long lCountryCode);
  9367. HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(
  9368. IBPCSatelliteTuner * This,
  9369. /* [out] */ long *plCountryCode);
  9370. HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(
  9371. IBPCSatelliteTuner * This,
  9372. /* [in] */ long lTuningSpace);
  9373. HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(
  9374. IBPCSatelliteTuner * This,
  9375. /* [out] */ long *plTuningSpace);
  9376. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(
  9377. IBPCSatelliteTuner * This,
  9378. /* [in] */ HANDLE hCurrentUser);
  9379. HRESULT ( STDMETHODCALLTYPE *Logout )(
  9380. IBPCSatelliteTuner * This);
  9381. HRESULT ( STDMETHODCALLTYPE *SignalPresent )(
  9382. IBPCSatelliteTuner * This,
  9383. /* [out] */ long *plSignalStrength);
  9384. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  9385. IBPCSatelliteTuner * This,
  9386. /* [in] */ AMTunerModeType lMode);
  9387. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  9388. IBPCSatelliteTuner * This,
  9389. /* [out] */ AMTunerModeType *plMode);
  9390. HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(
  9391. IBPCSatelliteTuner * This,
  9392. /* [out] */ long *plModes);
  9393. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9394. IBPCSatelliteTuner * This,
  9395. /* [in] */ IAMTunerNotification *pNotify,
  9396. /* [in] */ long lEvents);
  9397. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9398. IBPCSatelliteTuner * This,
  9399. /* [in] */ IAMTunerNotification *pNotify);
  9400. HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )(
  9401. IBPCSatelliteTuner * This,
  9402. /* [out] */ long *plDefaultVideoType,
  9403. /* [out] */ long *plDefaultAudioType);
  9404. HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )(
  9405. IBPCSatelliteTuner * This,
  9406. /* [in] */ long lDefaultVideoType,
  9407. /* [in] */ long lDefaultAudioType);
  9408. HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )(
  9409. IBPCSatelliteTuner * This);
  9410. END_INTERFACE
  9411. } IBPCSatelliteTunerVtbl;
  9412. interface IBPCSatelliteTuner
  9413. {
  9414. CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  9415. };
  9416. #ifdef COBJMACROS
  9417. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject) \
  9418. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9419. #define IBPCSatelliteTuner_AddRef(This) \
  9420. (This)->lpVtbl -> AddRef(This)
  9421. #define IBPCSatelliteTuner_Release(This) \
  9422. (This)->lpVtbl -> Release(This)
  9423. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel) \
  9424. (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  9425. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel) \
  9426. (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  9427. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax) \
  9428. (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  9429. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode) \
  9430. (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  9431. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode) \
  9432. (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  9433. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace) \
  9434. (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  9435. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace) \
  9436. (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  9437. #define IBPCSatelliteTuner_Logon(This,hCurrentUser) \
  9438. (This)->lpVtbl -> Logon(This,hCurrentUser)
  9439. #define IBPCSatelliteTuner_Logout(This) \
  9440. (This)->lpVtbl -> Logout(This)
  9441. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength) \
  9442. (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  9443. #define IBPCSatelliteTuner_put_Mode(This,lMode) \
  9444. (This)->lpVtbl -> put_Mode(This,lMode)
  9445. #define IBPCSatelliteTuner_get_Mode(This,plMode) \
  9446. (This)->lpVtbl -> get_Mode(This,plMode)
  9447. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes) \
  9448. (This)->lpVtbl -> GetAvailableModes(This,plModes)
  9449. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9450. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9451. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify) \
  9452. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9453. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType) \
  9454. (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  9455. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType) \
  9456. (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  9457. #define IBPCSatelliteTuner_IsTapingPermitted(This) \
  9458. (This)->lpVtbl -> IsTapingPermitted(This)
  9459. #endif /* COBJMACROS */
  9460. #endif /* C style interface */
  9461. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(
  9462. IBPCSatelliteTuner * This,
  9463. /* [out] */ long *plDefaultVideoType,
  9464. /* [out] */ long *plDefaultAudioType);
  9465. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  9466. IRpcStubBuffer *This,
  9467. IRpcChannelBuffer *_pRpcChannelBuffer,
  9468. PRPC_MESSAGE _pRpcMessage,
  9469. DWORD *_pdwStubPhase);
  9470. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(
  9471. IBPCSatelliteTuner * This,
  9472. /* [in] */ long lDefaultVideoType,
  9473. /* [in] */ long lDefaultAudioType);
  9474. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  9475. IRpcStubBuffer *This,
  9476. IRpcChannelBuffer *_pRpcChannelBuffer,
  9477. PRPC_MESSAGE _pRpcMessage,
  9478. DWORD *_pdwStubPhase);
  9479. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy(
  9480. IBPCSatelliteTuner * This);
  9481. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  9482. IRpcStubBuffer *This,
  9483. IRpcChannelBuffer *_pRpcChannelBuffer,
  9484. PRPC_MESSAGE _pRpcMessage,
  9485. DWORD *_pdwStubPhase);
  9486. #endif /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  9487. /* interface __MIDL_itf_strmif_0178 */
  9488. /* [local] */
  9489. typedef
  9490. enum tagTVAudioMode
  9491. { AMTVAUDIO_MODE_MONO = 0x1,
  9492. AMTVAUDIO_MODE_STEREO = 0x2,
  9493. AMTVAUDIO_MODE_LANG_A = 0x10,
  9494. AMTVAUDIO_MODE_LANG_B = 0x20,
  9495. AMTVAUDIO_MODE_LANG_C = 0x40
  9496. } TVAudioMode;
  9497. typedef
  9498. enum tagAMTVAudioEventType
  9499. { AMTVAUDIO_EVENT_CHANGED = 0x1
  9500. } AMTVAudioEventType;
  9501. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_c_ifspec;
  9502. extern RPC_IF_HANDLE __MIDL_itf_strmif_0178_v0_0_s_ifspec;
  9503. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  9504. #define __IAMTVAudio_INTERFACE_DEFINED__
  9505. /* interface IAMTVAudio */
  9506. /* [unique][uuid][local][object] */
  9507. EXTERN_C const IID IID_IAMTVAudio;
  9508. #if defined(__cplusplus) && !defined(CINTERFACE)
  9509. MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  9510. IAMTVAudio : public IUnknown
  9511. {
  9512. public:
  9513. virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes(
  9514. /* [out] */ long *plModes) = 0;
  9515. virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes(
  9516. /* [out] */ long *plModes) = 0;
  9517. virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode(
  9518. /* [out] */ long *plMode) = 0;
  9519. virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode(
  9520. /* [in] */ long lMode) = 0;
  9521. virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(
  9522. /* [in] */ IAMTunerNotification *pNotify,
  9523. /* [in] */ long lEvents) = 0;
  9524. virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(
  9525. IAMTunerNotification *pNotify) = 0;
  9526. };
  9527. #else /* C style interface */
  9528. typedef struct IAMTVAudioVtbl
  9529. {
  9530. BEGIN_INTERFACE
  9531. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9532. IAMTVAudio * This,
  9533. /* [in] */ REFIID riid,
  9534. /* [iid_is][out] */ void **ppvObject);
  9535. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9536. IAMTVAudio * This);
  9537. ULONG ( STDMETHODCALLTYPE *Release )(
  9538. IAMTVAudio * This);
  9539. HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )(
  9540. IAMTVAudio * This,
  9541. /* [out] */ long *plModes);
  9542. HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )(
  9543. IAMTVAudio * This,
  9544. /* [out] */ long *plModes);
  9545. HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )(
  9546. IAMTVAudio * This,
  9547. /* [out] */ long *plMode);
  9548. HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )(
  9549. IAMTVAudio * This,
  9550. /* [in] */ long lMode);
  9551. HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(
  9552. IAMTVAudio * This,
  9553. /* [in] */ IAMTunerNotification *pNotify,
  9554. /* [in] */ long lEvents);
  9555. HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(
  9556. IAMTVAudio * This,
  9557. IAMTunerNotification *pNotify);
  9558. END_INTERFACE
  9559. } IAMTVAudioVtbl;
  9560. interface IAMTVAudio
  9561. {
  9562. CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  9563. };
  9564. #ifdef COBJMACROS
  9565. #define IAMTVAudio_QueryInterface(This,riid,ppvObject) \
  9566. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9567. #define IAMTVAudio_AddRef(This) \
  9568. (This)->lpVtbl -> AddRef(This)
  9569. #define IAMTVAudio_Release(This) \
  9570. (This)->lpVtbl -> Release(This)
  9571. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes) \
  9572. (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  9573. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes) \
  9574. (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  9575. #define IAMTVAudio_get_TVAudioMode(This,plMode) \
  9576. (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  9577. #define IAMTVAudio_put_TVAudioMode(This,lMode) \
  9578. (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  9579. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents) \
  9580. (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  9581. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify) \
  9582. (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  9583. #endif /* COBJMACROS */
  9584. #endif /* C style interface */
  9585. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(
  9586. IAMTVAudio * This,
  9587. /* [out] */ long *plModes);
  9588. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  9589. IRpcStubBuffer *This,
  9590. IRpcChannelBuffer *_pRpcChannelBuffer,
  9591. PRPC_MESSAGE _pRpcMessage,
  9592. DWORD *_pdwStubPhase);
  9593. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy(
  9594. IAMTVAudio * This,
  9595. /* [out] */ long *plModes);
  9596. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  9597. IRpcStubBuffer *This,
  9598. IRpcChannelBuffer *_pRpcChannelBuffer,
  9599. PRPC_MESSAGE _pRpcMessage,
  9600. DWORD *_pdwStubPhase);
  9601. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy(
  9602. IAMTVAudio * This,
  9603. /* [out] */ long *plMode);
  9604. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  9605. IRpcStubBuffer *This,
  9606. IRpcChannelBuffer *_pRpcChannelBuffer,
  9607. PRPC_MESSAGE _pRpcMessage,
  9608. DWORD *_pdwStubPhase);
  9609. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy(
  9610. IAMTVAudio * This,
  9611. /* [in] */ long lMode);
  9612. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  9613. IRpcStubBuffer *This,
  9614. IRpcChannelBuffer *_pRpcChannelBuffer,
  9615. PRPC_MESSAGE _pRpcMessage,
  9616. DWORD *_pdwStubPhase);
  9617. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy(
  9618. IAMTVAudio * This,
  9619. /* [in] */ IAMTunerNotification *pNotify,
  9620. /* [in] */ long lEvents);
  9621. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  9622. IRpcStubBuffer *This,
  9623. IRpcChannelBuffer *_pRpcChannelBuffer,
  9624. PRPC_MESSAGE _pRpcMessage,
  9625. DWORD *_pdwStubPhase);
  9626. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy(
  9627. IAMTVAudio * This,
  9628. IAMTunerNotification *pNotify);
  9629. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  9630. IRpcStubBuffer *This,
  9631. IRpcChannelBuffer *_pRpcChannelBuffer,
  9632. PRPC_MESSAGE _pRpcMessage,
  9633. DWORD *_pdwStubPhase);
  9634. #endif /* __IAMTVAudio_INTERFACE_DEFINED__ */
  9635. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  9636. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  9637. /* interface IAMTVAudioNotification */
  9638. /* [unique][uuid][local][object] */
  9639. EXTERN_C const IID IID_IAMTVAudioNotification;
  9640. #if defined(__cplusplus) && !defined(CINTERFACE)
  9641. MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  9642. IAMTVAudioNotification : public IUnknown
  9643. {
  9644. public:
  9645. virtual HRESULT STDMETHODCALLTYPE OnEvent(
  9646. /* [in] */ AMTVAudioEventType Event) = 0;
  9647. };
  9648. #else /* C style interface */
  9649. typedef struct IAMTVAudioNotificationVtbl
  9650. {
  9651. BEGIN_INTERFACE
  9652. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9653. IAMTVAudioNotification * This,
  9654. /* [in] */ REFIID riid,
  9655. /* [iid_is][out] */ void **ppvObject);
  9656. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9657. IAMTVAudioNotification * This);
  9658. ULONG ( STDMETHODCALLTYPE *Release )(
  9659. IAMTVAudioNotification * This);
  9660. HRESULT ( STDMETHODCALLTYPE *OnEvent )(
  9661. IAMTVAudioNotification * This,
  9662. /* [in] */ AMTVAudioEventType Event);
  9663. END_INTERFACE
  9664. } IAMTVAudioNotificationVtbl;
  9665. interface IAMTVAudioNotification
  9666. {
  9667. CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  9668. };
  9669. #ifdef COBJMACROS
  9670. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject) \
  9671. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9672. #define IAMTVAudioNotification_AddRef(This) \
  9673. (This)->lpVtbl -> AddRef(This)
  9674. #define IAMTVAudioNotification_Release(This) \
  9675. (This)->lpVtbl -> Release(This)
  9676. #define IAMTVAudioNotification_OnEvent(This,Event) \
  9677. (This)->lpVtbl -> OnEvent(This,Event)
  9678. #endif /* COBJMACROS */
  9679. #endif /* C style interface */
  9680. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy(
  9681. IAMTVAudioNotification * This,
  9682. /* [in] */ AMTVAudioEventType Event);
  9683. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  9684. IRpcStubBuffer *This,
  9685. IRpcChannelBuffer *_pRpcChannelBuffer,
  9686. PRPC_MESSAGE _pRpcMessage,
  9687. DWORD *_pdwStubPhase);
  9688. #endif /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  9689. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  9690. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  9691. /* interface IAMAnalogVideoEncoder */
  9692. /* [unique][uuid][object] */
  9693. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  9694. #if defined(__cplusplus) && !defined(CINTERFACE)
  9695. MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  9696. IAMAnalogVideoEncoder : public IUnknown
  9697. {
  9698. public:
  9699. virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(
  9700. /* [out] */ long *lAnalogVideoStandard) = 0;
  9701. virtual HRESULT STDMETHODCALLTYPE put_TVFormat(
  9702. /* [in] */ long lAnalogVideoStandard) = 0;
  9703. virtual HRESULT STDMETHODCALLTYPE get_TVFormat(
  9704. /* [out] */ long *plAnalogVideoStandard) = 0;
  9705. virtual HRESULT STDMETHODCALLTYPE put_CopyProtection(
  9706. /* [in] */ long lVideoCopyProtection) = 0;
  9707. virtual HRESULT STDMETHODCALLTYPE get_CopyProtection(
  9708. /* [out] */ long *lVideoCopyProtection) = 0;
  9709. virtual HRESULT STDMETHODCALLTYPE put_CCEnable(
  9710. /* [in] */ long lCCEnable) = 0;
  9711. virtual HRESULT STDMETHODCALLTYPE get_CCEnable(
  9712. /* [out] */ long *lCCEnable) = 0;
  9713. };
  9714. #else /* C style interface */
  9715. typedef struct IAMAnalogVideoEncoderVtbl
  9716. {
  9717. BEGIN_INTERFACE
  9718. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9719. IAMAnalogVideoEncoder * This,
  9720. /* [in] */ REFIID riid,
  9721. /* [iid_is][out] */ void **ppvObject);
  9722. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9723. IAMAnalogVideoEncoder * This);
  9724. ULONG ( STDMETHODCALLTYPE *Release )(
  9725. IAMAnalogVideoEncoder * This);
  9726. HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(
  9727. IAMAnalogVideoEncoder * This,
  9728. /* [out] */ long *lAnalogVideoStandard);
  9729. HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(
  9730. IAMAnalogVideoEncoder * This,
  9731. /* [in] */ long lAnalogVideoStandard);
  9732. HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(
  9733. IAMAnalogVideoEncoder * This,
  9734. /* [out] */ long *plAnalogVideoStandard);
  9735. HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )(
  9736. IAMAnalogVideoEncoder * This,
  9737. /* [in] */ long lVideoCopyProtection);
  9738. HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )(
  9739. IAMAnalogVideoEncoder * This,
  9740. /* [out] */ long *lVideoCopyProtection);
  9741. HRESULT ( STDMETHODCALLTYPE *put_CCEnable )(
  9742. IAMAnalogVideoEncoder * This,
  9743. /* [in] */ long lCCEnable);
  9744. HRESULT ( STDMETHODCALLTYPE *get_CCEnable )(
  9745. IAMAnalogVideoEncoder * This,
  9746. /* [out] */ long *lCCEnable);
  9747. END_INTERFACE
  9748. } IAMAnalogVideoEncoderVtbl;
  9749. interface IAMAnalogVideoEncoder
  9750. {
  9751. CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  9752. };
  9753. #ifdef COBJMACROS
  9754. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject) \
  9755. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9756. #define IAMAnalogVideoEncoder_AddRef(This) \
  9757. (This)->lpVtbl -> AddRef(This)
  9758. #define IAMAnalogVideoEncoder_Release(This) \
  9759. (This)->lpVtbl -> Release(This)
  9760. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard) \
  9761. (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  9762. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard) \
  9763. (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  9764. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard) \
  9765. (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  9766. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection) \
  9767. (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  9768. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection) \
  9769. (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  9770. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable) \
  9771. (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  9772. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable) \
  9773. (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  9774. #endif /* COBJMACROS */
  9775. #endif /* C style interface */
  9776. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(
  9777. IAMAnalogVideoEncoder * This,
  9778. /* [out] */ long *lAnalogVideoStandard);
  9779. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  9780. IRpcStubBuffer *This,
  9781. IRpcChannelBuffer *_pRpcChannelBuffer,
  9782. PRPC_MESSAGE _pRpcMessage,
  9783. DWORD *_pdwStubPhase);
  9784. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy(
  9785. IAMAnalogVideoEncoder * This,
  9786. /* [in] */ long lAnalogVideoStandard);
  9787. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  9788. IRpcStubBuffer *This,
  9789. IRpcChannelBuffer *_pRpcChannelBuffer,
  9790. PRPC_MESSAGE _pRpcMessage,
  9791. DWORD *_pdwStubPhase);
  9792. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy(
  9793. IAMAnalogVideoEncoder * This,
  9794. /* [out] */ long *plAnalogVideoStandard);
  9795. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  9796. IRpcStubBuffer *This,
  9797. IRpcChannelBuffer *_pRpcChannelBuffer,
  9798. PRPC_MESSAGE _pRpcMessage,
  9799. DWORD *_pdwStubPhase);
  9800. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy(
  9801. IAMAnalogVideoEncoder * This,
  9802. /* [in] */ long lVideoCopyProtection);
  9803. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  9804. IRpcStubBuffer *This,
  9805. IRpcChannelBuffer *_pRpcChannelBuffer,
  9806. PRPC_MESSAGE _pRpcMessage,
  9807. DWORD *_pdwStubPhase);
  9808. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy(
  9809. IAMAnalogVideoEncoder * This,
  9810. /* [out] */ long *lVideoCopyProtection);
  9811. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  9812. IRpcStubBuffer *This,
  9813. IRpcChannelBuffer *_pRpcChannelBuffer,
  9814. PRPC_MESSAGE _pRpcMessage,
  9815. DWORD *_pdwStubPhase);
  9816. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy(
  9817. IAMAnalogVideoEncoder * This,
  9818. /* [in] */ long lCCEnable);
  9819. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  9820. IRpcStubBuffer *This,
  9821. IRpcChannelBuffer *_pRpcChannelBuffer,
  9822. PRPC_MESSAGE _pRpcMessage,
  9823. DWORD *_pdwStubPhase);
  9824. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy(
  9825. IAMAnalogVideoEncoder * This,
  9826. /* [out] */ long *lCCEnable);
  9827. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  9828. IRpcStubBuffer *This,
  9829. IRpcChannelBuffer *_pRpcChannelBuffer,
  9830. PRPC_MESSAGE _pRpcMessage,
  9831. DWORD *_pdwStubPhase);
  9832. #endif /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  9833. /* interface __MIDL_itf_strmif_0181 */
  9834. /* [local] */
  9835. typedef /* [public] */
  9836. enum __MIDL___MIDL_itf_strmif_0181_0001
  9837. { AMPROPERTY_PIN_CATEGORY = 0,
  9838. AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
  9839. } AMPROPERTY_PIN;
  9840. #ifndef _IKsPropertySet_
  9841. #define _IKsPropertySet_
  9842. #define KSPROPERTY_SUPPORT_GET 1
  9843. #define KSPROPERTY_SUPPORT_SET 2
  9844. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;
  9845. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;
  9846. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  9847. #define __IKsPropertySet_INTERFACE_DEFINED__
  9848. /* interface IKsPropertySet */
  9849. /* [unique][uuid][object] */
  9850. EXTERN_C const IID IID_IKsPropertySet;
  9851. #if defined(__cplusplus) && !defined(CINTERFACE)
  9852. MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  9853. IKsPropertySet : public IUnknown
  9854. {
  9855. public:
  9856. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set(
  9857. /* [in] */ REFGUID guidPropSet,
  9858. /* [in] */ DWORD dwPropID,
  9859. /* [size_is][in] */ LPVOID pInstanceData,
  9860. /* [in] */ DWORD cbInstanceData,
  9861. /* [size_is][in] */ LPVOID pPropData,
  9862. /* [in] */ DWORD cbPropData) = 0;
  9863. virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get(
  9864. /* [in] */ REFGUID guidPropSet,
  9865. /* [in] */ DWORD dwPropID,
  9866. /* [size_is][in] */ LPVOID pInstanceData,
  9867. /* [in] */ DWORD cbInstanceData,
  9868. /* [size_is][out] */ LPVOID pPropData,
  9869. /* [in] */ DWORD cbPropData,
  9870. /* [out] */ DWORD *pcbReturned) = 0;
  9871. virtual HRESULT STDMETHODCALLTYPE QuerySupported(
  9872. /* [in] */ REFGUID guidPropSet,
  9873. /* [in] */ DWORD dwPropID,
  9874. /* [out] */ DWORD *pTypeSupport) = 0;
  9875. };
  9876. #else /* C style interface */
  9877. typedef struct IKsPropertySetVtbl
  9878. {
  9879. BEGIN_INTERFACE
  9880. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9881. IKsPropertySet * This,
  9882. /* [in] */ REFIID riid,
  9883. /* [iid_is][out] */ void **ppvObject);
  9884. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9885. IKsPropertySet * This);
  9886. ULONG ( STDMETHODCALLTYPE *Release )(
  9887. IKsPropertySet * This);
  9888. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )(
  9889. IKsPropertySet * This,
  9890. /* [in] */ REFGUID guidPropSet,
  9891. /* [in] */ DWORD dwPropID,
  9892. /* [size_is][in] */ LPVOID pInstanceData,
  9893. /* [in] */ DWORD cbInstanceData,
  9894. /* [size_is][in] */ LPVOID pPropData,
  9895. /* [in] */ DWORD cbPropData);
  9896. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )(
  9897. IKsPropertySet * This,
  9898. /* [in] */ REFGUID guidPropSet,
  9899. /* [in] */ DWORD dwPropID,
  9900. /* [size_is][in] */ LPVOID pInstanceData,
  9901. /* [in] */ DWORD cbInstanceData,
  9902. /* [size_is][out] */ LPVOID pPropData,
  9903. /* [in] */ DWORD cbPropData,
  9904. /* [out] */ DWORD *pcbReturned);
  9905. HRESULT ( STDMETHODCALLTYPE *QuerySupported )(
  9906. IKsPropertySet * This,
  9907. /* [in] */ REFGUID guidPropSet,
  9908. /* [in] */ DWORD dwPropID,
  9909. /* [out] */ DWORD *pTypeSupport);
  9910. END_INTERFACE
  9911. } IKsPropertySetVtbl;
  9912. interface IKsPropertySet
  9913. {
  9914. CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  9915. };
  9916. #ifdef COBJMACROS
  9917. #define IKsPropertySet_QueryInterface(This,riid,ppvObject) \
  9918. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9919. #define IKsPropertySet_AddRef(This) \
  9920. (This)->lpVtbl -> AddRef(This)
  9921. #define IKsPropertySet_Release(This) \
  9922. (This)->lpVtbl -> Release(This)
  9923. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData) \
  9924. (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  9925. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned) \
  9926. (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  9927. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport) \
  9928. (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  9929. #endif /* COBJMACROS */
  9930. #endif /* C style interface */
  9931. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy(
  9932. IKsPropertySet * This,
  9933. /* [in] */ REFGUID guidPropSet,
  9934. /* [in] */ DWORD dwPropID,
  9935. /* [size_is][in] */ byte *pInstanceData,
  9936. /* [in] */ DWORD cbInstanceData,
  9937. /* [size_is][in] */ byte *pPropData,
  9938. /* [in] */ DWORD cbPropData);
  9939. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  9940. IRpcStubBuffer *This,
  9941. IRpcChannelBuffer *_pRpcChannelBuffer,
  9942. PRPC_MESSAGE _pRpcMessage,
  9943. DWORD *_pdwStubPhase);
  9944. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy(
  9945. IKsPropertySet * This,
  9946. /* [in] */ REFGUID guidPropSet,
  9947. /* [in] */ DWORD dwPropID,
  9948. /* [size_is][in] */ byte *pInstanceData,
  9949. /* [in] */ DWORD cbInstanceData,
  9950. /* [size_is][out] */ byte *pPropData,
  9951. /* [in] */ DWORD cbPropData,
  9952. /* [out] */ DWORD *pcbReturned);
  9953. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  9954. IRpcStubBuffer *This,
  9955. IRpcChannelBuffer *_pRpcChannelBuffer,
  9956. PRPC_MESSAGE _pRpcMessage,
  9957. DWORD *_pdwStubPhase);
  9958. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(
  9959. IKsPropertySet * This,
  9960. /* [in] */ REFGUID guidPropSet,
  9961. /* [in] */ DWORD dwPropID,
  9962. /* [out] */ DWORD *pTypeSupport);
  9963. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  9964. IRpcStubBuffer *This,
  9965. IRpcChannelBuffer *_pRpcChannelBuffer,
  9966. PRPC_MESSAGE _pRpcMessage,
  9967. DWORD *_pdwStubPhase);
  9968. #endif /* __IKsPropertySet_INTERFACE_DEFINED__ */
  9969. /* interface __MIDL_itf_strmif_0182 */
  9970. /* [local] */
  9971. #endif // _IKsPropertySet_
  9972. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_c_ifspec;
  9973. extern RPC_IF_HANDLE __MIDL_itf_strmif_0182_v0_0_s_ifspec;
  9974. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  9975. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  9976. /* interface IMediaPropertyBag */
  9977. /* [unique][uuid][object] */
  9978. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  9979. EXTERN_C const IID IID_IMediaPropertyBag;
  9980. #if defined(__cplusplus) && !defined(CINTERFACE)
  9981. MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  9982. IMediaPropertyBag : public IPropertyBag
  9983. {
  9984. public:
  9985. virtual HRESULT STDMETHODCALLTYPE EnumProperty(
  9986. /* [in] */ ULONG iProperty,
  9987. /* [out][in] */ VARIANT *pvarPropertyName,
  9988. /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  9989. };
  9990. #else /* C style interface */
  9991. typedef struct IMediaPropertyBagVtbl
  9992. {
  9993. BEGIN_INTERFACE
  9994. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  9995. IMediaPropertyBag * This,
  9996. /* [in] */ REFIID riid,
  9997. /* [iid_is][out] */ void **ppvObject);
  9998. ULONG ( STDMETHODCALLTYPE *AddRef )(
  9999. IMediaPropertyBag * This);
  10000. ULONG ( STDMETHODCALLTYPE *Release )(
  10001. IMediaPropertyBag * This);
  10002. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  10003. IMediaPropertyBag * This,
  10004. /* [in] */ LPCOLESTR pszPropName,
  10005. /* [out][in] */ VARIANT *pVar,
  10006. /* [in] */ IErrorLog *pErrorLog);
  10007. HRESULT ( STDMETHODCALLTYPE *Write )(
  10008. IMediaPropertyBag * This,
  10009. /* [in] */ LPCOLESTR pszPropName,
  10010. /* [in] */ VARIANT *pVar);
  10011. HRESULT ( STDMETHODCALLTYPE *EnumProperty )(
  10012. IMediaPropertyBag * This,
  10013. /* [in] */ ULONG iProperty,
  10014. /* [out][in] */ VARIANT *pvarPropertyName,
  10015. /* [out][in] */ VARIANT *pvarPropertyValue);
  10016. END_INTERFACE
  10017. } IMediaPropertyBagVtbl;
  10018. interface IMediaPropertyBag
  10019. {
  10020. CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  10021. };
  10022. #ifdef COBJMACROS
  10023. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject) \
  10024. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10025. #define IMediaPropertyBag_AddRef(This) \
  10026. (This)->lpVtbl -> AddRef(This)
  10027. #define IMediaPropertyBag_Release(This) \
  10028. (This)->lpVtbl -> Release(This)
  10029. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog) \
  10030. (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  10031. #define IMediaPropertyBag_Write(This,pszPropName,pVar) \
  10032. (This)->lpVtbl -> Write(This,pszPropName,pVar)
  10033. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue) \
  10034. (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  10035. #endif /* COBJMACROS */
  10036. #endif /* C style interface */
  10037. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy(
  10038. IMediaPropertyBag * This,
  10039. /* [in] */ ULONG iProperty,
  10040. /* [out][in] */ VARIANT *pvarPropertyName,
  10041. /* [out][in] */ VARIANT *pvarPropertyValue);
  10042. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  10043. IRpcStubBuffer *This,
  10044. IRpcChannelBuffer *_pRpcChannelBuffer,
  10045. PRPC_MESSAGE _pRpcMessage,
  10046. DWORD *_pdwStubPhase);
  10047. #endif /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  10048. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  10049. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  10050. /* interface IPersistMediaPropertyBag */
  10051. /* [unique][uuid][object] */
  10052. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  10053. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  10054. #if defined(__cplusplus) && !defined(CINTERFACE)
  10055. MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  10056. IPersistMediaPropertyBag : public IPersist
  10057. {
  10058. public:
  10059. virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  10060. virtual HRESULT STDMETHODCALLTYPE Load(
  10061. /* [in] */ IMediaPropertyBag *pPropBag,
  10062. /* [in] */ IErrorLog *pErrorLog) = 0;
  10063. virtual HRESULT STDMETHODCALLTYPE Save(
  10064. /* [in] */ IMediaPropertyBag *pPropBag,
  10065. /* [in] */ BOOL fClearDirty,
  10066. /* [in] */ BOOL fSaveAllProperties) = 0;
  10067. };
  10068. #else /* C style interface */
  10069. typedef struct IPersistMediaPropertyBagVtbl
  10070. {
  10071. BEGIN_INTERFACE
  10072. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10073. IPersistMediaPropertyBag * This,
  10074. /* [in] */ REFIID riid,
  10075. /* [iid_is][out] */ void **ppvObject);
  10076. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10077. IPersistMediaPropertyBag * This);
  10078. ULONG ( STDMETHODCALLTYPE *Release )(
  10079. IPersistMediaPropertyBag * This);
  10080. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  10081. IPersistMediaPropertyBag * This,
  10082. /* [out] */ CLSID *pClassID);
  10083. HRESULT ( STDMETHODCALLTYPE *InitNew )(
  10084. IPersistMediaPropertyBag * This);
  10085. HRESULT ( STDMETHODCALLTYPE *Load )(
  10086. IPersistMediaPropertyBag * This,
  10087. /* [in] */ IMediaPropertyBag *pPropBag,
  10088. /* [in] */ IErrorLog *pErrorLog);
  10089. HRESULT ( STDMETHODCALLTYPE *Save )(
  10090. IPersistMediaPropertyBag * This,
  10091. /* [in] */ IMediaPropertyBag *pPropBag,
  10092. /* [in] */ BOOL fClearDirty,
  10093. /* [in] */ BOOL fSaveAllProperties);
  10094. END_INTERFACE
  10095. } IPersistMediaPropertyBagVtbl;
  10096. interface IPersistMediaPropertyBag
  10097. {
  10098. CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  10099. };
  10100. #ifdef COBJMACROS
  10101. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject) \
  10102. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10103. #define IPersistMediaPropertyBag_AddRef(This) \
  10104. (This)->lpVtbl -> AddRef(This)
  10105. #define IPersistMediaPropertyBag_Release(This) \
  10106. (This)->lpVtbl -> Release(This)
  10107. #define IPersistMediaPropertyBag_GetClassID(This,pClassID) \
  10108. (This)->lpVtbl -> GetClassID(This,pClassID)
  10109. #define IPersistMediaPropertyBag_InitNew(This) \
  10110. (This)->lpVtbl -> InitNew(This)
  10111. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog) \
  10112. (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  10113. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) \
  10114. (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  10115. #endif /* COBJMACROS */
  10116. #endif /* C style interface */
  10117. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy(
  10118. IPersistMediaPropertyBag * This);
  10119. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  10120. IRpcStubBuffer *This,
  10121. IRpcChannelBuffer *_pRpcChannelBuffer,
  10122. PRPC_MESSAGE _pRpcMessage,
  10123. DWORD *_pdwStubPhase);
  10124. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy(
  10125. IPersistMediaPropertyBag * This,
  10126. /* [in] */ IMediaPropertyBag *pPropBag,
  10127. /* [in] */ IErrorLog *pErrorLog);
  10128. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  10129. IRpcStubBuffer *This,
  10130. IRpcChannelBuffer *_pRpcChannelBuffer,
  10131. PRPC_MESSAGE _pRpcMessage,
  10132. DWORD *_pdwStubPhase);
  10133. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy(
  10134. IPersistMediaPropertyBag * This,
  10135. /* [in] */ IMediaPropertyBag *pPropBag,
  10136. /* [in] */ BOOL fClearDirty,
  10137. /* [in] */ BOOL fSaveAllProperties);
  10138. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  10139. IRpcStubBuffer *This,
  10140. IRpcChannelBuffer *_pRpcChannelBuffer,
  10141. PRPC_MESSAGE _pRpcMessage,
  10142. DWORD *_pdwStubPhase);
  10143. #endif /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  10144. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  10145. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  10146. /* interface IAMPhysicalPinInfo */
  10147. /* [unique][uuid][object] */
  10148. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  10149. #if defined(__cplusplus) && !defined(CINTERFACE)
  10150. MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  10151. IAMPhysicalPinInfo : public IUnknown
  10152. {
  10153. public:
  10154. virtual HRESULT STDMETHODCALLTYPE GetPhysicalType(
  10155. /* [out] */ long *pType,
  10156. /* [out] */ LPOLESTR *ppszType) = 0;
  10157. };
  10158. #else /* C style interface */
  10159. typedef struct IAMPhysicalPinInfoVtbl
  10160. {
  10161. BEGIN_INTERFACE
  10162. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10163. IAMPhysicalPinInfo * This,
  10164. /* [in] */ REFIID riid,
  10165. /* [iid_is][out] */ void **ppvObject);
  10166. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10167. IAMPhysicalPinInfo * This);
  10168. ULONG ( STDMETHODCALLTYPE *Release )(
  10169. IAMPhysicalPinInfo * This);
  10170. HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )(
  10171. IAMPhysicalPinInfo * This,
  10172. /* [out] */ long *pType,
  10173. /* [out] */ LPOLESTR *ppszType);
  10174. END_INTERFACE
  10175. } IAMPhysicalPinInfoVtbl;
  10176. interface IAMPhysicalPinInfo
  10177. {
  10178. CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  10179. };
  10180. #ifdef COBJMACROS
  10181. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject) \
  10182. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10183. #define IAMPhysicalPinInfo_AddRef(This) \
  10184. (This)->lpVtbl -> AddRef(This)
  10185. #define IAMPhysicalPinInfo_Release(This) \
  10186. (This)->lpVtbl -> Release(This)
  10187. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType) \
  10188. (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  10189. #endif /* COBJMACROS */
  10190. #endif /* C style interface */
  10191. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy(
  10192. IAMPhysicalPinInfo * This,
  10193. /* [out] */ long *pType,
  10194. /* [out] */ LPOLESTR *ppszType);
  10195. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  10196. IRpcStubBuffer *This,
  10197. IRpcChannelBuffer *_pRpcChannelBuffer,
  10198. PRPC_MESSAGE _pRpcMessage,
  10199. DWORD *_pdwStubPhase);
  10200. #endif /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  10201. /* interface __MIDL_itf_strmif_0331 */
  10202. /* [local] */
  10203. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  10204. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  10205. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  10206. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  10207. #define __IAMExtDevice_INTERFACE_DEFINED__
  10208. /* interface IAMExtDevice */
  10209. /* [unique][uuid][object] */
  10210. EXTERN_C const IID IID_IAMExtDevice;
  10211. #if defined(__cplusplus) && !defined(CINTERFACE)
  10212. MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  10213. IAMExtDevice : public IUnknown
  10214. {
  10215. public:
  10216. virtual HRESULT STDMETHODCALLTYPE GetCapability(
  10217. /* [in] */ long Capability,
  10218. /* [out] */ long *pValue,
  10219. /* [out] */ double *pdblValue) = 0;
  10220. virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID(
  10221. /* [out] */ LPOLESTR *ppszData) = 0;
  10222. virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion(
  10223. /* [out] */ LPOLESTR *ppszData) = 0;
  10224. virtual HRESULT STDMETHODCALLTYPE put_DevicePower(
  10225. /* [in] */ long PowerMode) = 0;
  10226. virtual HRESULT STDMETHODCALLTYPE get_DevicePower(
  10227. /* [out] */ long *pPowerMode) = 0;
  10228. virtual HRESULT STDMETHODCALLTYPE Calibrate(
  10229. /* [in] */ HEVENT hEvent,
  10230. /* [in] */ long Mode,
  10231. /* [out] */ long *pStatus) = 0;
  10232. virtual HRESULT STDMETHODCALLTYPE put_DevicePort(
  10233. /* [in] */ long DevicePort) = 0;
  10234. virtual HRESULT STDMETHODCALLTYPE get_DevicePort(
  10235. /* [out] */ long *pDevicePort) = 0;
  10236. };
  10237. #else /* C style interface */
  10238. typedef struct IAMExtDeviceVtbl
  10239. {
  10240. BEGIN_INTERFACE
  10241. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10242. IAMExtDevice * This,
  10243. /* [in] */ REFIID riid,
  10244. /* [iid_is][out] */ void **ppvObject);
  10245. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10246. IAMExtDevice * This);
  10247. ULONG ( STDMETHODCALLTYPE *Release )(
  10248. IAMExtDevice * This);
  10249. HRESULT ( STDMETHODCALLTYPE *GetCapability )(
  10250. IAMExtDevice * This,
  10251. /* [in] */ long Capability,
  10252. /* [out] */ long *pValue,
  10253. /* [out] */ double *pdblValue);
  10254. HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )(
  10255. IAMExtDevice * This,
  10256. /* [out] */ LPOLESTR *ppszData);
  10257. HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )(
  10258. IAMExtDevice * This,
  10259. /* [out] */ LPOLESTR *ppszData);
  10260. HRESULT ( STDMETHODCALLTYPE *put_DevicePower )(
  10261. IAMExtDevice * This,
  10262. /* [in] */ long PowerMode);
  10263. HRESULT ( STDMETHODCALLTYPE *get_DevicePower )(
  10264. IAMExtDevice * This,
  10265. /* [out] */ long *pPowerMode);
  10266. HRESULT ( STDMETHODCALLTYPE *Calibrate )(
  10267. IAMExtDevice * This,
  10268. /* [in] */ HEVENT hEvent,
  10269. /* [in] */ long Mode,
  10270. /* [out] */ long *pStatus);
  10271. HRESULT ( STDMETHODCALLTYPE *put_DevicePort )(
  10272. IAMExtDevice * This,
  10273. /* [in] */ long DevicePort);
  10274. HRESULT ( STDMETHODCALLTYPE *get_DevicePort )(
  10275. IAMExtDevice * This,
  10276. /* [out] */ long *pDevicePort);
  10277. END_INTERFACE
  10278. } IAMExtDeviceVtbl;
  10279. interface IAMExtDevice
  10280. {
  10281. CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  10282. };
  10283. #ifdef COBJMACROS
  10284. #define IAMExtDevice_QueryInterface(This,riid,ppvObject) \
  10285. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10286. #define IAMExtDevice_AddRef(This) \
  10287. (This)->lpVtbl -> AddRef(This)
  10288. #define IAMExtDevice_Release(This) \
  10289. (This)->lpVtbl -> Release(This)
  10290. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue) \
  10291. (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  10292. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData) \
  10293. (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  10294. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData) \
  10295. (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  10296. #define IAMExtDevice_put_DevicePower(This,PowerMode) \
  10297. (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  10298. #define IAMExtDevice_get_DevicePower(This,pPowerMode) \
  10299. (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  10300. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus) \
  10301. (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  10302. #define IAMExtDevice_put_DevicePort(This,DevicePort) \
  10303. (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  10304. #define IAMExtDevice_get_DevicePort(This,pDevicePort) \
  10305. (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  10306. #endif /* COBJMACROS */
  10307. #endif /* C style interface */
  10308. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy(
  10309. IAMExtDevice * This,
  10310. /* [in] */ long Capability,
  10311. /* [out] */ long *pValue,
  10312. /* [out] */ double *pdblValue);
  10313. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  10314. IRpcStubBuffer *This,
  10315. IRpcChannelBuffer *_pRpcChannelBuffer,
  10316. PRPC_MESSAGE _pRpcMessage,
  10317. DWORD *_pdwStubPhase);
  10318. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy(
  10319. IAMExtDevice * This,
  10320. /* [out] */ LPOLESTR *ppszData);
  10321. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  10322. IRpcStubBuffer *This,
  10323. IRpcChannelBuffer *_pRpcChannelBuffer,
  10324. PRPC_MESSAGE _pRpcMessage,
  10325. DWORD *_pdwStubPhase);
  10326. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy(
  10327. IAMExtDevice * This,
  10328. /* [out] */ LPOLESTR *ppszData);
  10329. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  10330. IRpcStubBuffer *This,
  10331. IRpcChannelBuffer *_pRpcChannelBuffer,
  10332. PRPC_MESSAGE _pRpcMessage,
  10333. DWORD *_pdwStubPhase);
  10334. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy(
  10335. IAMExtDevice * This,
  10336. /* [in] */ long PowerMode);
  10337. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  10338. IRpcStubBuffer *This,
  10339. IRpcChannelBuffer *_pRpcChannelBuffer,
  10340. PRPC_MESSAGE _pRpcMessage,
  10341. DWORD *_pdwStubPhase);
  10342. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy(
  10343. IAMExtDevice * This,
  10344. /* [out] */ long *pPowerMode);
  10345. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  10346. IRpcStubBuffer *This,
  10347. IRpcChannelBuffer *_pRpcChannelBuffer,
  10348. PRPC_MESSAGE _pRpcMessage,
  10349. DWORD *_pdwStubPhase);
  10350. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy(
  10351. IAMExtDevice * This,
  10352. /* [in] */ HEVENT hEvent,
  10353. /* [in] */ long Mode,
  10354. /* [out] */ long *pStatus);
  10355. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  10356. IRpcStubBuffer *This,
  10357. IRpcChannelBuffer *_pRpcChannelBuffer,
  10358. PRPC_MESSAGE _pRpcMessage,
  10359. DWORD *_pdwStubPhase);
  10360. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy(
  10361. IAMExtDevice * This,
  10362. /* [in] */ long DevicePort);
  10363. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  10364. IRpcStubBuffer *This,
  10365. IRpcChannelBuffer *_pRpcChannelBuffer,
  10366. PRPC_MESSAGE _pRpcMessage,
  10367. DWORD *_pdwStubPhase);
  10368. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy(
  10369. IAMExtDevice * This,
  10370. /* [out] */ long *pDevicePort);
  10371. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  10372. IRpcStubBuffer *This,
  10373. IRpcChannelBuffer *_pRpcChannelBuffer,
  10374. PRPC_MESSAGE _pRpcMessage,
  10375. DWORD *_pdwStubPhase);
  10376. #endif /* __IAMExtDevice_INTERFACE_DEFINED__ */
  10377. /* interface __MIDL_itf_strmif_0332 */
  10378. /* [local] */
  10379. typedef IAMExtDevice *PEXTDEVICE;
  10380. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  10381. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  10382. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  10383. #define __IAMExtTransport_INTERFACE_DEFINED__
  10384. /* interface IAMExtTransport */
  10385. /* [unique][uuid][object] */
  10386. EXTERN_C const IID IID_IAMExtTransport;
  10387. #if defined(__cplusplus) && !defined(CINTERFACE)
  10388. MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  10389. IAMExtTransport : public IUnknown
  10390. {
  10391. public:
  10392. virtual HRESULT STDMETHODCALLTYPE GetCapability(
  10393. /* [in] */ long Capability,
  10394. /* [out] */ long *pValue,
  10395. /* [out] */ double *pdblValue) = 0;
  10396. virtual HRESULT STDMETHODCALLTYPE put_MediaState(
  10397. /* [in] */ long State) = 0;
  10398. virtual HRESULT STDMETHODCALLTYPE get_MediaState(
  10399. /* [out] */ long *pState) = 0;
  10400. virtual HRESULT STDMETHODCALLTYPE put_LocalControl(
  10401. /* [in] */ long State) = 0;
  10402. virtual HRESULT STDMETHODCALLTYPE get_LocalControl(
  10403. /* [out] */ long *pState) = 0;
  10404. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  10405. /* [in] */ long StatusItem,
  10406. /* [out] */ long *pValue) = 0;
  10407. virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters(
  10408. /* [in] */ long Param,
  10409. /* [out] */ long *pValue,
  10410. /* [out] */ LPOLESTR *ppszData) = 0;
  10411. virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters(
  10412. /* [in] */ long Param,
  10413. /* [in] */ long Value,
  10414. /* [in] */ LPCOLESTR pszData) = 0;
  10415. virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters(
  10416. /* [in] */ long Param,
  10417. /* [out] */ long *pValue) = 0;
  10418. virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters(
  10419. /* [in] */ long Param,
  10420. /* [in] */ long Value) = 0;
  10421. virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters(
  10422. /* [in] */ long Param,
  10423. /* [out] */ long *pValue) = 0;
  10424. virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters(
  10425. /* [in] */ long Param,
  10426. /* [in] */ long Value) = 0;
  10427. virtual HRESULT STDMETHODCALLTYPE put_Mode(
  10428. /* [in] */ long Mode) = 0;
  10429. virtual HRESULT STDMETHODCALLTYPE get_Mode(
  10430. /* [out] */ long *pMode) = 0;
  10431. virtual HRESULT STDMETHODCALLTYPE put_Rate(
  10432. /* [in] */ double dblRate) = 0;
  10433. virtual HRESULT STDMETHODCALLTYPE get_Rate(
  10434. /* [out] */ double *pdblRate) = 0;
  10435. virtual HRESULT STDMETHODCALLTYPE GetChase(
  10436. /* [out] */ long *pEnabled,
  10437. /* [out] */ long *pOffset,
  10438. /* [out] */ HEVENT *phEvent) = 0;
  10439. virtual HRESULT STDMETHODCALLTYPE SetChase(
  10440. /* [in] */ long Enable,
  10441. /* [in] */ long Offset,
  10442. /* [in] */ HEVENT hEvent) = 0;
  10443. virtual HRESULT STDMETHODCALLTYPE GetBump(
  10444. /* [out] */ long *pSpeed,
  10445. /* [out] */ long *pDuration) = 0;
  10446. virtual HRESULT STDMETHODCALLTYPE SetBump(
  10447. /* [in] */ long Speed,
  10448. /* [in] */ long Duration) = 0;
  10449. virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl(
  10450. /* [out] */ long *pEnabled) = 0;
  10451. virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl(
  10452. /* [in] */ long Enable) = 0;
  10453. virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet(
  10454. /* [in] */ long EditID,
  10455. /* [out] */ long *pState) = 0;
  10456. virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet(
  10457. /* [out][in] */ long *pEditID,
  10458. /* [in] */ long State) = 0;
  10459. virtual HRESULT STDMETHODCALLTYPE GetEditProperty(
  10460. /* [in] */ long EditID,
  10461. /* [in] */ long Param,
  10462. /* [out] */ long *pValue) = 0;
  10463. virtual HRESULT STDMETHODCALLTYPE SetEditProperty(
  10464. /* [in] */ long EditID,
  10465. /* [in] */ long Param,
  10466. /* [in] */ long Value) = 0;
  10467. virtual HRESULT STDMETHODCALLTYPE get_EditStart(
  10468. /* [out] */ long *pValue) = 0;
  10469. virtual HRESULT STDMETHODCALLTYPE put_EditStart(
  10470. /* [in] */ long Value) = 0;
  10471. };
  10472. #else /* C style interface */
  10473. typedef struct IAMExtTransportVtbl
  10474. {
  10475. BEGIN_INTERFACE
  10476. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10477. IAMExtTransport * This,
  10478. /* [in] */ REFIID riid,
  10479. /* [iid_is][out] */ void **ppvObject);
  10480. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10481. IAMExtTransport * This);
  10482. ULONG ( STDMETHODCALLTYPE *Release )(
  10483. IAMExtTransport * This);
  10484. HRESULT ( STDMETHODCALLTYPE *GetCapability )(
  10485. IAMExtTransport * This,
  10486. /* [in] */ long Capability,
  10487. /* [out] */ long *pValue,
  10488. /* [out] */ double *pdblValue);
  10489. HRESULT ( STDMETHODCALLTYPE *put_MediaState )(
  10490. IAMExtTransport * This,
  10491. /* [in] */ long State);
  10492. HRESULT ( STDMETHODCALLTYPE *get_MediaState )(
  10493. IAMExtTransport * This,
  10494. /* [out] */ long *pState);
  10495. HRESULT ( STDMETHODCALLTYPE *put_LocalControl )(
  10496. IAMExtTransport * This,
  10497. /* [in] */ long State);
  10498. HRESULT ( STDMETHODCALLTYPE *get_LocalControl )(
  10499. IAMExtTransport * This,
  10500. /* [out] */ long *pState);
  10501. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  10502. IAMExtTransport * This,
  10503. /* [in] */ long StatusItem,
  10504. /* [out] */ long *pValue);
  10505. HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )(
  10506. IAMExtTransport * This,
  10507. /* [in] */ long Param,
  10508. /* [out] */ long *pValue,
  10509. /* [out] */ LPOLESTR *ppszData);
  10510. HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )(
  10511. IAMExtTransport * This,
  10512. /* [in] */ long Param,
  10513. /* [in] */ long Value,
  10514. /* [in] */ LPCOLESTR pszData);
  10515. HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )(
  10516. IAMExtTransport * This,
  10517. /* [in] */ long Param,
  10518. /* [out] */ long *pValue);
  10519. HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )(
  10520. IAMExtTransport * This,
  10521. /* [in] */ long Param,
  10522. /* [in] */ long Value);
  10523. HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )(
  10524. IAMExtTransport * This,
  10525. /* [in] */ long Param,
  10526. /* [out] */ long *pValue);
  10527. HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )(
  10528. IAMExtTransport * This,
  10529. /* [in] */ long Param,
  10530. /* [in] */ long Value);
  10531. HRESULT ( STDMETHODCALLTYPE *put_Mode )(
  10532. IAMExtTransport * This,
  10533. /* [in] */ long Mode);
  10534. HRESULT ( STDMETHODCALLTYPE *get_Mode )(
  10535. IAMExtTransport * This,
  10536. /* [out] */ long *pMode);
  10537. HRESULT ( STDMETHODCALLTYPE *put_Rate )(
  10538. IAMExtTransport * This,
  10539. /* [in] */ double dblRate);
  10540. HRESULT ( STDMETHODCALLTYPE *get_Rate )(
  10541. IAMExtTransport * This,
  10542. /* [out] */ double *pdblRate);
  10543. HRESULT ( STDMETHODCALLTYPE *GetChase )(
  10544. IAMExtTransport * This,
  10545. /* [out] */ long *pEnabled,
  10546. /* [out] */ long *pOffset,
  10547. /* [out] */ HEVENT *phEvent);
  10548. HRESULT ( STDMETHODCALLTYPE *SetChase )(
  10549. IAMExtTransport * This,
  10550. /* [in] */ long Enable,
  10551. /* [in] */ long Offset,
  10552. /* [in] */ HEVENT hEvent);
  10553. HRESULT ( STDMETHODCALLTYPE *GetBump )(
  10554. IAMExtTransport * This,
  10555. /* [out] */ long *pSpeed,
  10556. /* [out] */ long *pDuration);
  10557. HRESULT ( STDMETHODCALLTYPE *SetBump )(
  10558. IAMExtTransport * This,
  10559. /* [in] */ long Speed,
  10560. /* [in] */ long Duration);
  10561. HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )(
  10562. IAMExtTransport * This,
  10563. /* [out] */ long *pEnabled);
  10564. HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )(
  10565. IAMExtTransport * This,
  10566. /* [in] */ long Enable);
  10567. HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )(
  10568. IAMExtTransport * This,
  10569. /* [in] */ long EditID,
  10570. /* [out] */ long *pState);
  10571. HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )(
  10572. IAMExtTransport * This,
  10573. /* [out][in] */ long *pEditID,
  10574. /* [in] */ long State);
  10575. HRESULT ( STDMETHODCALLTYPE *GetEditProperty )(
  10576. IAMExtTransport * This,
  10577. /* [in] */ long EditID,
  10578. /* [in] */ long Param,
  10579. /* [out] */ long *pValue);
  10580. HRESULT ( STDMETHODCALLTYPE *SetEditProperty )(
  10581. IAMExtTransport * This,
  10582. /* [in] */ long EditID,
  10583. /* [in] */ long Param,
  10584. /* [in] */ long Value);
  10585. HRESULT ( STDMETHODCALLTYPE *get_EditStart )(
  10586. IAMExtTransport * This,
  10587. /* [out] */ long *pValue);
  10588. HRESULT ( STDMETHODCALLTYPE *put_EditStart )(
  10589. IAMExtTransport * This,
  10590. /* [in] */ long Value);
  10591. END_INTERFACE
  10592. } IAMExtTransportVtbl;
  10593. interface IAMExtTransport
  10594. {
  10595. CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  10596. };
  10597. #ifdef COBJMACROS
  10598. #define IAMExtTransport_QueryInterface(This,riid,ppvObject) \
  10599. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10600. #define IAMExtTransport_AddRef(This) \
  10601. (This)->lpVtbl -> AddRef(This)
  10602. #define IAMExtTransport_Release(This) \
  10603. (This)->lpVtbl -> Release(This)
  10604. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue) \
  10605. (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  10606. #define IAMExtTransport_put_MediaState(This,State) \
  10607. (This)->lpVtbl -> put_MediaState(This,State)
  10608. #define IAMExtTransport_get_MediaState(This,pState) \
  10609. (This)->lpVtbl -> get_MediaState(This,pState)
  10610. #define IAMExtTransport_put_LocalControl(This,State) \
  10611. (This)->lpVtbl -> put_LocalControl(This,State)
  10612. #define IAMExtTransport_get_LocalControl(This,pState) \
  10613. (This)->lpVtbl -> get_LocalControl(This,pState)
  10614. #define IAMExtTransport_GetStatus(This,StatusItem,pValue) \
  10615. (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  10616. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData) \
  10617. (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  10618. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData) \
  10619. (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  10620. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue) \
  10621. (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  10622. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value) \
  10623. (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  10624. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue) \
  10625. (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  10626. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value) \
  10627. (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  10628. #define IAMExtTransport_put_Mode(This,Mode) \
  10629. (This)->lpVtbl -> put_Mode(This,Mode)
  10630. #define IAMExtTransport_get_Mode(This,pMode) \
  10631. (This)->lpVtbl -> get_Mode(This,pMode)
  10632. #define IAMExtTransport_put_Rate(This,dblRate) \
  10633. (This)->lpVtbl -> put_Rate(This,dblRate)
  10634. #define IAMExtTransport_get_Rate(This,pdblRate) \
  10635. (This)->lpVtbl -> get_Rate(This,pdblRate)
  10636. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent) \
  10637. (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  10638. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent) \
  10639. (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  10640. #define IAMExtTransport_GetBump(This,pSpeed,pDuration) \
  10641. (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  10642. #define IAMExtTransport_SetBump(This,Speed,Duration) \
  10643. (This)->lpVtbl -> SetBump(This,Speed,Duration)
  10644. #define IAMExtTransport_get_AntiClogControl(This,pEnabled) \
  10645. (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  10646. #define IAMExtTransport_put_AntiClogControl(This,Enable) \
  10647. (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  10648. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState) \
  10649. (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  10650. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State) \
  10651. (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  10652. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue) \
  10653. (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  10654. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value) \
  10655. (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  10656. #define IAMExtTransport_get_EditStart(This,pValue) \
  10657. (This)->lpVtbl -> get_EditStart(This,pValue)
  10658. #define IAMExtTransport_put_EditStart(This,Value) \
  10659. (This)->lpVtbl -> put_EditStart(This,Value)
  10660. #endif /* COBJMACROS */
  10661. #endif /* C style interface */
  10662. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy(
  10663. IAMExtTransport * This,
  10664. /* [in] */ long Capability,
  10665. /* [out] */ long *pValue,
  10666. /* [out] */ double *pdblValue);
  10667. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  10668. IRpcStubBuffer *This,
  10669. IRpcChannelBuffer *_pRpcChannelBuffer,
  10670. PRPC_MESSAGE _pRpcMessage,
  10671. DWORD *_pdwStubPhase);
  10672. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy(
  10673. IAMExtTransport * This,
  10674. /* [in] */ long State);
  10675. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  10676. IRpcStubBuffer *This,
  10677. IRpcChannelBuffer *_pRpcChannelBuffer,
  10678. PRPC_MESSAGE _pRpcMessage,
  10679. DWORD *_pdwStubPhase);
  10680. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy(
  10681. IAMExtTransport * This,
  10682. /* [out] */ long *pState);
  10683. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  10684. IRpcStubBuffer *This,
  10685. IRpcChannelBuffer *_pRpcChannelBuffer,
  10686. PRPC_MESSAGE _pRpcMessage,
  10687. DWORD *_pdwStubPhase);
  10688. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy(
  10689. IAMExtTransport * This,
  10690. /* [in] */ long State);
  10691. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  10692. IRpcStubBuffer *This,
  10693. IRpcChannelBuffer *_pRpcChannelBuffer,
  10694. PRPC_MESSAGE _pRpcMessage,
  10695. DWORD *_pdwStubPhase);
  10696. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy(
  10697. IAMExtTransport * This,
  10698. /* [out] */ long *pState);
  10699. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  10700. IRpcStubBuffer *This,
  10701. IRpcChannelBuffer *_pRpcChannelBuffer,
  10702. PRPC_MESSAGE _pRpcMessage,
  10703. DWORD *_pdwStubPhase);
  10704. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy(
  10705. IAMExtTransport * This,
  10706. /* [in] */ long StatusItem,
  10707. /* [out] */ long *pValue);
  10708. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  10709. IRpcStubBuffer *This,
  10710. IRpcChannelBuffer *_pRpcChannelBuffer,
  10711. PRPC_MESSAGE _pRpcMessage,
  10712. DWORD *_pdwStubPhase);
  10713. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy(
  10714. IAMExtTransport * This,
  10715. /* [in] */ long Param,
  10716. /* [out] */ long *pValue,
  10717. /* [out] */ LPOLESTR *ppszData);
  10718. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  10719. IRpcStubBuffer *This,
  10720. IRpcChannelBuffer *_pRpcChannelBuffer,
  10721. PRPC_MESSAGE _pRpcMessage,
  10722. DWORD *_pdwStubPhase);
  10723. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy(
  10724. IAMExtTransport * This,
  10725. /* [in] */ long Param,
  10726. /* [in] */ long Value,
  10727. /* [in] */ LPCOLESTR pszData);
  10728. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  10729. IRpcStubBuffer *This,
  10730. IRpcChannelBuffer *_pRpcChannelBuffer,
  10731. PRPC_MESSAGE _pRpcMessage,
  10732. DWORD *_pdwStubPhase);
  10733. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy(
  10734. IAMExtTransport * This,
  10735. /* [in] */ long Param,
  10736. /* [out] */ long *pValue);
  10737. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  10738. IRpcStubBuffer *This,
  10739. IRpcChannelBuffer *_pRpcChannelBuffer,
  10740. PRPC_MESSAGE _pRpcMessage,
  10741. DWORD *_pdwStubPhase);
  10742. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy(
  10743. IAMExtTransport * This,
  10744. /* [in] */ long Param,
  10745. /* [in] */ long Value);
  10746. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  10747. IRpcStubBuffer *This,
  10748. IRpcChannelBuffer *_pRpcChannelBuffer,
  10749. PRPC_MESSAGE _pRpcMessage,
  10750. DWORD *_pdwStubPhase);
  10751. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy(
  10752. IAMExtTransport * This,
  10753. /* [in] */ long Param,
  10754. /* [out] */ long *pValue);
  10755. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  10756. IRpcStubBuffer *This,
  10757. IRpcChannelBuffer *_pRpcChannelBuffer,
  10758. PRPC_MESSAGE _pRpcMessage,
  10759. DWORD *_pdwStubPhase);
  10760. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy(
  10761. IAMExtTransport * This,
  10762. /* [in] */ long Param,
  10763. /* [in] */ long Value);
  10764. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  10765. IRpcStubBuffer *This,
  10766. IRpcChannelBuffer *_pRpcChannelBuffer,
  10767. PRPC_MESSAGE _pRpcMessage,
  10768. DWORD *_pdwStubPhase);
  10769. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy(
  10770. IAMExtTransport * This,
  10771. /* [in] */ long Mode);
  10772. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  10773. IRpcStubBuffer *This,
  10774. IRpcChannelBuffer *_pRpcChannelBuffer,
  10775. PRPC_MESSAGE _pRpcMessage,
  10776. DWORD *_pdwStubPhase);
  10777. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy(
  10778. IAMExtTransport * This,
  10779. /* [out] */ long *pMode);
  10780. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  10781. IRpcStubBuffer *This,
  10782. IRpcChannelBuffer *_pRpcChannelBuffer,
  10783. PRPC_MESSAGE _pRpcMessage,
  10784. DWORD *_pdwStubPhase);
  10785. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy(
  10786. IAMExtTransport * This,
  10787. /* [in] */ double dblRate);
  10788. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  10789. IRpcStubBuffer *This,
  10790. IRpcChannelBuffer *_pRpcChannelBuffer,
  10791. PRPC_MESSAGE _pRpcMessage,
  10792. DWORD *_pdwStubPhase);
  10793. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy(
  10794. IAMExtTransport * This,
  10795. /* [out] */ double *pdblRate);
  10796. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  10797. IRpcStubBuffer *This,
  10798. IRpcChannelBuffer *_pRpcChannelBuffer,
  10799. PRPC_MESSAGE _pRpcMessage,
  10800. DWORD *_pdwStubPhase);
  10801. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy(
  10802. IAMExtTransport * This,
  10803. /* [out] */ long *pEnabled,
  10804. /* [out] */ long *pOffset,
  10805. /* [out] */ HEVENT *phEvent);
  10806. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  10807. IRpcStubBuffer *This,
  10808. IRpcChannelBuffer *_pRpcChannelBuffer,
  10809. PRPC_MESSAGE _pRpcMessage,
  10810. DWORD *_pdwStubPhase);
  10811. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy(
  10812. IAMExtTransport * This,
  10813. /* [in] */ long Enable,
  10814. /* [in] */ long Offset,
  10815. /* [in] */ HEVENT hEvent);
  10816. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  10817. IRpcStubBuffer *This,
  10818. IRpcChannelBuffer *_pRpcChannelBuffer,
  10819. PRPC_MESSAGE _pRpcMessage,
  10820. DWORD *_pdwStubPhase);
  10821. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy(
  10822. IAMExtTransport * This,
  10823. /* [out] */ long *pSpeed,
  10824. /* [out] */ long *pDuration);
  10825. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  10826. IRpcStubBuffer *This,
  10827. IRpcChannelBuffer *_pRpcChannelBuffer,
  10828. PRPC_MESSAGE _pRpcMessage,
  10829. DWORD *_pdwStubPhase);
  10830. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy(
  10831. IAMExtTransport * This,
  10832. /* [in] */ long Speed,
  10833. /* [in] */ long Duration);
  10834. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  10835. IRpcStubBuffer *This,
  10836. IRpcChannelBuffer *_pRpcChannelBuffer,
  10837. PRPC_MESSAGE _pRpcMessage,
  10838. DWORD *_pdwStubPhase);
  10839. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy(
  10840. IAMExtTransport * This,
  10841. /* [out] */ long *pEnabled);
  10842. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  10843. IRpcStubBuffer *This,
  10844. IRpcChannelBuffer *_pRpcChannelBuffer,
  10845. PRPC_MESSAGE _pRpcMessage,
  10846. DWORD *_pdwStubPhase);
  10847. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy(
  10848. IAMExtTransport * This,
  10849. /* [in] */ long Enable);
  10850. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  10851. IRpcStubBuffer *This,
  10852. IRpcChannelBuffer *_pRpcChannelBuffer,
  10853. PRPC_MESSAGE _pRpcMessage,
  10854. DWORD *_pdwStubPhase);
  10855. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy(
  10856. IAMExtTransport * This,
  10857. /* [in] */ long EditID,
  10858. /* [out] */ long *pState);
  10859. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  10860. IRpcStubBuffer *This,
  10861. IRpcChannelBuffer *_pRpcChannelBuffer,
  10862. PRPC_MESSAGE _pRpcMessage,
  10863. DWORD *_pdwStubPhase);
  10864. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy(
  10865. IAMExtTransport * This,
  10866. /* [out][in] */ long *pEditID,
  10867. /* [in] */ long State);
  10868. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  10869. IRpcStubBuffer *This,
  10870. IRpcChannelBuffer *_pRpcChannelBuffer,
  10871. PRPC_MESSAGE _pRpcMessage,
  10872. DWORD *_pdwStubPhase);
  10873. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy(
  10874. IAMExtTransport * This,
  10875. /* [in] */ long EditID,
  10876. /* [in] */ long Param,
  10877. /* [out] */ long *pValue);
  10878. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  10879. IRpcStubBuffer *This,
  10880. IRpcChannelBuffer *_pRpcChannelBuffer,
  10881. PRPC_MESSAGE _pRpcMessage,
  10882. DWORD *_pdwStubPhase);
  10883. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy(
  10884. IAMExtTransport * This,
  10885. /* [in] */ long EditID,
  10886. /* [in] */ long Param,
  10887. /* [in] */ long Value);
  10888. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  10889. IRpcStubBuffer *This,
  10890. IRpcChannelBuffer *_pRpcChannelBuffer,
  10891. PRPC_MESSAGE _pRpcMessage,
  10892. DWORD *_pdwStubPhase);
  10893. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy(
  10894. IAMExtTransport * This,
  10895. /* [out] */ long *pValue);
  10896. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  10897. IRpcStubBuffer *This,
  10898. IRpcChannelBuffer *_pRpcChannelBuffer,
  10899. PRPC_MESSAGE _pRpcMessage,
  10900. DWORD *_pdwStubPhase);
  10901. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy(
  10902. IAMExtTransport * This,
  10903. /* [in] */ long Value);
  10904. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  10905. IRpcStubBuffer *This,
  10906. IRpcChannelBuffer *_pRpcChannelBuffer,
  10907. PRPC_MESSAGE _pRpcMessage,
  10908. DWORD *_pdwStubPhase);
  10909. #endif /* __IAMExtTransport_INTERFACE_DEFINED__ */
  10910. /* interface __MIDL_itf_strmif_0333 */
  10911. /* [local] */
  10912. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  10913. #if 0
  10914. /* the following is what MIDL knows how to remote */
  10915. typedef struct tagTIMECODE
  10916. {
  10917. WORD wFrameRate;
  10918. WORD wFrameFract;
  10919. DWORD dwFrames;
  10920. } TIMECODE;
  10921. #else /* 0 */
  10922. #ifndef TIMECODE_DEFINED
  10923. #define TIMECODE_DEFINED
  10924. typedef union _timecode {
  10925. struct {
  10926. WORD wFrameRate;
  10927. WORD wFrameFract;
  10928. DWORD dwFrames;
  10929. };
  10930. DWORDLONG qw;
  10931. } TIMECODE;
  10932. #endif /* TIMECODE_DEFINED */
  10933. #endif /* 0 */
  10934. typedef TIMECODE *PTIMECODE;
  10935. typedef struct tagTIMECODE_SAMPLE
  10936. {
  10937. LONGLONG qwTick;
  10938. TIMECODE timecode;
  10939. DWORD dwUser;
  10940. DWORD dwFlags;
  10941. } TIMECODE_SAMPLE;
  10942. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  10943. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
  10944. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
  10945. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  10946. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  10947. /* interface IAMTimecodeReader */
  10948. /* [unique][uuid][object] */
  10949. EXTERN_C const IID IID_IAMTimecodeReader;
  10950. #if defined(__cplusplus) && !defined(CINTERFACE)
  10951. MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  10952. IAMTimecodeReader : public IUnknown
  10953. {
  10954. public:
  10955. virtual HRESULT STDMETHODCALLTYPE GetTCRMode(
  10956. /* [in] */ long Param,
  10957. /* [out] */ long *pValue) = 0;
  10958. virtual HRESULT STDMETHODCALLTYPE SetTCRMode(
  10959. /* [in] */ long Param,
  10960. /* [in] */ long Value) = 0;
  10961. virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
  10962. /* [in] */ long Line) = 0;
  10963. virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
  10964. /* [out] */ long *pLine) = 0;
  10965. virtual HRESULT STDMETHODCALLTYPE GetTimecode(
  10966. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  10967. };
  10968. #else /* C style interface */
  10969. typedef struct IAMTimecodeReaderVtbl
  10970. {
  10971. BEGIN_INTERFACE
  10972. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  10973. IAMTimecodeReader * This,
  10974. /* [in] */ REFIID riid,
  10975. /* [iid_is][out] */ void **ppvObject);
  10976. ULONG ( STDMETHODCALLTYPE *AddRef )(
  10977. IAMTimecodeReader * This);
  10978. ULONG ( STDMETHODCALLTYPE *Release )(
  10979. IAMTimecodeReader * This);
  10980. HRESULT ( STDMETHODCALLTYPE *GetTCRMode )(
  10981. IAMTimecodeReader * This,
  10982. /* [in] */ long Param,
  10983. /* [out] */ long *pValue);
  10984. HRESULT ( STDMETHODCALLTYPE *SetTCRMode )(
  10985. IAMTimecodeReader * This,
  10986. /* [in] */ long Param,
  10987. /* [in] */ long Value);
  10988. HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
  10989. IAMTimecodeReader * This,
  10990. /* [in] */ long Line);
  10991. HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
  10992. IAMTimecodeReader * This,
  10993. /* [out] */ long *pLine);
  10994. HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
  10995. IAMTimecodeReader * This,
  10996. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  10997. END_INTERFACE
  10998. } IAMTimecodeReaderVtbl;
  10999. interface IAMTimecodeReader
  11000. {
  11001. CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  11002. };
  11003. #ifdef COBJMACROS
  11004. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject) \
  11005. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11006. #define IAMTimecodeReader_AddRef(This) \
  11007. (This)->lpVtbl -> AddRef(This)
  11008. #define IAMTimecodeReader_Release(This) \
  11009. (This)->lpVtbl -> Release(This)
  11010. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue) \
  11011. (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  11012. #define IAMTimecodeReader_SetTCRMode(This,Param,Value) \
  11013. (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  11014. #define IAMTimecodeReader_put_VITCLine(This,Line) \
  11015. (This)->lpVtbl -> put_VITCLine(This,Line)
  11016. #define IAMTimecodeReader_get_VITCLine(This,pLine) \
  11017. (This)->lpVtbl -> get_VITCLine(This,pLine)
  11018. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample) \
  11019. (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  11020. #endif /* COBJMACROS */
  11021. #endif /* C style interface */
  11022. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy(
  11023. IAMTimecodeReader * This,
  11024. /* [in] */ long Param,
  11025. /* [out] */ long *pValue);
  11026. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  11027. IRpcStubBuffer *This,
  11028. IRpcChannelBuffer *_pRpcChannelBuffer,
  11029. PRPC_MESSAGE _pRpcMessage,
  11030. DWORD *_pdwStubPhase);
  11031. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy(
  11032. IAMTimecodeReader * This,
  11033. /* [in] */ long Param,
  11034. /* [in] */ long Value);
  11035. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  11036. IRpcStubBuffer *This,
  11037. IRpcChannelBuffer *_pRpcChannelBuffer,
  11038. PRPC_MESSAGE _pRpcMessage,
  11039. DWORD *_pdwStubPhase);
  11040. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy(
  11041. IAMTimecodeReader * This,
  11042. /* [in] */ long Line);
  11043. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  11044. IRpcStubBuffer *This,
  11045. IRpcChannelBuffer *_pRpcChannelBuffer,
  11046. PRPC_MESSAGE _pRpcMessage,
  11047. DWORD *_pdwStubPhase);
  11048. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy(
  11049. IAMTimecodeReader * This,
  11050. /* [out] */ long *pLine);
  11051. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  11052. IRpcStubBuffer *This,
  11053. IRpcChannelBuffer *_pRpcChannelBuffer,
  11054. PRPC_MESSAGE _pRpcMessage,
  11055. DWORD *_pdwStubPhase);
  11056. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy(
  11057. IAMTimecodeReader * This,
  11058. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11059. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  11060. IRpcStubBuffer *This,
  11061. IRpcChannelBuffer *_pRpcChannelBuffer,
  11062. PRPC_MESSAGE _pRpcMessage,
  11063. DWORD *_pdwStubPhase);
  11064. #endif /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  11065. /* interface __MIDL_itf_strmif_0334 */
  11066. /* [local] */
  11067. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  11068. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  11069. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  11070. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  11071. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  11072. /* interface IAMTimecodeGenerator */
  11073. /* [unique][uuid][object] */
  11074. EXTERN_C const IID IID_IAMTimecodeGenerator;
  11075. #if defined(__cplusplus) && !defined(CINTERFACE)
  11076. MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  11077. IAMTimecodeGenerator : public IUnknown
  11078. {
  11079. public:
  11080. virtual HRESULT STDMETHODCALLTYPE GetTCGMode(
  11081. /* [in] */ long Param,
  11082. /* [out] */ long *pValue) = 0;
  11083. virtual HRESULT STDMETHODCALLTYPE SetTCGMode(
  11084. /* [in] */ long Param,
  11085. /* [in] */ long Value) = 0;
  11086. virtual HRESULT STDMETHODCALLTYPE put_VITCLine(
  11087. /* [in] */ long Line) = 0;
  11088. virtual HRESULT STDMETHODCALLTYPE get_VITCLine(
  11089. /* [out] */ long *pLine) = 0;
  11090. virtual HRESULT STDMETHODCALLTYPE SetTimecode(
  11091. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  11092. virtual HRESULT STDMETHODCALLTYPE GetTimecode(
  11093. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  11094. };
  11095. #else /* C style interface */
  11096. typedef struct IAMTimecodeGeneratorVtbl
  11097. {
  11098. BEGIN_INTERFACE
  11099. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11100. IAMTimecodeGenerator * This,
  11101. /* [in] */ REFIID riid,
  11102. /* [iid_is][out] */ void **ppvObject);
  11103. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11104. IAMTimecodeGenerator * This);
  11105. ULONG ( STDMETHODCALLTYPE *Release )(
  11106. IAMTimecodeGenerator * This);
  11107. HRESULT ( STDMETHODCALLTYPE *GetTCGMode )(
  11108. IAMTimecodeGenerator * This,
  11109. /* [in] */ long Param,
  11110. /* [out] */ long *pValue);
  11111. HRESULT ( STDMETHODCALLTYPE *SetTCGMode )(
  11112. IAMTimecodeGenerator * This,
  11113. /* [in] */ long Param,
  11114. /* [in] */ long Value);
  11115. HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(
  11116. IAMTimecodeGenerator * This,
  11117. /* [in] */ long Line);
  11118. HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(
  11119. IAMTimecodeGenerator * This,
  11120. /* [out] */ long *pLine);
  11121. HRESULT ( STDMETHODCALLTYPE *SetTimecode )(
  11122. IAMTimecodeGenerator * This,
  11123. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  11124. HRESULT ( STDMETHODCALLTYPE *GetTimecode )(
  11125. IAMTimecodeGenerator * This,
  11126. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11127. END_INTERFACE
  11128. } IAMTimecodeGeneratorVtbl;
  11129. interface IAMTimecodeGenerator
  11130. {
  11131. CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  11132. };
  11133. #ifdef COBJMACROS
  11134. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject) \
  11135. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11136. #define IAMTimecodeGenerator_AddRef(This) \
  11137. (This)->lpVtbl -> AddRef(This)
  11138. #define IAMTimecodeGenerator_Release(This) \
  11139. (This)->lpVtbl -> Release(This)
  11140. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue) \
  11141. (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  11142. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value) \
  11143. (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  11144. #define IAMTimecodeGenerator_put_VITCLine(This,Line) \
  11145. (This)->lpVtbl -> put_VITCLine(This,Line)
  11146. #define IAMTimecodeGenerator_get_VITCLine(This,pLine) \
  11147. (This)->lpVtbl -> get_VITCLine(This,pLine)
  11148. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample) \
  11149. (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  11150. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample) \
  11151. (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  11152. #endif /* COBJMACROS */
  11153. #endif /* C style interface */
  11154. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy(
  11155. IAMTimecodeGenerator * This,
  11156. /* [in] */ long Param,
  11157. /* [out] */ long *pValue);
  11158. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  11159. IRpcStubBuffer *This,
  11160. IRpcChannelBuffer *_pRpcChannelBuffer,
  11161. PRPC_MESSAGE _pRpcMessage,
  11162. DWORD *_pdwStubPhase);
  11163. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy(
  11164. IAMTimecodeGenerator * This,
  11165. /* [in] */ long Param,
  11166. /* [in] */ long Value);
  11167. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  11168. IRpcStubBuffer *This,
  11169. IRpcChannelBuffer *_pRpcChannelBuffer,
  11170. PRPC_MESSAGE _pRpcMessage,
  11171. DWORD *_pdwStubPhase);
  11172. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy(
  11173. IAMTimecodeGenerator * This,
  11174. /* [in] */ long Line);
  11175. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  11176. IRpcStubBuffer *This,
  11177. IRpcChannelBuffer *_pRpcChannelBuffer,
  11178. PRPC_MESSAGE _pRpcMessage,
  11179. DWORD *_pdwStubPhase);
  11180. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy(
  11181. IAMTimecodeGenerator * This,
  11182. /* [out] */ long *pLine);
  11183. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  11184. IRpcStubBuffer *This,
  11185. IRpcChannelBuffer *_pRpcChannelBuffer,
  11186. PRPC_MESSAGE _pRpcMessage,
  11187. DWORD *_pdwStubPhase);
  11188. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy(
  11189. IAMTimecodeGenerator * This,
  11190. /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  11191. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  11192. IRpcStubBuffer *This,
  11193. IRpcChannelBuffer *_pRpcChannelBuffer,
  11194. PRPC_MESSAGE _pRpcMessage,
  11195. DWORD *_pdwStubPhase);
  11196. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy(
  11197. IAMTimecodeGenerator * This,
  11198. /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  11199. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  11200. IRpcStubBuffer *This,
  11201. IRpcChannelBuffer *_pRpcChannelBuffer,
  11202. PRPC_MESSAGE _pRpcMessage,
  11203. DWORD *_pdwStubPhase);
  11204. #endif /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  11205. /* interface __MIDL_itf_strmif_0335 */
  11206. /* [local] */
  11207. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  11208. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  11209. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  11210. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  11211. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  11212. /* interface IAMTimecodeDisplay */
  11213. /* [unique][uuid][object] */
  11214. EXTERN_C const IID IID_IAMTimecodeDisplay;
  11215. #if defined(__cplusplus) && !defined(CINTERFACE)
  11216. MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  11217. IAMTimecodeDisplay : public IUnknown
  11218. {
  11219. public:
  11220. virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable(
  11221. /* [out] */ long *pState) = 0;
  11222. virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable(
  11223. /* [in] */ long State) = 0;
  11224. virtual HRESULT STDMETHODCALLTYPE GetTCDisplay(
  11225. /* [in] */ long Param,
  11226. /* [out] */ long *pValue) = 0;
  11227. virtual HRESULT STDMETHODCALLTYPE SetTCDisplay(
  11228. /* [in] */ long Param,
  11229. /* [in] */ long Value) = 0;
  11230. };
  11231. #else /* C style interface */
  11232. typedef struct IAMTimecodeDisplayVtbl
  11233. {
  11234. BEGIN_INTERFACE
  11235. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11236. IAMTimecodeDisplay * This,
  11237. /* [in] */ REFIID riid,
  11238. /* [iid_is][out] */ void **ppvObject);
  11239. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11240. IAMTimecodeDisplay * This);
  11241. ULONG ( STDMETHODCALLTYPE *Release )(
  11242. IAMTimecodeDisplay * This);
  11243. HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )(
  11244. IAMTimecodeDisplay * This,
  11245. /* [out] */ long *pState);
  11246. HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )(
  11247. IAMTimecodeDisplay * This,
  11248. /* [in] */ long State);
  11249. HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )(
  11250. IAMTimecodeDisplay * This,
  11251. /* [in] */ long Param,
  11252. /* [out] */ long *pValue);
  11253. HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )(
  11254. IAMTimecodeDisplay * This,
  11255. /* [in] */ long Param,
  11256. /* [in] */ long Value);
  11257. END_INTERFACE
  11258. } IAMTimecodeDisplayVtbl;
  11259. interface IAMTimecodeDisplay
  11260. {
  11261. CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  11262. };
  11263. #ifdef COBJMACROS
  11264. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject) \
  11265. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11266. #define IAMTimecodeDisplay_AddRef(This) \
  11267. (This)->lpVtbl -> AddRef(This)
  11268. #define IAMTimecodeDisplay_Release(This) \
  11269. (This)->lpVtbl -> Release(This)
  11270. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState) \
  11271. (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  11272. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State) \
  11273. (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  11274. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue) \
  11275. (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  11276. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value) \
  11277. (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  11278. #endif /* COBJMACROS */
  11279. #endif /* C style interface */
  11280. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(
  11281. IAMTimecodeDisplay * This,
  11282. /* [out] */ long *pState);
  11283. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  11284. IRpcStubBuffer *This,
  11285. IRpcChannelBuffer *_pRpcChannelBuffer,
  11286. PRPC_MESSAGE _pRpcMessage,
  11287. DWORD *_pdwStubPhase);
  11288. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(
  11289. IAMTimecodeDisplay * This,
  11290. /* [in] */ long State);
  11291. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  11292. IRpcStubBuffer *This,
  11293. IRpcChannelBuffer *_pRpcChannelBuffer,
  11294. PRPC_MESSAGE _pRpcMessage,
  11295. DWORD *_pdwStubPhase);
  11296. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy(
  11297. IAMTimecodeDisplay * This,
  11298. /* [in] */ long Param,
  11299. /* [out] */ long *pValue);
  11300. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  11301. IRpcStubBuffer *This,
  11302. IRpcChannelBuffer *_pRpcChannelBuffer,
  11303. PRPC_MESSAGE _pRpcMessage,
  11304. DWORD *_pdwStubPhase);
  11305. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy(
  11306. IAMTimecodeDisplay * This,
  11307. /* [in] */ long Param,
  11308. /* [in] */ long Value);
  11309. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  11310. IRpcStubBuffer *This,
  11311. IRpcChannelBuffer *_pRpcChannelBuffer,
  11312. PRPC_MESSAGE _pRpcMessage,
  11313. DWORD *_pdwStubPhase);
  11314. #endif /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  11315. /* interface __MIDL_itf_strmif_0336 */
  11316. /* [local] */
  11317. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  11318. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  11319. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  11320. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  11321. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  11322. /* interface IAMDevMemoryAllocator */
  11323. /* [unique][uuid][object] */
  11324. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  11325. #if defined(__cplusplus) && !defined(CINTERFACE)
  11326. MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  11327. IAMDevMemoryAllocator : public IUnknown
  11328. {
  11329. public:
  11330. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  11331. /* [out] */ DWORD *pdwcbTotalFree,
  11332. /* [out] */ DWORD *pdwcbLargestFree,
  11333. /* [out] */ DWORD *pdwcbTotalMemory,
  11334. /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  11335. virtual HRESULT STDMETHODCALLTYPE CheckMemory(
  11336. /* [in] */ const BYTE *pBuffer) = 0;
  11337. virtual HRESULT STDMETHODCALLTYPE Alloc(
  11338. /* [out] */ BYTE **ppBuffer,
  11339. /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  11340. virtual HRESULT STDMETHODCALLTYPE Free(
  11341. /* [in] */ BYTE *pBuffer) = 0;
  11342. virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject(
  11343. /* [out] */ IUnknown **ppUnkInnner,
  11344. /* [in] */ IUnknown *pUnkOuter) = 0;
  11345. };
  11346. #else /* C style interface */
  11347. typedef struct IAMDevMemoryAllocatorVtbl
  11348. {
  11349. BEGIN_INTERFACE
  11350. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11351. IAMDevMemoryAllocator * This,
  11352. /* [in] */ REFIID riid,
  11353. /* [iid_is][out] */ void **ppvObject);
  11354. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11355. IAMDevMemoryAllocator * This);
  11356. ULONG ( STDMETHODCALLTYPE *Release )(
  11357. IAMDevMemoryAllocator * This);
  11358. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  11359. IAMDevMemoryAllocator * This,
  11360. /* [out] */ DWORD *pdwcbTotalFree,
  11361. /* [out] */ DWORD *pdwcbLargestFree,
  11362. /* [out] */ DWORD *pdwcbTotalMemory,
  11363. /* [out] */ DWORD *pdwcbMinimumChunk);
  11364. HRESULT ( STDMETHODCALLTYPE *CheckMemory )(
  11365. IAMDevMemoryAllocator * This,
  11366. /* [in] */ const BYTE *pBuffer);
  11367. HRESULT ( STDMETHODCALLTYPE *Alloc )(
  11368. IAMDevMemoryAllocator * This,
  11369. /* [out] */ BYTE **ppBuffer,
  11370. /* [out][in] */ DWORD *pdwcbBuffer);
  11371. HRESULT ( STDMETHODCALLTYPE *Free )(
  11372. IAMDevMemoryAllocator * This,
  11373. /* [in] */ BYTE *pBuffer);
  11374. HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )(
  11375. IAMDevMemoryAllocator * This,
  11376. /* [out] */ IUnknown **ppUnkInnner,
  11377. /* [in] */ IUnknown *pUnkOuter);
  11378. END_INTERFACE
  11379. } IAMDevMemoryAllocatorVtbl;
  11380. interface IAMDevMemoryAllocator
  11381. {
  11382. CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  11383. };
  11384. #ifdef COBJMACROS
  11385. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject) \
  11386. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11387. #define IAMDevMemoryAllocator_AddRef(This) \
  11388. (This)->lpVtbl -> AddRef(This)
  11389. #define IAMDevMemoryAllocator_Release(This) \
  11390. (This)->lpVtbl -> Release(This)
  11391. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk) \
  11392. (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  11393. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer) \
  11394. (This)->lpVtbl -> CheckMemory(This,pBuffer)
  11395. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer) \
  11396. (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  11397. #define IAMDevMemoryAllocator_Free(This,pBuffer) \
  11398. (This)->lpVtbl -> Free(This,pBuffer)
  11399. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter) \
  11400. (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  11401. #endif /* COBJMACROS */
  11402. #endif /* C style interface */
  11403. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy(
  11404. IAMDevMemoryAllocator * This,
  11405. /* [out] */ DWORD *pdwcbTotalFree,
  11406. /* [out] */ DWORD *pdwcbLargestFree,
  11407. /* [out] */ DWORD *pdwcbTotalMemory,
  11408. /* [out] */ DWORD *pdwcbMinimumChunk);
  11409. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  11410. IRpcStubBuffer *This,
  11411. IRpcChannelBuffer *_pRpcChannelBuffer,
  11412. PRPC_MESSAGE _pRpcMessage,
  11413. DWORD *_pdwStubPhase);
  11414. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy(
  11415. IAMDevMemoryAllocator * This,
  11416. /* [in] */ const BYTE *pBuffer);
  11417. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  11418. IRpcStubBuffer *This,
  11419. IRpcChannelBuffer *_pRpcChannelBuffer,
  11420. PRPC_MESSAGE _pRpcMessage,
  11421. DWORD *_pdwStubPhase);
  11422. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy(
  11423. IAMDevMemoryAllocator * This,
  11424. /* [out] */ BYTE **ppBuffer,
  11425. /* [out][in] */ DWORD *pdwcbBuffer);
  11426. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  11427. IRpcStubBuffer *This,
  11428. IRpcChannelBuffer *_pRpcChannelBuffer,
  11429. PRPC_MESSAGE _pRpcMessage,
  11430. DWORD *_pdwStubPhase);
  11431. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy(
  11432. IAMDevMemoryAllocator * This,
  11433. /* [in] */ BYTE *pBuffer);
  11434. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  11435. IRpcStubBuffer *This,
  11436. IRpcChannelBuffer *_pRpcChannelBuffer,
  11437. PRPC_MESSAGE _pRpcMessage,
  11438. DWORD *_pdwStubPhase);
  11439. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(
  11440. IAMDevMemoryAllocator * This,
  11441. /* [out] */ IUnknown **ppUnkInnner,
  11442. /* [in] */ IUnknown *pUnkOuter);
  11443. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  11444. IRpcStubBuffer *This,
  11445. IRpcChannelBuffer *_pRpcChannelBuffer,
  11446. PRPC_MESSAGE _pRpcMessage,
  11447. DWORD *_pdwStubPhase);
  11448. #endif /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  11449. /* interface __MIDL_itf_strmif_0337 */
  11450. /* [local] */
  11451. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  11452. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  11453. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  11454. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  11455. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  11456. /* interface IAMDevMemoryControl */
  11457. /* [unique][uuid][object] */
  11458. EXTERN_C const IID IID_IAMDevMemoryControl;
  11459. #if defined(__cplusplus) && !defined(CINTERFACE)
  11460. MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  11461. IAMDevMemoryControl : public IUnknown
  11462. {
  11463. public:
  11464. virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  11465. virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  11466. virtual HRESULT STDMETHODCALLTYPE GetDevId(
  11467. /* [out] */ DWORD *pdwDevId) = 0;
  11468. };
  11469. #else /* C style interface */
  11470. typedef struct IAMDevMemoryControlVtbl
  11471. {
  11472. BEGIN_INTERFACE
  11473. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11474. IAMDevMemoryControl * This,
  11475. /* [in] */ REFIID riid,
  11476. /* [iid_is][out] */ void **ppvObject);
  11477. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11478. IAMDevMemoryControl * This);
  11479. ULONG ( STDMETHODCALLTYPE *Release )(
  11480. IAMDevMemoryControl * This);
  11481. HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )(
  11482. IAMDevMemoryControl * This);
  11483. HRESULT ( STDMETHODCALLTYPE *WriteSync )(
  11484. IAMDevMemoryControl * This);
  11485. HRESULT ( STDMETHODCALLTYPE *GetDevId )(
  11486. IAMDevMemoryControl * This,
  11487. /* [out] */ DWORD *pdwDevId);
  11488. END_INTERFACE
  11489. } IAMDevMemoryControlVtbl;
  11490. interface IAMDevMemoryControl
  11491. {
  11492. CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  11493. };
  11494. #ifdef COBJMACROS
  11495. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject) \
  11496. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11497. #define IAMDevMemoryControl_AddRef(This) \
  11498. (This)->lpVtbl -> AddRef(This)
  11499. #define IAMDevMemoryControl_Release(This) \
  11500. (This)->lpVtbl -> Release(This)
  11501. #define IAMDevMemoryControl_QueryWriteSync(This) \
  11502. (This)->lpVtbl -> QueryWriteSync(This)
  11503. #define IAMDevMemoryControl_WriteSync(This) \
  11504. (This)->lpVtbl -> WriteSync(This)
  11505. #define IAMDevMemoryControl_GetDevId(This,pdwDevId) \
  11506. (This)->lpVtbl -> GetDevId(This,pdwDevId)
  11507. #endif /* COBJMACROS */
  11508. #endif /* C style interface */
  11509. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy(
  11510. IAMDevMemoryControl * This);
  11511. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  11512. IRpcStubBuffer *This,
  11513. IRpcChannelBuffer *_pRpcChannelBuffer,
  11514. PRPC_MESSAGE _pRpcMessage,
  11515. DWORD *_pdwStubPhase);
  11516. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy(
  11517. IAMDevMemoryControl * This);
  11518. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  11519. IRpcStubBuffer *This,
  11520. IRpcChannelBuffer *_pRpcChannelBuffer,
  11521. PRPC_MESSAGE _pRpcMessage,
  11522. DWORD *_pdwStubPhase);
  11523. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy(
  11524. IAMDevMemoryControl * This,
  11525. /* [out] */ DWORD *pdwDevId);
  11526. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  11527. IRpcStubBuffer *This,
  11528. IRpcChannelBuffer *_pRpcChannelBuffer,
  11529. PRPC_MESSAGE _pRpcMessage,
  11530. DWORD *_pdwStubPhase);
  11531. #endif /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  11532. /* interface __MIDL_itf_strmif_0338 */
  11533. /* [local] */
  11534. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  11535. enum _AMSTREAMSELECTINFOFLAGS
  11536. { AMSTREAMSELECTINFO_ENABLED = 0x1,
  11537. AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
  11538. } ;
  11539. enum _AMSTREAMSELECTENABLEFLAGS
  11540. { AMSTREAMSELECTENABLE_ENABLE = 0x1,
  11541. AMSTREAMSELECTENABLE_ENABLEALL = 0x2
  11542. } ;
  11543. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
  11544. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
  11545. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  11546. #define __IAMStreamSelect_INTERFACE_DEFINED__
  11547. /* interface IAMStreamSelect */
  11548. /* [unique][uuid][object] */
  11549. EXTERN_C const IID IID_IAMStreamSelect;
  11550. #if defined(__cplusplus) && !defined(CINTERFACE)
  11551. MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  11552. IAMStreamSelect : public IUnknown
  11553. {
  11554. public:
  11555. virtual HRESULT STDMETHODCALLTYPE Count(
  11556. /* [out] */ DWORD *pcStreams) = 0;
  11557. virtual HRESULT STDMETHODCALLTYPE Info(
  11558. /* [in] */ long lIndex,
  11559. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11560. /* [out] */ DWORD *pdwFlags,
  11561. /* [out] */ LCID *plcid,
  11562. /* [out] */ DWORD *pdwGroup,
  11563. /* [out] */ WCHAR **ppszName,
  11564. /* [out] */ IUnknown **ppObject,
  11565. /* [out] */ IUnknown **ppUnk) = 0;
  11566. virtual HRESULT STDMETHODCALLTYPE Enable(
  11567. /* [in] */ long lIndex,
  11568. /* [in] */ DWORD dwFlags) = 0;
  11569. };
  11570. #else /* C style interface */
  11571. typedef struct IAMStreamSelectVtbl
  11572. {
  11573. BEGIN_INTERFACE
  11574. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11575. IAMStreamSelect * This,
  11576. /* [in] */ REFIID riid,
  11577. /* [iid_is][out] */ void **ppvObject);
  11578. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11579. IAMStreamSelect * This);
  11580. ULONG ( STDMETHODCALLTYPE *Release )(
  11581. IAMStreamSelect * This);
  11582. HRESULT ( STDMETHODCALLTYPE *Count )(
  11583. IAMStreamSelect * This,
  11584. /* [out] */ DWORD *pcStreams);
  11585. HRESULT ( STDMETHODCALLTYPE *Info )(
  11586. IAMStreamSelect * This,
  11587. /* [in] */ long lIndex,
  11588. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11589. /* [out] */ DWORD *pdwFlags,
  11590. /* [out] */ LCID *plcid,
  11591. /* [out] */ DWORD *pdwGroup,
  11592. /* [out] */ WCHAR **ppszName,
  11593. /* [out] */ IUnknown **ppObject,
  11594. /* [out] */ IUnknown **ppUnk);
  11595. HRESULT ( STDMETHODCALLTYPE *Enable )(
  11596. IAMStreamSelect * This,
  11597. /* [in] */ long lIndex,
  11598. /* [in] */ DWORD dwFlags);
  11599. END_INTERFACE
  11600. } IAMStreamSelectVtbl;
  11601. interface IAMStreamSelect
  11602. {
  11603. CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  11604. };
  11605. #ifdef COBJMACROS
  11606. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject) \
  11607. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11608. #define IAMStreamSelect_AddRef(This) \
  11609. (This)->lpVtbl -> AddRef(This)
  11610. #define IAMStreamSelect_Release(This) \
  11611. (This)->lpVtbl -> Release(This)
  11612. #define IAMStreamSelect_Count(This,pcStreams) \
  11613. (This)->lpVtbl -> Count(This,pcStreams)
  11614. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk) \
  11615. (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  11616. #define IAMStreamSelect_Enable(This,lIndex,dwFlags) \
  11617. (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  11618. #endif /* COBJMACROS */
  11619. #endif /* C style interface */
  11620. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy(
  11621. IAMStreamSelect * This,
  11622. /* [out] */ DWORD *pcStreams);
  11623. void __RPC_STUB IAMStreamSelect_Count_Stub(
  11624. IRpcStubBuffer *This,
  11625. IRpcChannelBuffer *_pRpcChannelBuffer,
  11626. PRPC_MESSAGE _pRpcMessage,
  11627. DWORD *_pdwStubPhase);
  11628. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy(
  11629. IAMStreamSelect * This,
  11630. /* [in] */ long lIndex,
  11631. /* [out] */ AM_MEDIA_TYPE **ppmt,
  11632. /* [out] */ DWORD *pdwFlags,
  11633. /* [out] */ LCID *plcid,
  11634. /* [out] */ DWORD *pdwGroup,
  11635. /* [out] */ WCHAR **ppszName,
  11636. /* [out] */ IUnknown **ppObject,
  11637. /* [out] */ IUnknown **ppUnk);
  11638. void __RPC_STUB IAMStreamSelect_Info_Stub(
  11639. IRpcStubBuffer *This,
  11640. IRpcChannelBuffer *_pRpcChannelBuffer,
  11641. PRPC_MESSAGE _pRpcMessage,
  11642. DWORD *_pdwStubPhase);
  11643. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy(
  11644. IAMStreamSelect * This,
  11645. /* [in] */ long lIndex,
  11646. /* [in] */ DWORD dwFlags);
  11647. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  11648. IRpcStubBuffer *This,
  11649. IRpcChannelBuffer *_pRpcChannelBuffer,
  11650. PRPC_MESSAGE _pRpcMessage,
  11651. DWORD *_pdwStubPhase);
  11652. #endif /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  11653. /* interface __MIDL_itf_strmif_0339 */
  11654. /* [local] */
  11655. typedef IAMStreamSelect *PAMSTREAMSELECT;
  11656. enum _AMRESCTL_RESERVEFLAGS
  11657. { AMRESCTL_RESERVEFLAGS_RESERVE = 0,
  11658. AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
  11659. } ;
  11660. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_c_ifspec;
  11661. extern RPC_IF_HANDLE __MIDL_itf_strmif_0339_v0_0_s_ifspec;
  11662. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  11663. #define __IAMResourceControl_INTERFACE_DEFINED__
  11664. /* interface IAMResourceControl */
  11665. /* [local][unique][uuid][object] */
  11666. EXTERN_C const IID IID_IAMResourceControl;
  11667. #if defined(__cplusplus) && !defined(CINTERFACE)
  11668. MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  11669. IAMResourceControl : public IUnknown
  11670. {
  11671. public:
  11672. virtual HRESULT STDMETHODCALLTYPE Reserve(
  11673. /* [in] */ DWORD dwFlags,
  11674. /* [in] */ PVOID pvReserved) = 0;
  11675. };
  11676. #else /* C style interface */
  11677. typedef struct IAMResourceControlVtbl
  11678. {
  11679. BEGIN_INTERFACE
  11680. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11681. IAMResourceControl * This,
  11682. /* [in] */ REFIID riid,
  11683. /* [iid_is][out] */ void **ppvObject);
  11684. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11685. IAMResourceControl * This);
  11686. ULONG ( STDMETHODCALLTYPE *Release )(
  11687. IAMResourceControl * This);
  11688. HRESULT ( STDMETHODCALLTYPE *Reserve )(
  11689. IAMResourceControl * This,
  11690. /* [in] */ DWORD dwFlags,
  11691. /* [in] */ PVOID pvReserved);
  11692. END_INTERFACE
  11693. } IAMResourceControlVtbl;
  11694. interface IAMResourceControl
  11695. {
  11696. CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  11697. };
  11698. #ifdef COBJMACROS
  11699. #define IAMResourceControl_QueryInterface(This,riid,ppvObject) \
  11700. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11701. #define IAMResourceControl_AddRef(This) \
  11702. (This)->lpVtbl -> AddRef(This)
  11703. #define IAMResourceControl_Release(This) \
  11704. (This)->lpVtbl -> Release(This)
  11705. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved) \
  11706. (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  11707. #endif /* COBJMACROS */
  11708. #endif /* C style interface */
  11709. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy(
  11710. IAMResourceControl * This,
  11711. /* [in] */ DWORD dwFlags,
  11712. /* [in] */ PVOID pvReserved);
  11713. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  11714. IRpcStubBuffer *This,
  11715. IRpcChannelBuffer *_pRpcChannelBuffer,
  11716. PRPC_MESSAGE _pRpcMessage,
  11717. DWORD *_pdwStubPhase);
  11718. #endif /* __IAMResourceControl_INTERFACE_DEFINED__ */
  11719. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  11720. #define __IAMClockAdjust_INTERFACE_DEFINED__
  11721. /* interface IAMClockAdjust */
  11722. /* [local][unique][uuid][object] */
  11723. EXTERN_C const IID IID_IAMClockAdjust;
  11724. #if defined(__cplusplus) && !defined(CINTERFACE)
  11725. MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  11726. IAMClockAdjust : public IUnknown
  11727. {
  11728. public:
  11729. virtual HRESULT STDMETHODCALLTYPE SetClockDelta(
  11730. /* [in] */ REFERENCE_TIME rtDelta) = 0;
  11731. };
  11732. #else /* C style interface */
  11733. typedef struct IAMClockAdjustVtbl
  11734. {
  11735. BEGIN_INTERFACE
  11736. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11737. IAMClockAdjust * This,
  11738. /* [in] */ REFIID riid,
  11739. /* [iid_is][out] */ void **ppvObject);
  11740. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11741. IAMClockAdjust * This);
  11742. ULONG ( STDMETHODCALLTYPE *Release )(
  11743. IAMClockAdjust * This);
  11744. HRESULT ( STDMETHODCALLTYPE *SetClockDelta )(
  11745. IAMClockAdjust * This,
  11746. /* [in] */ REFERENCE_TIME rtDelta);
  11747. END_INTERFACE
  11748. } IAMClockAdjustVtbl;
  11749. interface IAMClockAdjust
  11750. {
  11751. CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  11752. };
  11753. #ifdef COBJMACROS
  11754. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject) \
  11755. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11756. #define IAMClockAdjust_AddRef(This) \
  11757. (This)->lpVtbl -> AddRef(This)
  11758. #define IAMClockAdjust_Release(This) \
  11759. (This)->lpVtbl -> Release(This)
  11760. #define IAMClockAdjust_SetClockDelta(This,rtDelta) \
  11761. (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  11762. #endif /* COBJMACROS */
  11763. #endif /* C style interface */
  11764. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy(
  11765. IAMClockAdjust * This,
  11766. /* [in] */ REFERENCE_TIME rtDelta);
  11767. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  11768. IRpcStubBuffer *This,
  11769. IRpcChannelBuffer *_pRpcChannelBuffer,
  11770. PRPC_MESSAGE _pRpcMessage,
  11771. DWORD *_pdwStubPhase);
  11772. #endif /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  11773. /* interface __MIDL_itf_strmif_0341 */
  11774. /* [local] */
  11775. enum _AM_FILTER_MISC_FLAGS
  11776. { AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
  11777. AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
  11778. } ;
  11779. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
  11780. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
  11781. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  11782. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  11783. /* interface IAMFilterMiscFlags */
  11784. /* [local][unique][uuid][object] */
  11785. EXTERN_C const IID IID_IAMFilterMiscFlags;
  11786. #if defined(__cplusplus) && !defined(CINTERFACE)
  11787. MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  11788. IAMFilterMiscFlags : public IUnknown
  11789. {
  11790. public:
  11791. virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  11792. };
  11793. #else /* C style interface */
  11794. typedef struct IAMFilterMiscFlagsVtbl
  11795. {
  11796. BEGIN_INTERFACE
  11797. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11798. IAMFilterMiscFlags * This,
  11799. /* [in] */ REFIID riid,
  11800. /* [iid_is][out] */ void **ppvObject);
  11801. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11802. IAMFilterMiscFlags * This);
  11803. ULONG ( STDMETHODCALLTYPE *Release )(
  11804. IAMFilterMiscFlags * This);
  11805. ULONG ( STDMETHODCALLTYPE *GetMiscFlags )(
  11806. IAMFilterMiscFlags * This);
  11807. END_INTERFACE
  11808. } IAMFilterMiscFlagsVtbl;
  11809. interface IAMFilterMiscFlags
  11810. {
  11811. CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  11812. };
  11813. #ifdef COBJMACROS
  11814. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject) \
  11815. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11816. #define IAMFilterMiscFlags_AddRef(This) \
  11817. (This)->lpVtbl -> AddRef(This)
  11818. #define IAMFilterMiscFlags_Release(This) \
  11819. (This)->lpVtbl -> Release(This)
  11820. #define IAMFilterMiscFlags_GetMiscFlags(This) \
  11821. (This)->lpVtbl -> GetMiscFlags(This)
  11822. #endif /* COBJMACROS */
  11823. #endif /* C style interface */
  11824. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(
  11825. IAMFilterMiscFlags * This);
  11826. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  11827. IRpcStubBuffer *This,
  11828. IRpcChannelBuffer *_pRpcChannelBuffer,
  11829. PRPC_MESSAGE _pRpcMessage,
  11830. DWORD *_pdwStubPhase);
  11831. #endif /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  11832. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  11833. #define __IDrawVideoImage_INTERFACE_DEFINED__
  11834. /* interface IDrawVideoImage */
  11835. /* [unique][uuid][local][object] */
  11836. EXTERN_C const IID IID_IDrawVideoImage;
  11837. #if defined(__cplusplus) && !defined(CINTERFACE)
  11838. MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  11839. IDrawVideoImage : public IUnknown
  11840. {
  11841. public:
  11842. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  11843. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  11844. virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw(
  11845. /* [in] */ HDC hdc,
  11846. /* [in] */ LPRECT lprcSrc,
  11847. /* [in] */ LPRECT lprcDst) = 0;
  11848. };
  11849. #else /* C style interface */
  11850. typedef struct IDrawVideoImageVtbl
  11851. {
  11852. BEGIN_INTERFACE
  11853. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11854. IDrawVideoImage * This,
  11855. /* [in] */ REFIID riid,
  11856. /* [iid_is][out] */ void **ppvObject);
  11857. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11858. IDrawVideoImage * This);
  11859. ULONG ( STDMETHODCALLTYPE *Release )(
  11860. IDrawVideoImage * This);
  11861. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )(
  11862. IDrawVideoImage * This);
  11863. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )(
  11864. IDrawVideoImage * This);
  11865. HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )(
  11866. IDrawVideoImage * This,
  11867. /* [in] */ HDC hdc,
  11868. /* [in] */ LPRECT lprcSrc,
  11869. /* [in] */ LPRECT lprcDst);
  11870. END_INTERFACE
  11871. } IDrawVideoImageVtbl;
  11872. interface IDrawVideoImage
  11873. {
  11874. CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  11875. };
  11876. #ifdef COBJMACROS
  11877. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject) \
  11878. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11879. #define IDrawVideoImage_AddRef(This) \
  11880. (This)->lpVtbl -> AddRef(This)
  11881. #define IDrawVideoImage_Release(This) \
  11882. (This)->lpVtbl -> Release(This)
  11883. #define IDrawVideoImage_DrawVideoImageBegin(This) \
  11884. (This)->lpVtbl -> DrawVideoImageBegin(This)
  11885. #define IDrawVideoImage_DrawVideoImageEnd(This) \
  11886. (This)->lpVtbl -> DrawVideoImageEnd(This)
  11887. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst) \
  11888. (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  11889. #endif /* COBJMACROS */
  11890. #endif /* C style interface */
  11891. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy(
  11892. IDrawVideoImage * This);
  11893. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  11894. IRpcStubBuffer *This,
  11895. IRpcChannelBuffer *_pRpcChannelBuffer,
  11896. PRPC_MESSAGE _pRpcMessage,
  11897. DWORD *_pdwStubPhase);
  11898. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy(
  11899. IDrawVideoImage * This);
  11900. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  11901. IRpcStubBuffer *This,
  11902. IRpcChannelBuffer *_pRpcChannelBuffer,
  11903. PRPC_MESSAGE _pRpcMessage,
  11904. DWORD *_pdwStubPhase);
  11905. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy(
  11906. IDrawVideoImage * This,
  11907. /* [in] */ HDC hdc,
  11908. /* [in] */ LPRECT lprcSrc,
  11909. /* [in] */ LPRECT lprcDst);
  11910. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  11911. IRpcStubBuffer *This,
  11912. IRpcChannelBuffer *_pRpcChannelBuffer,
  11913. PRPC_MESSAGE _pRpcMessage,
  11914. DWORD *_pdwStubPhase);
  11915. #endif /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  11916. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  11917. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  11918. /* interface IDecimateVideoImage */
  11919. /* [unique][uuid][local][object] */
  11920. EXTERN_C const IID IID_IDecimateVideoImage;
  11921. #if defined(__cplusplus) && !defined(CINTERFACE)
  11922. MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  11923. IDecimateVideoImage : public IUnknown
  11924. {
  11925. public:
  11926. virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize(
  11927. /* [in] */ long lWidth,
  11928. /* [in] */ long lHeight) = 0;
  11929. virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  11930. };
  11931. #else /* C style interface */
  11932. typedef struct IDecimateVideoImageVtbl
  11933. {
  11934. BEGIN_INTERFACE
  11935. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  11936. IDecimateVideoImage * This,
  11937. /* [in] */ REFIID riid,
  11938. /* [iid_is][out] */ void **ppvObject);
  11939. ULONG ( STDMETHODCALLTYPE *AddRef )(
  11940. IDecimateVideoImage * This);
  11941. ULONG ( STDMETHODCALLTYPE *Release )(
  11942. IDecimateVideoImage * This);
  11943. HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )(
  11944. IDecimateVideoImage * This,
  11945. /* [in] */ long lWidth,
  11946. /* [in] */ long lHeight);
  11947. HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )(
  11948. IDecimateVideoImage * This);
  11949. END_INTERFACE
  11950. } IDecimateVideoImageVtbl;
  11951. interface IDecimateVideoImage
  11952. {
  11953. CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  11954. };
  11955. #ifdef COBJMACROS
  11956. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject) \
  11957. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11958. #define IDecimateVideoImage_AddRef(This) \
  11959. (This)->lpVtbl -> AddRef(This)
  11960. #define IDecimateVideoImage_Release(This) \
  11961. (This)->lpVtbl -> Release(This)
  11962. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight) \
  11963. (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  11964. #define IDecimateVideoImage_ResetDecimationImageSize(This) \
  11965. (This)->lpVtbl -> ResetDecimationImageSize(This)
  11966. #endif /* COBJMACROS */
  11967. #endif /* C style interface */
  11968. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy(
  11969. IDecimateVideoImage * This,
  11970. /* [in] */ long lWidth,
  11971. /* [in] */ long lHeight);
  11972. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  11973. IRpcStubBuffer *This,
  11974. IRpcChannelBuffer *_pRpcChannelBuffer,
  11975. PRPC_MESSAGE _pRpcMessage,
  11976. DWORD *_pdwStubPhase);
  11977. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy(
  11978. IDecimateVideoImage * This);
  11979. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  11980. IRpcStubBuffer *This,
  11981. IRpcChannelBuffer *_pRpcChannelBuffer,
  11982. PRPC_MESSAGE _pRpcMessage,
  11983. DWORD *_pdwStubPhase);
  11984. #endif /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  11985. /* interface __MIDL_itf_strmif_0344 */
  11986. /* [local] */
  11987. typedef
  11988. enum _DECIMATION_USAGE
  11989. { DECIMATION_LEGACY = 0,
  11990. DECIMATION_USE_DECODER_ONLY = DECIMATION_LEGACY + 1,
  11991. DECIMATION_USE_VIDEOPORT_ONLY = DECIMATION_USE_DECODER_ONLY + 1,
  11992. DECIMATION_USE_OVERLAY_ONLY = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  11993. DECIMATION_DEFAULT = DECIMATION_USE_OVERLAY_ONLY + 1
  11994. } DECIMATION_USAGE;
  11995. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  11996. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  11997. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  11998. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  11999. /* interface IAMVideoDecimationProperties */
  12000. /* [unique][uuid][local][object] */
  12001. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  12002. #if defined(__cplusplus) && !defined(CINTERFACE)
  12003. MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  12004. IAMVideoDecimationProperties : public IUnknown
  12005. {
  12006. public:
  12007. virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage(
  12008. /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  12009. virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage(
  12010. /* [in] */ DECIMATION_USAGE Usage) = 0;
  12011. };
  12012. #else /* C style interface */
  12013. typedef struct IAMVideoDecimationPropertiesVtbl
  12014. {
  12015. BEGIN_INTERFACE
  12016. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12017. IAMVideoDecimationProperties * This,
  12018. /* [in] */ REFIID riid,
  12019. /* [iid_is][out] */ void **ppvObject);
  12020. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12021. IAMVideoDecimationProperties * This);
  12022. ULONG ( STDMETHODCALLTYPE *Release )(
  12023. IAMVideoDecimationProperties * This);
  12024. HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )(
  12025. IAMVideoDecimationProperties * This,
  12026. /* [out] */ DECIMATION_USAGE *lpUsage);
  12027. HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )(
  12028. IAMVideoDecimationProperties * This,
  12029. /* [in] */ DECIMATION_USAGE Usage);
  12030. END_INTERFACE
  12031. } IAMVideoDecimationPropertiesVtbl;
  12032. interface IAMVideoDecimationProperties
  12033. {
  12034. CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  12035. };
  12036. #ifdef COBJMACROS
  12037. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject) \
  12038. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12039. #define IAMVideoDecimationProperties_AddRef(This) \
  12040. (This)->lpVtbl -> AddRef(This)
  12041. #define IAMVideoDecimationProperties_Release(This) \
  12042. (This)->lpVtbl -> Release(This)
  12043. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage) \
  12044. (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  12045. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage) \
  12046. (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  12047. #endif /* COBJMACROS */
  12048. #endif /* C style interface */
  12049. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(
  12050. IAMVideoDecimationProperties * This,
  12051. /* [out] */ DECIMATION_USAGE *lpUsage);
  12052. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  12053. IRpcStubBuffer *This,
  12054. IRpcChannelBuffer *_pRpcChannelBuffer,
  12055. PRPC_MESSAGE _pRpcMessage,
  12056. DWORD *_pdwStubPhase);
  12057. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy(
  12058. IAMVideoDecimationProperties * This,
  12059. /* [in] */ DECIMATION_USAGE Usage);
  12060. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  12061. IRpcStubBuffer *This,
  12062. IRpcChannelBuffer *_pRpcChannelBuffer,
  12063. PRPC_MESSAGE _pRpcMessage,
  12064. DWORD *_pdwStubPhase);
  12065. #endif /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  12066. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  12067. #define __IVideoFrameStep_INTERFACE_DEFINED__
  12068. /* interface IVideoFrameStep */
  12069. /* [unique][uuid][object] */
  12070. EXTERN_C const IID IID_IVideoFrameStep;
  12071. #if defined(__cplusplus) && !defined(CINTERFACE)
  12072. MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  12073. IVideoFrameStep : public IUnknown
  12074. {
  12075. public:
  12076. virtual HRESULT STDMETHODCALLTYPE Step(
  12077. DWORD dwFrames,
  12078. /* [unique] */ IUnknown *pStepObject) = 0;
  12079. virtual HRESULT STDMETHODCALLTYPE CanStep(
  12080. long bMultiple,
  12081. /* [unique] */ IUnknown *pStepObject) = 0;
  12082. virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  12083. };
  12084. #else /* C style interface */
  12085. typedef struct IVideoFrameStepVtbl
  12086. {
  12087. BEGIN_INTERFACE
  12088. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12089. IVideoFrameStep * This,
  12090. /* [in] */ REFIID riid,
  12091. /* [iid_is][out] */ void **ppvObject);
  12092. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12093. IVideoFrameStep * This);
  12094. ULONG ( STDMETHODCALLTYPE *Release )(
  12095. IVideoFrameStep * This);
  12096. HRESULT ( STDMETHODCALLTYPE *Step )(
  12097. IVideoFrameStep * This,
  12098. DWORD dwFrames,
  12099. /* [unique] */ IUnknown *pStepObject);
  12100. HRESULT ( STDMETHODCALLTYPE *CanStep )(
  12101. IVideoFrameStep * This,
  12102. long bMultiple,
  12103. /* [unique] */ IUnknown *pStepObject);
  12104. HRESULT ( STDMETHODCALLTYPE *CancelStep )(
  12105. IVideoFrameStep * This);
  12106. END_INTERFACE
  12107. } IVideoFrameStepVtbl;
  12108. interface IVideoFrameStep
  12109. {
  12110. CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  12111. };
  12112. #ifdef COBJMACROS
  12113. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject) \
  12114. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12115. #define IVideoFrameStep_AddRef(This) \
  12116. (This)->lpVtbl -> AddRef(This)
  12117. #define IVideoFrameStep_Release(This) \
  12118. (This)->lpVtbl -> Release(This)
  12119. #define IVideoFrameStep_Step(This,dwFrames,pStepObject) \
  12120. (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  12121. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject) \
  12122. (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  12123. #define IVideoFrameStep_CancelStep(This) \
  12124. (This)->lpVtbl -> CancelStep(This)
  12125. #endif /* COBJMACROS */
  12126. #endif /* C style interface */
  12127. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy(
  12128. IVideoFrameStep * This,
  12129. DWORD dwFrames,
  12130. /* [unique] */ IUnknown *pStepObject);
  12131. void __RPC_STUB IVideoFrameStep_Step_Stub(
  12132. IRpcStubBuffer *This,
  12133. IRpcChannelBuffer *_pRpcChannelBuffer,
  12134. PRPC_MESSAGE _pRpcMessage,
  12135. DWORD *_pdwStubPhase);
  12136. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy(
  12137. IVideoFrameStep * This,
  12138. long bMultiple,
  12139. /* [unique] */ IUnknown *pStepObject);
  12140. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  12141. IRpcStubBuffer *This,
  12142. IRpcChannelBuffer *_pRpcChannelBuffer,
  12143. PRPC_MESSAGE _pRpcMessage,
  12144. DWORD *_pdwStubPhase);
  12145. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy(
  12146. IVideoFrameStep * This);
  12147. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  12148. IRpcStubBuffer *This,
  12149. IRpcChannelBuffer *_pRpcChannelBuffer,
  12150. PRPC_MESSAGE _pRpcMessage,
  12151. DWORD *_pdwStubPhase);
  12152. #endif /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  12153. /* interface __MIDL_itf_strmif_0346 */
  12154. /* [local] */
  12155. enum _AM_PUSHSOURCE_FLAGS
  12156. { AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,
  12157. AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,
  12158. AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
  12159. AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000,
  12160. AM_PUSHSOURCEREQS_USE_CLOCK_CHAIN = 0x20000
  12161. } ;
  12162. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
  12163. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
  12164. #ifndef __IAMLatency_INTERFACE_DEFINED__
  12165. #define __IAMLatency_INTERFACE_DEFINED__
  12166. /* interface IAMLatency */
  12167. /* [unique][uuid][object] */
  12168. EXTERN_C const IID IID_IAMLatency;
  12169. #if defined(__cplusplus) && !defined(CINTERFACE)
  12170. MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  12171. IAMLatency : public IUnknown
  12172. {
  12173. public:
  12174. virtual HRESULT STDMETHODCALLTYPE GetLatency(
  12175. /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  12176. };
  12177. #else /* C style interface */
  12178. typedef struct IAMLatencyVtbl
  12179. {
  12180. BEGIN_INTERFACE
  12181. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12182. IAMLatency * This,
  12183. /* [in] */ REFIID riid,
  12184. /* [iid_is][out] */ void **ppvObject);
  12185. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12186. IAMLatency * This);
  12187. ULONG ( STDMETHODCALLTYPE *Release )(
  12188. IAMLatency * This);
  12189. HRESULT ( STDMETHODCALLTYPE *GetLatency )(
  12190. IAMLatency * This,
  12191. /* [in] */ REFERENCE_TIME *prtLatency);
  12192. END_INTERFACE
  12193. } IAMLatencyVtbl;
  12194. interface IAMLatency
  12195. {
  12196. CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  12197. };
  12198. #ifdef COBJMACROS
  12199. #define IAMLatency_QueryInterface(This,riid,ppvObject) \
  12200. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12201. #define IAMLatency_AddRef(This) \
  12202. (This)->lpVtbl -> AddRef(This)
  12203. #define IAMLatency_Release(This) \
  12204. (This)->lpVtbl -> Release(This)
  12205. #define IAMLatency_GetLatency(This,prtLatency) \
  12206. (This)->lpVtbl -> GetLatency(This,prtLatency)
  12207. #endif /* COBJMACROS */
  12208. #endif /* C style interface */
  12209. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy(
  12210. IAMLatency * This,
  12211. /* [in] */ REFERENCE_TIME *prtLatency);
  12212. void __RPC_STUB IAMLatency_GetLatency_Stub(
  12213. IRpcStubBuffer *This,
  12214. IRpcChannelBuffer *_pRpcChannelBuffer,
  12215. PRPC_MESSAGE _pRpcMessage,
  12216. DWORD *_pdwStubPhase);
  12217. #endif /* __IAMLatency_INTERFACE_DEFINED__ */
  12218. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  12219. #define __IAMPushSource_INTERFACE_DEFINED__
  12220. /* interface IAMPushSource */
  12221. /* [unique][uuid][object] */
  12222. EXTERN_C const IID IID_IAMPushSource;
  12223. #if defined(__cplusplus) && !defined(CINTERFACE)
  12224. MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  12225. IAMPushSource : public IAMLatency
  12226. {
  12227. public:
  12228. virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags(
  12229. /* [out] */ ULONG *pFlags) = 0;
  12230. virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags(
  12231. /* [in] */ ULONG Flags) = 0;
  12232. virtual HRESULT STDMETHODCALLTYPE SetStreamOffset(
  12233. /* [in] */ REFERENCE_TIME rtOffset) = 0;
  12234. virtual HRESULT STDMETHODCALLTYPE GetStreamOffset(
  12235. /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  12236. virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(
  12237. /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  12238. virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset(
  12239. /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  12240. };
  12241. #else /* C style interface */
  12242. typedef struct IAMPushSourceVtbl
  12243. {
  12244. BEGIN_INTERFACE
  12245. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12246. IAMPushSource * This,
  12247. /* [in] */ REFIID riid,
  12248. /* [iid_is][out] */ void **ppvObject);
  12249. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12250. IAMPushSource * This);
  12251. ULONG ( STDMETHODCALLTYPE *Release )(
  12252. IAMPushSource * This);
  12253. HRESULT ( STDMETHODCALLTYPE *GetLatency )(
  12254. IAMPushSource * This,
  12255. /* [in] */ REFERENCE_TIME *prtLatency);
  12256. HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )(
  12257. IAMPushSource * This,
  12258. /* [out] */ ULONG *pFlags);
  12259. HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )(
  12260. IAMPushSource * This,
  12261. /* [in] */ ULONG Flags);
  12262. HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )(
  12263. IAMPushSource * This,
  12264. /* [in] */ REFERENCE_TIME rtOffset);
  12265. HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )(
  12266. IAMPushSource * This,
  12267. /* [out] */ REFERENCE_TIME *prtOffset);
  12268. HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )(
  12269. IAMPushSource * This,
  12270. /* [out] */ REFERENCE_TIME *prtMaxOffset);
  12271. HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )(
  12272. IAMPushSource * This,
  12273. /* [in] */ REFERENCE_TIME rtMaxOffset);
  12274. END_INTERFACE
  12275. } IAMPushSourceVtbl;
  12276. interface IAMPushSource
  12277. {
  12278. CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  12279. };
  12280. #ifdef COBJMACROS
  12281. #define IAMPushSource_QueryInterface(This,riid,ppvObject) \
  12282. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12283. #define IAMPushSource_AddRef(This) \
  12284. (This)->lpVtbl -> AddRef(This)
  12285. #define IAMPushSource_Release(This) \
  12286. (This)->lpVtbl -> Release(This)
  12287. #define IAMPushSource_GetLatency(This,prtLatency) \
  12288. (This)->lpVtbl -> GetLatency(This,prtLatency)
  12289. #define IAMPushSource_GetPushSourceFlags(This,pFlags) \
  12290. (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  12291. #define IAMPushSource_SetPushSourceFlags(This,Flags) \
  12292. (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  12293. #define IAMPushSource_SetStreamOffset(This,rtOffset) \
  12294. (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  12295. #define IAMPushSource_GetStreamOffset(This,prtOffset) \
  12296. (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  12297. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset) \
  12298. (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  12299. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset) \
  12300. (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  12301. #endif /* COBJMACROS */
  12302. #endif /* C style interface */
  12303. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy(
  12304. IAMPushSource * This,
  12305. /* [out] */ ULONG *pFlags);
  12306. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  12307. IRpcStubBuffer *This,
  12308. IRpcChannelBuffer *_pRpcChannelBuffer,
  12309. PRPC_MESSAGE _pRpcMessage,
  12310. DWORD *_pdwStubPhase);
  12311. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy(
  12312. IAMPushSource * This,
  12313. /* [in] */ ULONG Flags);
  12314. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  12315. IRpcStubBuffer *This,
  12316. IRpcChannelBuffer *_pRpcChannelBuffer,
  12317. PRPC_MESSAGE _pRpcMessage,
  12318. DWORD *_pdwStubPhase);
  12319. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy(
  12320. IAMPushSource * This,
  12321. /* [in] */ REFERENCE_TIME rtOffset);
  12322. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  12323. IRpcStubBuffer *This,
  12324. IRpcChannelBuffer *_pRpcChannelBuffer,
  12325. PRPC_MESSAGE _pRpcMessage,
  12326. DWORD *_pdwStubPhase);
  12327. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy(
  12328. IAMPushSource * This,
  12329. /* [out] */ REFERENCE_TIME *prtOffset);
  12330. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  12331. IRpcStubBuffer *This,
  12332. IRpcChannelBuffer *_pRpcChannelBuffer,
  12333. PRPC_MESSAGE _pRpcMessage,
  12334. DWORD *_pdwStubPhase);
  12335. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy(
  12336. IAMPushSource * This,
  12337. /* [out] */ REFERENCE_TIME *prtMaxOffset);
  12338. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  12339. IRpcStubBuffer *This,
  12340. IRpcChannelBuffer *_pRpcChannelBuffer,
  12341. PRPC_MESSAGE _pRpcMessage,
  12342. DWORD *_pdwStubPhase);
  12343. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy(
  12344. IAMPushSource * This,
  12345. /* [in] */ REFERENCE_TIME rtMaxOffset);
  12346. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  12347. IRpcStubBuffer *This,
  12348. IRpcChannelBuffer *_pRpcChannelBuffer,
  12349. PRPC_MESSAGE _pRpcMessage,
  12350. DWORD *_pdwStubPhase);
  12351. #endif /* __IAMPushSource_INTERFACE_DEFINED__ */
  12352. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  12353. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  12354. /* interface IAMDeviceRemoval */
  12355. /* [unique][uuid][object] */
  12356. EXTERN_C const IID IID_IAMDeviceRemoval;
  12357. #if defined(__cplusplus) && !defined(CINTERFACE)
  12358. MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  12359. IAMDeviceRemoval : public IUnknown
  12360. {
  12361. public:
  12362. virtual HRESULT STDMETHODCALLTYPE DeviceInfo(
  12363. /* [out] */ CLSID *pclsidInterfaceClass,
  12364. /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  12365. virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  12366. virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  12367. };
  12368. #else /* C style interface */
  12369. typedef struct IAMDeviceRemovalVtbl
  12370. {
  12371. BEGIN_INTERFACE
  12372. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12373. IAMDeviceRemoval * This,
  12374. /* [in] */ REFIID riid,
  12375. /* [iid_is][out] */ void **ppvObject);
  12376. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12377. IAMDeviceRemoval * This);
  12378. ULONG ( STDMETHODCALLTYPE *Release )(
  12379. IAMDeviceRemoval * This);
  12380. HRESULT ( STDMETHODCALLTYPE *DeviceInfo )(
  12381. IAMDeviceRemoval * This,
  12382. /* [out] */ CLSID *pclsidInterfaceClass,
  12383. /* [out] */ WCHAR **pwszSymbolicLink);
  12384. HRESULT ( STDMETHODCALLTYPE *Reassociate )(
  12385. IAMDeviceRemoval * This);
  12386. HRESULT ( STDMETHODCALLTYPE *Disassociate )(
  12387. IAMDeviceRemoval * This);
  12388. END_INTERFACE
  12389. } IAMDeviceRemovalVtbl;
  12390. interface IAMDeviceRemoval
  12391. {
  12392. CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  12393. };
  12394. #ifdef COBJMACROS
  12395. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject) \
  12396. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12397. #define IAMDeviceRemoval_AddRef(This) \
  12398. (This)->lpVtbl -> AddRef(This)
  12399. #define IAMDeviceRemoval_Release(This) \
  12400. (This)->lpVtbl -> Release(This)
  12401. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink) \
  12402. (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  12403. #define IAMDeviceRemoval_Reassociate(This) \
  12404. (This)->lpVtbl -> Reassociate(This)
  12405. #define IAMDeviceRemoval_Disassociate(This) \
  12406. (This)->lpVtbl -> Disassociate(This)
  12407. #endif /* COBJMACROS */
  12408. #endif /* C style interface */
  12409. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy(
  12410. IAMDeviceRemoval * This,
  12411. /* [out] */ CLSID *pclsidInterfaceClass,
  12412. /* [out] */ WCHAR **pwszSymbolicLink);
  12413. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  12414. IRpcStubBuffer *This,
  12415. IRpcChannelBuffer *_pRpcChannelBuffer,
  12416. PRPC_MESSAGE _pRpcMessage,
  12417. DWORD *_pdwStubPhase);
  12418. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy(
  12419. IAMDeviceRemoval * This);
  12420. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  12421. IRpcStubBuffer *This,
  12422. IRpcChannelBuffer *_pRpcChannelBuffer,
  12423. PRPC_MESSAGE _pRpcMessage,
  12424. DWORD *_pdwStubPhase);
  12425. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy(
  12426. IAMDeviceRemoval * This);
  12427. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  12428. IRpcStubBuffer *This,
  12429. IRpcChannelBuffer *_pRpcChannelBuffer,
  12430. PRPC_MESSAGE _pRpcMessage,
  12431. DWORD *_pdwStubPhase);
  12432. #endif /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  12433. /* interface __MIDL_itf_strmif_0348 */
  12434. /* [local] */
  12435. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0348_0001
  12436. {
  12437. DWORD dwDVAAuxSrc;
  12438. DWORD dwDVAAuxCtl;
  12439. DWORD dwDVAAuxSrc1;
  12440. DWORD dwDVAAuxCtl1;
  12441. DWORD dwDVVAuxSrc;
  12442. DWORD dwDVVAuxCtl;
  12443. DWORD dwDVReserved[ 2 ];
  12444. } DVINFO;
  12445. typedef struct __MIDL___MIDL_itf_strmif_0348_0001 *PDVINFO;
  12446. enum _DVENCODERRESOLUTION
  12447. { DVENCODERRESOLUTION_720x480 = 2012,
  12448. DVENCODERRESOLUTION_360x240 = 2013,
  12449. DVENCODERRESOLUTION_180x120 = 2014,
  12450. DVENCODERRESOLUTION_88x60 = 2015
  12451. } ;
  12452. enum _DVENCODERVIDEOFORMAT
  12453. { DVENCODERVIDEOFORMAT_NTSC = 2000,
  12454. DVENCODERVIDEOFORMAT_PAL = 2001
  12455. } ;
  12456. enum _DVENCODERFORMAT
  12457. { DVENCODERFORMAT_DVSD = 2007,
  12458. DVENCODERFORMAT_DVHD = 2008,
  12459. DVENCODERFORMAT_DVSL = 2009
  12460. } ;
  12461. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
  12462. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
  12463. #ifndef __IDVEnc_INTERFACE_DEFINED__
  12464. #define __IDVEnc_INTERFACE_DEFINED__
  12465. /* interface IDVEnc */
  12466. /* [unique][uuid][object] */
  12467. EXTERN_C const IID IID_IDVEnc;
  12468. #if defined(__cplusplus) && !defined(CINTERFACE)
  12469. MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  12470. IDVEnc : public IUnknown
  12471. {
  12472. public:
  12473. virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution(
  12474. /* [out] */ int *VideoFormat,
  12475. /* [out] */ int *DVFormat,
  12476. /* [out] */ int *Resolution,
  12477. /* [in] */ BYTE fDVInfo,
  12478. /* [out] */ DVINFO *sDVInfo) = 0;
  12479. virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution(
  12480. /* [in] */ int VideoFormat,
  12481. /* [in] */ int DVFormat,
  12482. /* [in] */ int Resolution,
  12483. /* [in] */ BYTE fDVInfo,
  12484. /* [in] */ DVINFO *sDVInfo) = 0;
  12485. };
  12486. #else /* C style interface */
  12487. typedef struct IDVEncVtbl
  12488. {
  12489. BEGIN_INTERFACE
  12490. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12491. IDVEnc * This,
  12492. /* [in] */ REFIID riid,
  12493. /* [iid_is][out] */ void **ppvObject);
  12494. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12495. IDVEnc * This);
  12496. ULONG ( STDMETHODCALLTYPE *Release )(
  12497. IDVEnc * This);
  12498. HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )(
  12499. IDVEnc * This,
  12500. /* [out] */ int *VideoFormat,
  12501. /* [out] */ int *DVFormat,
  12502. /* [out] */ int *Resolution,
  12503. /* [in] */ BYTE fDVInfo,
  12504. /* [out] */ DVINFO *sDVInfo);
  12505. HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )(
  12506. IDVEnc * This,
  12507. /* [in] */ int VideoFormat,
  12508. /* [in] */ int DVFormat,
  12509. /* [in] */ int Resolution,
  12510. /* [in] */ BYTE fDVInfo,
  12511. /* [in] */ DVINFO *sDVInfo);
  12512. END_INTERFACE
  12513. } IDVEncVtbl;
  12514. interface IDVEnc
  12515. {
  12516. CONST_VTBL struct IDVEncVtbl *lpVtbl;
  12517. };
  12518. #ifdef COBJMACROS
  12519. #define IDVEnc_QueryInterface(This,riid,ppvObject) \
  12520. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12521. #define IDVEnc_AddRef(This) \
  12522. (This)->lpVtbl -> AddRef(This)
  12523. #define IDVEnc_Release(This) \
  12524. (This)->lpVtbl -> Release(This)
  12525. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) \
  12526. (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  12527. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo) \
  12528. (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  12529. #endif /* COBJMACROS */
  12530. #endif /* C style interface */
  12531. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy(
  12532. IDVEnc * This,
  12533. /* [out] */ int *VideoFormat,
  12534. /* [out] */ int *DVFormat,
  12535. /* [out] */ int *Resolution,
  12536. /* [in] */ BYTE fDVInfo,
  12537. /* [out] */ DVINFO *sDVInfo);
  12538. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  12539. IRpcStubBuffer *This,
  12540. IRpcChannelBuffer *_pRpcChannelBuffer,
  12541. PRPC_MESSAGE _pRpcMessage,
  12542. DWORD *_pdwStubPhase);
  12543. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy(
  12544. IDVEnc * This,
  12545. /* [in] */ int VideoFormat,
  12546. /* [in] */ int DVFormat,
  12547. /* [in] */ int Resolution,
  12548. /* [in] */ BYTE fDVInfo,
  12549. /* [in] */ DVINFO *sDVInfo);
  12550. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  12551. IRpcStubBuffer *This,
  12552. IRpcChannelBuffer *_pRpcChannelBuffer,
  12553. PRPC_MESSAGE _pRpcMessage,
  12554. DWORD *_pdwStubPhase);
  12555. #endif /* __IDVEnc_INTERFACE_DEFINED__ */
  12556. /* interface __MIDL_itf_strmif_0349 */
  12557. /* [local] */
  12558. enum _DVDECODERRESOLUTION
  12559. { DVDECODERRESOLUTION_720x480 = 1000,
  12560. DVDECODERRESOLUTION_360x240 = 1001,
  12561. DVDECODERRESOLUTION_180x120 = 1002,
  12562. DVDECODERRESOLUTION_88x60 = 1003
  12563. } ;
  12564. enum _DVRESOLUTION
  12565. { DVRESOLUTION_FULL = 1000,
  12566. DVRESOLUTION_HALF = 1001,
  12567. DVRESOLUTION_QUARTER = 1002,
  12568. DVRESOLUTION_DC = 1003
  12569. } ;
  12570. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_c_ifspec;
  12571. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_s_ifspec;
  12572. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  12573. #define __IIPDVDec_INTERFACE_DEFINED__
  12574. /* interface IIPDVDec */
  12575. /* [unique][uuid][object] */
  12576. EXTERN_C const IID IID_IIPDVDec;
  12577. #if defined(__cplusplus) && !defined(CINTERFACE)
  12578. MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  12579. IIPDVDec : public IUnknown
  12580. {
  12581. public:
  12582. virtual HRESULT STDMETHODCALLTYPE get_IPDisplay(
  12583. /* [out] */ int *displayPix) = 0;
  12584. virtual HRESULT STDMETHODCALLTYPE put_IPDisplay(
  12585. /* [in] */ int displayPix) = 0;
  12586. };
  12587. #else /* C style interface */
  12588. typedef struct IIPDVDecVtbl
  12589. {
  12590. BEGIN_INTERFACE
  12591. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12592. IIPDVDec * This,
  12593. /* [in] */ REFIID riid,
  12594. /* [iid_is][out] */ void **ppvObject);
  12595. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12596. IIPDVDec * This);
  12597. ULONG ( STDMETHODCALLTYPE *Release )(
  12598. IIPDVDec * This);
  12599. HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )(
  12600. IIPDVDec * This,
  12601. /* [out] */ int *displayPix);
  12602. HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )(
  12603. IIPDVDec * This,
  12604. /* [in] */ int displayPix);
  12605. END_INTERFACE
  12606. } IIPDVDecVtbl;
  12607. interface IIPDVDec
  12608. {
  12609. CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  12610. };
  12611. #ifdef COBJMACROS
  12612. #define IIPDVDec_QueryInterface(This,riid,ppvObject) \
  12613. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12614. #define IIPDVDec_AddRef(This) \
  12615. (This)->lpVtbl -> AddRef(This)
  12616. #define IIPDVDec_Release(This) \
  12617. (This)->lpVtbl -> Release(This)
  12618. #define IIPDVDec_get_IPDisplay(This,displayPix) \
  12619. (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  12620. #define IIPDVDec_put_IPDisplay(This,displayPix) \
  12621. (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  12622. #endif /* COBJMACROS */
  12623. #endif /* C style interface */
  12624. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy(
  12625. IIPDVDec * This,
  12626. /* [out] */ int *displayPix);
  12627. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  12628. IRpcStubBuffer *This,
  12629. IRpcChannelBuffer *_pRpcChannelBuffer,
  12630. PRPC_MESSAGE _pRpcMessage,
  12631. DWORD *_pdwStubPhase);
  12632. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy(
  12633. IIPDVDec * This,
  12634. /* [in] */ int displayPix);
  12635. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  12636. IRpcStubBuffer *This,
  12637. IRpcChannelBuffer *_pRpcChannelBuffer,
  12638. PRPC_MESSAGE _pRpcMessage,
  12639. DWORD *_pdwStubPhase);
  12640. #endif /* __IIPDVDec_INTERFACE_DEFINED__ */
  12641. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  12642. #define __IDVRGB219_INTERFACE_DEFINED__
  12643. /* interface IDVRGB219 */
  12644. /* [unique][uuid][object] */
  12645. EXTERN_C const IID IID_IDVRGB219;
  12646. #if defined(__cplusplus) && !defined(CINTERFACE)
  12647. MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  12648. IDVRGB219 : public IUnknown
  12649. {
  12650. public:
  12651. virtual HRESULT STDMETHODCALLTYPE SetRGB219(
  12652. /* [in] */ BOOL bState) = 0;
  12653. };
  12654. #else /* C style interface */
  12655. typedef struct IDVRGB219Vtbl
  12656. {
  12657. BEGIN_INTERFACE
  12658. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12659. IDVRGB219 * This,
  12660. /* [in] */ REFIID riid,
  12661. /* [iid_is][out] */ void **ppvObject);
  12662. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12663. IDVRGB219 * This);
  12664. ULONG ( STDMETHODCALLTYPE *Release )(
  12665. IDVRGB219 * This);
  12666. HRESULT ( STDMETHODCALLTYPE *SetRGB219 )(
  12667. IDVRGB219 * This,
  12668. /* [in] */ BOOL bState);
  12669. END_INTERFACE
  12670. } IDVRGB219Vtbl;
  12671. interface IDVRGB219
  12672. {
  12673. CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  12674. };
  12675. #ifdef COBJMACROS
  12676. #define IDVRGB219_QueryInterface(This,riid,ppvObject) \
  12677. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12678. #define IDVRGB219_AddRef(This) \
  12679. (This)->lpVtbl -> AddRef(This)
  12680. #define IDVRGB219_Release(This) \
  12681. (This)->lpVtbl -> Release(This)
  12682. #define IDVRGB219_SetRGB219(This,bState) \
  12683. (This)->lpVtbl -> SetRGB219(This,bState)
  12684. #endif /* COBJMACROS */
  12685. #endif /* C style interface */
  12686. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy(
  12687. IDVRGB219 * This,
  12688. /* [in] */ BOOL bState);
  12689. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  12690. IRpcStubBuffer *This,
  12691. IRpcChannelBuffer *_pRpcChannelBuffer,
  12692. PRPC_MESSAGE _pRpcMessage,
  12693. DWORD *_pdwStubPhase);
  12694. #endif /* __IDVRGB219_INTERFACE_DEFINED__ */
  12695. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  12696. #define __IDVSplitter_INTERFACE_DEFINED__
  12697. /* interface IDVSplitter */
  12698. /* [uuid][object] */
  12699. EXTERN_C const IID IID_IDVSplitter;
  12700. #if defined(__cplusplus) && !defined(CINTERFACE)
  12701. MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  12702. IDVSplitter : public IUnknown
  12703. {
  12704. public:
  12705. virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames(
  12706. /* [in] */ int nDiscard) = 0;
  12707. };
  12708. #else /* C style interface */
  12709. typedef struct IDVSplitterVtbl
  12710. {
  12711. BEGIN_INTERFACE
  12712. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12713. IDVSplitter * This,
  12714. /* [in] */ REFIID riid,
  12715. /* [iid_is][out] */ void **ppvObject);
  12716. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12717. IDVSplitter * This);
  12718. ULONG ( STDMETHODCALLTYPE *Release )(
  12719. IDVSplitter * This);
  12720. HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )(
  12721. IDVSplitter * This,
  12722. /* [in] */ int nDiscard);
  12723. END_INTERFACE
  12724. } IDVSplitterVtbl;
  12725. interface IDVSplitter
  12726. {
  12727. CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  12728. };
  12729. #ifdef COBJMACROS
  12730. #define IDVSplitter_QueryInterface(This,riid,ppvObject) \
  12731. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12732. #define IDVSplitter_AddRef(This) \
  12733. (This)->lpVtbl -> AddRef(This)
  12734. #define IDVSplitter_Release(This) \
  12735. (This)->lpVtbl -> Release(This)
  12736. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard) \
  12737. (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  12738. #endif /* COBJMACROS */
  12739. #endif /* C style interface */
  12740. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy(
  12741. IDVSplitter * This,
  12742. /* [in] */ int nDiscard);
  12743. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  12744. IRpcStubBuffer *This,
  12745. IRpcChannelBuffer *_pRpcChannelBuffer,
  12746. PRPC_MESSAGE _pRpcMessage,
  12747. DWORD *_pdwStubPhase);
  12748. #endif /* __IDVSplitter_INTERFACE_DEFINED__ */
  12749. /* interface __MIDL_itf_strmif_0352 */
  12750. /* [local] */
  12751. enum _AM_AUDIO_RENDERER_STAT_PARAM
  12752. { AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
  12753. AM_AUDREND_STAT_PARAM_SLAVE_MODE = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  12754. AM_AUDREND_STAT_PARAM_SILENCE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  12755. AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  12756. AM_AUDREND_STAT_PARAM_DISCONTINUITIES = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  12757. AM_AUDREND_STAT_PARAM_SLAVE_RATE = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  12758. AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  12759. AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  12760. AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  12761. AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  12762. AM_AUDREND_STAT_PARAM_BUFFERFULLNESS = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  12763. AM_AUDREND_STAT_PARAM_JITTER = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  12764. } ;
  12765. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;
  12766. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
  12767. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  12768. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  12769. /* interface IAMAudioRendererStats */
  12770. /* [unique][uuid][object] */
  12771. EXTERN_C const IID IID_IAMAudioRendererStats;
  12772. #if defined(__cplusplus) && !defined(CINTERFACE)
  12773. MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  12774. IAMAudioRendererStats : public IUnknown
  12775. {
  12776. public:
  12777. virtual HRESULT STDMETHODCALLTYPE GetStatParam(
  12778. /* [in] */ DWORD dwParam,
  12779. /* [out] */ DWORD *pdwParam1,
  12780. /* [out] */ DWORD *pdwParam2) = 0;
  12781. };
  12782. #else /* C style interface */
  12783. typedef struct IAMAudioRendererStatsVtbl
  12784. {
  12785. BEGIN_INTERFACE
  12786. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12787. IAMAudioRendererStats * This,
  12788. /* [in] */ REFIID riid,
  12789. /* [iid_is][out] */ void **ppvObject);
  12790. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12791. IAMAudioRendererStats * This);
  12792. ULONG ( STDMETHODCALLTYPE *Release )(
  12793. IAMAudioRendererStats * This);
  12794. HRESULT ( STDMETHODCALLTYPE *GetStatParam )(
  12795. IAMAudioRendererStats * This,
  12796. /* [in] */ DWORD dwParam,
  12797. /* [out] */ DWORD *pdwParam1,
  12798. /* [out] */ DWORD *pdwParam2);
  12799. END_INTERFACE
  12800. } IAMAudioRendererStatsVtbl;
  12801. interface IAMAudioRendererStats
  12802. {
  12803. CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  12804. };
  12805. #ifdef COBJMACROS
  12806. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject) \
  12807. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12808. #define IAMAudioRendererStats_AddRef(This) \
  12809. (This)->lpVtbl -> AddRef(This)
  12810. #define IAMAudioRendererStats_Release(This) \
  12811. (This)->lpVtbl -> Release(This)
  12812. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2) \
  12813. (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  12814. #endif /* COBJMACROS */
  12815. #endif /* C style interface */
  12816. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy(
  12817. IAMAudioRendererStats * This,
  12818. /* [in] */ DWORD dwParam,
  12819. /* [out] */ DWORD *pdwParam1,
  12820. /* [out] */ DWORD *pdwParam2);
  12821. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  12822. IRpcStubBuffer *This,
  12823. IRpcChannelBuffer *_pRpcChannelBuffer,
  12824. PRPC_MESSAGE _pRpcMessage,
  12825. DWORD *_pdwStubPhase);
  12826. #endif /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  12827. /* interface __MIDL_itf_strmif_0354 */
  12828. /* [local] */
  12829. enum _AM_INTF_SEARCH_FLAGS
  12830. { AM_INTF_SEARCH_INPUT_PIN = 0x1,
  12831. AM_INTF_SEARCH_OUTPUT_PIN = 0x2,
  12832. AM_INTF_SEARCH_FILTER = 0x4
  12833. } ;
  12834. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_c_ifspec;
  12835. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_s_ifspec;
  12836. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  12837. #define __IAMGraphStreams_INTERFACE_DEFINED__
  12838. /* interface IAMGraphStreams */
  12839. /* [unique][uuid][object] */
  12840. EXTERN_C const IID IID_IAMGraphStreams;
  12841. #if defined(__cplusplus) && !defined(CINTERFACE)
  12842. MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  12843. IAMGraphStreams : public IUnknown
  12844. {
  12845. public:
  12846. virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface(
  12847. /* [in] */ IPin *pPin,
  12848. /* [in] */ REFIID riid,
  12849. /* [iid_is][out] */ void **ppvInterface,
  12850. /* [in] */ DWORD dwFlags) = 0;
  12851. virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset(
  12852. /* [in] */ BOOL bUseStreamOffset) = 0;
  12853. virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency(
  12854. /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  12855. };
  12856. #else /* C style interface */
  12857. typedef struct IAMGraphStreamsVtbl
  12858. {
  12859. BEGIN_INTERFACE
  12860. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12861. IAMGraphStreams * This,
  12862. /* [in] */ REFIID riid,
  12863. /* [iid_is][out] */ void **ppvObject);
  12864. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12865. IAMGraphStreams * This);
  12866. ULONG ( STDMETHODCALLTYPE *Release )(
  12867. IAMGraphStreams * This);
  12868. HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )(
  12869. IAMGraphStreams * This,
  12870. /* [in] */ IPin *pPin,
  12871. /* [in] */ REFIID riid,
  12872. /* [iid_is][out] */ void **ppvInterface,
  12873. /* [in] */ DWORD dwFlags);
  12874. HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )(
  12875. IAMGraphStreams * This,
  12876. /* [in] */ BOOL bUseStreamOffset);
  12877. HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )(
  12878. IAMGraphStreams * This,
  12879. /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  12880. END_INTERFACE
  12881. } IAMGraphStreamsVtbl;
  12882. interface IAMGraphStreams
  12883. {
  12884. CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  12885. };
  12886. #ifdef COBJMACROS
  12887. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject) \
  12888. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12889. #define IAMGraphStreams_AddRef(This) \
  12890. (This)->lpVtbl -> AddRef(This)
  12891. #define IAMGraphStreams_Release(This) \
  12892. (This)->lpVtbl -> Release(This)
  12893. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags) \
  12894. (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  12895. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset) \
  12896. (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  12897. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency) \
  12898. (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  12899. #endif /* COBJMACROS */
  12900. #endif /* C style interface */
  12901. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy(
  12902. IAMGraphStreams * This,
  12903. /* [in] */ IPin *pPin,
  12904. /* [in] */ REFIID riid,
  12905. /* [iid_is][out] */ void **ppvInterface,
  12906. /* [in] */ DWORD dwFlags);
  12907. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  12908. IRpcStubBuffer *This,
  12909. IRpcChannelBuffer *_pRpcChannelBuffer,
  12910. PRPC_MESSAGE _pRpcMessage,
  12911. DWORD *_pdwStubPhase);
  12912. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy(
  12913. IAMGraphStreams * This,
  12914. /* [in] */ BOOL bUseStreamOffset);
  12915. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  12916. IRpcStubBuffer *This,
  12917. IRpcChannelBuffer *_pRpcChannelBuffer,
  12918. PRPC_MESSAGE _pRpcMessage,
  12919. DWORD *_pdwStubPhase);
  12920. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy(
  12921. IAMGraphStreams * This,
  12922. /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  12923. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  12924. IRpcStubBuffer *This,
  12925. IRpcChannelBuffer *_pRpcChannelBuffer,
  12926. PRPC_MESSAGE _pRpcMessage,
  12927. DWORD *_pdwStubPhase);
  12928. #endif /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  12929. /* interface __MIDL_itf_strmif_0355 */
  12930. /* [local] */
  12931. enum AMOVERLAYFX
  12932. { AMOVERFX_NOFX = 0,
  12933. AMOVERFX_MIRRORLEFTRIGHT = 0x2,
  12934. AMOVERFX_MIRRORUPDOWN = 0x4,
  12935. AMOVERFX_DEINTERLACE = 0x8
  12936. } ;
  12937. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
  12938. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
  12939. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  12940. #define __IAMOverlayFX_INTERFACE_DEFINED__
  12941. /* interface IAMOverlayFX */
  12942. /* [unique][uuid][object] */
  12943. EXTERN_C const IID IID_IAMOverlayFX;
  12944. #if defined(__cplusplus) && !defined(CINTERFACE)
  12945. MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  12946. IAMOverlayFX : public IUnknown
  12947. {
  12948. public:
  12949. virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps(
  12950. /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  12951. virtual HRESULT STDMETHODCALLTYPE SetOverlayFX(
  12952. /* [in] */ DWORD dwOverlayFX) = 0;
  12953. virtual HRESULT STDMETHODCALLTYPE GetOverlayFX(
  12954. /* [out] */ DWORD *lpdwOverlayFX) = 0;
  12955. };
  12956. #else /* C style interface */
  12957. typedef struct IAMOverlayFXVtbl
  12958. {
  12959. BEGIN_INTERFACE
  12960. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  12961. IAMOverlayFX * This,
  12962. /* [in] */ REFIID riid,
  12963. /* [iid_is][out] */ void **ppvObject);
  12964. ULONG ( STDMETHODCALLTYPE *AddRef )(
  12965. IAMOverlayFX * This);
  12966. ULONG ( STDMETHODCALLTYPE *Release )(
  12967. IAMOverlayFX * This);
  12968. HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )(
  12969. IAMOverlayFX * This,
  12970. /* [out] */ DWORD *lpdwOverlayFXCaps);
  12971. HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )(
  12972. IAMOverlayFX * This,
  12973. /* [in] */ DWORD dwOverlayFX);
  12974. HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )(
  12975. IAMOverlayFX * This,
  12976. /* [out] */ DWORD *lpdwOverlayFX);
  12977. END_INTERFACE
  12978. } IAMOverlayFXVtbl;
  12979. interface IAMOverlayFX
  12980. {
  12981. CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  12982. };
  12983. #ifdef COBJMACROS
  12984. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject) \
  12985. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12986. #define IAMOverlayFX_AddRef(This) \
  12987. (This)->lpVtbl -> AddRef(This)
  12988. #define IAMOverlayFX_Release(This) \
  12989. (This)->lpVtbl -> Release(This)
  12990. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps) \
  12991. (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  12992. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX) \
  12993. (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  12994. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX) \
  12995. (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  12996. #endif /* COBJMACROS */
  12997. #endif /* C style interface */
  12998. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy(
  12999. IAMOverlayFX * This,
  13000. /* [out] */ DWORD *lpdwOverlayFXCaps);
  13001. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  13002. IRpcStubBuffer *This,
  13003. IRpcChannelBuffer *_pRpcChannelBuffer,
  13004. PRPC_MESSAGE _pRpcMessage,
  13005. DWORD *_pdwStubPhase);
  13006. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy(
  13007. IAMOverlayFX * This,
  13008. /* [in] */ DWORD dwOverlayFX);
  13009. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  13010. IRpcStubBuffer *This,
  13011. IRpcChannelBuffer *_pRpcChannelBuffer,
  13012. PRPC_MESSAGE _pRpcMessage,
  13013. DWORD *_pdwStubPhase);
  13014. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy(
  13015. IAMOverlayFX * This,
  13016. /* [out] */ DWORD *lpdwOverlayFX);
  13017. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  13018. IRpcStubBuffer *This,
  13019. IRpcChannelBuffer *_pRpcChannelBuffer,
  13020. PRPC_MESSAGE _pRpcMessage,
  13021. DWORD *_pdwStubPhase);
  13022. #endif /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  13023. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  13024. #define __IAMOpenProgress_INTERFACE_DEFINED__
  13025. /* interface IAMOpenProgress */
  13026. /* [unique][uuid][object] */
  13027. EXTERN_C const IID IID_IAMOpenProgress;
  13028. #if defined(__cplusplus) && !defined(CINTERFACE)
  13029. MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  13030. IAMOpenProgress : public IUnknown
  13031. {
  13032. public:
  13033. virtual HRESULT STDMETHODCALLTYPE QueryProgress(
  13034. /* [out] */ LONGLONG *pllTotal,
  13035. /* [out] */ LONGLONG *pllCurrent) = 0;
  13036. virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  13037. };
  13038. #else /* C style interface */
  13039. typedef struct IAMOpenProgressVtbl
  13040. {
  13041. BEGIN_INTERFACE
  13042. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13043. IAMOpenProgress * This,
  13044. /* [in] */ REFIID riid,
  13045. /* [iid_is][out] */ void **ppvObject);
  13046. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13047. IAMOpenProgress * This);
  13048. ULONG ( STDMETHODCALLTYPE *Release )(
  13049. IAMOpenProgress * This);
  13050. HRESULT ( STDMETHODCALLTYPE *QueryProgress )(
  13051. IAMOpenProgress * This,
  13052. /* [out] */ LONGLONG *pllTotal,
  13053. /* [out] */ LONGLONG *pllCurrent);
  13054. HRESULT ( STDMETHODCALLTYPE *AbortOperation )(
  13055. IAMOpenProgress * This);
  13056. END_INTERFACE
  13057. } IAMOpenProgressVtbl;
  13058. interface IAMOpenProgress
  13059. {
  13060. CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  13061. };
  13062. #ifdef COBJMACROS
  13063. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject) \
  13064. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13065. #define IAMOpenProgress_AddRef(This) \
  13066. (This)->lpVtbl -> AddRef(This)
  13067. #define IAMOpenProgress_Release(This) \
  13068. (This)->lpVtbl -> Release(This)
  13069. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent) \
  13070. (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  13071. #define IAMOpenProgress_AbortOperation(This) \
  13072. (This)->lpVtbl -> AbortOperation(This)
  13073. #endif /* COBJMACROS */
  13074. #endif /* C style interface */
  13075. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy(
  13076. IAMOpenProgress * This,
  13077. /* [out] */ LONGLONG *pllTotal,
  13078. /* [out] */ LONGLONG *pllCurrent);
  13079. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  13080. IRpcStubBuffer *This,
  13081. IRpcChannelBuffer *_pRpcChannelBuffer,
  13082. PRPC_MESSAGE _pRpcMessage,
  13083. DWORD *_pdwStubPhase);
  13084. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy(
  13085. IAMOpenProgress * This);
  13086. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  13087. IRpcStubBuffer *This,
  13088. IRpcChannelBuffer *_pRpcChannelBuffer,
  13089. PRPC_MESSAGE _pRpcMessage,
  13090. DWORD *_pdwStubPhase);
  13091. #endif /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  13092. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  13093. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  13094. /* interface IMpeg2Demultiplexer */
  13095. /* [unique][uuid][local][object] */
  13096. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  13097. #if defined(__cplusplus) && !defined(CINTERFACE)
  13098. MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  13099. IMpeg2Demultiplexer : public IUnknown
  13100. {
  13101. public:
  13102. virtual HRESULT STDMETHODCALLTYPE CreateOutputPin(
  13103. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13104. /* [in] */ LPWSTR pszPinName,
  13105. /* [out] */ IPin **ppIPin) = 0;
  13106. virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType(
  13107. /* [in] */ LPWSTR pszPinName,
  13108. /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  13109. virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin(
  13110. /* [in] */ LPWSTR pszPinName) = 0;
  13111. };
  13112. #else /* C style interface */
  13113. typedef struct IMpeg2DemultiplexerVtbl
  13114. {
  13115. BEGIN_INTERFACE
  13116. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13117. IMpeg2Demultiplexer * This,
  13118. /* [in] */ REFIID riid,
  13119. /* [iid_is][out] */ void **ppvObject);
  13120. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13121. IMpeg2Demultiplexer * This);
  13122. ULONG ( STDMETHODCALLTYPE *Release )(
  13123. IMpeg2Demultiplexer * This);
  13124. HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )(
  13125. IMpeg2Demultiplexer * This,
  13126. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13127. /* [in] */ LPWSTR pszPinName,
  13128. /* [out] */ IPin **ppIPin);
  13129. HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )(
  13130. IMpeg2Demultiplexer * This,
  13131. /* [in] */ LPWSTR pszPinName,
  13132. /* [in] */ AM_MEDIA_TYPE *pMediaType);
  13133. HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )(
  13134. IMpeg2Demultiplexer * This,
  13135. /* [in] */ LPWSTR pszPinName);
  13136. END_INTERFACE
  13137. } IMpeg2DemultiplexerVtbl;
  13138. interface IMpeg2Demultiplexer
  13139. {
  13140. CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  13141. };
  13142. #ifdef COBJMACROS
  13143. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject) \
  13144. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13145. #define IMpeg2Demultiplexer_AddRef(This) \
  13146. (This)->lpVtbl -> AddRef(This)
  13147. #define IMpeg2Demultiplexer_Release(This) \
  13148. (This)->lpVtbl -> Release(This)
  13149. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin) \
  13150. (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  13151. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType) \
  13152. (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  13153. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName) \
  13154. (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  13155. #endif /* COBJMACROS */
  13156. #endif /* C style interface */
  13157. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy(
  13158. IMpeg2Demultiplexer * This,
  13159. /* [in] */ AM_MEDIA_TYPE *pMediaType,
  13160. /* [in] */ LPWSTR pszPinName,
  13161. /* [out] */ IPin **ppIPin);
  13162. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  13163. IRpcStubBuffer *This,
  13164. IRpcChannelBuffer *_pRpcChannelBuffer,
  13165. PRPC_MESSAGE _pRpcMessage,
  13166. DWORD *_pdwStubPhase);
  13167. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(
  13168. IMpeg2Demultiplexer * This,
  13169. /* [in] */ LPWSTR pszPinName,
  13170. /* [in] */ AM_MEDIA_TYPE *pMediaType);
  13171. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  13172. IRpcStubBuffer *This,
  13173. IRpcChannelBuffer *_pRpcChannelBuffer,
  13174. PRPC_MESSAGE _pRpcMessage,
  13175. DWORD *_pdwStubPhase);
  13176. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy(
  13177. IMpeg2Demultiplexer * This,
  13178. /* [in] */ LPWSTR pszPinName);
  13179. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  13180. IRpcStubBuffer *This,
  13181. IRpcChannelBuffer *_pRpcChannelBuffer,
  13182. PRPC_MESSAGE _pRpcMessage,
  13183. DWORD *_pdwStubPhase);
  13184. #endif /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  13185. /* interface __MIDL_itf_strmif_0358 */
  13186. /* [local] */
  13187. #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
  13188. #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
  13189. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
  13190. #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
  13191. #define MPEG2_PROGRAM_PES_STREAM 0x00000004
  13192. #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
  13193. #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
  13194. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0358_0001
  13195. {
  13196. ULONG stream_id;
  13197. DWORD dwMediaSampleContent;
  13198. ULONG ulSubstreamFilterValue;
  13199. int iDataOffset;
  13200. } STREAM_ID_MAP;
  13201. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_c_ifspec;
  13202. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_s_ifspec;
  13203. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  13204. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  13205. /* interface IEnumStreamIdMap */
  13206. /* [unique][uuid][local][object] */
  13207. EXTERN_C const IID IID_IEnumStreamIdMap;
  13208. #if defined(__cplusplus) && !defined(CINTERFACE)
  13209. MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  13210. IEnumStreamIdMap : public IUnknown
  13211. {
  13212. public:
  13213. virtual HRESULT STDMETHODCALLTYPE Next(
  13214. /* [in] */ ULONG cRequest,
  13215. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13216. /* [out] */ ULONG *pcReceived) = 0;
  13217. virtual HRESULT STDMETHODCALLTYPE Skip(
  13218. /* [in] */ ULONG cRecords) = 0;
  13219. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  13220. virtual HRESULT STDMETHODCALLTYPE Clone(
  13221. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  13222. };
  13223. #else /* C style interface */
  13224. typedef struct IEnumStreamIdMapVtbl
  13225. {
  13226. BEGIN_INTERFACE
  13227. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13228. IEnumStreamIdMap * This,
  13229. /* [in] */ REFIID riid,
  13230. /* [iid_is][out] */ void **ppvObject);
  13231. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13232. IEnumStreamIdMap * This);
  13233. ULONG ( STDMETHODCALLTYPE *Release )(
  13234. IEnumStreamIdMap * This);
  13235. HRESULT ( STDMETHODCALLTYPE *Next )(
  13236. IEnumStreamIdMap * This,
  13237. /* [in] */ ULONG cRequest,
  13238. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13239. /* [out] */ ULONG *pcReceived);
  13240. HRESULT ( STDMETHODCALLTYPE *Skip )(
  13241. IEnumStreamIdMap * This,
  13242. /* [in] */ ULONG cRecords);
  13243. HRESULT ( STDMETHODCALLTYPE *Reset )(
  13244. IEnumStreamIdMap * This);
  13245. HRESULT ( STDMETHODCALLTYPE *Clone )(
  13246. IEnumStreamIdMap * This,
  13247. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13248. END_INTERFACE
  13249. } IEnumStreamIdMapVtbl;
  13250. interface IEnumStreamIdMap
  13251. {
  13252. CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  13253. };
  13254. #ifdef COBJMACROS
  13255. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject) \
  13256. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13257. #define IEnumStreamIdMap_AddRef(This) \
  13258. (This)->lpVtbl -> AddRef(This)
  13259. #define IEnumStreamIdMap_Release(This) \
  13260. (This)->lpVtbl -> Release(This)
  13261. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived) \
  13262. (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  13263. #define IEnumStreamIdMap_Skip(This,cRecords) \
  13264. (This)->lpVtbl -> Skip(This,cRecords)
  13265. #define IEnumStreamIdMap_Reset(This) \
  13266. (This)->lpVtbl -> Reset(This)
  13267. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap) \
  13268. (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  13269. #endif /* COBJMACROS */
  13270. #endif /* C style interface */
  13271. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy(
  13272. IEnumStreamIdMap * This,
  13273. /* [in] */ ULONG cRequest,
  13274. /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  13275. /* [out] */ ULONG *pcReceived);
  13276. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  13277. IRpcStubBuffer *This,
  13278. IRpcChannelBuffer *_pRpcChannelBuffer,
  13279. PRPC_MESSAGE _pRpcMessage,
  13280. DWORD *_pdwStubPhase);
  13281. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy(
  13282. IEnumStreamIdMap * This,
  13283. /* [in] */ ULONG cRecords);
  13284. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  13285. IRpcStubBuffer *This,
  13286. IRpcChannelBuffer *_pRpcChannelBuffer,
  13287. PRPC_MESSAGE _pRpcMessage,
  13288. DWORD *_pdwStubPhase);
  13289. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy(
  13290. IEnumStreamIdMap * This);
  13291. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  13292. IRpcStubBuffer *This,
  13293. IRpcChannelBuffer *_pRpcChannelBuffer,
  13294. PRPC_MESSAGE _pRpcMessage,
  13295. DWORD *_pdwStubPhase);
  13296. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy(
  13297. IEnumStreamIdMap * This,
  13298. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13299. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  13300. IRpcStubBuffer *This,
  13301. IRpcChannelBuffer *_pRpcChannelBuffer,
  13302. PRPC_MESSAGE _pRpcMessage,
  13303. DWORD *_pdwStubPhase);
  13304. #endif /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  13305. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  13306. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  13307. /* interface IMPEG2StreamIdMap */
  13308. /* [unique][uuid][local][object] */
  13309. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  13310. #if defined(__cplusplus) && !defined(CINTERFACE)
  13311. MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  13312. IMPEG2StreamIdMap : public IUnknown
  13313. {
  13314. public:
  13315. virtual HRESULT STDMETHODCALLTYPE MapStreamId(
  13316. /* [in] */ ULONG ulStreamId,
  13317. /* [in] */ DWORD MediaSampleContent,
  13318. /* [in] */ ULONG ulSubstreamFilterValue,
  13319. /* [in] */ int iDataOffset) = 0;
  13320. virtual HRESULT STDMETHODCALLTYPE UnmapStreamId(
  13321. /* [in] */ ULONG culStreamId,
  13322. /* [in] */ ULONG *pulStreamId) = 0;
  13323. virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap(
  13324. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  13325. };
  13326. #else /* C style interface */
  13327. typedef struct IMPEG2StreamIdMapVtbl
  13328. {
  13329. BEGIN_INTERFACE
  13330. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13331. IMPEG2StreamIdMap * This,
  13332. /* [in] */ REFIID riid,
  13333. /* [iid_is][out] */ void **ppvObject);
  13334. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13335. IMPEG2StreamIdMap * This);
  13336. ULONG ( STDMETHODCALLTYPE *Release )(
  13337. IMPEG2StreamIdMap * This);
  13338. HRESULT ( STDMETHODCALLTYPE *MapStreamId )(
  13339. IMPEG2StreamIdMap * This,
  13340. /* [in] */ ULONG ulStreamId,
  13341. /* [in] */ DWORD MediaSampleContent,
  13342. /* [in] */ ULONG ulSubstreamFilterValue,
  13343. /* [in] */ int iDataOffset);
  13344. HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )(
  13345. IMPEG2StreamIdMap * This,
  13346. /* [in] */ ULONG culStreamId,
  13347. /* [in] */ ULONG *pulStreamId);
  13348. HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )(
  13349. IMPEG2StreamIdMap * This,
  13350. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13351. END_INTERFACE
  13352. } IMPEG2StreamIdMapVtbl;
  13353. interface IMPEG2StreamIdMap
  13354. {
  13355. CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  13356. };
  13357. #ifdef COBJMACROS
  13358. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject) \
  13359. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13360. #define IMPEG2StreamIdMap_AddRef(This) \
  13361. (This)->lpVtbl -> AddRef(This)
  13362. #define IMPEG2StreamIdMap_Release(This) \
  13363. (This)->lpVtbl -> Release(This)
  13364. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset) \
  13365. (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  13366. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId) \
  13367. (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  13368. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap) \
  13369. (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  13370. #endif /* COBJMACROS */
  13371. #endif /* C style interface */
  13372. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy(
  13373. IMPEG2StreamIdMap * This,
  13374. /* [in] */ ULONG ulStreamId,
  13375. /* [in] */ DWORD MediaSampleContent,
  13376. /* [in] */ ULONG ulSubstreamFilterValue,
  13377. /* [in] */ int iDataOffset);
  13378. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  13379. IRpcStubBuffer *This,
  13380. IRpcChannelBuffer *_pRpcChannelBuffer,
  13381. PRPC_MESSAGE _pRpcMessage,
  13382. DWORD *_pdwStubPhase);
  13383. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy(
  13384. IMPEG2StreamIdMap * This,
  13385. /* [in] */ ULONG culStreamId,
  13386. /* [in] */ ULONG *pulStreamId);
  13387. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  13388. IRpcStubBuffer *This,
  13389. IRpcChannelBuffer *_pRpcChannelBuffer,
  13390. PRPC_MESSAGE _pRpcMessage,
  13391. DWORD *_pdwStubPhase);
  13392. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(
  13393. IMPEG2StreamIdMap * This,
  13394. /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  13395. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  13396. IRpcStubBuffer *This,
  13397. IRpcChannelBuffer *_pRpcChannelBuffer,
  13398. PRPC_MESSAGE _pRpcMessage,
  13399. DWORD *_pdwStubPhase);
  13400. #endif /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  13401. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  13402. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  13403. /* interface IRegisterServiceProvider */
  13404. /* [unique][uuid][local][object] */
  13405. EXTERN_C const IID IID_IRegisterServiceProvider;
  13406. #if defined(__cplusplus) && !defined(CINTERFACE)
  13407. MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  13408. IRegisterServiceProvider : public IUnknown
  13409. {
  13410. public:
  13411. virtual HRESULT STDMETHODCALLTYPE RegisterService(
  13412. /* [in] */ REFGUID guidService,
  13413. /* [in] */ IUnknown *pUnkObject) = 0;
  13414. };
  13415. #else /* C style interface */
  13416. typedef struct IRegisterServiceProviderVtbl
  13417. {
  13418. BEGIN_INTERFACE
  13419. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13420. IRegisterServiceProvider * This,
  13421. /* [in] */ REFIID riid,
  13422. /* [iid_is][out] */ void **ppvObject);
  13423. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13424. IRegisterServiceProvider * This);
  13425. ULONG ( STDMETHODCALLTYPE *Release )(
  13426. IRegisterServiceProvider * This);
  13427. HRESULT ( STDMETHODCALLTYPE *RegisterService )(
  13428. IRegisterServiceProvider * This,
  13429. /* [in] */ REFGUID guidService,
  13430. /* [in] */ IUnknown *pUnkObject);
  13431. END_INTERFACE
  13432. } IRegisterServiceProviderVtbl;
  13433. interface IRegisterServiceProvider
  13434. {
  13435. CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  13436. };
  13437. #ifdef COBJMACROS
  13438. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject) \
  13439. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13440. #define IRegisterServiceProvider_AddRef(This) \
  13441. (This)->lpVtbl -> AddRef(This)
  13442. #define IRegisterServiceProvider_Release(This) \
  13443. (This)->lpVtbl -> Release(This)
  13444. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject) \
  13445. (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  13446. #endif /* COBJMACROS */
  13447. #endif /* C style interface */
  13448. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy(
  13449. IRegisterServiceProvider * This,
  13450. /* [in] */ REFGUID guidService,
  13451. /* [in] */ IUnknown *pUnkObject);
  13452. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  13453. IRpcStubBuffer *This,
  13454. IRpcChannelBuffer *_pRpcChannelBuffer,
  13455. PRPC_MESSAGE _pRpcMessage,
  13456. DWORD *_pdwStubPhase);
  13457. #endif /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  13458. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  13459. #define __IAMClockSlave_INTERFACE_DEFINED__
  13460. /* interface IAMClockSlave */
  13461. /* [unique][uuid][object] */
  13462. EXTERN_C const IID IID_IAMClockSlave;
  13463. #if defined(__cplusplus) && !defined(CINTERFACE)
  13464. MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  13465. IAMClockSlave : public IUnknown
  13466. {
  13467. public:
  13468. virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(
  13469. /* [in] */ DWORD dwTolerance) = 0;
  13470. virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(
  13471. /* [out] */ DWORD *pdwTolerance) = 0;
  13472. };
  13473. #else /* C style interface */
  13474. typedef struct IAMClockSlaveVtbl
  13475. {
  13476. BEGIN_INTERFACE
  13477. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13478. IAMClockSlave * This,
  13479. /* [in] */ REFIID riid,
  13480. /* [iid_is][out] */ void **ppvObject);
  13481. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13482. IAMClockSlave * This);
  13483. ULONG ( STDMETHODCALLTYPE *Release )(
  13484. IAMClockSlave * This);
  13485. HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )(
  13486. IAMClockSlave * This,
  13487. /* [in] */ DWORD dwTolerance);
  13488. HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )(
  13489. IAMClockSlave * This,
  13490. /* [out] */ DWORD *pdwTolerance);
  13491. END_INTERFACE
  13492. } IAMClockSlaveVtbl;
  13493. interface IAMClockSlave
  13494. {
  13495. CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  13496. };
  13497. #ifdef COBJMACROS
  13498. #define IAMClockSlave_QueryInterface(This,riid,ppvObject) \
  13499. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13500. #define IAMClockSlave_AddRef(This) \
  13501. (This)->lpVtbl -> AddRef(This)
  13502. #define IAMClockSlave_Release(This) \
  13503. (This)->lpVtbl -> Release(This)
  13504. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance) \
  13505. (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  13506. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance) \
  13507. (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  13508. #endif /* COBJMACROS */
  13509. #endif /* C style interface */
  13510. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy(
  13511. IAMClockSlave * This,
  13512. /* [in] */ DWORD dwTolerance);
  13513. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  13514. IRpcStubBuffer *This,
  13515. IRpcChannelBuffer *_pRpcChannelBuffer,
  13516. PRPC_MESSAGE _pRpcMessage,
  13517. DWORD *_pdwStubPhase);
  13518. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy(
  13519. IAMClockSlave * This,
  13520. /* [out] */ DWORD *pdwTolerance);
  13521. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  13522. IRpcStubBuffer *This,
  13523. IRpcChannelBuffer *_pRpcChannelBuffer,
  13524. PRPC_MESSAGE _pRpcMessage,
  13525. DWORD *_pdwStubPhase);
  13526. #endif /* __IAMClockSlave_INTERFACE_DEFINED__ */
  13527. #ifndef __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  13528. #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
  13529. /* interface IAMGraphBuilderCallback */
  13530. /* [unique][local][uuid][object] */
  13531. EXTERN_C const IID IID_IAMGraphBuilderCallback;
  13532. #if defined(__cplusplus) && !defined(CINTERFACE)
  13533. MIDL_INTERFACE("4995f511-9ddb-4f12-bd3b-f04611807b79")
  13534. IAMGraphBuilderCallback : public IUnknown
  13535. {
  13536. public:
  13537. virtual HRESULT STDMETHODCALLTYPE SelectedFilter(
  13538. /* [in] */ IMoniker *pMon) = 0;
  13539. virtual HRESULT STDMETHODCALLTYPE CreatedFilter(
  13540. /* [in] */ IBaseFilter *pFil) = 0;
  13541. };
  13542. #else /* C style interface */
  13543. typedef struct IAMGraphBuilderCallbackVtbl
  13544. {
  13545. BEGIN_INTERFACE
  13546. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13547. IAMGraphBuilderCallback * This,
  13548. /* [in] */ REFIID riid,
  13549. /* [iid_is][out] */ void **ppvObject);
  13550. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13551. IAMGraphBuilderCallback * This);
  13552. ULONG ( STDMETHODCALLTYPE *Release )(
  13553. IAMGraphBuilderCallback * This);
  13554. HRESULT ( STDMETHODCALLTYPE *SelectedFilter )(
  13555. IAMGraphBuilderCallback * This,
  13556. /* [in] */ IMoniker *pMon);
  13557. HRESULT ( STDMETHODCALLTYPE *CreatedFilter )(
  13558. IAMGraphBuilderCallback * This,
  13559. /* [in] */ IBaseFilter *pFil);
  13560. END_INTERFACE
  13561. } IAMGraphBuilderCallbackVtbl;
  13562. interface IAMGraphBuilderCallback
  13563. {
  13564. CONST_VTBL struct IAMGraphBuilderCallbackVtbl *lpVtbl;
  13565. };
  13566. #ifdef COBJMACROS
  13567. #define IAMGraphBuilderCallback_QueryInterface(This,riid,ppvObject) \
  13568. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13569. #define IAMGraphBuilderCallback_AddRef(This) \
  13570. (This)->lpVtbl -> AddRef(This)
  13571. #define IAMGraphBuilderCallback_Release(This) \
  13572. (This)->lpVtbl -> Release(This)
  13573. #define IAMGraphBuilderCallback_SelectedFilter(This,pMon) \
  13574. (This)->lpVtbl -> SelectedFilter(This,pMon)
  13575. #define IAMGraphBuilderCallback_CreatedFilter(This,pFil) \
  13576. (This)->lpVtbl -> CreatedFilter(This,pFil)
  13577. #endif /* COBJMACROS */
  13578. #endif /* C style interface */
  13579. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_SelectedFilter_Proxy(
  13580. IAMGraphBuilderCallback * This,
  13581. /* [in] */ IMoniker *pMon);
  13582. void __RPC_STUB IAMGraphBuilderCallback_SelectedFilter_Stub(
  13583. IRpcStubBuffer *This,
  13584. IRpcChannelBuffer *_pRpcChannelBuffer,
  13585. PRPC_MESSAGE _pRpcMessage,
  13586. DWORD *_pdwStubPhase);
  13587. HRESULT STDMETHODCALLTYPE IAMGraphBuilderCallback_CreatedFilter_Proxy(
  13588. IAMGraphBuilderCallback * This,
  13589. /* [in] */ IBaseFilter *pFil);
  13590. void __RPC_STUB IAMGraphBuilderCallback_CreatedFilter_Stub(
  13591. IRpcStubBuffer *This,
  13592. IRpcChannelBuffer *_pRpcChannelBuffer,
  13593. PRPC_MESSAGE _pRpcMessage,
  13594. DWORD *_pdwStubPhase);
  13595. #endif /* __IAMGraphBuilderCallback_INTERFACE_DEFINED__ */
  13596. /* interface __MIDL_itf_strmif_0363 */
  13597. /* [local] */
  13598. #ifdef __cplusplus
  13599. #ifndef _IAMFilterGraphCallback_
  13600. #define _IAMFilterGraphCallback_
  13601. // Note: Because this interface was not defined as a proper interface it is
  13602. // supported under C++ only. Methods aren't stdcall.
  13603. EXTERN_GUID(IID_IAMFilterGraphCallback,0x56a868fd,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  13604. interface IAMFilterGraphCallback : public IUnknown
  13605. {
  13606. // S_OK means rendering complete, S_FALSE means retry now.
  13607. virtual HRESULT UnableToRender(IPin *pPin) = 0;
  13608. };
  13609. #endif // _IAMFilterGraphCallback_
  13610. #endif
  13611. struct CodecAPIEventData
  13612. {
  13613. GUID guid;
  13614. DWORD dataLength;
  13615. DWORD reserved[ 3 ];
  13616. } ;
  13617. extern RPC_IF_HANDLE __MIDL_itf_strmif_0363_v0_0_c_ifspec;
  13618. extern RPC_IF_HANDLE __MIDL_itf_strmif_0363_v0_0_s_ifspec;
  13619. #ifndef __ICodecAPI_INTERFACE_DEFINED__
  13620. #define __ICodecAPI_INTERFACE_DEFINED__
  13621. /* interface ICodecAPI */
  13622. /* [unique][uuid][object] */
  13623. EXTERN_C const IID IID_ICodecAPI;
  13624. #if defined(__cplusplus) && !defined(CINTERFACE)
  13625. MIDL_INTERFACE("901db4c7-31ce-41a2-85dc-8fa0bf41b8da")
  13626. ICodecAPI : public IUnknown
  13627. {
  13628. public:
  13629. virtual HRESULT STDMETHODCALLTYPE IsSupported(
  13630. /* [in] */ const GUID *Api) = 0;
  13631. virtual HRESULT STDMETHODCALLTYPE IsModifiable(
  13632. /* [in] */ const GUID *Api) = 0;
  13633. virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
  13634. /* [in] */ const GUID *Api,
  13635. /* [out] */ VARIANT *ValueMin,
  13636. /* [out] */ VARIANT *ValueMax,
  13637. /* [out] */ VARIANT *SteppingDelta) = 0;
  13638. virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
  13639. /* [in] */ const GUID *Api,
  13640. /* [size_is][size_is][out] */ VARIANT **Values,
  13641. /* [out] */ ULONG *ValuesCount) = 0;
  13642. virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
  13643. /* [in] */ const GUID *Api,
  13644. /* [out] */ VARIANT *Value) = 0;
  13645. virtual HRESULT STDMETHODCALLTYPE GetValue(
  13646. /* [in] */ const GUID *Api,
  13647. /* [out] */ VARIANT *Value) = 0;
  13648. virtual HRESULT STDMETHODCALLTYPE SetValue(
  13649. /* [in] */ const GUID *Api,
  13650. /* [in] */ VARIANT *Value) = 0;
  13651. virtual HRESULT STDMETHODCALLTYPE RegisterForEvent(
  13652. /* [in] */ const GUID *Api,
  13653. /* [in] */ LONG_PTR userData) = 0;
  13654. virtual HRESULT STDMETHODCALLTYPE UnregisterForEvent(
  13655. /* [in] */ const GUID *Api) = 0;
  13656. virtual HRESULT STDMETHODCALLTYPE SetAllDefaults( void) = 0;
  13657. virtual HRESULT STDMETHODCALLTYPE SetValueWithNotify(
  13658. /* [in] */ const GUID *Api,
  13659. /* [in] */ VARIANT *Value,
  13660. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13661. /* [out] */ ULONG *ChangedParamCount) = 0;
  13662. virtual HRESULT STDMETHODCALLTYPE SetAllDefaultsWithNotify(
  13663. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13664. /* [out] */ ULONG *ChangedParamCount) = 0;
  13665. virtual HRESULT STDMETHODCALLTYPE GetAllSettings(
  13666. /* [in] */ IStream *__MIDL_0016) = 0;
  13667. virtual HRESULT STDMETHODCALLTYPE SetAllSettings(
  13668. /* [in] */ IStream *__MIDL_0017) = 0;
  13669. virtual HRESULT STDMETHODCALLTYPE SetAllSettingsWithNotify(
  13670. IStream *__MIDL_0018,
  13671. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13672. /* [out] */ ULONG *ChangedParamCount) = 0;
  13673. };
  13674. #else /* C style interface */
  13675. typedef struct ICodecAPIVtbl
  13676. {
  13677. BEGIN_INTERFACE
  13678. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13679. ICodecAPI * This,
  13680. /* [in] */ REFIID riid,
  13681. /* [iid_is][out] */ void **ppvObject);
  13682. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13683. ICodecAPI * This);
  13684. ULONG ( STDMETHODCALLTYPE *Release )(
  13685. ICodecAPI * This);
  13686. HRESULT ( STDMETHODCALLTYPE *IsSupported )(
  13687. ICodecAPI * This,
  13688. /* [in] */ const GUID *Api);
  13689. HRESULT ( STDMETHODCALLTYPE *IsModifiable )(
  13690. ICodecAPI * This,
  13691. /* [in] */ const GUID *Api);
  13692. HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
  13693. ICodecAPI * This,
  13694. /* [in] */ const GUID *Api,
  13695. /* [out] */ VARIANT *ValueMin,
  13696. /* [out] */ VARIANT *ValueMax,
  13697. /* [out] */ VARIANT *SteppingDelta);
  13698. HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
  13699. ICodecAPI * This,
  13700. /* [in] */ const GUID *Api,
  13701. /* [size_is][size_is][out] */ VARIANT **Values,
  13702. /* [out] */ ULONG *ValuesCount);
  13703. HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
  13704. ICodecAPI * This,
  13705. /* [in] */ const GUID *Api,
  13706. /* [out] */ VARIANT *Value);
  13707. HRESULT ( STDMETHODCALLTYPE *GetValue )(
  13708. ICodecAPI * This,
  13709. /* [in] */ const GUID *Api,
  13710. /* [out] */ VARIANT *Value);
  13711. HRESULT ( STDMETHODCALLTYPE *SetValue )(
  13712. ICodecAPI * This,
  13713. /* [in] */ const GUID *Api,
  13714. /* [in] */ VARIANT *Value);
  13715. HRESULT ( STDMETHODCALLTYPE *RegisterForEvent )(
  13716. ICodecAPI * This,
  13717. /* [in] */ const GUID *Api,
  13718. /* [in] */ LONG_PTR userData);
  13719. HRESULT ( STDMETHODCALLTYPE *UnregisterForEvent )(
  13720. ICodecAPI * This,
  13721. /* [in] */ const GUID *Api);
  13722. HRESULT ( STDMETHODCALLTYPE *SetAllDefaults )(
  13723. ICodecAPI * This);
  13724. HRESULT ( STDMETHODCALLTYPE *SetValueWithNotify )(
  13725. ICodecAPI * This,
  13726. /* [in] */ const GUID *Api,
  13727. /* [in] */ VARIANT *Value,
  13728. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13729. /* [out] */ ULONG *ChangedParamCount);
  13730. HRESULT ( STDMETHODCALLTYPE *SetAllDefaultsWithNotify )(
  13731. ICodecAPI * This,
  13732. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13733. /* [out] */ ULONG *ChangedParamCount);
  13734. HRESULT ( STDMETHODCALLTYPE *GetAllSettings )(
  13735. ICodecAPI * This,
  13736. /* [in] */ IStream *__MIDL_0016);
  13737. HRESULT ( STDMETHODCALLTYPE *SetAllSettings )(
  13738. ICodecAPI * This,
  13739. /* [in] */ IStream *__MIDL_0017);
  13740. HRESULT ( STDMETHODCALLTYPE *SetAllSettingsWithNotify )(
  13741. ICodecAPI * This,
  13742. IStream *__MIDL_0018,
  13743. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13744. /* [out] */ ULONG *ChangedParamCount);
  13745. END_INTERFACE
  13746. } ICodecAPIVtbl;
  13747. interface ICodecAPI
  13748. {
  13749. CONST_VTBL struct ICodecAPIVtbl *lpVtbl;
  13750. };
  13751. #ifdef COBJMACROS
  13752. #define ICodecAPI_QueryInterface(This,riid,ppvObject) \
  13753. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13754. #define ICodecAPI_AddRef(This) \
  13755. (This)->lpVtbl -> AddRef(This)
  13756. #define ICodecAPI_Release(This) \
  13757. (This)->lpVtbl -> Release(This)
  13758. #define ICodecAPI_IsSupported(This,Api) \
  13759. (This)->lpVtbl -> IsSupported(This,Api)
  13760. #define ICodecAPI_IsModifiable(This,Api) \
  13761. (This)->lpVtbl -> IsModifiable(This,Api)
  13762. #define ICodecAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) \
  13763. (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  13764. #define ICodecAPI_GetParameterValues(This,Api,Values,ValuesCount) \
  13765. (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  13766. #define ICodecAPI_GetDefaultValue(This,Api,Value) \
  13767. (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  13768. #define ICodecAPI_GetValue(This,Api,Value) \
  13769. (This)->lpVtbl -> GetValue(This,Api,Value)
  13770. #define ICodecAPI_SetValue(This,Api,Value) \
  13771. (This)->lpVtbl -> SetValue(This,Api,Value)
  13772. #define ICodecAPI_RegisterForEvent(This,Api,userData) \
  13773. (This)->lpVtbl -> RegisterForEvent(This,Api,userData)
  13774. #define ICodecAPI_UnregisterForEvent(This,Api) \
  13775. (This)->lpVtbl -> UnregisterForEvent(This,Api)
  13776. #define ICodecAPI_SetAllDefaults(This) \
  13777. (This)->lpVtbl -> SetAllDefaults(This)
  13778. #define ICodecAPI_SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount) \
  13779. (This)->lpVtbl -> SetValueWithNotify(This,Api,Value,ChangedParam,ChangedParamCount)
  13780. #define ICodecAPI_SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount) \
  13781. (This)->lpVtbl -> SetAllDefaultsWithNotify(This,ChangedParam,ChangedParamCount)
  13782. #define ICodecAPI_GetAllSettings(This,__MIDL_0016) \
  13783. (This)->lpVtbl -> GetAllSettings(This,__MIDL_0016)
  13784. #define ICodecAPI_SetAllSettings(This,__MIDL_0017) \
  13785. (This)->lpVtbl -> SetAllSettings(This,__MIDL_0017)
  13786. #define ICodecAPI_SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount) \
  13787. (This)->lpVtbl -> SetAllSettingsWithNotify(This,__MIDL_0018,ChangedParam,ChangedParamCount)
  13788. #endif /* COBJMACROS */
  13789. #endif /* C style interface */
  13790. HRESULT STDMETHODCALLTYPE ICodecAPI_IsSupported_Proxy(
  13791. ICodecAPI * This,
  13792. /* [in] */ const GUID *Api);
  13793. void __RPC_STUB ICodecAPI_IsSupported_Stub(
  13794. IRpcStubBuffer *This,
  13795. IRpcChannelBuffer *_pRpcChannelBuffer,
  13796. PRPC_MESSAGE _pRpcMessage,
  13797. DWORD *_pdwStubPhase);
  13798. HRESULT STDMETHODCALLTYPE ICodecAPI_IsModifiable_Proxy(
  13799. ICodecAPI * This,
  13800. /* [in] */ const GUID *Api);
  13801. void __RPC_STUB ICodecAPI_IsModifiable_Stub(
  13802. IRpcStubBuffer *This,
  13803. IRpcChannelBuffer *_pRpcChannelBuffer,
  13804. PRPC_MESSAGE _pRpcMessage,
  13805. DWORD *_pdwStubPhase);
  13806. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterRange_Proxy(
  13807. ICodecAPI * This,
  13808. /* [in] */ const GUID *Api,
  13809. /* [out] */ VARIANT *ValueMin,
  13810. /* [out] */ VARIANT *ValueMax,
  13811. /* [out] */ VARIANT *SteppingDelta);
  13812. void __RPC_STUB ICodecAPI_GetParameterRange_Stub(
  13813. IRpcStubBuffer *This,
  13814. IRpcChannelBuffer *_pRpcChannelBuffer,
  13815. PRPC_MESSAGE _pRpcMessage,
  13816. DWORD *_pdwStubPhase);
  13817. HRESULT STDMETHODCALLTYPE ICodecAPI_GetParameterValues_Proxy(
  13818. ICodecAPI * This,
  13819. /* [in] */ const GUID *Api,
  13820. /* [size_is][size_is][out] */ VARIANT **Values,
  13821. /* [out] */ ULONG *ValuesCount);
  13822. void __RPC_STUB ICodecAPI_GetParameterValues_Stub(
  13823. IRpcStubBuffer *This,
  13824. IRpcChannelBuffer *_pRpcChannelBuffer,
  13825. PRPC_MESSAGE _pRpcMessage,
  13826. DWORD *_pdwStubPhase);
  13827. HRESULT STDMETHODCALLTYPE ICodecAPI_GetDefaultValue_Proxy(
  13828. ICodecAPI * This,
  13829. /* [in] */ const GUID *Api,
  13830. /* [out] */ VARIANT *Value);
  13831. void __RPC_STUB ICodecAPI_GetDefaultValue_Stub(
  13832. IRpcStubBuffer *This,
  13833. IRpcChannelBuffer *_pRpcChannelBuffer,
  13834. PRPC_MESSAGE _pRpcMessage,
  13835. DWORD *_pdwStubPhase);
  13836. HRESULT STDMETHODCALLTYPE ICodecAPI_GetValue_Proxy(
  13837. ICodecAPI * This,
  13838. /* [in] */ const GUID *Api,
  13839. /* [out] */ VARIANT *Value);
  13840. void __RPC_STUB ICodecAPI_GetValue_Stub(
  13841. IRpcStubBuffer *This,
  13842. IRpcChannelBuffer *_pRpcChannelBuffer,
  13843. PRPC_MESSAGE _pRpcMessage,
  13844. DWORD *_pdwStubPhase);
  13845. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValue_Proxy(
  13846. ICodecAPI * This,
  13847. /* [in] */ const GUID *Api,
  13848. /* [in] */ VARIANT *Value);
  13849. void __RPC_STUB ICodecAPI_SetValue_Stub(
  13850. IRpcStubBuffer *This,
  13851. IRpcChannelBuffer *_pRpcChannelBuffer,
  13852. PRPC_MESSAGE _pRpcMessage,
  13853. DWORD *_pdwStubPhase);
  13854. HRESULT STDMETHODCALLTYPE ICodecAPI_RegisterForEvent_Proxy(
  13855. ICodecAPI * This,
  13856. /* [in] */ const GUID *Api,
  13857. /* [in] */ LONG_PTR userData);
  13858. void __RPC_STUB ICodecAPI_RegisterForEvent_Stub(
  13859. IRpcStubBuffer *This,
  13860. IRpcChannelBuffer *_pRpcChannelBuffer,
  13861. PRPC_MESSAGE _pRpcMessage,
  13862. DWORD *_pdwStubPhase);
  13863. HRESULT STDMETHODCALLTYPE ICodecAPI_UnregisterForEvent_Proxy(
  13864. ICodecAPI * This,
  13865. /* [in] */ const GUID *Api);
  13866. void __RPC_STUB ICodecAPI_UnregisterForEvent_Stub(
  13867. IRpcStubBuffer *This,
  13868. IRpcChannelBuffer *_pRpcChannelBuffer,
  13869. PRPC_MESSAGE _pRpcMessage,
  13870. DWORD *_pdwStubPhase);
  13871. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaults_Proxy(
  13872. ICodecAPI * This);
  13873. void __RPC_STUB ICodecAPI_SetAllDefaults_Stub(
  13874. IRpcStubBuffer *This,
  13875. IRpcChannelBuffer *_pRpcChannelBuffer,
  13876. PRPC_MESSAGE _pRpcMessage,
  13877. DWORD *_pdwStubPhase);
  13878. HRESULT STDMETHODCALLTYPE ICodecAPI_SetValueWithNotify_Proxy(
  13879. ICodecAPI * This,
  13880. /* [in] */ const GUID *Api,
  13881. /* [in] */ VARIANT *Value,
  13882. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13883. /* [out] */ ULONG *ChangedParamCount);
  13884. void __RPC_STUB ICodecAPI_SetValueWithNotify_Stub(
  13885. IRpcStubBuffer *This,
  13886. IRpcChannelBuffer *_pRpcChannelBuffer,
  13887. PRPC_MESSAGE _pRpcMessage,
  13888. DWORD *_pdwStubPhase);
  13889. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllDefaultsWithNotify_Proxy(
  13890. ICodecAPI * This,
  13891. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13892. /* [out] */ ULONG *ChangedParamCount);
  13893. void __RPC_STUB ICodecAPI_SetAllDefaultsWithNotify_Stub(
  13894. IRpcStubBuffer *This,
  13895. IRpcChannelBuffer *_pRpcChannelBuffer,
  13896. PRPC_MESSAGE _pRpcMessage,
  13897. DWORD *_pdwStubPhase);
  13898. HRESULT STDMETHODCALLTYPE ICodecAPI_GetAllSettings_Proxy(
  13899. ICodecAPI * This,
  13900. /* [in] */ IStream *__MIDL_0016);
  13901. void __RPC_STUB ICodecAPI_GetAllSettings_Stub(
  13902. IRpcStubBuffer *This,
  13903. IRpcChannelBuffer *_pRpcChannelBuffer,
  13904. PRPC_MESSAGE _pRpcMessage,
  13905. DWORD *_pdwStubPhase);
  13906. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettings_Proxy(
  13907. ICodecAPI * This,
  13908. /* [in] */ IStream *__MIDL_0017);
  13909. void __RPC_STUB ICodecAPI_SetAllSettings_Stub(
  13910. IRpcStubBuffer *This,
  13911. IRpcChannelBuffer *_pRpcChannelBuffer,
  13912. PRPC_MESSAGE _pRpcMessage,
  13913. DWORD *_pdwStubPhase);
  13914. HRESULT STDMETHODCALLTYPE ICodecAPI_SetAllSettingsWithNotify_Proxy(
  13915. ICodecAPI * This,
  13916. IStream *__MIDL_0018,
  13917. /* [size_is][size_is][out] */ GUID **ChangedParam,
  13918. /* [out] */ ULONG *ChangedParamCount);
  13919. void __RPC_STUB ICodecAPI_SetAllSettingsWithNotify_Stub(
  13920. IRpcStubBuffer *This,
  13921. IRpcChannelBuffer *_pRpcChannelBuffer,
  13922. PRPC_MESSAGE _pRpcMessage,
  13923. DWORD *_pdwStubPhase);
  13924. #endif /* __ICodecAPI_INTERFACE_DEFINED__ */
  13925. #ifndef __IGetCapabilitiesKey_INTERFACE_DEFINED__
  13926. #define __IGetCapabilitiesKey_INTERFACE_DEFINED__
  13927. /* interface IGetCapabilitiesKey */
  13928. /* [unique][uuid][local][object] */
  13929. EXTERN_C const IID IID_IGetCapabilitiesKey;
  13930. #if defined(__cplusplus) && !defined(CINTERFACE)
  13931. MIDL_INTERFACE("a8809222-07bb-48ea-951c-33158100625b")
  13932. IGetCapabilitiesKey : public IUnknown
  13933. {
  13934. public:
  13935. virtual HRESULT STDMETHODCALLTYPE GetCapabilitiesKey(
  13936. /* [out] */ HKEY *pHKey) = 0;
  13937. };
  13938. #else /* C style interface */
  13939. typedef struct IGetCapabilitiesKeyVtbl
  13940. {
  13941. BEGIN_INTERFACE
  13942. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  13943. IGetCapabilitiesKey * This,
  13944. /* [in] */ REFIID riid,
  13945. /* [iid_is][out] */ void **ppvObject);
  13946. ULONG ( STDMETHODCALLTYPE *AddRef )(
  13947. IGetCapabilitiesKey * This);
  13948. ULONG ( STDMETHODCALLTYPE *Release )(
  13949. IGetCapabilitiesKey * This);
  13950. HRESULT ( STDMETHODCALLTYPE *GetCapabilitiesKey )(
  13951. IGetCapabilitiesKey * This,
  13952. /* [out] */ HKEY *pHKey);
  13953. END_INTERFACE
  13954. } IGetCapabilitiesKeyVtbl;
  13955. interface IGetCapabilitiesKey
  13956. {
  13957. CONST_VTBL struct IGetCapabilitiesKeyVtbl *lpVtbl;
  13958. };
  13959. #ifdef COBJMACROS
  13960. #define IGetCapabilitiesKey_QueryInterface(This,riid,ppvObject) \
  13961. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13962. #define IGetCapabilitiesKey_AddRef(This) \
  13963. (This)->lpVtbl -> AddRef(This)
  13964. #define IGetCapabilitiesKey_Release(This) \
  13965. (This)->lpVtbl -> Release(This)
  13966. #define IGetCapabilitiesKey_GetCapabilitiesKey(This,pHKey) \
  13967. (This)->lpVtbl -> GetCapabilitiesKey(This,pHKey)
  13968. #endif /* COBJMACROS */
  13969. #endif /* C style interface */
  13970. HRESULT STDMETHODCALLTYPE IGetCapabilitiesKey_GetCapabilitiesKey_Proxy(
  13971. IGetCapabilitiesKey * This,
  13972. /* [out] */ HKEY *pHKey);
  13973. void __RPC_STUB IGetCapabilitiesKey_GetCapabilitiesKey_Stub(
  13974. IRpcStubBuffer *This,
  13975. IRpcChannelBuffer *_pRpcChannelBuffer,
  13976. PRPC_MESSAGE _pRpcMessage,
  13977. DWORD *_pdwStubPhase);
  13978. #endif /* __IGetCapabilitiesKey_INTERFACE_DEFINED__ */
  13979. #ifndef __IEncoderAPI_INTERFACE_DEFINED__
  13980. #define __IEncoderAPI_INTERFACE_DEFINED__
  13981. /* interface IEncoderAPI */
  13982. /* [unique][uuid][object] */
  13983. EXTERN_C const IID IID_IEncoderAPI;
  13984. #if defined(__cplusplus) && !defined(CINTERFACE)
  13985. MIDL_INTERFACE("70423839-6ACC-4b23-B079-21DBF08156A5")
  13986. IEncoderAPI : public IUnknown
  13987. {
  13988. public:
  13989. virtual HRESULT STDMETHODCALLTYPE IsSupported(
  13990. /* [in] */ const GUID *Api) = 0;
  13991. virtual HRESULT STDMETHODCALLTYPE IsAvailable(
  13992. /* [in] */ const GUID *Api) = 0;
  13993. virtual HRESULT STDMETHODCALLTYPE GetParameterRange(
  13994. /* [in] */ const GUID *Api,
  13995. /* [out] */ VARIANT *ValueMin,
  13996. /* [out] */ VARIANT *ValueMax,
  13997. /* [out] */ VARIANT *SteppingDelta) = 0;
  13998. virtual HRESULT STDMETHODCALLTYPE GetParameterValues(
  13999. /* [in] */ const GUID *Api,
  14000. /* [size_is][size_is][out] */ VARIANT **Values,
  14001. /* [out] */ ULONG *ValuesCount) = 0;
  14002. virtual HRESULT STDMETHODCALLTYPE GetDefaultValue(
  14003. /* [in] */ const GUID *Api,
  14004. /* [out] */ VARIANT *Value) = 0;
  14005. virtual HRESULT STDMETHODCALLTYPE GetValue(
  14006. /* [in] */ const GUID *Api,
  14007. /* [out] */ VARIANT *Value) = 0;
  14008. virtual HRESULT STDMETHODCALLTYPE SetValue(
  14009. /* [in] */ const GUID *Api,
  14010. /* [in] */ VARIANT *Value) = 0;
  14011. };
  14012. #else /* C style interface */
  14013. typedef struct IEncoderAPIVtbl
  14014. {
  14015. BEGIN_INTERFACE
  14016. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14017. IEncoderAPI * This,
  14018. /* [in] */ REFIID riid,
  14019. /* [iid_is][out] */ void **ppvObject);
  14020. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14021. IEncoderAPI * This);
  14022. ULONG ( STDMETHODCALLTYPE *Release )(
  14023. IEncoderAPI * This);
  14024. HRESULT ( STDMETHODCALLTYPE *IsSupported )(
  14025. IEncoderAPI * This,
  14026. /* [in] */ const GUID *Api);
  14027. HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
  14028. IEncoderAPI * This,
  14029. /* [in] */ const GUID *Api);
  14030. HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
  14031. IEncoderAPI * This,
  14032. /* [in] */ const GUID *Api,
  14033. /* [out] */ VARIANT *ValueMin,
  14034. /* [out] */ VARIANT *ValueMax,
  14035. /* [out] */ VARIANT *SteppingDelta);
  14036. HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
  14037. IEncoderAPI * This,
  14038. /* [in] */ const GUID *Api,
  14039. /* [size_is][size_is][out] */ VARIANT **Values,
  14040. /* [out] */ ULONG *ValuesCount);
  14041. HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
  14042. IEncoderAPI * This,
  14043. /* [in] */ const GUID *Api,
  14044. /* [out] */ VARIANT *Value);
  14045. HRESULT ( STDMETHODCALLTYPE *GetValue )(
  14046. IEncoderAPI * This,
  14047. /* [in] */ const GUID *Api,
  14048. /* [out] */ VARIANT *Value);
  14049. HRESULT ( STDMETHODCALLTYPE *SetValue )(
  14050. IEncoderAPI * This,
  14051. /* [in] */ const GUID *Api,
  14052. /* [in] */ VARIANT *Value);
  14053. END_INTERFACE
  14054. } IEncoderAPIVtbl;
  14055. interface IEncoderAPI
  14056. {
  14057. CONST_VTBL struct IEncoderAPIVtbl *lpVtbl;
  14058. };
  14059. #ifdef COBJMACROS
  14060. #define IEncoderAPI_QueryInterface(This,riid,ppvObject) \
  14061. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14062. #define IEncoderAPI_AddRef(This) \
  14063. (This)->lpVtbl -> AddRef(This)
  14064. #define IEncoderAPI_Release(This) \
  14065. (This)->lpVtbl -> Release(This)
  14066. #define IEncoderAPI_IsSupported(This,Api) \
  14067. (This)->lpVtbl -> IsSupported(This,Api)
  14068. #define IEncoderAPI_IsAvailable(This,Api) \
  14069. (This)->lpVtbl -> IsAvailable(This,Api)
  14070. #define IEncoderAPI_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) \
  14071. (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  14072. #define IEncoderAPI_GetParameterValues(This,Api,Values,ValuesCount) \
  14073. (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  14074. #define IEncoderAPI_GetDefaultValue(This,Api,Value) \
  14075. (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  14076. #define IEncoderAPI_GetValue(This,Api,Value) \
  14077. (This)->lpVtbl -> GetValue(This,Api,Value)
  14078. #define IEncoderAPI_SetValue(This,Api,Value) \
  14079. (This)->lpVtbl -> SetValue(This,Api,Value)
  14080. #endif /* COBJMACROS */
  14081. #endif /* C style interface */
  14082. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsSupported_Proxy(
  14083. IEncoderAPI * This,
  14084. /* [in] */ const GUID *Api);
  14085. void __RPC_STUB IEncoderAPI_IsSupported_Stub(
  14086. IRpcStubBuffer *This,
  14087. IRpcChannelBuffer *_pRpcChannelBuffer,
  14088. PRPC_MESSAGE _pRpcMessage,
  14089. DWORD *_pdwStubPhase);
  14090. HRESULT STDMETHODCALLTYPE IEncoderAPI_IsAvailable_Proxy(
  14091. IEncoderAPI * This,
  14092. /* [in] */ const GUID *Api);
  14093. void __RPC_STUB IEncoderAPI_IsAvailable_Stub(
  14094. IRpcStubBuffer *This,
  14095. IRpcChannelBuffer *_pRpcChannelBuffer,
  14096. PRPC_MESSAGE _pRpcMessage,
  14097. DWORD *_pdwStubPhase);
  14098. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterRange_Proxy(
  14099. IEncoderAPI * This,
  14100. /* [in] */ const GUID *Api,
  14101. /* [out] */ VARIANT *ValueMin,
  14102. /* [out] */ VARIANT *ValueMax,
  14103. /* [out] */ VARIANT *SteppingDelta);
  14104. void __RPC_STUB IEncoderAPI_GetParameterRange_Stub(
  14105. IRpcStubBuffer *This,
  14106. IRpcChannelBuffer *_pRpcChannelBuffer,
  14107. PRPC_MESSAGE _pRpcMessage,
  14108. DWORD *_pdwStubPhase);
  14109. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetParameterValues_Proxy(
  14110. IEncoderAPI * This,
  14111. /* [in] */ const GUID *Api,
  14112. /* [size_is][size_is][out] */ VARIANT **Values,
  14113. /* [out] */ ULONG *ValuesCount);
  14114. void __RPC_STUB IEncoderAPI_GetParameterValues_Stub(
  14115. IRpcStubBuffer *This,
  14116. IRpcChannelBuffer *_pRpcChannelBuffer,
  14117. PRPC_MESSAGE _pRpcMessage,
  14118. DWORD *_pdwStubPhase);
  14119. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetDefaultValue_Proxy(
  14120. IEncoderAPI * This,
  14121. /* [in] */ const GUID *Api,
  14122. /* [out] */ VARIANT *Value);
  14123. void __RPC_STUB IEncoderAPI_GetDefaultValue_Stub(
  14124. IRpcStubBuffer *This,
  14125. IRpcChannelBuffer *_pRpcChannelBuffer,
  14126. PRPC_MESSAGE _pRpcMessage,
  14127. DWORD *_pdwStubPhase);
  14128. HRESULT STDMETHODCALLTYPE IEncoderAPI_GetValue_Proxy(
  14129. IEncoderAPI * This,
  14130. /* [in] */ const GUID *Api,
  14131. /* [out] */ VARIANT *Value);
  14132. void __RPC_STUB IEncoderAPI_GetValue_Stub(
  14133. IRpcStubBuffer *This,
  14134. IRpcChannelBuffer *_pRpcChannelBuffer,
  14135. PRPC_MESSAGE _pRpcMessage,
  14136. DWORD *_pdwStubPhase);
  14137. HRESULT STDMETHODCALLTYPE IEncoderAPI_SetValue_Proxy(
  14138. IEncoderAPI * This,
  14139. /* [in] */ const GUID *Api,
  14140. /* [in] */ VARIANT *Value);
  14141. void __RPC_STUB IEncoderAPI_SetValue_Stub(
  14142. IRpcStubBuffer *This,
  14143. IRpcChannelBuffer *_pRpcChannelBuffer,
  14144. PRPC_MESSAGE _pRpcMessage,
  14145. DWORD *_pdwStubPhase);
  14146. #endif /* __IEncoderAPI_INTERFACE_DEFINED__ */
  14147. #ifndef __IVideoEncoder_INTERFACE_DEFINED__
  14148. #define __IVideoEncoder_INTERFACE_DEFINED__
  14149. /* interface IVideoEncoder */
  14150. /* [unique][uuid][object] */
  14151. EXTERN_C const IID IID_IVideoEncoder;
  14152. #if defined(__cplusplus) && !defined(CINTERFACE)
  14153. MIDL_INTERFACE("02997C3B-8E1B-460e-9270-545E0DE9563E")
  14154. IVideoEncoder : public IEncoderAPI
  14155. {
  14156. public:
  14157. };
  14158. #else /* C style interface */
  14159. typedef struct IVideoEncoderVtbl
  14160. {
  14161. BEGIN_INTERFACE
  14162. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14163. IVideoEncoder * This,
  14164. /* [in] */ REFIID riid,
  14165. /* [iid_is][out] */ void **ppvObject);
  14166. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14167. IVideoEncoder * This);
  14168. ULONG ( STDMETHODCALLTYPE *Release )(
  14169. IVideoEncoder * This);
  14170. HRESULT ( STDMETHODCALLTYPE *IsSupported )(
  14171. IVideoEncoder * This,
  14172. /* [in] */ const GUID *Api);
  14173. HRESULT ( STDMETHODCALLTYPE *IsAvailable )(
  14174. IVideoEncoder * This,
  14175. /* [in] */ const GUID *Api);
  14176. HRESULT ( STDMETHODCALLTYPE *GetParameterRange )(
  14177. IVideoEncoder * This,
  14178. /* [in] */ const GUID *Api,
  14179. /* [out] */ VARIANT *ValueMin,
  14180. /* [out] */ VARIANT *ValueMax,
  14181. /* [out] */ VARIANT *SteppingDelta);
  14182. HRESULT ( STDMETHODCALLTYPE *GetParameterValues )(
  14183. IVideoEncoder * This,
  14184. /* [in] */ const GUID *Api,
  14185. /* [size_is][size_is][out] */ VARIANT **Values,
  14186. /* [out] */ ULONG *ValuesCount);
  14187. HRESULT ( STDMETHODCALLTYPE *GetDefaultValue )(
  14188. IVideoEncoder * This,
  14189. /* [in] */ const GUID *Api,
  14190. /* [out] */ VARIANT *Value);
  14191. HRESULT ( STDMETHODCALLTYPE *GetValue )(
  14192. IVideoEncoder * This,
  14193. /* [in] */ const GUID *Api,
  14194. /* [out] */ VARIANT *Value);
  14195. HRESULT ( STDMETHODCALLTYPE *SetValue )(
  14196. IVideoEncoder * This,
  14197. /* [in] */ const GUID *Api,
  14198. /* [in] */ VARIANT *Value);
  14199. END_INTERFACE
  14200. } IVideoEncoderVtbl;
  14201. interface IVideoEncoder
  14202. {
  14203. CONST_VTBL struct IVideoEncoderVtbl *lpVtbl;
  14204. };
  14205. #ifdef COBJMACROS
  14206. #define IVideoEncoder_QueryInterface(This,riid,ppvObject) \
  14207. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14208. #define IVideoEncoder_AddRef(This) \
  14209. (This)->lpVtbl -> AddRef(This)
  14210. #define IVideoEncoder_Release(This) \
  14211. (This)->lpVtbl -> Release(This)
  14212. #define IVideoEncoder_IsSupported(This,Api) \
  14213. (This)->lpVtbl -> IsSupported(This,Api)
  14214. #define IVideoEncoder_IsAvailable(This,Api) \
  14215. (This)->lpVtbl -> IsAvailable(This,Api)
  14216. #define IVideoEncoder_GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta) \
  14217. (This)->lpVtbl -> GetParameterRange(This,Api,ValueMin,ValueMax,SteppingDelta)
  14218. #define IVideoEncoder_GetParameterValues(This,Api,Values,ValuesCount) \
  14219. (This)->lpVtbl -> GetParameterValues(This,Api,Values,ValuesCount)
  14220. #define IVideoEncoder_GetDefaultValue(This,Api,Value) \
  14221. (This)->lpVtbl -> GetDefaultValue(This,Api,Value)
  14222. #define IVideoEncoder_GetValue(This,Api,Value) \
  14223. (This)->lpVtbl -> GetValue(This,Api,Value)
  14224. #define IVideoEncoder_SetValue(This,Api,Value) \
  14225. (This)->lpVtbl -> SetValue(This,Api,Value)
  14226. #endif /* COBJMACROS */
  14227. #endif /* C style interface */
  14228. #endif /* __IVideoEncoder_INTERFACE_DEFINED__ */
  14229. /* interface __MIDL_itf_strmif_0367 */
  14230. /* [local] */
  14231. #ifndef __ENCODER_API_DEFINES__
  14232. #define __ENCODER_API_DEFINES__
  14233. typedef /* [public] */
  14234. enum __MIDL___MIDL_itf_strmif_0367_0001
  14235. { ConstantBitRate = 0,
  14236. VariableBitRateAverage = ConstantBitRate + 1,
  14237. VariableBitRatePeak = VariableBitRateAverage + 1
  14238. } VIDEOENCODER_BITRATE_MODE;
  14239. #endif // __ENCODER_API_DEFINES__
  14240. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT 0x00000001
  14241. #define VMR_NOTSUPPORTED 0x00000000
  14242. #define VMR_SUPPORTED 0x00000001
  14243. #define AM_QUERY_DECODER_VMR_SUPPORT 0x00000001
  14244. #define AM_QUERY_DECODER_DXVA_1_SUPPORT 0x00000002
  14245. #define AM_QUERY_DECODER_DVD_SUPPORT 0x00000003
  14246. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT 0x00000004
  14247. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT 0x00000005
  14248. #define AM_GETDECODERCAP_QUERY_VMR9_SUPPORT 0x00000006
  14249. #define DECODER_CAP_NOTSUPPORTED 0x00000000
  14250. #define DECODER_CAP_SUPPORTED 0x00000001
  14251. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_c_ifspec;
  14252. extern RPC_IF_HANDLE __MIDL_itf_strmif_0367_v0_0_s_ifspec;
  14253. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  14254. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  14255. /* interface IAMDecoderCaps */
  14256. /* [unique][uuid][local][object] */
  14257. EXTERN_C const IID IID_IAMDecoderCaps;
  14258. #if defined(__cplusplus) && !defined(CINTERFACE)
  14259. MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  14260. IAMDecoderCaps : public IUnknown
  14261. {
  14262. public:
  14263. virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
  14264. /* [in] */ DWORD dwCapIndex,
  14265. /* [out] */ DWORD *lpdwCap) = 0;
  14266. };
  14267. #else /* C style interface */
  14268. typedef struct IAMDecoderCapsVtbl
  14269. {
  14270. BEGIN_INTERFACE
  14271. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14272. IAMDecoderCaps * This,
  14273. /* [in] */ REFIID riid,
  14274. /* [iid_is][out] */ void **ppvObject);
  14275. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14276. IAMDecoderCaps * This);
  14277. ULONG ( STDMETHODCALLTYPE *Release )(
  14278. IAMDecoderCaps * This);
  14279. HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
  14280. IAMDecoderCaps * This,
  14281. /* [in] */ DWORD dwCapIndex,
  14282. /* [out] */ DWORD *lpdwCap);
  14283. END_INTERFACE
  14284. } IAMDecoderCapsVtbl;
  14285. interface IAMDecoderCaps
  14286. {
  14287. CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  14288. };
  14289. #ifdef COBJMACROS
  14290. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject) \
  14291. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14292. #define IAMDecoderCaps_AddRef(This) \
  14293. (This)->lpVtbl -> AddRef(This)
  14294. #define IAMDecoderCaps_Release(This) \
  14295. (This)->lpVtbl -> Release(This)
  14296. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap) \
  14297. (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  14298. #endif /* COBJMACROS */
  14299. #endif /* C style interface */
  14300. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy(
  14301. IAMDecoderCaps * This,
  14302. /* [in] */ DWORD dwCapIndex,
  14303. /* [out] */ DWORD *lpdwCap);
  14304. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  14305. IRpcStubBuffer *This,
  14306. IRpcChannelBuffer *_pRpcChannelBuffer,
  14307. PRPC_MESSAGE _pRpcMessage,
  14308. DWORD *_pdwStubPhase);
  14309. #endif /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  14310. /* interface __MIDL_itf_strmif_0368 */
  14311. /* [local] */
  14312. typedef struct _AMCOPPSignature
  14313. {
  14314. BYTE Signature[ 256 ];
  14315. } AMCOPPSignature;
  14316. typedef struct _AMCOPPCommand
  14317. {
  14318. GUID macKDI;
  14319. GUID guidCommandID;
  14320. DWORD dwSequence;
  14321. DWORD cbSizeData;
  14322. BYTE CommandData[ 4056 ];
  14323. } AMCOPPCommand;
  14324. typedef struct _AMCOPPCommand *LPAMCOPPCommand;
  14325. typedef struct _AMCOPPStatusInput
  14326. {
  14327. GUID rApp;
  14328. GUID guidStatusRequestID;
  14329. DWORD dwSequence;
  14330. DWORD cbSizeData;
  14331. BYTE StatusData[ 4056 ];
  14332. } AMCOPPStatusInput;
  14333. typedef struct _AMCOPPStatusInput *LPAMCOPPStatusInput;
  14334. typedef struct _AMCOPPStatusOutput
  14335. {
  14336. GUID macKDI;
  14337. DWORD cbSizeData;
  14338. BYTE COPPStatus[ 4076 ];
  14339. } AMCOPPStatusOutput;
  14340. typedef struct _AMCOPPStatusOutput *LPAMCOPPStatusOutput;
  14341. extern RPC_IF_HANDLE __MIDL_itf_strmif_0368_v0_0_c_ifspec;
  14342. extern RPC_IF_HANDLE __MIDL_itf_strmif_0368_v0_0_s_ifspec;
  14343. #ifndef __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
  14344. #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
  14345. /* interface IAMCertifiedOutputProtection */
  14346. /* [unique][uuid][local][object] */
  14347. EXTERN_C const IID IID_IAMCertifiedOutputProtection;
  14348. #if defined(__cplusplus) && !defined(CINTERFACE)
  14349. MIDL_INTERFACE("6feded3e-0ff1-4901-a2f1-43f7012c8515")
  14350. IAMCertifiedOutputProtection : public IUnknown
  14351. {
  14352. public:
  14353. virtual HRESULT STDMETHODCALLTYPE KeyExchange(
  14354. /* [out] */ GUID *pRandom,
  14355. /* [out] */ BYTE **VarLenCertGH,
  14356. /* [out] */ DWORD *pdwLengthCertGH) = 0;
  14357. virtual HRESULT STDMETHODCALLTYPE SessionSequenceStart(
  14358. /* [in] */ AMCOPPSignature *pSig) = 0;
  14359. virtual HRESULT STDMETHODCALLTYPE ProtectionCommand(
  14360. /* [in] */ const AMCOPPCommand *cmd) = 0;
  14361. virtual HRESULT STDMETHODCALLTYPE ProtectionStatus(
  14362. /* [in] */ const AMCOPPStatusInput *pStatusInput,
  14363. /* [out] */ AMCOPPStatusOutput *pStatusOutput) = 0;
  14364. };
  14365. #else /* C style interface */
  14366. typedef struct IAMCertifiedOutputProtectionVtbl
  14367. {
  14368. BEGIN_INTERFACE
  14369. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14370. IAMCertifiedOutputProtection * This,
  14371. /* [in] */ REFIID riid,
  14372. /* [iid_is][out] */ void **ppvObject);
  14373. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14374. IAMCertifiedOutputProtection * This);
  14375. ULONG ( STDMETHODCALLTYPE *Release )(
  14376. IAMCertifiedOutputProtection * This);
  14377. HRESULT ( STDMETHODCALLTYPE *KeyExchange )(
  14378. IAMCertifiedOutputProtection * This,
  14379. /* [out] */ GUID *pRandom,
  14380. /* [out] */ BYTE **VarLenCertGH,
  14381. /* [out] */ DWORD *pdwLengthCertGH);
  14382. HRESULT ( STDMETHODCALLTYPE *SessionSequenceStart )(
  14383. IAMCertifiedOutputProtection * This,
  14384. /* [in] */ AMCOPPSignature *pSig);
  14385. HRESULT ( STDMETHODCALLTYPE *ProtectionCommand )(
  14386. IAMCertifiedOutputProtection * This,
  14387. /* [in] */ const AMCOPPCommand *cmd);
  14388. HRESULT ( STDMETHODCALLTYPE *ProtectionStatus )(
  14389. IAMCertifiedOutputProtection * This,
  14390. /* [in] */ const AMCOPPStatusInput *pStatusInput,
  14391. /* [out] */ AMCOPPStatusOutput *pStatusOutput);
  14392. END_INTERFACE
  14393. } IAMCertifiedOutputProtectionVtbl;
  14394. interface IAMCertifiedOutputProtection
  14395. {
  14396. CONST_VTBL struct IAMCertifiedOutputProtectionVtbl *lpVtbl;
  14397. };
  14398. #ifdef COBJMACROS
  14399. #define IAMCertifiedOutputProtection_QueryInterface(This,riid,ppvObject) \
  14400. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14401. #define IAMCertifiedOutputProtection_AddRef(This) \
  14402. (This)->lpVtbl -> AddRef(This)
  14403. #define IAMCertifiedOutputProtection_Release(This) \
  14404. (This)->lpVtbl -> Release(This)
  14405. #define IAMCertifiedOutputProtection_KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH) \
  14406. (This)->lpVtbl -> KeyExchange(This,pRandom,VarLenCertGH,pdwLengthCertGH)
  14407. #define IAMCertifiedOutputProtection_SessionSequenceStart(This,pSig) \
  14408. (This)->lpVtbl -> SessionSequenceStart(This,pSig)
  14409. #define IAMCertifiedOutputProtection_ProtectionCommand(This,cmd) \
  14410. (This)->lpVtbl -> ProtectionCommand(This,cmd)
  14411. #define IAMCertifiedOutputProtection_ProtectionStatus(This,pStatusInput,pStatusOutput) \
  14412. (This)->lpVtbl -> ProtectionStatus(This,pStatusInput,pStatusOutput)
  14413. #endif /* COBJMACROS */
  14414. #endif /* C style interface */
  14415. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_KeyExchange_Proxy(
  14416. IAMCertifiedOutputProtection * This,
  14417. /* [out] */ GUID *pRandom,
  14418. /* [out] */ BYTE **VarLenCertGH,
  14419. /* [out] */ DWORD *pdwLengthCertGH);
  14420. void __RPC_STUB IAMCertifiedOutputProtection_KeyExchange_Stub(
  14421. IRpcStubBuffer *This,
  14422. IRpcChannelBuffer *_pRpcChannelBuffer,
  14423. PRPC_MESSAGE _pRpcMessage,
  14424. DWORD *_pdwStubPhase);
  14425. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(
  14426. IAMCertifiedOutputProtection * This,
  14427. /* [in] */ AMCOPPSignature *pSig);
  14428. void __RPC_STUB IAMCertifiedOutputProtection_SessionSequenceStart_Stub(
  14429. IRpcStubBuffer *This,
  14430. IRpcChannelBuffer *_pRpcChannelBuffer,
  14431. PRPC_MESSAGE _pRpcMessage,
  14432. DWORD *_pdwStubPhase);
  14433. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionCommand_Proxy(
  14434. IAMCertifiedOutputProtection * This,
  14435. /* [in] */ const AMCOPPCommand *cmd);
  14436. void __RPC_STUB IAMCertifiedOutputProtection_ProtectionCommand_Stub(
  14437. IRpcStubBuffer *This,
  14438. IRpcChannelBuffer *_pRpcChannelBuffer,
  14439. PRPC_MESSAGE _pRpcMessage,
  14440. DWORD *_pdwStubPhase);
  14441. HRESULT STDMETHODCALLTYPE IAMCertifiedOutputProtection_ProtectionStatus_Proxy(
  14442. IAMCertifiedOutputProtection * This,
  14443. /* [in] */ const AMCOPPStatusInput *pStatusInput,
  14444. /* [out] */ AMCOPPStatusOutput *pStatusOutput);
  14445. void __RPC_STUB IAMCertifiedOutputProtection_ProtectionStatus_Stub(
  14446. IRpcStubBuffer *This,
  14447. IRpcChannelBuffer *_pRpcChannelBuffer,
  14448. PRPC_MESSAGE _pRpcMessage,
  14449. DWORD *_pdwStubPhase);
  14450. #endif /* __IAMCertifiedOutputProtection_INTERFACE_DEFINED__ */
  14451. /* interface __MIDL_itf_strmif_0369 */
  14452. /* [local] */
  14453. #include <ddraw.h>
  14454. typedef
  14455. enum tagDVD_DOMAIN
  14456. { DVD_DOMAIN_FirstPlay = 1,
  14457. DVD_DOMAIN_VideoManagerMenu = DVD_DOMAIN_FirstPlay + 1,
  14458. DVD_DOMAIN_VideoTitleSetMenu = DVD_DOMAIN_VideoManagerMenu + 1,
  14459. DVD_DOMAIN_Title = DVD_DOMAIN_VideoTitleSetMenu + 1,
  14460. DVD_DOMAIN_Stop = DVD_DOMAIN_Title + 1
  14461. } DVD_DOMAIN;
  14462. typedef
  14463. enum tagDVD_MENU_ID
  14464. { DVD_MENU_Title = 2,
  14465. DVD_MENU_Root = 3,
  14466. DVD_MENU_Subpicture = 4,
  14467. DVD_MENU_Audio = 5,
  14468. DVD_MENU_Angle = 6,
  14469. DVD_MENU_Chapter = 7
  14470. } DVD_MENU_ID;
  14471. typedef
  14472. enum tagDVD_DISC_SIDE
  14473. { DVD_SIDE_A = 1,
  14474. DVD_SIDE_B = 2
  14475. } DVD_DISC_SIDE;
  14476. typedef
  14477. enum tagDVD_PREFERRED_DISPLAY_MODE
  14478. { DISPLAY_CONTENT_DEFAULT = 0,
  14479. DISPLAY_16x9 = 1,
  14480. DISPLAY_4x3_PANSCAN_PREFERRED = 2,
  14481. DISPLAY_4x3_LETTERBOX_PREFERRED = 3
  14482. } DVD_PREFERRED_DISPLAY_MODE;
  14483. typedef WORD DVD_REGISTER;
  14484. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  14485. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  14486. typedef struct tagDVD_ATR
  14487. {
  14488. ULONG ulCAT;
  14489. BYTE pbATRI[ 768 ];
  14490. } DVD_ATR;
  14491. typedef BYTE DVD_VideoATR[ 2 ];
  14492. typedef BYTE DVD_AudioATR[ 8 ];
  14493. typedef BYTE DVD_SubpictureATR[ 6 ];
  14494. typedef
  14495. enum tagDVD_FRAMERATE
  14496. { DVD_FPS_25 = 1,
  14497. DVD_FPS_30NonDrop = 3
  14498. } DVD_FRAMERATE;
  14499. typedef struct tagDVD_TIMECODE
  14500. {
  14501. ULONG Hours1 :4; // Hours
  14502. ULONG Hours10 :4; // Tens of Hours
  14503. ULONG Minutes1 :4; // Minutes
  14504. ULONG Minutes10:4; // Tens of Minutes
  14505. ULONG Seconds1 :4; // Seconds
  14506. ULONG Seconds10:4; // Tens of Seconds
  14507. ULONG Frames1 :4; // Frames
  14508. ULONG Frames10 :2; // Tens of Frames
  14509. ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  14510. } DVD_TIMECODE;
  14511. typedef
  14512. enum tagDVD_TIMECODE_FLAGS
  14513. { DVD_TC_FLAG_25fps = 0x1,
  14514. DVD_TC_FLAG_30fps = 0x2,
  14515. DVD_TC_FLAG_DropFrame = 0x4,
  14516. DVD_TC_FLAG_Interpolated = 0x8
  14517. } DVD_TIMECODE_FLAGS;
  14518. typedef struct tagDVD_HMSF_TIMECODE
  14519. {
  14520. BYTE bHours;
  14521. BYTE bMinutes;
  14522. BYTE bSeconds;
  14523. BYTE bFrames;
  14524. } DVD_HMSF_TIMECODE;
  14525. typedef struct tagDVD_PLAYBACK_LOCATION2
  14526. {
  14527. ULONG TitleNum;
  14528. ULONG ChapterNum;
  14529. DVD_HMSF_TIMECODE TimeCode;
  14530. ULONG TimeCodeFlags;
  14531. } DVD_PLAYBACK_LOCATION2;
  14532. typedef struct tagDVD_PLAYBACK_LOCATION
  14533. {
  14534. ULONG TitleNum;
  14535. ULONG ChapterNum;
  14536. ULONG TimeCode;
  14537. } DVD_PLAYBACK_LOCATION;
  14538. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  14539. typedef /* [public] */
  14540. enum __MIDL___MIDL_itf_strmif_0369_0001
  14541. { UOP_FLAG_Play_Title_Or_AtTime = 0x1,
  14542. UOP_FLAG_Play_Chapter = 0x2,
  14543. UOP_FLAG_Play_Title = 0x4,
  14544. UOP_FLAG_Stop = 0x8,
  14545. UOP_FLAG_ReturnFromSubMenu = 0x10,
  14546. UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,
  14547. UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,
  14548. UOP_FLAG_PlayNext_Chapter = 0x80,
  14549. UOP_FLAG_Play_Forwards = 0x100,
  14550. UOP_FLAG_Play_Backwards = 0x200,
  14551. UOP_FLAG_ShowMenu_Title = 0x400,
  14552. UOP_FLAG_ShowMenu_Root = 0x800,
  14553. UOP_FLAG_ShowMenu_SubPic = 0x1000,
  14554. UOP_FLAG_ShowMenu_Audio = 0x2000,
  14555. UOP_FLAG_ShowMenu_Angle = 0x4000,
  14556. UOP_FLAG_ShowMenu_Chapter = 0x8000,
  14557. UOP_FLAG_Resume = 0x10000,
  14558. UOP_FLAG_Select_Or_Activate_Button = 0x20000,
  14559. UOP_FLAG_Still_Off = 0x40000,
  14560. UOP_FLAG_Pause_On = 0x80000,
  14561. UOP_FLAG_Select_Audio_Stream = 0x100000,
  14562. UOP_FLAG_Select_SubPic_Stream = 0x200000,
  14563. UOP_FLAG_Select_Angle = 0x400000,
  14564. UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
  14565. UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
  14566. } VALID_UOP_FLAG;
  14567. typedef /* [public] */
  14568. enum __MIDL___MIDL_itf_strmif_0369_0002
  14569. { DVD_CMD_FLAG_None = 0,
  14570. DVD_CMD_FLAG_Flush = 0x1,
  14571. DVD_CMD_FLAG_SendEvents = 0x2,
  14572. DVD_CMD_FLAG_Block = 0x4,
  14573. DVD_CMD_FLAG_StartWhenRendered = 0x8,
  14574. DVD_CMD_FLAG_EndAfterRendered = 0x10
  14575. } DVD_CMD_FLAGS;
  14576. typedef /* [public][public] */
  14577. enum __MIDL___MIDL_itf_strmif_0369_0003
  14578. { DVD_ResetOnStop = 1,
  14579. DVD_NotifyParentalLevelChange = 2,
  14580. DVD_HMSF_TimeCodeEvents = 3,
  14581. DVD_AudioDuringFFwdRew = 4
  14582. } DVD_OPTION_FLAG;
  14583. typedef /* [public][public] */
  14584. enum __MIDL___MIDL_itf_strmif_0369_0004
  14585. { DVD_Relative_Upper = 1,
  14586. DVD_Relative_Lower = 2,
  14587. DVD_Relative_Left = 3,
  14588. DVD_Relative_Right = 4
  14589. } DVD_RELATIVE_BUTTON;
  14590. typedef
  14591. enum tagDVD_PARENTAL_LEVEL
  14592. { DVD_PARENTAL_LEVEL_8 = 0x8000,
  14593. DVD_PARENTAL_LEVEL_7 = 0x4000,
  14594. DVD_PARENTAL_LEVEL_6 = 0x2000,
  14595. DVD_PARENTAL_LEVEL_5 = 0x1000,
  14596. DVD_PARENTAL_LEVEL_4 = 0x800,
  14597. DVD_PARENTAL_LEVEL_3 = 0x400,
  14598. DVD_PARENTAL_LEVEL_2 = 0x200,
  14599. DVD_PARENTAL_LEVEL_1 = 0x100
  14600. } DVD_PARENTAL_LEVEL;
  14601. typedef
  14602. enum tagDVD_AUDIO_LANG_EXT
  14603. { DVD_AUD_EXT_NotSpecified = 0,
  14604. DVD_AUD_EXT_Captions = 1,
  14605. DVD_AUD_EXT_VisuallyImpaired = 2,
  14606. DVD_AUD_EXT_DirectorComments1 = 3,
  14607. DVD_AUD_EXT_DirectorComments2 = 4
  14608. } DVD_AUDIO_LANG_EXT;
  14609. typedef
  14610. enum tagDVD_SUBPICTURE_LANG_EXT
  14611. { DVD_SP_EXT_NotSpecified = 0,
  14612. DVD_SP_EXT_Caption_Normal = 1,
  14613. DVD_SP_EXT_Caption_Big = 2,
  14614. DVD_SP_EXT_Caption_Children = 3,
  14615. DVD_SP_EXT_CC_Normal = 5,
  14616. DVD_SP_EXT_CC_Big = 6,
  14617. DVD_SP_EXT_CC_Children = 7,
  14618. DVD_SP_EXT_Forced = 9,
  14619. DVD_SP_EXT_DirectorComments_Normal = 13,
  14620. DVD_SP_EXT_DirectorComments_Big = 14,
  14621. DVD_SP_EXT_DirectorComments_Children = 15
  14622. } DVD_SUBPICTURE_LANG_EXT;
  14623. typedef
  14624. enum tagDVD_AUDIO_APPMODE
  14625. { DVD_AudioMode_None = 0,
  14626. DVD_AudioMode_Karaoke = 1,
  14627. DVD_AudioMode_Surround = 2,
  14628. DVD_AudioMode_Other = 3
  14629. } DVD_AUDIO_APPMODE;
  14630. typedef
  14631. enum tagDVD_AUDIO_FORMAT
  14632. { DVD_AudioFormat_AC3 = 0,
  14633. DVD_AudioFormat_MPEG1 = 1,
  14634. DVD_AudioFormat_MPEG1_DRC = 2,
  14635. DVD_AudioFormat_MPEG2 = 3,
  14636. DVD_AudioFormat_MPEG2_DRC = 4,
  14637. DVD_AudioFormat_LPCM = 5,
  14638. DVD_AudioFormat_DTS = 6,
  14639. DVD_AudioFormat_SDDS = 7,
  14640. DVD_AudioFormat_Other = 8
  14641. } DVD_AUDIO_FORMAT;
  14642. typedef
  14643. enum tagDVD_KARAOKE_DOWNMIX
  14644. { DVD_Mix_0to0 = 0x1,
  14645. DVD_Mix_1to0 = 0x2,
  14646. DVD_Mix_2to0 = 0x4,
  14647. DVD_Mix_3to0 = 0x8,
  14648. DVD_Mix_4to0 = 0x10,
  14649. DVD_Mix_Lto0 = 0x20,
  14650. DVD_Mix_Rto0 = 0x40,
  14651. DVD_Mix_0to1 = 0x100,
  14652. DVD_Mix_1to1 = 0x200,
  14653. DVD_Mix_2to1 = 0x400,
  14654. DVD_Mix_3to1 = 0x800,
  14655. DVD_Mix_4to1 = 0x1000,
  14656. DVD_Mix_Lto1 = 0x2000,
  14657. DVD_Mix_Rto1 = 0x4000
  14658. } DVD_KARAOKE_DOWNMIX;
  14659. typedef struct tagDVD_AudioAttributes
  14660. {
  14661. DVD_AUDIO_APPMODE AppMode;
  14662. BYTE AppModeData;
  14663. DVD_AUDIO_FORMAT AudioFormat;
  14664. LCID Language;
  14665. DVD_AUDIO_LANG_EXT LanguageExtension;
  14666. BOOL fHasMultichannelInfo;
  14667. DWORD dwFrequency;
  14668. BYTE bQuantization;
  14669. BYTE bNumberOfChannels;
  14670. DWORD dwReserved[ 2 ];
  14671. } DVD_AudioAttributes;
  14672. typedef struct tagDVD_MUA_MixingInfo
  14673. {
  14674. BOOL fMixTo0;
  14675. BOOL fMixTo1;
  14676. BOOL fMix0InPhase;
  14677. BOOL fMix1InPhase;
  14678. DWORD dwSpeakerPosition;
  14679. } DVD_MUA_MixingInfo;
  14680. typedef struct tagDVD_MUA_Coeff
  14681. {
  14682. double log2_alpha;
  14683. double log2_beta;
  14684. } DVD_MUA_Coeff;
  14685. typedef struct tagDVD_MultichannelAudioAttributes
  14686. {
  14687. DVD_MUA_MixingInfo Info[ 8 ];
  14688. DVD_MUA_Coeff Coeff[ 8 ];
  14689. } DVD_MultichannelAudioAttributes;
  14690. typedef
  14691. enum tagDVD_KARAOKE_CONTENTS
  14692. { DVD_Karaoke_GuideVocal1 = 0x1,
  14693. DVD_Karaoke_GuideVocal2 = 0x2,
  14694. DVD_Karaoke_GuideMelody1 = 0x4,
  14695. DVD_Karaoke_GuideMelody2 = 0x8,
  14696. DVD_Karaoke_GuideMelodyA = 0x10,
  14697. DVD_Karaoke_GuideMelodyB = 0x20,
  14698. DVD_Karaoke_SoundEffectA = 0x40,
  14699. DVD_Karaoke_SoundEffectB = 0x80
  14700. } DVD_KARAOKE_CONTENTS;
  14701. typedef
  14702. enum tagDVD_KARAOKE_ASSIGNMENT
  14703. { DVD_Assignment_reserved0 = 0,
  14704. DVD_Assignment_reserved1 = 1,
  14705. DVD_Assignment_LR = 2,
  14706. DVD_Assignment_LRM = 3,
  14707. DVD_Assignment_LR1 = 4,
  14708. DVD_Assignment_LRM1 = 5,
  14709. DVD_Assignment_LR12 = 6,
  14710. DVD_Assignment_LRM12 = 7
  14711. } DVD_KARAOKE_ASSIGNMENT;
  14712. typedef struct tagDVD_KaraokeAttributes
  14713. {
  14714. BYTE bVersion;
  14715. BOOL fMasterOfCeremoniesInGuideVocal1;
  14716. BOOL fDuet;
  14717. DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  14718. WORD wChannelContents[ 8 ];
  14719. } DVD_KaraokeAttributes;
  14720. typedef
  14721. enum tagDVD_VIDEO_COMPRESSION
  14722. { DVD_VideoCompression_Other = 0,
  14723. DVD_VideoCompression_MPEG1 = 1,
  14724. DVD_VideoCompression_MPEG2 = 2
  14725. } DVD_VIDEO_COMPRESSION;
  14726. typedef struct tagDVD_VideoAttributes
  14727. {
  14728. BOOL fPanscanPermitted;
  14729. BOOL fLetterboxPermitted;
  14730. ULONG ulAspectX;
  14731. ULONG ulAspectY;
  14732. ULONG ulFrameRate;
  14733. ULONG ulFrameHeight;
  14734. DVD_VIDEO_COMPRESSION Compression;
  14735. BOOL fLine21Field1InGOP;
  14736. BOOL fLine21Field2InGOP;
  14737. ULONG ulSourceResolutionX;
  14738. ULONG ulSourceResolutionY;
  14739. BOOL fIsSourceLetterboxed;
  14740. BOOL fIsFilmMode;
  14741. } DVD_VideoAttributes;
  14742. typedef
  14743. enum tagDVD_SUBPICTURE_TYPE
  14744. { DVD_SPType_NotSpecified = 0,
  14745. DVD_SPType_Language = 1,
  14746. DVD_SPType_Other = 2
  14747. } DVD_SUBPICTURE_TYPE;
  14748. typedef
  14749. enum tagDVD_SUBPICTURE_CODING
  14750. { DVD_SPCoding_RunLength = 0,
  14751. DVD_SPCoding_Extended = 1,
  14752. DVD_SPCoding_Other = 2
  14753. } DVD_SUBPICTURE_CODING;
  14754. typedef struct tagDVD_SubpictureAttributes
  14755. {
  14756. DVD_SUBPICTURE_TYPE Type;
  14757. DVD_SUBPICTURE_CODING CodingMode;
  14758. LCID Language;
  14759. DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  14760. } DVD_SubpictureAttributes;
  14761. typedef
  14762. enum tagDVD_TITLE_APPMODE
  14763. { DVD_AppMode_Not_Specified = 0,
  14764. DVD_AppMode_Karaoke = 1,
  14765. DVD_AppMode_Other = 3
  14766. } DVD_TITLE_APPMODE;
  14767. typedef struct tagDVD_TitleMainAttributes
  14768. {
  14769. DVD_TITLE_APPMODE AppMode;
  14770. DVD_VideoAttributes VideoAttributes;
  14771. ULONG ulNumberOfAudioStreams;
  14772. DVD_AudioAttributes AudioAttributes[ 8 ];
  14773. DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  14774. ULONG ulNumberOfSubpictureStreams;
  14775. DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  14776. } DVD_TitleAttributes;
  14777. typedef struct tagDVD_MenuAttributes
  14778. {
  14779. BOOL fCompatibleRegion[ 8 ];
  14780. DVD_VideoAttributes VideoAttributes;
  14781. BOOL fAudioPresent;
  14782. DVD_AudioAttributes AudioAttributes;
  14783. BOOL fSubpicturePresent;
  14784. DVD_SubpictureAttributes SubpictureAttributes;
  14785. } DVD_MenuAttributes;
  14786. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_c_ifspec;
  14787. extern RPC_IF_HANDLE __MIDL_itf_strmif_0369_v0_0_s_ifspec;
  14788. #ifndef __IDvdControl_INTERFACE_DEFINED__
  14789. #define __IDvdControl_INTERFACE_DEFINED__
  14790. /* interface IDvdControl */
  14791. /* [unique][uuid][object] */
  14792. EXTERN_C const IID IID_IDvdControl;
  14793. #if defined(__cplusplus) && !defined(CINTERFACE)
  14794. MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  14795. IDvdControl : public IUnknown
  14796. {
  14797. public:
  14798. virtual HRESULT STDMETHODCALLTYPE TitlePlay(
  14799. /* [in] */ ULONG ulTitle) = 0;
  14800. virtual HRESULT STDMETHODCALLTYPE ChapterPlay(
  14801. /* [in] */ ULONG ulTitle,
  14802. /* [in] */ ULONG ulChapter) = 0;
  14803. virtual HRESULT STDMETHODCALLTYPE TimePlay(
  14804. /* [in] */ ULONG ulTitle,
  14805. /* [in] */ ULONG bcdTime) = 0;
  14806. virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  14807. virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  14808. virtual HRESULT STDMETHODCALLTYPE TimeSearch(
  14809. /* [in] */ ULONG bcdTime) = 0;
  14810. virtual HRESULT STDMETHODCALLTYPE ChapterSearch(
  14811. /* [in] */ ULONG ulChapter) = 0;
  14812. virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  14813. virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  14814. virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  14815. virtual HRESULT STDMETHODCALLTYPE ForwardScan(
  14816. /* [in] */ double dwSpeed) = 0;
  14817. virtual HRESULT STDMETHODCALLTYPE BackwardScan(
  14818. /* [in] */ double dwSpeed) = 0;
  14819. virtual HRESULT STDMETHODCALLTYPE MenuCall(
  14820. /* [in] */ DVD_MENU_ID MenuID) = 0;
  14821. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  14822. virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  14823. virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  14824. virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  14825. virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  14826. virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  14827. virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate(
  14828. /* [in] */ ULONG ulButton) = 0;
  14829. virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  14830. virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  14831. virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  14832. virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect(
  14833. /* [in] */ LCID Language) = 0;
  14834. virtual HRESULT STDMETHODCALLTYPE AudioStreamChange(
  14835. /* [in] */ ULONG ulAudio) = 0;
  14836. virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange(
  14837. /* [in] */ ULONG ulSubPicture,
  14838. /* [in] */ BOOL bDisplay) = 0;
  14839. virtual HRESULT STDMETHODCALLTYPE AngleChange(
  14840. /* [in] */ ULONG ulAngle) = 0;
  14841. virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect(
  14842. /* [in] */ ULONG ulParentalLevel) = 0;
  14843. virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect(
  14844. /* [in] */ WORD wCountry) = 0;
  14845. virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange(
  14846. /* [in] */ ULONG ulMode) = 0;
  14847. virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence(
  14848. /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  14849. virtual HRESULT STDMETHODCALLTYPE SetRoot(
  14850. /* [in] */ LPCWSTR pszPath) = 0;
  14851. virtual HRESULT STDMETHODCALLTYPE MouseActivate(
  14852. /* [in] */ POINT point) = 0;
  14853. virtual HRESULT STDMETHODCALLTYPE MouseSelect(
  14854. /* [in] */ POINT point) = 0;
  14855. virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop(
  14856. /* [in] */ ULONG ulTitle,
  14857. /* [in] */ ULONG ulChapter,
  14858. /* [in] */ ULONG ulChaptersToPlay) = 0;
  14859. };
  14860. #else /* C style interface */
  14861. typedef struct IDvdControlVtbl
  14862. {
  14863. BEGIN_INTERFACE
  14864. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  14865. IDvdControl * This,
  14866. /* [in] */ REFIID riid,
  14867. /* [iid_is][out] */ void **ppvObject);
  14868. ULONG ( STDMETHODCALLTYPE *AddRef )(
  14869. IDvdControl * This);
  14870. ULONG ( STDMETHODCALLTYPE *Release )(
  14871. IDvdControl * This);
  14872. HRESULT ( STDMETHODCALLTYPE *TitlePlay )(
  14873. IDvdControl * This,
  14874. /* [in] */ ULONG ulTitle);
  14875. HRESULT ( STDMETHODCALLTYPE *ChapterPlay )(
  14876. IDvdControl * This,
  14877. /* [in] */ ULONG ulTitle,
  14878. /* [in] */ ULONG ulChapter);
  14879. HRESULT ( STDMETHODCALLTYPE *TimePlay )(
  14880. IDvdControl * This,
  14881. /* [in] */ ULONG ulTitle,
  14882. /* [in] */ ULONG bcdTime);
  14883. HRESULT ( STDMETHODCALLTYPE *StopForResume )(
  14884. IDvdControl * This);
  14885. HRESULT ( STDMETHODCALLTYPE *GoUp )(
  14886. IDvdControl * This);
  14887. HRESULT ( STDMETHODCALLTYPE *TimeSearch )(
  14888. IDvdControl * This,
  14889. /* [in] */ ULONG bcdTime);
  14890. HRESULT ( STDMETHODCALLTYPE *ChapterSearch )(
  14891. IDvdControl * This,
  14892. /* [in] */ ULONG ulChapter);
  14893. HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )(
  14894. IDvdControl * This);
  14895. HRESULT ( STDMETHODCALLTYPE *TopPGSearch )(
  14896. IDvdControl * This);
  14897. HRESULT ( STDMETHODCALLTYPE *NextPGSearch )(
  14898. IDvdControl * This);
  14899. HRESULT ( STDMETHODCALLTYPE *ForwardScan )(
  14900. IDvdControl * This,
  14901. /* [in] */ double dwSpeed);
  14902. HRESULT ( STDMETHODCALLTYPE *BackwardScan )(
  14903. IDvdControl * This,
  14904. /* [in] */ double dwSpeed);
  14905. HRESULT ( STDMETHODCALLTYPE *MenuCall )(
  14906. IDvdControl * This,
  14907. /* [in] */ DVD_MENU_ID MenuID);
  14908. HRESULT ( STDMETHODCALLTYPE *Resume )(
  14909. IDvdControl * This);
  14910. HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )(
  14911. IDvdControl * This);
  14912. HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )(
  14913. IDvdControl * This);
  14914. HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )(
  14915. IDvdControl * This);
  14916. HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )(
  14917. IDvdControl * This);
  14918. HRESULT ( STDMETHODCALLTYPE *ButtonActivate )(
  14919. IDvdControl * This);
  14920. HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )(
  14921. IDvdControl * This,
  14922. /* [in] */ ULONG ulButton);
  14923. HRESULT ( STDMETHODCALLTYPE *StillOff )(
  14924. IDvdControl * This);
  14925. HRESULT ( STDMETHODCALLTYPE *PauseOn )(
  14926. IDvdControl * This);
  14927. HRESULT ( STDMETHODCALLTYPE *PauseOff )(
  14928. IDvdControl * This);
  14929. HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )(
  14930. IDvdControl * This,
  14931. /* [in] */ LCID Language);
  14932. HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )(
  14933. IDvdControl * This,
  14934. /* [in] */ ULONG ulAudio);
  14935. HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )(
  14936. IDvdControl * This,
  14937. /* [in] */ ULONG ulSubPicture,
  14938. /* [in] */ BOOL bDisplay);
  14939. HRESULT ( STDMETHODCALLTYPE *AngleChange )(
  14940. IDvdControl * This,
  14941. /* [in] */ ULONG ulAngle);
  14942. HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )(
  14943. IDvdControl * This,
  14944. /* [in] */ ULONG ulParentalLevel);
  14945. HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )(
  14946. IDvdControl * This,
  14947. /* [in] */ WORD wCountry);
  14948. HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )(
  14949. IDvdControl * This,
  14950. /* [in] */ ULONG ulMode);
  14951. HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )(
  14952. IDvdControl * This,
  14953. /* [in] */ ULONG ulPreferredDisplayMode);
  14954. HRESULT ( STDMETHODCALLTYPE *SetRoot )(
  14955. IDvdControl * This,
  14956. /* [in] */ LPCWSTR pszPath);
  14957. HRESULT ( STDMETHODCALLTYPE *MouseActivate )(
  14958. IDvdControl * This,
  14959. /* [in] */ POINT point);
  14960. HRESULT ( STDMETHODCALLTYPE *MouseSelect )(
  14961. IDvdControl * This,
  14962. /* [in] */ POINT point);
  14963. HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )(
  14964. IDvdControl * This,
  14965. /* [in] */ ULONG ulTitle,
  14966. /* [in] */ ULONG ulChapter,
  14967. /* [in] */ ULONG ulChaptersToPlay);
  14968. END_INTERFACE
  14969. } IDvdControlVtbl;
  14970. interface IDvdControl
  14971. {
  14972. CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  14973. };
  14974. #ifdef COBJMACROS
  14975. #define IDvdControl_QueryInterface(This,riid,ppvObject) \
  14976. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14977. #define IDvdControl_AddRef(This) \
  14978. (This)->lpVtbl -> AddRef(This)
  14979. #define IDvdControl_Release(This) \
  14980. (This)->lpVtbl -> Release(This)
  14981. #define IDvdControl_TitlePlay(This,ulTitle) \
  14982. (This)->lpVtbl -> TitlePlay(This,ulTitle)
  14983. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter) \
  14984. (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  14985. #define IDvdControl_TimePlay(This,ulTitle,bcdTime) \
  14986. (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  14987. #define IDvdControl_StopForResume(This) \
  14988. (This)->lpVtbl -> StopForResume(This)
  14989. #define IDvdControl_GoUp(This) \
  14990. (This)->lpVtbl -> GoUp(This)
  14991. #define IDvdControl_TimeSearch(This,bcdTime) \
  14992. (This)->lpVtbl -> TimeSearch(This,bcdTime)
  14993. #define IDvdControl_ChapterSearch(This,ulChapter) \
  14994. (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  14995. #define IDvdControl_PrevPGSearch(This) \
  14996. (This)->lpVtbl -> PrevPGSearch(This)
  14997. #define IDvdControl_TopPGSearch(This) \
  14998. (This)->lpVtbl -> TopPGSearch(This)
  14999. #define IDvdControl_NextPGSearch(This) \
  15000. (This)->lpVtbl -> NextPGSearch(This)
  15001. #define IDvdControl_ForwardScan(This,dwSpeed) \
  15002. (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  15003. #define IDvdControl_BackwardScan(This,dwSpeed) \
  15004. (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  15005. #define IDvdControl_MenuCall(This,MenuID) \
  15006. (This)->lpVtbl -> MenuCall(This,MenuID)
  15007. #define IDvdControl_Resume(This) \
  15008. (This)->lpVtbl -> Resume(This)
  15009. #define IDvdControl_UpperButtonSelect(This) \
  15010. (This)->lpVtbl -> UpperButtonSelect(This)
  15011. #define IDvdControl_LowerButtonSelect(This) \
  15012. (This)->lpVtbl -> LowerButtonSelect(This)
  15013. #define IDvdControl_LeftButtonSelect(This) \
  15014. (This)->lpVtbl -> LeftButtonSelect(This)
  15015. #define IDvdControl_RightButtonSelect(This) \
  15016. (This)->lpVtbl -> RightButtonSelect(This)
  15017. #define IDvdControl_ButtonActivate(This) \
  15018. (This)->lpVtbl -> ButtonActivate(This)
  15019. #define IDvdControl_ButtonSelectAndActivate(This,ulButton) \
  15020. (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  15021. #define IDvdControl_StillOff(This) \
  15022. (This)->lpVtbl -> StillOff(This)
  15023. #define IDvdControl_PauseOn(This) \
  15024. (This)->lpVtbl -> PauseOn(This)
  15025. #define IDvdControl_PauseOff(This) \
  15026. (This)->lpVtbl -> PauseOff(This)
  15027. #define IDvdControl_MenuLanguageSelect(This,Language) \
  15028. (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  15029. #define IDvdControl_AudioStreamChange(This,ulAudio) \
  15030. (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  15031. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay) \
  15032. (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  15033. #define IDvdControl_AngleChange(This,ulAngle) \
  15034. (This)->lpVtbl -> AngleChange(This,ulAngle)
  15035. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel) \
  15036. (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  15037. #define IDvdControl_ParentalCountrySelect(This,wCountry) \
  15038. (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  15039. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode) \
  15040. (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  15041. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode) \
  15042. (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  15043. #define IDvdControl_SetRoot(This,pszPath) \
  15044. (This)->lpVtbl -> SetRoot(This,pszPath)
  15045. #define IDvdControl_MouseActivate(This,point) \
  15046. (This)->lpVtbl -> MouseActivate(This,point)
  15047. #define IDvdControl_MouseSelect(This,point) \
  15048. (This)->lpVtbl -> MouseSelect(This,point)
  15049. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay) \
  15050. (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  15051. #endif /* COBJMACROS */
  15052. #endif /* C style interface */
  15053. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy(
  15054. IDvdControl * This,
  15055. /* [in] */ ULONG ulTitle);
  15056. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  15057. IRpcStubBuffer *This,
  15058. IRpcChannelBuffer *_pRpcChannelBuffer,
  15059. PRPC_MESSAGE _pRpcMessage,
  15060. DWORD *_pdwStubPhase);
  15061. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy(
  15062. IDvdControl * This,
  15063. /* [in] */ ULONG ulTitle,
  15064. /* [in] */ ULONG ulChapter);
  15065. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  15066. IRpcStubBuffer *This,
  15067. IRpcChannelBuffer *_pRpcChannelBuffer,
  15068. PRPC_MESSAGE _pRpcMessage,
  15069. DWORD *_pdwStubPhase);
  15070. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy(
  15071. IDvdControl * This,
  15072. /* [in] */ ULONG ulTitle,
  15073. /* [in] */ ULONG bcdTime);
  15074. void __RPC_STUB IDvdControl_TimePlay_Stub(
  15075. IRpcStubBuffer *This,
  15076. IRpcChannelBuffer *_pRpcChannelBuffer,
  15077. PRPC_MESSAGE _pRpcMessage,
  15078. DWORD *_pdwStubPhase);
  15079. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy(
  15080. IDvdControl * This);
  15081. void __RPC_STUB IDvdControl_StopForResume_Stub(
  15082. IRpcStubBuffer *This,
  15083. IRpcChannelBuffer *_pRpcChannelBuffer,
  15084. PRPC_MESSAGE _pRpcMessage,
  15085. DWORD *_pdwStubPhase);
  15086. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy(
  15087. IDvdControl * This);
  15088. void __RPC_STUB IDvdControl_GoUp_Stub(
  15089. IRpcStubBuffer *This,
  15090. IRpcChannelBuffer *_pRpcChannelBuffer,
  15091. PRPC_MESSAGE _pRpcMessage,
  15092. DWORD *_pdwStubPhase);
  15093. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy(
  15094. IDvdControl * This,
  15095. /* [in] */ ULONG bcdTime);
  15096. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  15097. IRpcStubBuffer *This,
  15098. IRpcChannelBuffer *_pRpcChannelBuffer,
  15099. PRPC_MESSAGE _pRpcMessage,
  15100. DWORD *_pdwStubPhase);
  15101. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy(
  15102. IDvdControl * This,
  15103. /* [in] */ ULONG ulChapter);
  15104. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  15105. IRpcStubBuffer *This,
  15106. IRpcChannelBuffer *_pRpcChannelBuffer,
  15107. PRPC_MESSAGE _pRpcMessage,
  15108. DWORD *_pdwStubPhase);
  15109. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy(
  15110. IDvdControl * This);
  15111. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  15112. IRpcStubBuffer *This,
  15113. IRpcChannelBuffer *_pRpcChannelBuffer,
  15114. PRPC_MESSAGE _pRpcMessage,
  15115. DWORD *_pdwStubPhase);
  15116. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy(
  15117. IDvdControl * This);
  15118. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  15119. IRpcStubBuffer *This,
  15120. IRpcChannelBuffer *_pRpcChannelBuffer,
  15121. PRPC_MESSAGE _pRpcMessage,
  15122. DWORD *_pdwStubPhase);
  15123. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy(
  15124. IDvdControl * This);
  15125. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  15126. IRpcStubBuffer *This,
  15127. IRpcChannelBuffer *_pRpcChannelBuffer,
  15128. PRPC_MESSAGE _pRpcMessage,
  15129. DWORD *_pdwStubPhase);
  15130. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy(
  15131. IDvdControl * This,
  15132. /* [in] */ double dwSpeed);
  15133. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  15134. IRpcStubBuffer *This,
  15135. IRpcChannelBuffer *_pRpcChannelBuffer,
  15136. PRPC_MESSAGE _pRpcMessage,
  15137. DWORD *_pdwStubPhase);
  15138. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy(
  15139. IDvdControl * This,
  15140. /* [in] */ double dwSpeed);
  15141. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  15142. IRpcStubBuffer *This,
  15143. IRpcChannelBuffer *_pRpcChannelBuffer,
  15144. PRPC_MESSAGE _pRpcMessage,
  15145. DWORD *_pdwStubPhase);
  15146. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy(
  15147. IDvdControl * This,
  15148. /* [in] */ DVD_MENU_ID MenuID);
  15149. void __RPC_STUB IDvdControl_MenuCall_Stub(
  15150. IRpcStubBuffer *This,
  15151. IRpcChannelBuffer *_pRpcChannelBuffer,
  15152. PRPC_MESSAGE _pRpcMessage,
  15153. DWORD *_pdwStubPhase);
  15154. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy(
  15155. IDvdControl * This);
  15156. void __RPC_STUB IDvdControl_Resume_Stub(
  15157. IRpcStubBuffer *This,
  15158. IRpcChannelBuffer *_pRpcChannelBuffer,
  15159. PRPC_MESSAGE _pRpcMessage,
  15160. DWORD *_pdwStubPhase);
  15161. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy(
  15162. IDvdControl * This);
  15163. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  15164. IRpcStubBuffer *This,
  15165. IRpcChannelBuffer *_pRpcChannelBuffer,
  15166. PRPC_MESSAGE _pRpcMessage,
  15167. DWORD *_pdwStubPhase);
  15168. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy(
  15169. IDvdControl * This);
  15170. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  15171. IRpcStubBuffer *This,
  15172. IRpcChannelBuffer *_pRpcChannelBuffer,
  15173. PRPC_MESSAGE _pRpcMessage,
  15174. DWORD *_pdwStubPhase);
  15175. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy(
  15176. IDvdControl * This);
  15177. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  15178. IRpcStubBuffer *This,
  15179. IRpcChannelBuffer *_pRpcChannelBuffer,
  15180. PRPC_MESSAGE _pRpcMessage,
  15181. DWORD *_pdwStubPhase);
  15182. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy(
  15183. IDvdControl * This);
  15184. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  15185. IRpcStubBuffer *This,
  15186. IRpcChannelBuffer *_pRpcChannelBuffer,
  15187. PRPC_MESSAGE _pRpcMessage,
  15188. DWORD *_pdwStubPhase);
  15189. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy(
  15190. IDvdControl * This);
  15191. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  15192. IRpcStubBuffer *This,
  15193. IRpcChannelBuffer *_pRpcChannelBuffer,
  15194. PRPC_MESSAGE _pRpcMessage,
  15195. DWORD *_pdwStubPhase);
  15196. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy(
  15197. IDvdControl * This,
  15198. /* [in] */ ULONG ulButton);
  15199. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  15200. IRpcStubBuffer *This,
  15201. IRpcChannelBuffer *_pRpcChannelBuffer,
  15202. PRPC_MESSAGE _pRpcMessage,
  15203. DWORD *_pdwStubPhase);
  15204. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy(
  15205. IDvdControl * This);
  15206. void __RPC_STUB IDvdControl_StillOff_Stub(
  15207. IRpcStubBuffer *This,
  15208. IRpcChannelBuffer *_pRpcChannelBuffer,
  15209. PRPC_MESSAGE _pRpcMessage,
  15210. DWORD *_pdwStubPhase);
  15211. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy(
  15212. IDvdControl * This);
  15213. void __RPC_STUB IDvdControl_PauseOn_Stub(
  15214. IRpcStubBuffer *This,
  15215. IRpcChannelBuffer *_pRpcChannelBuffer,
  15216. PRPC_MESSAGE _pRpcMessage,
  15217. DWORD *_pdwStubPhase);
  15218. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy(
  15219. IDvdControl * This);
  15220. void __RPC_STUB IDvdControl_PauseOff_Stub(
  15221. IRpcStubBuffer *This,
  15222. IRpcChannelBuffer *_pRpcChannelBuffer,
  15223. PRPC_MESSAGE _pRpcMessage,
  15224. DWORD *_pdwStubPhase);
  15225. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy(
  15226. IDvdControl * This,
  15227. /* [in] */ LCID Language);
  15228. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  15229. IRpcStubBuffer *This,
  15230. IRpcChannelBuffer *_pRpcChannelBuffer,
  15231. PRPC_MESSAGE _pRpcMessage,
  15232. DWORD *_pdwStubPhase);
  15233. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy(
  15234. IDvdControl * This,
  15235. /* [in] */ ULONG ulAudio);
  15236. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  15237. IRpcStubBuffer *This,
  15238. IRpcChannelBuffer *_pRpcChannelBuffer,
  15239. PRPC_MESSAGE _pRpcMessage,
  15240. DWORD *_pdwStubPhase);
  15241. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy(
  15242. IDvdControl * This,
  15243. /* [in] */ ULONG ulSubPicture,
  15244. /* [in] */ BOOL bDisplay);
  15245. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  15246. IRpcStubBuffer *This,
  15247. IRpcChannelBuffer *_pRpcChannelBuffer,
  15248. PRPC_MESSAGE _pRpcMessage,
  15249. DWORD *_pdwStubPhase);
  15250. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy(
  15251. IDvdControl * This,
  15252. /* [in] */ ULONG ulAngle);
  15253. void __RPC_STUB IDvdControl_AngleChange_Stub(
  15254. IRpcStubBuffer *This,
  15255. IRpcChannelBuffer *_pRpcChannelBuffer,
  15256. PRPC_MESSAGE _pRpcMessage,
  15257. DWORD *_pdwStubPhase);
  15258. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy(
  15259. IDvdControl * This,
  15260. /* [in] */ ULONG ulParentalLevel);
  15261. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  15262. IRpcStubBuffer *This,
  15263. IRpcChannelBuffer *_pRpcChannelBuffer,
  15264. PRPC_MESSAGE _pRpcMessage,
  15265. DWORD *_pdwStubPhase);
  15266. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy(
  15267. IDvdControl * This,
  15268. /* [in] */ WORD wCountry);
  15269. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  15270. IRpcStubBuffer *This,
  15271. IRpcChannelBuffer *_pRpcChannelBuffer,
  15272. PRPC_MESSAGE _pRpcMessage,
  15273. DWORD *_pdwStubPhase);
  15274. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy(
  15275. IDvdControl * This,
  15276. /* [in] */ ULONG ulMode);
  15277. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  15278. IRpcStubBuffer *This,
  15279. IRpcChannelBuffer *_pRpcChannelBuffer,
  15280. PRPC_MESSAGE _pRpcMessage,
  15281. DWORD *_pdwStubPhase);
  15282. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy(
  15283. IDvdControl * This,
  15284. /* [in] */ ULONG ulPreferredDisplayMode);
  15285. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  15286. IRpcStubBuffer *This,
  15287. IRpcChannelBuffer *_pRpcChannelBuffer,
  15288. PRPC_MESSAGE _pRpcMessage,
  15289. DWORD *_pdwStubPhase);
  15290. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy(
  15291. IDvdControl * This,
  15292. /* [in] */ LPCWSTR pszPath);
  15293. void __RPC_STUB IDvdControl_SetRoot_Stub(
  15294. IRpcStubBuffer *This,
  15295. IRpcChannelBuffer *_pRpcChannelBuffer,
  15296. PRPC_MESSAGE _pRpcMessage,
  15297. DWORD *_pdwStubPhase);
  15298. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy(
  15299. IDvdControl * This,
  15300. /* [in] */ POINT point);
  15301. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  15302. IRpcStubBuffer *This,
  15303. IRpcChannelBuffer *_pRpcChannelBuffer,
  15304. PRPC_MESSAGE _pRpcMessage,
  15305. DWORD *_pdwStubPhase);
  15306. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy(
  15307. IDvdControl * This,
  15308. /* [in] */ POINT point);
  15309. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  15310. IRpcStubBuffer *This,
  15311. IRpcChannelBuffer *_pRpcChannelBuffer,
  15312. PRPC_MESSAGE _pRpcMessage,
  15313. DWORD *_pdwStubPhase);
  15314. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy(
  15315. IDvdControl * This,
  15316. /* [in] */ ULONG ulTitle,
  15317. /* [in] */ ULONG ulChapter,
  15318. /* [in] */ ULONG ulChaptersToPlay);
  15319. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  15320. IRpcStubBuffer *This,
  15321. IRpcChannelBuffer *_pRpcChannelBuffer,
  15322. PRPC_MESSAGE _pRpcMessage,
  15323. DWORD *_pdwStubPhase);
  15324. #endif /* __IDvdControl_INTERFACE_DEFINED__ */
  15325. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  15326. #define __IDvdInfo_INTERFACE_DEFINED__
  15327. /* interface IDvdInfo */
  15328. /* [unique][uuid][object] */
  15329. EXTERN_C const IID IID_IDvdInfo;
  15330. #if defined(__cplusplus) && !defined(CINTERFACE)
  15331. MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  15332. IDvdInfo : public IUnknown
  15333. {
  15334. public:
  15335. virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
  15336. /* [out] */ DVD_DOMAIN *pDomain) = 0;
  15337. virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
  15338. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  15339. virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
  15340. /* [out] */ ULONG *pulTotalTime) = 0;
  15341. virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
  15342. /* [out] */ ULONG *pulButtonsAvailable,
  15343. /* [out] */ ULONG *pulCurrentButton) = 0;
  15344. virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
  15345. /* [out] */ ULONG *pulAnglesAvailable,
  15346. /* [out] */ ULONG *pulCurrentAngle) = 0;
  15347. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
  15348. /* [out] */ ULONG *pulStreamsAvailable,
  15349. /* [out] */ ULONG *pulCurrentStream) = 0;
  15350. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
  15351. /* [out] */ ULONG *pulStreamsAvailable,
  15352. /* [out] */ ULONG *pulCurrentStream,
  15353. /* [out] */ BOOL *pIsDisabled) = 0;
  15354. virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
  15355. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  15356. virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
  15357. /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  15358. virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
  15359. /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  15360. virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
  15361. /* [in] */ ULONG ulStream,
  15362. /* [out] */ LCID *pLanguage) = 0;
  15363. virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
  15364. /* [in] */ ULONG ulStream,
  15365. /* [out] */ LCID *pLanguage) = 0;
  15366. virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
  15367. /* [in] */ ULONG ulTitle,
  15368. /* [out] */ DVD_ATR *pATR) = 0;
  15369. virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
  15370. /* [out] */ DVD_ATR *pATR) = 0;
  15371. virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
  15372. /* [out] */ DVD_VideoATR *pATR) = 0;
  15373. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes(
  15374. /* [out] */ DVD_AudioATR *pATR) = 0;
  15375. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes(
  15376. /* [out] */ DVD_SubpictureATR *pATR) = 0;
  15377. virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo(
  15378. /* [out] */ ULONG *pulNumOfVol,
  15379. /* [out] */ ULONG *pulThisVolNum,
  15380. /* [out] */ DVD_DISC_SIDE *pSide,
  15381. /* [out] */ ULONG *pulNumOfTitles) = 0;
  15382. virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo(
  15383. /* [size_is][out] */ BYTE *pTextManager,
  15384. /* [in] */ ULONG ulBufSize,
  15385. /* [out] */ ULONG *pulActualSize) = 0;
  15386. virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
  15387. /* [out] */ ULONG *pulParentalLevel,
  15388. /* [out] */ ULONG *pulCountryCode) = 0;
  15389. virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
  15390. /* [in] */ ULONG ulTitle,
  15391. /* [out] */ ULONG *pulNumberOfChapters) = 0;
  15392. virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
  15393. /* [in] */ ULONG ulTitle,
  15394. /* [out] */ ULONG *pulParentalLevels) = 0;
  15395. virtual HRESULT STDMETHODCALLTYPE GetRoot(
  15396. /* [size_is][out] */ LPSTR pRoot,
  15397. /* [in] */ ULONG ulBufSize,
  15398. /* [out] */ ULONG *pulActualSize) = 0;
  15399. };
  15400. #else /* C style interface */
  15401. typedef struct IDvdInfoVtbl
  15402. {
  15403. BEGIN_INTERFACE
  15404. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15405. IDvdInfo * This,
  15406. /* [in] */ REFIID riid,
  15407. /* [iid_is][out] */ void **ppvObject);
  15408. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15409. IDvdInfo * This);
  15410. ULONG ( STDMETHODCALLTYPE *Release )(
  15411. IDvdInfo * This);
  15412. HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
  15413. IDvdInfo * This,
  15414. /* [out] */ DVD_DOMAIN *pDomain);
  15415. HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
  15416. IDvdInfo * This,
  15417. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  15418. HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
  15419. IDvdInfo * This,
  15420. /* [out] */ ULONG *pulTotalTime);
  15421. HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
  15422. IDvdInfo * This,
  15423. /* [out] */ ULONG *pulButtonsAvailable,
  15424. /* [out] */ ULONG *pulCurrentButton);
  15425. HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
  15426. IDvdInfo * This,
  15427. /* [out] */ ULONG *pulAnglesAvailable,
  15428. /* [out] */ ULONG *pulCurrentAngle);
  15429. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
  15430. IDvdInfo * This,
  15431. /* [out] */ ULONG *pulStreamsAvailable,
  15432. /* [out] */ ULONG *pulCurrentStream);
  15433. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
  15434. IDvdInfo * This,
  15435. /* [out] */ ULONG *pulStreamsAvailable,
  15436. /* [out] */ ULONG *pulCurrentStream,
  15437. /* [out] */ BOOL *pIsDisabled);
  15438. HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
  15439. IDvdInfo * This,
  15440. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  15441. HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
  15442. IDvdInfo * This,
  15443. /* [out] */ SPRMARRAY *pRegisterArray);
  15444. HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
  15445. IDvdInfo * This,
  15446. /* [out] */ GPRMARRAY *pRegisterArray);
  15447. HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
  15448. IDvdInfo * This,
  15449. /* [in] */ ULONG ulStream,
  15450. /* [out] */ LCID *pLanguage);
  15451. HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
  15452. IDvdInfo * This,
  15453. /* [in] */ ULONG ulStream,
  15454. /* [out] */ LCID *pLanguage);
  15455. HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
  15456. IDvdInfo * This,
  15457. /* [in] */ ULONG ulTitle,
  15458. /* [out] */ DVD_ATR *pATR);
  15459. HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
  15460. IDvdInfo * This,
  15461. /* [out] */ DVD_ATR *pATR);
  15462. HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
  15463. IDvdInfo * This,
  15464. /* [out] */ DVD_VideoATR *pATR);
  15465. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )(
  15466. IDvdInfo * This,
  15467. /* [out] */ DVD_AudioATR *pATR);
  15468. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )(
  15469. IDvdInfo * This,
  15470. /* [out] */ DVD_SubpictureATR *pATR);
  15471. HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )(
  15472. IDvdInfo * This,
  15473. /* [out] */ ULONG *pulNumOfVol,
  15474. /* [out] */ ULONG *pulThisVolNum,
  15475. /* [out] */ DVD_DISC_SIDE *pSide,
  15476. /* [out] */ ULONG *pulNumOfTitles);
  15477. HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )(
  15478. IDvdInfo * This,
  15479. /* [size_is][out] */ BYTE *pTextManager,
  15480. /* [in] */ ULONG ulBufSize,
  15481. /* [out] */ ULONG *pulActualSize);
  15482. HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
  15483. IDvdInfo * This,
  15484. /* [out] */ ULONG *pulParentalLevel,
  15485. /* [out] */ ULONG *pulCountryCode);
  15486. HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
  15487. IDvdInfo * This,
  15488. /* [in] */ ULONG ulTitle,
  15489. /* [out] */ ULONG *pulNumberOfChapters);
  15490. HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
  15491. IDvdInfo * This,
  15492. /* [in] */ ULONG ulTitle,
  15493. /* [out] */ ULONG *pulParentalLevels);
  15494. HRESULT ( STDMETHODCALLTYPE *GetRoot )(
  15495. IDvdInfo * This,
  15496. /* [size_is][out] */ LPSTR pRoot,
  15497. /* [in] */ ULONG ulBufSize,
  15498. /* [out] */ ULONG *pulActualSize);
  15499. END_INTERFACE
  15500. } IDvdInfoVtbl;
  15501. interface IDvdInfo
  15502. {
  15503. CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  15504. };
  15505. #ifdef COBJMACROS
  15506. #define IDvdInfo_QueryInterface(This,riid,ppvObject) \
  15507. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15508. #define IDvdInfo_AddRef(This) \
  15509. (This)->lpVtbl -> AddRef(This)
  15510. #define IDvdInfo_Release(This) \
  15511. (This)->lpVtbl -> Release(This)
  15512. #define IDvdInfo_GetCurrentDomain(This,pDomain) \
  15513. (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  15514. #define IDvdInfo_GetCurrentLocation(This,pLocation) \
  15515. (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  15516. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime) \
  15517. (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  15518. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) \
  15519. (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  15520. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) \
  15521. (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  15522. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) \
  15523. (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  15524. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled) \
  15525. (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  15526. #define IDvdInfo_GetCurrentUOPS(This,pUOP) \
  15527. (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  15528. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray) \
  15529. (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  15530. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray) \
  15531. (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  15532. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage) \
  15533. (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  15534. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage) \
  15535. (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  15536. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR) \
  15537. (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  15538. #define IDvdInfo_GetVMGAttributes(This,pATR) \
  15539. (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  15540. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR) \
  15541. (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  15542. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR) \
  15543. (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  15544. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR) \
  15545. (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  15546. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles) \
  15547. (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  15548. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize) \
  15549. (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  15550. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode) \
  15551. (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  15552. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters) \
  15553. (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  15554. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) \
  15555. (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  15556. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize) \
  15557. (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  15558. #endif /* COBJMACROS */
  15559. #endif /* C style interface */
  15560. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy(
  15561. IDvdInfo * This,
  15562. /* [out] */ DVD_DOMAIN *pDomain);
  15563. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  15564. IRpcStubBuffer *This,
  15565. IRpcChannelBuffer *_pRpcChannelBuffer,
  15566. PRPC_MESSAGE _pRpcMessage,
  15567. DWORD *_pdwStubPhase);
  15568. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy(
  15569. IDvdInfo * This,
  15570. /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  15571. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  15572. IRpcStubBuffer *This,
  15573. IRpcChannelBuffer *_pRpcChannelBuffer,
  15574. PRPC_MESSAGE _pRpcMessage,
  15575. DWORD *_pdwStubPhase);
  15576. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy(
  15577. IDvdInfo * This,
  15578. /* [out] */ ULONG *pulTotalTime);
  15579. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  15580. IRpcStubBuffer *This,
  15581. IRpcChannelBuffer *_pRpcChannelBuffer,
  15582. PRPC_MESSAGE _pRpcMessage,
  15583. DWORD *_pdwStubPhase);
  15584. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy(
  15585. IDvdInfo * This,
  15586. /* [out] */ ULONG *pulButtonsAvailable,
  15587. /* [out] */ ULONG *pulCurrentButton);
  15588. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  15589. IRpcStubBuffer *This,
  15590. IRpcChannelBuffer *_pRpcChannelBuffer,
  15591. PRPC_MESSAGE _pRpcMessage,
  15592. DWORD *_pdwStubPhase);
  15593. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy(
  15594. IDvdInfo * This,
  15595. /* [out] */ ULONG *pulAnglesAvailable,
  15596. /* [out] */ ULONG *pulCurrentAngle);
  15597. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  15598. IRpcStubBuffer *This,
  15599. IRpcChannelBuffer *_pRpcChannelBuffer,
  15600. PRPC_MESSAGE _pRpcMessage,
  15601. DWORD *_pdwStubPhase);
  15602. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy(
  15603. IDvdInfo * This,
  15604. /* [out] */ ULONG *pulStreamsAvailable,
  15605. /* [out] */ ULONG *pulCurrentStream);
  15606. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  15607. IRpcStubBuffer *This,
  15608. IRpcChannelBuffer *_pRpcChannelBuffer,
  15609. PRPC_MESSAGE _pRpcMessage,
  15610. DWORD *_pdwStubPhase);
  15611. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy(
  15612. IDvdInfo * This,
  15613. /* [out] */ ULONG *pulStreamsAvailable,
  15614. /* [out] */ ULONG *pulCurrentStream,
  15615. /* [out] */ BOOL *pIsDisabled);
  15616. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  15617. IRpcStubBuffer *This,
  15618. IRpcChannelBuffer *_pRpcChannelBuffer,
  15619. PRPC_MESSAGE _pRpcMessage,
  15620. DWORD *_pdwStubPhase);
  15621. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy(
  15622. IDvdInfo * This,
  15623. /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  15624. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  15625. IRpcStubBuffer *This,
  15626. IRpcChannelBuffer *_pRpcChannelBuffer,
  15627. PRPC_MESSAGE _pRpcMessage,
  15628. DWORD *_pdwStubPhase);
  15629. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy(
  15630. IDvdInfo * This,
  15631. /* [out] */ SPRMARRAY *pRegisterArray);
  15632. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  15633. IRpcStubBuffer *This,
  15634. IRpcChannelBuffer *_pRpcChannelBuffer,
  15635. PRPC_MESSAGE _pRpcMessage,
  15636. DWORD *_pdwStubPhase);
  15637. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy(
  15638. IDvdInfo * This,
  15639. /* [out] */ GPRMARRAY *pRegisterArray);
  15640. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  15641. IRpcStubBuffer *This,
  15642. IRpcChannelBuffer *_pRpcChannelBuffer,
  15643. PRPC_MESSAGE _pRpcMessage,
  15644. DWORD *_pdwStubPhase);
  15645. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy(
  15646. IDvdInfo * This,
  15647. /* [in] */ ULONG ulStream,
  15648. /* [out] */ LCID *pLanguage);
  15649. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  15650. IRpcStubBuffer *This,
  15651. IRpcChannelBuffer *_pRpcChannelBuffer,
  15652. PRPC_MESSAGE _pRpcMessage,
  15653. DWORD *_pdwStubPhase);
  15654. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy(
  15655. IDvdInfo * This,
  15656. /* [in] */ ULONG ulStream,
  15657. /* [out] */ LCID *pLanguage);
  15658. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  15659. IRpcStubBuffer *This,
  15660. IRpcChannelBuffer *_pRpcChannelBuffer,
  15661. PRPC_MESSAGE _pRpcMessage,
  15662. DWORD *_pdwStubPhase);
  15663. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy(
  15664. IDvdInfo * This,
  15665. /* [in] */ ULONG ulTitle,
  15666. /* [out] */ DVD_ATR *pATR);
  15667. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  15668. IRpcStubBuffer *This,
  15669. IRpcChannelBuffer *_pRpcChannelBuffer,
  15670. PRPC_MESSAGE _pRpcMessage,
  15671. DWORD *_pdwStubPhase);
  15672. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy(
  15673. IDvdInfo * This,
  15674. /* [out] */ DVD_ATR *pATR);
  15675. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  15676. IRpcStubBuffer *This,
  15677. IRpcChannelBuffer *_pRpcChannelBuffer,
  15678. PRPC_MESSAGE _pRpcMessage,
  15679. DWORD *_pdwStubPhase);
  15680. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy(
  15681. IDvdInfo * This,
  15682. /* [out] */ DVD_VideoATR *pATR);
  15683. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  15684. IRpcStubBuffer *This,
  15685. IRpcChannelBuffer *_pRpcChannelBuffer,
  15686. PRPC_MESSAGE _pRpcMessage,
  15687. DWORD *_pdwStubPhase);
  15688. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy(
  15689. IDvdInfo * This,
  15690. /* [out] */ DVD_AudioATR *pATR);
  15691. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  15692. IRpcStubBuffer *This,
  15693. IRpcChannelBuffer *_pRpcChannelBuffer,
  15694. PRPC_MESSAGE _pRpcMessage,
  15695. DWORD *_pdwStubPhase);
  15696. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy(
  15697. IDvdInfo * This,
  15698. /* [out] */ DVD_SubpictureATR *pATR);
  15699. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  15700. IRpcStubBuffer *This,
  15701. IRpcChannelBuffer *_pRpcChannelBuffer,
  15702. PRPC_MESSAGE _pRpcMessage,
  15703. DWORD *_pdwStubPhase);
  15704. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy(
  15705. IDvdInfo * This,
  15706. /* [out] */ ULONG *pulNumOfVol,
  15707. /* [out] */ ULONG *pulThisVolNum,
  15708. /* [out] */ DVD_DISC_SIDE *pSide,
  15709. /* [out] */ ULONG *pulNumOfTitles);
  15710. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  15711. IRpcStubBuffer *This,
  15712. IRpcChannelBuffer *_pRpcChannelBuffer,
  15713. PRPC_MESSAGE _pRpcMessage,
  15714. DWORD *_pdwStubPhase);
  15715. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy(
  15716. IDvdInfo * This,
  15717. /* [size_is][out] */ BYTE *pTextManager,
  15718. /* [in] */ ULONG ulBufSize,
  15719. /* [out] */ ULONG *pulActualSize);
  15720. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  15721. IRpcStubBuffer *This,
  15722. IRpcChannelBuffer *_pRpcChannelBuffer,
  15723. PRPC_MESSAGE _pRpcMessage,
  15724. DWORD *_pdwStubPhase);
  15725. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy(
  15726. IDvdInfo * This,
  15727. /* [out] */ ULONG *pulParentalLevel,
  15728. /* [out] */ ULONG *pulCountryCode);
  15729. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  15730. IRpcStubBuffer *This,
  15731. IRpcChannelBuffer *_pRpcChannelBuffer,
  15732. PRPC_MESSAGE _pRpcMessage,
  15733. DWORD *_pdwStubPhase);
  15734. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy(
  15735. IDvdInfo * This,
  15736. /* [in] */ ULONG ulTitle,
  15737. /* [out] */ ULONG *pulNumberOfChapters);
  15738. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  15739. IRpcStubBuffer *This,
  15740. IRpcChannelBuffer *_pRpcChannelBuffer,
  15741. PRPC_MESSAGE _pRpcMessage,
  15742. DWORD *_pdwStubPhase);
  15743. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy(
  15744. IDvdInfo * This,
  15745. /* [in] */ ULONG ulTitle,
  15746. /* [out] */ ULONG *pulParentalLevels);
  15747. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  15748. IRpcStubBuffer *This,
  15749. IRpcChannelBuffer *_pRpcChannelBuffer,
  15750. PRPC_MESSAGE _pRpcMessage,
  15751. DWORD *_pdwStubPhase);
  15752. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy(
  15753. IDvdInfo * This,
  15754. /* [size_is][out] */ LPSTR pRoot,
  15755. /* [in] */ ULONG ulBufSize,
  15756. /* [out] */ ULONG *pulActualSize);
  15757. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  15758. IRpcStubBuffer *This,
  15759. IRpcChannelBuffer *_pRpcChannelBuffer,
  15760. PRPC_MESSAGE _pRpcMessage,
  15761. DWORD *_pdwStubPhase);
  15762. #endif /* __IDvdInfo_INTERFACE_DEFINED__ */
  15763. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  15764. #define __IDvdCmd_INTERFACE_DEFINED__
  15765. /* interface IDvdCmd */
  15766. /* [unique][uuid][object] */
  15767. EXTERN_C const IID IID_IDvdCmd;
  15768. #if defined(__cplusplus) && !defined(CINTERFACE)
  15769. MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  15770. IDvdCmd : public IUnknown
  15771. {
  15772. public:
  15773. virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  15774. virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  15775. };
  15776. #else /* C style interface */
  15777. typedef struct IDvdCmdVtbl
  15778. {
  15779. BEGIN_INTERFACE
  15780. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15781. IDvdCmd * This,
  15782. /* [in] */ REFIID riid,
  15783. /* [iid_is][out] */ void **ppvObject);
  15784. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15785. IDvdCmd * This);
  15786. ULONG ( STDMETHODCALLTYPE *Release )(
  15787. IDvdCmd * This);
  15788. HRESULT ( STDMETHODCALLTYPE *WaitForStart )(
  15789. IDvdCmd * This);
  15790. HRESULT ( STDMETHODCALLTYPE *WaitForEnd )(
  15791. IDvdCmd * This);
  15792. END_INTERFACE
  15793. } IDvdCmdVtbl;
  15794. interface IDvdCmd
  15795. {
  15796. CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  15797. };
  15798. #ifdef COBJMACROS
  15799. #define IDvdCmd_QueryInterface(This,riid,ppvObject) \
  15800. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15801. #define IDvdCmd_AddRef(This) \
  15802. (This)->lpVtbl -> AddRef(This)
  15803. #define IDvdCmd_Release(This) \
  15804. (This)->lpVtbl -> Release(This)
  15805. #define IDvdCmd_WaitForStart(This) \
  15806. (This)->lpVtbl -> WaitForStart(This)
  15807. #define IDvdCmd_WaitForEnd(This) \
  15808. (This)->lpVtbl -> WaitForEnd(This)
  15809. #endif /* COBJMACROS */
  15810. #endif /* C style interface */
  15811. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy(
  15812. IDvdCmd * This);
  15813. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  15814. IRpcStubBuffer *This,
  15815. IRpcChannelBuffer *_pRpcChannelBuffer,
  15816. PRPC_MESSAGE _pRpcMessage,
  15817. DWORD *_pdwStubPhase);
  15818. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy(
  15819. IDvdCmd * This);
  15820. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  15821. IRpcStubBuffer *This,
  15822. IRpcChannelBuffer *_pRpcChannelBuffer,
  15823. PRPC_MESSAGE _pRpcMessage,
  15824. DWORD *_pdwStubPhase);
  15825. #endif /* __IDvdCmd_INTERFACE_DEFINED__ */
  15826. #ifndef __IDvdState_INTERFACE_DEFINED__
  15827. #define __IDvdState_INTERFACE_DEFINED__
  15828. /* interface IDvdState */
  15829. /* [unique][uuid][object] */
  15830. EXTERN_C const IID IID_IDvdState;
  15831. #if defined(__cplusplus) && !defined(CINTERFACE)
  15832. MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  15833. IDvdState : public IUnknown
  15834. {
  15835. public:
  15836. virtual HRESULT STDMETHODCALLTYPE GetDiscID(
  15837. /* [out] */ ULONGLONG *pullUniqueID) = 0;
  15838. virtual HRESULT STDMETHODCALLTYPE GetParentalLevel(
  15839. /* [out] */ ULONG *pulParentalLevel) = 0;
  15840. };
  15841. #else /* C style interface */
  15842. typedef struct IDvdStateVtbl
  15843. {
  15844. BEGIN_INTERFACE
  15845. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  15846. IDvdState * This,
  15847. /* [in] */ REFIID riid,
  15848. /* [iid_is][out] */ void **ppvObject);
  15849. ULONG ( STDMETHODCALLTYPE *AddRef )(
  15850. IDvdState * This);
  15851. ULONG ( STDMETHODCALLTYPE *Release )(
  15852. IDvdState * This);
  15853. HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
  15854. IDvdState * This,
  15855. /* [out] */ ULONGLONG *pullUniqueID);
  15856. HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )(
  15857. IDvdState * This,
  15858. /* [out] */ ULONG *pulParentalLevel);
  15859. END_INTERFACE
  15860. } IDvdStateVtbl;
  15861. interface IDvdState
  15862. {
  15863. CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  15864. };
  15865. #ifdef COBJMACROS
  15866. #define IDvdState_QueryInterface(This,riid,ppvObject) \
  15867. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15868. #define IDvdState_AddRef(This) \
  15869. (This)->lpVtbl -> AddRef(This)
  15870. #define IDvdState_Release(This) \
  15871. (This)->lpVtbl -> Release(This)
  15872. #define IDvdState_GetDiscID(This,pullUniqueID) \
  15873. (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  15874. #define IDvdState_GetParentalLevel(This,pulParentalLevel) \
  15875. (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  15876. #endif /* COBJMACROS */
  15877. #endif /* C style interface */
  15878. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy(
  15879. IDvdState * This,
  15880. /* [out] */ ULONGLONG *pullUniqueID);
  15881. void __RPC_STUB IDvdState_GetDiscID_Stub(
  15882. IRpcStubBuffer *This,
  15883. IRpcChannelBuffer *_pRpcChannelBuffer,
  15884. PRPC_MESSAGE _pRpcMessage,
  15885. DWORD *_pdwStubPhase);
  15886. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy(
  15887. IDvdState * This,
  15888. /* [out] */ ULONG *pulParentalLevel);
  15889. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  15890. IRpcStubBuffer *This,
  15891. IRpcChannelBuffer *_pRpcChannelBuffer,
  15892. PRPC_MESSAGE _pRpcMessage,
  15893. DWORD *_pdwStubPhase);
  15894. #endif /* __IDvdState_INTERFACE_DEFINED__ */
  15895. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  15896. #define __IDvdControl2_INTERFACE_DEFINED__
  15897. /* interface IDvdControl2 */
  15898. /* [unique][uuid][object] */
  15899. EXTERN_C const IID IID_IDvdControl2;
  15900. #if defined(__cplusplus) && !defined(CINTERFACE)
  15901. MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  15902. IDvdControl2 : public IUnknown
  15903. {
  15904. public:
  15905. virtual HRESULT STDMETHODCALLTYPE PlayTitle(
  15906. /* [in] */ ULONG ulTitle,
  15907. /* [in] */ DWORD dwFlags,
  15908. /* [out] */ IDvdCmd **ppCmd) = 0;
  15909. virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle(
  15910. /* [in] */ ULONG ulTitle,
  15911. /* [in] */ ULONG ulChapter,
  15912. /* [in] */ DWORD dwFlags,
  15913. /* [out] */ IDvdCmd **ppCmd) = 0;
  15914. virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle(
  15915. /* [in] */ ULONG ulTitle,
  15916. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  15917. /* [in] */ DWORD dwFlags,
  15918. /* [out] */ IDvdCmd **ppCmd) = 0;
  15919. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  15920. virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu(
  15921. /* [in] */ DWORD dwFlags,
  15922. /* [out] */ IDvdCmd **ppCmd) = 0;
  15923. virtual HRESULT STDMETHODCALLTYPE PlayAtTime(
  15924. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  15925. /* [in] */ DWORD dwFlags,
  15926. /* [out] */ IDvdCmd **ppCmd) = 0;
  15927. virtual HRESULT STDMETHODCALLTYPE PlayChapter(
  15928. /* [in] */ ULONG ulChapter,
  15929. /* [in] */ DWORD dwFlags,
  15930. /* [out] */ IDvdCmd **ppCmd) = 0;
  15931. virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter(
  15932. /* [in] */ DWORD dwFlags,
  15933. /* [out] */ IDvdCmd **ppCmd) = 0;
  15934. virtual HRESULT STDMETHODCALLTYPE ReplayChapter(
  15935. /* [in] */ DWORD dwFlags,
  15936. /* [out] */ IDvdCmd **ppCmd) = 0;
  15937. virtual HRESULT STDMETHODCALLTYPE PlayNextChapter(
  15938. /* [in] */ DWORD dwFlags,
  15939. /* [out] */ IDvdCmd **ppCmd) = 0;
  15940. virtual HRESULT STDMETHODCALLTYPE PlayForwards(
  15941. /* [in] */ double dSpeed,
  15942. /* [in] */ DWORD dwFlags,
  15943. /* [out] */ IDvdCmd **ppCmd) = 0;
  15944. virtual HRESULT STDMETHODCALLTYPE PlayBackwards(
  15945. /* [in] */ double dSpeed,
  15946. /* [in] */ DWORD dwFlags,
  15947. /* [out] */ IDvdCmd **ppCmd) = 0;
  15948. virtual HRESULT STDMETHODCALLTYPE ShowMenu(
  15949. /* [in] */ DVD_MENU_ID MenuID,
  15950. /* [in] */ DWORD dwFlags,
  15951. /* [out] */ IDvdCmd **ppCmd) = 0;
  15952. virtual HRESULT STDMETHODCALLTYPE Resume(
  15953. /* [in] */ DWORD dwFlags,
  15954. /* [out] */ IDvdCmd **ppCmd) = 0;
  15955. virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton(
  15956. DVD_RELATIVE_BUTTON buttonDir) = 0;
  15957. virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  15958. virtual HRESULT STDMETHODCALLTYPE SelectButton(
  15959. /* [in] */ ULONG ulButton) = 0;
  15960. virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton(
  15961. /* [in] */ ULONG ulButton) = 0;
  15962. virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  15963. virtual HRESULT STDMETHODCALLTYPE Pause(
  15964. /* [in] */ BOOL bState) = 0;
  15965. virtual HRESULT STDMETHODCALLTYPE SelectAudioStream(
  15966. /* [in] */ ULONG ulAudio,
  15967. /* [in] */ DWORD dwFlags,
  15968. /* [out] */ IDvdCmd **ppCmd) = 0;
  15969. virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream(
  15970. /* [in] */ ULONG ulSubPicture,
  15971. /* [in] */ DWORD dwFlags,
  15972. /* [out] */ IDvdCmd **ppCmd) = 0;
  15973. virtual HRESULT STDMETHODCALLTYPE SetSubpictureState(
  15974. /* [in] */ BOOL bState,
  15975. /* [in] */ DWORD dwFlags,
  15976. /* [out] */ IDvdCmd **ppCmd) = 0;
  15977. virtual HRESULT STDMETHODCALLTYPE SelectAngle(
  15978. /* [in] */ ULONG ulAngle,
  15979. /* [in] */ DWORD dwFlags,
  15980. /* [out] */ IDvdCmd **ppCmd) = 0;
  15981. virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel(
  15982. /* [in] */ ULONG ulParentalLevel) = 0;
  15983. virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry(
  15984. /* [in] */ BYTE bCountry[ 2 ]) = 0;
  15985. virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode(
  15986. /* [in] */ ULONG ulMode) = 0;
  15987. virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference(
  15988. /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  15989. virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory(
  15990. /* [in] */ LPCWSTR pszwPath) = 0;
  15991. virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition(
  15992. /* [in] */ POINT point) = 0;
  15993. virtual HRESULT STDMETHODCALLTYPE SelectAtPosition(
  15994. /* [in] */ POINT point) = 0;
  15995. virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop(
  15996. /* [in] */ ULONG ulTitle,
  15997. /* [in] */ ULONG ulChapter,
  15998. /* [in] */ ULONG ulChaptersToPlay,
  15999. /* [in] */ DWORD dwFlags,
  16000. /* [out] */ IDvdCmd **ppCmd) = 0;
  16001. virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange(
  16002. /* [in] */ BOOL bAccept) = 0;
  16003. virtual HRESULT STDMETHODCALLTYPE SetOption(
  16004. /* [in] */ DVD_OPTION_FLAG flag,
  16005. /* [in] */ BOOL fState) = 0;
  16006. virtual HRESULT STDMETHODCALLTYPE SetState(
  16007. /* [in] */ IDvdState *pState,
  16008. /* [in] */ DWORD dwFlags,
  16009. /* [out] */ IDvdCmd **ppCmd) = 0;
  16010. virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop(
  16011. /* [in] */ ULONG ulTitle,
  16012. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16013. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  16014. /* [in] */ DWORD dwFlags,
  16015. /* [out] */ IDvdCmd **ppCmd) = 0;
  16016. virtual HRESULT STDMETHODCALLTYPE SetGPRM(
  16017. /* [in] */ ULONG ulIndex,
  16018. /* [in] */ WORD wValue,
  16019. /* [in] */ DWORD dwFlags,
  16020. /* [out] */ IDvdCmd **ppCmd) = 0;
  16021. virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage(
  16022. /* [in] */ LCID Language) = 0;
  16023. virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage(
  16024. /* [in] */ LCID Language,
  16025. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  16026. virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage(
  16027. /* [in] */ LCID Language,
  16028. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  16029. };
  16030. #else /* C style interface */
  16031. typedef struct IDvdControl2Vtbl
  16032. {
  16033. BEGIN_INTERFACE
  16034. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  16035. IDvdControl2 * This,
  16036. /* [in] */ REFIID riid,
  16037. /* [iid_is][out] */ void **ppvObject);
  16038. ULONG ( STDMETHODCALLTYPE *AddRef )(
  16039. IDvdControl2 * This);
  16040. ULONG ( STDMETHODCALLTYPE *Release )(
  16041. IDvdControl2 * This);
  16042. HRESULT ( STDMETHODCALLTYPE *PlayTitle )(
  16043. IDvdControl2 * This,
  16044. /* [in] */ ULONG ulTitle,
  16045. /* [in] */ DWORD dwFlags,
  16046. /* [out] */ IDvdCmd **ppCmd);
  16047. HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )(
  16048. IDvdControl2 * This,
  16049. /* [in] */ ULONG ulTitle,
  16050. /* [in] */ ULONG ulChapter,
  16051. /* [in] */ DWORD dwFlags,
  16052. /* [out] */ IDvdCmd **ppCmd);
  16053. HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )(
  16054. IDvdControl2 * This,
  16055. /* [in] */ ULONG ulTitle,
  16056. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16057. /* [in] */ DWORD dwFlags,
  16058. /* [out] */ IDvdCmd **ppCmd);
  16059. HRESULT ( STDMETHODCALLTYPE *Stop )(
  16060. IDvdControl2 * This);
  16061. HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )(
  16062. IDvdControl2 * This,
  16063. /* [in] */ DWORD dwFlags,
  16064. /* [out] */ IDvdCmd **ppCmd);
  16065. HRESULT ( STDMETHODCALLTYPE *PlayAtTime )(
  16066. IDvdControl2 * This,
  16067. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  16068. /* [in] */ DWORD dwFlags,
  16069. /* [out] */ IDvdCmd **ppCmd);
  16070. HRESULT ( STDMETHODCALLTYPE *PlayChapter )(
  16071. IDvdControl2 * This,
  16072. /* [in] */ ULONG ulChapter,
  16073. /* [in] */ DWORD dwFlags,
  16074. /* [out] */ IDvdCmd **ppCmd);
  16075. HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )(
  16076. IDvdControl2 * This,
  16077. /* [in] */ DWORD dwFlags,
  16078. /* [out] */ IDvdCmd **ppCmd);
  16079. HRESULT ( STDMETHODCALLTYPE *ReplayChapter )(
  16080. IDvdControl2 * This,
  16081. /* [in] */ DWORD dwFlags,
  16082. /* [out] */ IDvdCmd **ppCmd);
  16083. HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )(
  16084. IDvdControl2 * This,
  16085. /* [in] */ DWORD dwFlags,
  16086. /* [out] */ IDvdCmd **ppCmd);
  16087. HRESULT ( STDMETHODCALLTYPE *PlayForwards )(
  16088. IDvdControl2 * This,
  16089. /* [in] */ double dSpeed,
  16090. /* [in] */ DWORD dwFlags,
  16091. /* [out] */ IDvdCmd **ppCmd);
  16092. HRESULT ( STDMETHODCALLTYPE *PlayBackwards )(
  16093. IDvdControl2 * This,
  16094. /* [in] */ double dSpeed,
  16095. /* [in] */ DWORD dwFlags,
  16096. /* [out] */ IDvdCmd **ppCmd);
  16097. HRESULT ( STDMETHODCALLTYPE *ShowMenu )(
  16098. IDvdControl2 * This,
  16099. /* [in] */ DVD_MENU_ID MenuID,
  16100. /* [in] */ DWORD dwFlags,
  16101. /* [out] */ IDvdCmd **ppCmd);
  16102. HRESULT ( STDMETHODCALLTYPE *Resume )(
  16103. IDvdControl2 * This,
  16104. /* [in] */ DWORD dwFlags,
  16105. /* [out] */ IDvdCmd **ppCmd);
  16106. HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )(
  16107. IDvdControl2 * This,
  16108. DVD_RELATIVE_BUTTON buttonDir);
  16109. HRESULT ( STDMETHODCALLTYPE *ActivateButton )(
  16110. IDvdControl2 * This);
  16111. HRESULT ( STDMETHODCALLTYPE *SelectButton )(
  16112. IDvdControl2 * This,
  16113. /* [in] */ ULONG ulButton);
  16114. HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )(
  16115. IDvdControl2 * This,
  16116. /* [in] */ ULONG ulButton);
  16117. HRESULT ( STDMETHODCALLTYPE *StillOff )(
  16118. IDvdControl2 * This);
  16119. HRESULT ( STDMETHODCALLTYPE *Pause )(
  16120. IDvdControl2 * This,
  16121. /* [in] */ BOOL bState);
  16122. HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )(
  16123. IDvdControl2 * This,
  16124. /* [in] */ ULONG ulAudio,
  16125. /* [in] */ DWORD dwFlags,
  16126. /* [out] */ IDvdCmd **ppCmd);
  16127. HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )(
  16128. IDvdControl2 * This,
  16129. /* [in] */ ULONG ulSubPicture,
  16130. /* [in] */ DWORD dwFlags,
  16131. /* [out] */ IDvdCmd **ppCmd);
  16132. HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )(
  16133. IDvdControl2 * This,
  16134. /* [in] */ BOOL bState,
  16135. /* [in] */ DWORD dwFlags,
  16136. /* [out] */ IDvdCmd **ppCmd);
  16137. HRESULT ( STDMETHODCALLTYPE *SelectAngle )(
  16138. IDvdControl2 * This,
  16139. /* [in] */ ULONG ulAngle,
  16140. /* [in] */ DWORD dwFlags,
  16141. /* [out] */ IDvdCmd **ppCmd);
  16142. HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )(
  16143. IDvdControl2 * This,
  16144. /* [in] */ ULONG ulParentalLevel);
  16145. HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )(
  16146. IDvdControl2 * This,
  16147. /* [in] */ BYTE bCountry[ 2 ]);
  16148. HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )(
  16149. IDvdControl2 * This,
  16150. /* [in] */ ULONG ulMode);
  16151. HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )(
  16152. IDvdControl2 * This,
  16153. /* [in] */ ULONG ulPreferredDisplayMode);
  16154. HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )(
  16155. IDvdControl2 * This,
  16156. /* [in] */ LPCWSTR pszwPath);
  16157. HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )(
  16158. IDvdControl2 * This,
  16159. /* [in] */ POINT point);
  16160. HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )(
  16161. IDvdControl2 * This,
  16162. /* [in] */ POINT point);
  16163. HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )(
  16164. IDvdControl2 * This,
  16165. /* [in] */ ULONG ulTitle,
  16166. /* [in] */ ULONG ulChapter,
  16167. /* [in] */ ULONG ulChaptersToPlay,
  16168. /* [in] */ DWORD dwFlags,
  16169. /* [out] */ IDvdCmd **ppCmd);
  16170. HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )(
  16171. IDvdControl2 * This,
  16172. /* [in] */ BOOL bAccept);
  16173. HRESULT ( STDMETHODCALLTYPE *SetOption )(
  16174. IDvdControl2 * This,
  16175. /* [in] */ DVD_OPTION_FLAG flag,
  16176. /* [in] */ BOOL fState);
  16177. HRESULT ( STDMETHODCALLTYPE *SetState )(
  16178. IDvdControl2 * This,
  16179. /* [in] */ IDvdState *pState,
  16180. /* [in] */ DWORD dwFlags,
  16181. /* [out] */ IDvdCmd **ppCmd);
  16182. HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )(
  16183. IDvdControl2 * This,
  16184. /* [in] */ ULONG ulTitle,
  16185. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16186. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  16187. /* [in] */ DWORD dwFlags,
  16188. /* [out] */ IDvdCmd **ppCmd);
  16189. HRESULT ( STDMETHODCALLTYPE *SetGPRM )(
  16190. IDvdControl2 * This,
  16191. /* [in] */ ULONG ulIndex,
  16192. /* [in] */ WORD wValue,
  16193. /* [in] */ DWORD dwFlags,
  16194. /* [out] */ IDvdCmd **ppCmd);
  16195. HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )(
  16196. IDvdControl2 * This,
  16197. /* [in] */ LCID Language);
  16198. HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )(
  16199. IDvdControl2 * This,
  16200. /* [in] */ LCID Language,
  16201. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  16202. HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )(
  16203. IDvdControl2 * This,
  16204. /* [in] */ LCID Language,
  16205. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  16206. END_INTERFACE
  16207. } IDvdControl2Vtbl;
  16208. interface IDvdControl2
  16209. {
  16210. CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  16211. };
  16212. #ifdef COBJMACROS
  16213. #define IDvdControl2_QueryInterface(This,riid,ppvObject) \
  16214. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16215. #define IDvdControl2_AddRef(This) \
  16216. (This)->lpVtbl -> AddRef(This)
  16217. #define IDvdControl2_Release(This) \
  16218. (This)->lpVtbl -> Release(This)
  16219. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd) \
  16220. (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  16221. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd) \
  16222. (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  16223. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd) \
  16224. (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  16225. #define IDvdControl2_Stop(This) \
  16226. (This)->lpVtbl -> Stop(This)
  16227. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd) \
  16228. (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  16229. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd) \
  16230. (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  16231. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd) \
  16232. (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  16233. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd) \
  16234. (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  16235. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd) \
  16236. (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  16237. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd) \
  16238. (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  16239. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd) \
  16240. (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  16241. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd) \
  16242. (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  16243. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd) \
  16244. (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  16245. #define IDvdControl2_Resume(This,dwFlags,ppCmd) \
  16246. (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  16247. #define IDvdControl2_SelectRelativeButton(This,buttonDir) \
  16248. (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  16249. #define IDvdControl2_ActivateButton(This) \
  16250. (This)->lpVtbl -> ActivateButton(This)
  16251. #define IDvdControl2_SelectButton(This,ulButton) \
  16252. (This)->lpVtbl -> SelectButton(This,ulButton)
  16253. #define IDvdControl2_SelectAndActivateButton(This,ulButton) \
  16254. (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  16255. #define IDvdControl2_StillOff(This) \
  16256. (This)->lpVtbl -> StillOff(This)
  16257. #define IDvdControl2_Pause(This,bState) \
  16258. (This)->lpVtbl -> Pause(This,bState)
  16259. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd) \
  16260. (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  16261. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd) \
  16262. (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  16263. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd) \
  16264. (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  16265. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd) \
  16266. (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  16267. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel) \
  16268. (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  16269. #define IDvdControl2_SelectParentalCountry(This,bCountry) \
  16270. (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  16271. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode) \
  16272. (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  16273. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode) \
  16274. (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  16275. #define IDvdControl2_SetDVDDirectory(This,pszwPath) \
  16276. (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  16277. #define IDvdControl2_ActivateAtPosition(This,point) \
  16278. (This)->lpVtbl -> ActivateAtPosition(This,point)
  16279. #define IDvdControl2_SelectAtPosition(This,point) \
  16280. (This)->lpVtbl -> SelectAtPosition(This,point)
  16281. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd) \
  16282. (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  16283. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept) \
  16284. (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  16285. #define IDvdControl2_SetOption(This,flag,fState) \
  16286. (This)->lpVtbl -> SetOption(This,flag,fState)
  16287. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd) \
  16288. (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  16289. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd) \
  16290. (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  16291. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd) \
  16292. (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  16293. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language) \
  16294. (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  16295. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension) \
  16296. (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  16297. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension) \
  16298. (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  16299. #endif /* COBJMACROS */
  16300. #endif /* C style interface */
  16301. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy(
  16302. IDvdControl2 * This,
  16303. /* [in] */ ULONG ulTitle,
  16304. /* [in] */ DWORD dwFlags,
  16305. /* [out] */ IDvdCmd **ppCmd);
  16306. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  16307. IRpcStubBuffer *This,
  16308. IRpcChannelBuffer *_pRpcChannelBuffer,
  16309. PRPC_MESSAGE _pRpcMessage,
  16310. DWORD *_pdwStubPhase);
  16311. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy(
  16312. IDvdControl2 * This,
  16313. /* [in] */ ULONG ulTitle,
  16314. /* [in] */ ULONG ulChapter,
  16315. /* [in] */ DWORD dwFlags,
  16316. /* [out] */ IDvdCmd **ppCmd);
  16317. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  16318. IRpcStubBuffer *This,
  16319. IRpcChannelBuffer *_pRpcChannelBuffer,
  16320. PRPC_MESSAGE _pRpcMessage,
  16321. DWORD *_pdwStubPhase);
  16322. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy(
  16323. IDvdControl2 * This,
  16324. /* [in] */ ULONG ulTitle,
  16325. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16326. /* [in] */ DWORD dwFlags,
  16327. /* [out] */ IDvdCmd **ppCmd);
  16328. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  16329. IRpcStubBuffer *This,
  16330. IRpcChannelBuffer *_pRpcChannelBuffer,
  16331. PRPC_MESSAGE _pRpcMessage,
  16332. DWORD *_pdwStubPhase);
  16333. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy(
  16334. IDvdControl2 * This);
  16335. void __RPC_STUB IDvdControl2_Stop_Stub(
  16336. IRpcStubBuffer *This,
  16337. IRpcChannelBuffer *_pRpcChannelBuffer,
  16338. PRPC_MESSAGE _pRpcMessage,
  16339. DWORD *_pdwStubPhase);
  16340. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy(
  16341. IDvdControl2 * This,
  16342. /* [in] */ DWORD dwFlags,
  16343. /* [out] */ IDvdCmd **ppCmd);
  16344. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  16345. IRpcStubBuffer *This,
  16346. IRpcChannelBuffer *_pRpcChannelBuffer,
  16347. PRPC_MESSAGE _pRpcMessage,
  16348. DWORD *_pdwStubPhase);
  16349. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy(
  16350. IDvdControl2 * This,
  16351. /* [in] */ DVD_HMSF_TIMECODE *pTime,
  16352. /* [in] */ DWORD dwFlags,
  16353. /* [out] */ IDvdCmd **ppCmd);
  16354. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  16355. IRpcStubBuffer *This,
  16356. IRpcChannelBuffer *_pRpcChannelBuffer,
  16357. PRPC_MESSAGE _pRpcMessage,
  16358. DWORD *_pdwStubPhase);
  16359. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy(
  16360. IDvdControl2 * This,
  16361. /* [in] */ ULONG ulChapter,
  16362. /* [in] */ DWORD dwFlags,
  16363. /* [out] */ IDvdCmd **ppCmd);
  16364. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  16365. IRpcStubBuffer *This,
  16366. IRpcChannelBuffer *_pRpcChannelBuffer,
  16367. PRPC_MESSAGE _pRpcMessage,
  16368. DWORD *_pdwStubPhase);
  16369. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy(
  16370. IDvdControl2 * This,
  16371. /* [in] */ DWORD dwFlags,
  16372. /* [out] */ IDvdCmd **ppCmd);
  16373. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  16374. IRpcStubBuffer *This,
  16375. IRpcChannelBuffer *_pRpcChannelBuffer,
  16376. PRPC_MESSAGE _pRpcMessage,
  16377. DWORD *_pdwStubPhase);
  16378. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy(
  16379. IDvdControl2 * This,
  16380. /* [in] */ DWORD dwFlags,
  16381. /* [out] */ IDvdCmd **ppCmd);
  16382. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  16383. IRpcStubBuffer *This,
  16384. IRpcChannelBuffer *_pRpcChannelBuffer,
  16385. PRPC_MESSAGE _pRpcMessage,
  16386. DWORD *_pdwStubPhase);
  16387. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy(
  16388. IDvdControl2 * This,
  16389. /* [in] */ DWORD dwFlags,
  16390. /* [out] */ IDvdCmd **ppCmd);
  16391. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  16392. IRpcStubBuffer *This,
  16393. IRpcChannelBuffer *_pRpcChannelBuffer,
  16394. PRPC_MESSAGE _pRpcMessage,
  16395. DWORD *_pdwStubPhase);
  16396. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy(
  16397. IDvdControl2 * This,
  16398. /* [in] */ double dSpeed,
  16399. /* [in] */ DWORD dwFlags,
  16400. /* [out] */ IDvdCmd **ppCmd);
  16401. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  16402. IRpcStubBuffer *This,
  16403. IRpcChannelBuffer *_pRpcChannelBuffer,
  16404. PRPC_MESSAGE _pRpcMessage,
  16405. DWORD *_pdwStubPhase);
  16406. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy(
  16407. IDvdControl2 * This,
  16408. /* [in] */ double dSpeed,
  16409. /* [in] */ DWORD dwFlags,
  16410. /* [out] */ IDvdCmd **ppCmd);
  16411. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  16412. IRpcStubBuffer *This,
  16413. IRpcChannelBuffer *_pRpcChannelBuffer,
  16414. PRPC_MESSAGE _pRpcMessage,
  16415. DWORD *_pdwStubPhase);
  16416. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy(
  16417. IDvdControl2 * This,
  16418. /* [in] */ DVD_MENU_ID MenuID,
  16419. /* [in] */ DWORD dwFlags,
  16420. /* [out] */ IDvdCmd **ppCmd);
  16421. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  16422. IRpcStubBuffer *This,
  16423. IRpcChannelBuffer *_pRpcChannelBuffer,
  16424. PRPC_MESSAGE _pRpcMessage,
  16425. DWORD *_pdwStubPhase);
  16426. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy(
  16427. IDvdControl2 * This,
  16428. /* [in] */ DWORD dwFlags,
  16429. /* [out] */ IDvdCmd **ppCmd);
  16430. void __RPC_STUB IDvdControl2_Resume_Stub(
  16431. IRpcStubBuffer *This,
  16432. IRpcChannelBuffer *_pRpcChannelBuffer,
  16433. PRPC_MESSAGE _pRpcMessage,
  16434. DWORD *_pdwStubPhase);
  16435. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy(
  16436. IDvdControl2 * This,
  16437. DVD_RELATIVE_BUTTON buttonDir);
  16438. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  16439. IRpcStubBuffer *This,
  16440. IRpcChannelBuffer *_pRpcChannelBuffer,
  16441. PRPC_MESSAGE _pRpcMessage,
  16442. DWORD *_pdwStubPhase);
  16443. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy(
  16444. IDvdControl2 * This);
  16445. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  16446. IRpcStubBuffer *This,
  16447. IRpcChannelBuffer *_pRpcChannelBuffer,
  16448. PRPC_MESSAGE _pRpcMessage,
  16449. DWORD *_pdwStubPhase);
  16450. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy(
  16451. IDvdControl2 * This,
  16452. /* [in] */ ULONG ulButton);
  16453. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  16454. IRpcStubBuffer *This,
  16455. IRpcChannelBuffer *_pRpcChannelBuffer,
  16456. PRPC_MESSAGE _pRpcMessage,
  16457. DWORD *_pdwStubPhase);
  16458. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy(
  16459. IDvdControl2 * This,
  16460. /* [in] */ ULONG ulButton);
  16461. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  16462. IRpcStubBuffer *This,
  16463. IRpcChannelBuffer *_pRpcChannelBuffer,
  16464. PRPC_MESSAGE _pRpcMessage,
  16465. DWORD *_pdwStubPhase);
  16466. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy(
  16467. IDvdControl2 * This);
  16468. void __RPC_STUB IDvdControl2_StillOff_Stub(
  16469. IRpcStubBuffer *This,
  16470. IRpcChannelBuffer *_pRpcChannelBuffer,
  16471. PRPC_MESSAGE _pRpcMessage,
  16472. DWORD *_pdwStubPhase);
  16473. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy(
  16474. IDvdControl2 * This,
  16475. /* [in] */ BOOL bState);
  16476. void __RPC_STUB IDvdControl2_Pause_Stub(
  16477. IRpcStubBuffer *This,
  16478. IRpcChannelBuffer *_pRpcChannelBuffer,
  16479. PRPC_MESSAGE _pRpcMessage,
  16480. DWORD *_pdwStubPhase);
  16481. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy(
  16482. IDvdControl2 * This,
  16483. /* [in] */ ULONG ulAudio,
  16484. /* [in] */ DWORD dwFlags,
  16485. /* [out] */ IDvdCmd **ppCmd);
  16486. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  16487. IRpcStubBuffer *This,
  16488. IRpcChannelBuffer *_pRpcChannelBuffer,
  16489. PRPC_MESSAGE _pRpcMessage,
  16490. DWORD *_pdwStubPhase);
  16491. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy(
  16492. IDvdControl2 * This,
  16493. /* [in] */ ULONG ulSubPicture,
  16494. /* [in] */ DWORD dwFlags,
  16495. /* [out] */ IDvdCmd **ppCmd);
  16496. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  16497. IRpcStubBuffer *This,
  16498. IRpcChannelBuffer *_pRpcChannelBuffer,
  16499. PRPC_MESSAGE _pRpcMessage,
  16500. DWORD *_pdwStubPhase);
  16501. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy(
  16502. IDvdControl2 * This,
  16503. /* [in] */ BOOL bState,
  16504. /* [in] */ DWORD dwFlags,
  16505. /* [out] */ IDvdCmd **ppCmd);
  16506. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  16507. IRpcStubBuffer *This,
  16508. IRpcChannelBuffer *_pRpcChannelBuffer,
  16509. PRPC_MESSAGE _pRpcMessage,
  16510. DWORD *_pdwStubPhase);
  16511. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy(
  16512. IDvdControl2 * This,
  16513. /* [in] */ ULONG ulAngle,
  16514. /* [in] */ DWORD dwFlags,
  16515. /* [out] */ IDvdCmd **ppCmd);
  16516. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  16517. IRpcStubBuffer *This,
  16518. IRpcChannelBuffer *_pRpcChannelBuffer,
  16519. PRPC_MESSAGE _pRpcMessage,
  16520. DWORD *_pdwStubPhase);
  16521. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy(
  16522. IDvdControl2 * This,
  16523. /* [in] */ ULONG ulParentalLevel);
  16524. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  16525. IRpcStubBuffer *This,
  16526. IRpcChannelBuffer *_pRpcChannelBuffer,
  16527. PRPC_MESSAGE _pRpcMessage,
  16528. DWORD *_pdwStubPhase);
  16529. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy(
  16530. IDvdControl2 * This,
  16531. /* [in] */ BYTE bCountry[ 2 ]);
  16532. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  16533. IRpcStubBuffer *This,
  16534. IRpcChannelBuffer *_pRpcChannelBuffer,
  16535. PRPC_MESSAGE _pRpcMessage,
  16536. DWORD *_pdwStubPhase);
  16537. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(
  16538. IDvdControl2 * This,
  16539. /* [in] */ ULONG ulMode);
  16540. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  16541. IRpcStubBuffer *This,
  16542. IRpcChannelBuffer *_pRpcChannelBuffer,
  16543. PRPC_MESSAGE _pRpcMessage,
  16544. DWORD *_pdwStubPhase);
  16545. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy(
  16546. IDvdControl2 * This,
  16547. /* [in] */ ULONG ulPreferredDisplayMode);
  16548. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  16549. IRpcStubBuffer *This,
  16550. IRpcChannelBuffer *_pRpcChannelBuffer,
  16551. PRPC_MESSAGE _pRpcMessage,
  16552. DWORD *_pdwStubPhase);
  16553. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy(
  16554. IDvdControl2 * This,
  16555. /* [in] */ LPCWSTR pszwPath);
  16556. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  16557. IRpcStubBuffer *This,
  16558. IRpcChannelBuffer *_pRpcChannelBuffer,
  16559. PRPC_MESSAGE _pRpcMessage,
  16560. DWORD *_pdwStubPhase);
  16561. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy(
  16562. IDvdControl2 * This,
  16563. /* [in] */ POINT point);
  16564. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  16565. IRpcStubBuffer *This,
  16566. IRpcChannelBuffer *_pRpcChannelBuffer,
  16567. PRPC_MESSAGE _pRpcMessage,
  16568. DWORD *_pdwStubPhase);
  16569. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy(
  16570. IDvdControl2 * This,
  16571. /* [in] */ POINT point);
  16572. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  16573. IRpcStubBuffer *This,
  16574. IRpcChannelBuffer *_pRpcChannelBuffer,
  16575. PRPC_MESSAGE _pRpcMessage,
  16576. DWORD *_pdwStubPhase);
  16577. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy(
  16578. IDvdControl2 * This,
  16579. /* [in] */ ULONG ulTitle,
  16580. /* [in] */ ULONG ulChapter,
  16581. /* [in] */ ULONG ulChaptersToPlay,
  16582. /* [in] */ DWORD dwFlags,
  16583. /* [out] */ IDvdCmd **ppCmd);
  16584. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  16585. IRpcStubBuffer *This,
  16586. IRpcChannelBuffer *_pRpcChannelBuffer,
  16587. PRPC_MESSAGE _pRpcMessage,
  16588. DWORD *_pdwStubPhase);
  16589. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy(
  16590. IDvdControl2 * This,
  16591. /* [in] */ BOOL bAccept);
  16592. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  16593. IRpcStubBuffer *This,
  16594. IRpcChannelBuffer *_pRpcChannelBuffer,
  16595. PRPC_MESSAGE _pRpcMessage,
  16596. DWORD *_pdwStubPhase);
  16597. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy(
  16598. IDvdControl2 * This,
  16599. /* [in] */ DVD_OPTION_FLAG flag,
  16600. /* [in] */ BOOL fState);
  16601. void __RPC_STUB IDvdControl2_SetOption_Stub(
  16602. IRpcStubBuffer *This,
  16603. IRpcChannelBuffer *_pRpcChannelBuffer,
  16604. PRPC_MESSAGE _pRpcMessage,
  16605. DWORD *_pdwStubPhase);
  16606. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy(
  16607. IDvdControl2 * This,
  16608. /* [in] */ IDvdState *pState,
  16609. /* [in] */ DWORD dwFlags,
  16610. /* [out] */ IDvdCmd **ppCmd);
  16611. void __RPC_STUB IDvdControl2_SetState_Stub(
  16612. IRpcStubBuffer *This,
  16613. IRpcChannelBuffer *_pRpcChannelBuffer,
  16614. PRPC_MESSAGE _pRpcMessage,
  16615. DWORD *_pdwStubPhase);
  16616. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(
  16617. IDvdControl2 * This,
  16618. /* [in] */ ULONG ulTitle,
  16619. /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  16620. /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  16621. /* [in] */ DWORD dwFlags,
  16622. /* [out] */ IDvdCmd **ppCmd);
  16623. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  16624. IRpcStubBuffer *This,
  16625. IRpcChannelBuffer *_pRpcChannelBuffer,
  16626. PRPC_MESSAGE _pRpcMessage,
  16627. DWORD *_pdwStubPhase);
  16628. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy(
  16629. IDvdControl2 * This,
  16630. /* [in] */ ULONG ulIndex,
  16631. /* [in] */ WORD wValue,
  16632. /* [in] */ DWORD dwFlags,
  16633. /* [out] */ IDvdCmd **ppCmd);
  16634. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  16635. IRpcStubBuffer *This,
  16636. IRpcChannelBuffer *_pRpcChannelBuffer,
  16637. PRPC_MESSAGE _pRpcMessage,
  16638. DWORD *_pdwStubPhase);
  16639. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy(
  16640. IDvdControl2 * This,
  16641. /* [in] */ LCID Language);
  16642. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  16643. IRpcStubBuffer *This,
  16644. IRpcChannelBuffer *_pRpcChannelBuffer,
  16645. PRPC_MESSAGE _pRpcMessage,
  16646. DWORD *_pdwStubPhase);
  16647. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy(
  16648. IDvdControl2 * This,
  16649. /* [in] */ LCID Language,
  16650. /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  16651. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  16652. IRpcStubBuffer *This,
  16653. IRpcChannelBuffer *_pRpcChannelBuffer,
  16654. PRPC_MESSAGE _pRpcMessage,
  16655. DWORD *_pdwStubPhase);
  16656. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(
  16657. IDvdControl2 * This,
  16658. /* [in] */ LCID Language,
  16659. /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  16660. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  16661. IRpcStubBuffer *This,
  16662. IRpcChannelBuffer *_pRpcChannelBuffer,
  16663. PRPC_MESSAGE _pRpcMessage,
  16664. DWORD *_pdwStubPhase);
  16665. #endif /* __IDvdControl2_INTERFACE_DEFINED__ */
  16666. /* interface __MIDL_itf_strmif_0380 */
  16667. /* [local] */
  16668. enum DVD_TextStringType
  16669. { DVD_Struct_Volume = 0x1,
  16670. DVD_Struct_Title = 0x2,
  16671. DVD_Struct_ParentalID = 0x3,
  16672. DVD_Struct_PartOfTitle = 0x4,
  16673. DVD_Struct_Cell = 0x5,
  16674. DVD_Stream_Audio = 0x10,
  16675. DVD_Stream_Subpicture = 0x11,
  16676. DVD_Stream_Angle = 0x12,
  16677. DVD_Channel_Audio = 0x20,
  16678. DVD_General_Name = 0x30,
  16679. DVD_General_Comments = 0x31,
  16680. DVD_Title_Series = 0x38,
  16681. DVD_Title_Movie = 0x39,
  16682. DVD_Title_Video = 0x3a,
  16683. DVD_Title_Album = 0x3b,
  16684. DVD_Title_Song = 0x3c,
  16685. DVD_Title_Other = 0x3f,
  16686. DVD_Title_Sub_Series = 0x40,
  16687. DVD_Title_Sub_Movie = 0x41,
  16688. DVD_Title_Sub_Video = 0x42,
  16689. DVD_Title_Sub_Album = 0x43,
  16690. DVD_Title_Sub_Song = 0x44,
  16691. DVD_Title_Sub_Other = 0x47,
  16692. DVD_Title_Orig_Series = 0x48,
  16693. DVD_Title_Orig_Movie = 0x49,
  16694. DVD_Title_Orig_Video = 0x4a,
  16695. DVD_Title_Orig_Album = 0x4b,
  16696. DVD_Title_Orig_Song = 0x4c,
  16697. DVD_Title_Orig_Other = 0x4f,
  16698. DVD_Other_Scene = 0x50,
  16699. DVD_Other_Cut = 0x51,
  16700. DVD_Other_Take = 0x52
  16701. } ;
  16702. enum DVD_TextCharSet
  16703. { DVD_CharSet_Unicode = 0,
  16704. DVD_CharSet_ISO646 = 1,
  16705. DVD_CharSet_JIS_Roman_Kanji = 2,
  16706. DVD_CharSet_ISO8859_1 = 3,
  16707. DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
  16708. } ;
  16709. #define DVD_TITLE_MENU 0x000
  16710. #define DVD_STREAM_DATA_CURRENT 0x800
  16711. #define DVD_STREAM_DATA_VMGM 0x400
  16712. #define DVD_STREAM_DATA_VTSM 0x401
  16713. #define DVD_DEFAULT_AUDIO_STREAM 0x0f
  16714. typedef struct tagDVD_DECODER_CAPS
  16715. {
  16716. DWORD dwSize;
  16717. DWORD dwAudioCaps;
  16718. double dFwdMaxRateVideo;
  16719. double dFwdMaxRateAudio;
  16720. double dFwdMaxRateSP;
  16721. double dBwdMaxRateVideo;
  16722. double dBwdMaxRateAudio;
  16723. double dBwdMaxRateSP;
  16724. DWORD dwRes1;
  16725. DWORD dwRes2;
  16726. DWORD dwRes3;
  16727. DWORD dwRes4;
  16728. } DVD_DECODER_CAPS;
  16729. #define DVD_AUDIO_CAPS_AC3 0x00000001
  16730. #define DVD_AUDIO_CAPS_MPEG2 0x00000002
  16731. #define DVD_AUDIO_CAPS_LPCM 0x00000004
  16732. #define DVD_AUDIO_CAPS_DTS 0x00000008
  16733. #define DVD_AUDIO_CAPS_SDDS 0x00000010
  16734. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_c_ifspec;
  16735. extern RPC_IF_HANDLE __MIDL_itf_strmif_0380_v0_0_s_ifspec;
  16736. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  16737. #define __IDvdInfo2_INTERFACE_DEFINED__
  16738. /* interface IDvdInfo2 */
  16739. /* [unique][uuid][object] */
  16740. EXTERN_C const IID IID_IDvdInfo2;
  16741. #if defined(__cplusplus) && !defined(CINTERFACE)
  16742. MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  16743. IDvdInfo2 : public IUnknown
  16744. {
  16745. public:
  16746. virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(
  16747. /* [out] */ DVD_DOMAIN *pDomain) = 0;
  16748. virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(
  16749. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  16750. virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(
  16751. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  16752. /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  16753. virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(
  16754. /* [out] */ ULONG *pulButtonsAvailable,
  16755. /* [out] */ ULONG *pulCurrentButton) = 0;
  16756. virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(
  16757. /* [out] */ ULONG *pulAnglesAvailable,
  16758. /* [out] */ ULONG *pulCurrentAngle) = 0;
  16759. virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(
  16760. /* [out] */ ULONG *pulStreamsAvailable,
  16761. /* [out] */ ULONG *pulCurrentStream) = 0;
  16762. virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(
  16763. /* [out] */ ULONG *pulStreamsAvailable,
  16764. /* [out] */ ULONG *pulCurrentStream,
  16765. /* [out] */ BOOL *pbIsDisabled) = 0;
  16766. virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(
  16767. /* [out] */ ULONG *pulUOPs) = 0;
  16768. virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(
  16769. /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  16770. virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(
  16771. /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  16772. virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(
  16773. /* [in] */ ULONG ulStream,
  16774. /* [out] */ LCID *pLanguage) = 0;
  16775. virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(
  16776. /* [in] */ ULONG ulStream,
  16777. /* [out] */ LCID *pLanguage) = 0;
  16778. virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(
  16779. /* [in] */ ULONG ulTitle,
  16780. /* [out] */ DVD_MenuAttributes *pMenu,
  16781. /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  16782. virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(
  16783. /* [out] */ DVD_MenuAttributes *pATR) = 0;
  16784. virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(
  16785. /* [out] */ DVD_VideoAttributes *pATR) = 0;
  16786. virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
  16787. /* [in] */ ULONG ulStream,
  16788. /* [out] */ DVD_AudioAttributes *pATR) = 0;
  16789. virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes(
  16790. /* [in] */ ULONG ulStream,
  16791. /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  16792. virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes(
  16793. /* [in] */ ULONG ulStream,
  16794. /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  16795. virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo(
  16796. /* [out] */ ULONG *pulNumOfVolumes,
  16797. /* [out] */ ULONG *pulVolume,
  16798. /* [out] */ DVD_DISC_SIDE *pSide,
  16799. /* [out] */ ULONG *pulNumOfTitles) = 0;
  16800. virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages(
  16801. /* [out] */ ULONG *pulNumOfLangs) = 0;
  16802. virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo(
  16803. /* [in] */ ULONG ulLangIndex,
  16804. /* [out] */ ULONG *pulNumOfStrings,
  16805. /* [out] */ LCID *pLangCode,
  16806. /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  16807. virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative(
  16808. /* [in] */ ULONG ulLangIndex,
  16809. /* [in] */ ULONG ulStringIndex,
  16810. /* [out] */ BYTE *pbBuffer,
  16811. /* [in] */ ULONG ulMaxBufferSize,
  16812. /* [out] */ ULONG *pulActualSize,
  16813. /* [out] */ enum DVD_TextStringType *pType) = 0;
  16814. virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode(
  16815. /* [in] */ ULONG ulLangIndex,
  16816. /* [in] */ ULONG ulStringIndex,
  16817. /* [out] */ WCHAR *pchwBuffer,
  16818. /* [in] */ ULONG ulMaxBufferSize,
  16819. /* [out] */ ULONG *pulActualSize,
  16820. /* [out] */ enum DVD_TextStringType *pType) = 0;
  16821. virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(
  16822. /* [out] */ ULONG *pulParentalLevel,
  16823. /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  16824. virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(
  16825. /* [in] */ ULONG ulTitle,
  16826. /* [out] */ ULONG *pulNumOfChapters) = 0;
  16827. virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(
  16828. /* [in] */ ULONG ulTitle,
  16829. /* [out] */ ULONG *pulParentalLevels) = 0;
  16830. virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory(
  16831. /* [size_is][out] */ LPWSTR pszwPath,
  16832. /* [in] */ ULONG ulMaxSize,
  16833. /* [out] */ ULONG *pulActualSize) = 0;
  16834. virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled(
  16835. /* [in] */ ULONG ulStreamNum,
  16836. /* [out] */ BOOL *pbEnabled) = 0;
  16837. virtual HRESULT STDMETHODCALLTYPE GetDiscID(
  16838. /* [in] */ LPCWSTR pszwPath,
  16839. /* [out] */ ULONGLONG *pullDiscID) = 0;
  16840. virtual HRESULT STDMETHODCALLTYPE GetState(
  16841. /* [out] */ IDvdState **pStateData) = 0;
  16842. virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages(
  16843. /* [out] */ LCID *pLanguages,
  16844. /* [in] */ ULONG ulMaxLanguages,
  16845. /* [out] */ ULONG *pulActualLanguages) = 0;
  16846. virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition(
  16847. /* [in] */ POINT point,
  16848. /* [out] */ ULONG *pulButtonIndex) = 0;
  16849. virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent(
  16850. /* [in] */ LONG_PTR lParam1,
  16851. /* [out] */ IDvdCmd **pCmdObj) = 0;
  16852. virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage(
  16853. /* [out] */ LCID *pLanguage) = 0;
  16854. virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage(
  16855. /* [out] */ LCID *pLanguage,
  16856. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  16857. virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage(
  16858. /* [out] */ LCID *pLanguage,
  16859. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  16860. virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(
  16861. /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  16862. virtual HRESULT STDMETHODCALLTYPE GetButtonRect(
  16863. /* [in] */ ULONG ulButton,
  16864. /* [out] */ RECT *pRect) = 0;
  16865. virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled(
  16866. /* [in] */ ULONG ulStreamNum,
  16867. /* [out] */ BOOL *pbEnabled) = 0;
  16868. };
  16869. #else /* C style interface */
  16870. typedef struct IDvdInfo2Vtbl
  16871. {
  16872. BEGIN_INTERFACE
  16873. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  16874. IDvdInfo2 * This,
  16875. /* [in] */ REFIID riid,
  16876. /* [iid_is][out] */ void **ppvObject);
  16877. ULONG ( STDMETHODCALLTYPE *AddRef )(
  16878. IDvdInfo2 * This);
  16879. ULONG ( STDMETHODCALLTYPE *Release )(
  16880. IDvdInfo2 * This);
  16881. HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(
  16882. IDvdInfo2 * This,
  16883. /* [out] */ DVD_DOMAIN *pDomain);
  16884. HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(
  16885. IDvdInfo2 * This,
  16886. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  16887. HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(
  16888. IDvdInfo2 * This,
  16889. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  16890. /* [out] */ ULONG *ulTimeCodeFlags);
  16891. HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(
  16892. IDvdInfo2 * This,
  16893. /* [out] */ ULONG *pulButtonsAvailable,
  16894. /* [out] */ ULONG *pulCurrentButton);
  16895. HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(
  16896. IDvdInfo2 * This,
  16897. /* [out] */ ULONG *pulAnglesAvailable,
  16898. /* [out] */ ULONG *pulCurrentAngle);
  16899. HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(
  16900. IDvdInfo2 * This,
  16901. /* [out] */ ULONG *pulStreamsAvailable,
  16902. /* [out] */ ULONG *pulCurrentStream);
  16903. HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(
  16904. IDvdInfo2 * This,
  16905. /* [out] */ ULONG *pulStreamsAvailable,
  16906. /* [out] */ ULONG *pulCurrentStream,
  16907. /* [out] */ BOOL *pbIsDisabled);
  16908. HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(
  16909. IDvdInfo2 * This,
  16910. /* [out] */ ULONG *pulUOPs);
  16911. HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(
  16912. IDvdInfo2 * This,
  16913. /* [out] */ SPRMARRAY *pRegisterArray);
  16914. HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(
  16915. IDvdInfo2 * This,
  16916. /* [out] */ GPRMARRAY *pRegisterArray);
  16917. HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(
  16918. IDvdInfo2 * This,
  16919. /* [in] */ ULONG ulStream,
  16920. /* [out] */ LCID *pLanguage);
  16921. HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(
  16922. IDvdInfo2 * This,
  16923. /* [in] */ ULONG ulStream,
  16924. /* [out] */ LCID *pLanguage);
  16925. HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(
  16926. IDvdInfo2 * This,
  16927. /* [in] */ ULONG ulTitle,
  16928. /* [out] */ DVD_MenuAttributes *pMenu,
  16929. /* [out] */ DVD_TitleAttributes *pTitle);
  16930. HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(
  16931. IDvdInfo2 * This,
  16932. /* [out] */ DVD_MenuAttributes *pATR);
  16933. HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(
  16934. IDvdInfo2 * This,
  16935. /* [out] */ DVD_VideoAttributes *pATR);
  16936. HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
  16937. IDvdInfo2 * This,
  16938. /* [in] */ ULONG ulStream,
  16939. /* [out] */ DVD_AudioAttributes *pATR);
  16940. HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )(
  16941. IDvdInfo2 * This,
  16942. /* [in] */ ULONG ulStream,
  16943. /* [out] */ DVD_KaraokeAttributes *pAttributes);
  16944. HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )(
  16945. IDvdInfo2 * This,
  16946. /* [in] */ ULONG ulStream,
  16947. /* [out] */ DVD_SubpictureAttributes *pATR);
  16948. HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )(
  16949. IDvdInfo2 * This,
  16950. /* [out] */ ULONG *pulNumOfVolumes,
  16951. /* [out] */ ULONG *pulVolume,
  16952. /* [out] */ DVD_DISC_SIDE *pSide,
  16953. /* [out] */ ULONG *pulNumOfTitles);
  16954. HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )(
  16955. IDvdInfo2 * This,
  16956. /* [out] */ ULONG *pulNumOfLangs);
  16957. HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )(
  16958. IDvdInfo2 * This,
  16959. /* [in] */ ULONG ulLangIndex,
  16960. /* [out] */ ULONG *pulNumOfStrings,
  16961. /* [out] */ LCID *pLangCode,
  16962. /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  16963. HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )(
  16964. IDvdInfo2 * This,
  16965. /* [in] */ ULONG ulLangIndex,
  16966. /* [in] */ ULONG ulStringIndex,
  16967. /* [out] */ BYTE *pbBuffer,
  16968. /* [in] */ ULONG ulMaxBufferSize,
  16969. /* [out] */ ULONG *pulActualSize,
  16970. /* [out] */ enum DVD_TextStringType *pType);
  16971. HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )(
  16972. IDvdInfo2 * This,
  16973. /* [in] */ ULONG ulLangIndex,
  16974. /* [in] */ ULONG ulStringIndex,
  16975. /* [out] */ WCHAR *pchwBuffer,
  16976. /* [in] */ ULONG ulMaxBufferSize,
  16977. /* [out] */ ULONG *pulActualSize,
  16978. /* [out] */ enum DVD_TextStringType *pType);
  16979. HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(
  16980. IDvdInfo2 * This,
  16981. /* [out] */ ULONG *pulParentalLevel,
  16982. /* [out] */ BYTE pbCountryCode[ 2 ]);
  16983. HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(
  16984. IDvdInfo2 * This,
  16985. /* [in] */ ULONG ulTitle,
  16986. /* [out] */ ULONG *pulNumOfChapters);
  16987. HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(
  16988. IDvdInfo2 * This,
  16989. /* [in] */ ULONG ulTitle,
  16990. /* [out] */ ULONG *pulParentalLevels);
  16991. HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )(
  16992. IDvdInfo2 * This,
  16993. /* [size_is][out] */ LPWSTR pszwPath,
  16994. /* [in] */ ULONG ulMaxSize,
  16995. /* [out] */ ULONG *pulActualSize);
  16996. HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )(
  16997. IDvdInfo2 * This,
  16998. /* [in] */ ULONG ulStreamNum,
  16999. /* [out] */ BOOL *pbEnabled);
  17000. HRESULT ( STDMETHODCALLTYPE *GetDiscID )(
  17001. IDvdInfo2 * This,
  17002. /* [in] */ LPCWSTR pszwPath,
  17003. /* [out] */ ULONGLONG *pullDiscID);
  17004. HRESULT ( STDMETHODCALLTYPE *GetState )(
  17005. IDvdInfo2 * This,
  17006. /* [out] */ IDvdState **pStateData);
  17007. HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )(
  17008. IDvdInfo2 * This,
  17009. /* [out] */ LCID *pLanguages,
  17010. /* [in] */ ULONG ulMaxLanguages,
  17011. /* [out] */ ULONG *pulActualLanguages);
  17012. HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )(
  17013. IDvdInfo2 * This,
  17014. /* [in] */ POINT point,
  17015. /* [out] */ ULONG *pulButtonIndex);
  17016. HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )(
  17017. IDvdInfo2 * This,
  17018. /* [in] */ LONG_PTR lParam1,
  17019. /* [out] */ IDvdCmd **pCmdObj);
  17020. HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )(
  17021. IDvdInfo2 * This,
  17022. /* [out] */ LCID *pLanguage);
  17023. HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )(
  17024. IDvdInfo2 * This,
  17025. /* [out] */ LCID *pLanguage,
  17026. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  17027. HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )(
  17028. IDvdInfo2 * This,
  17029. /* [out] */ LCID *pLanguage,
  17030. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  17031. HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(
  17032. IDvdInfo2 * This,
  17033. /* [out] */ DVD_DECODER_CAPS *pCaps);
  17034. HRESULT ( STDMETHODCALLTYPE *GetButtonRect )(
  17035. IDvdInfo2 * This,
  17036. /* [in] */ ULONG ulButton,
  17037. /* [out] */ RECT *pRect);
  17038. HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )(
  17039. IDvdInfo2 * This,
  17040. /* [in] */ ULONG ulStreamNum,
  17041. /* [out] */ BOOL *pbEnabled);
  17042. END_INTERFACE
  17043. } IDvdInfo2Vtbl;
  17044. interface IDvdInfo2
  17045. {
  17046. CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  17047. };
  17048. #ifdef COBJMACROS
  17049. #define IDvdInfo2_QueryInterface(This,riid,ppvObject) \
  17050. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17051. #define IDvdInfo2_AddRef(This) \
  17052. (This)->lpVtbl -> AddRef(This)
  17053. #define IDvdInfo2_Release(This) \
  17054. (This)->lpVtbl -> Release(This)
  17055. #define IDvdInfo2_GetCurrentDomain(This,pDomain) \
  17056. (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  17057. #define IDvdInfo2_GetCurrentLocation(This,pLocation) \
  17058. (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  17059. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags) \
  17060. (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  17061. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton) \
  17062. (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  17063. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle) \
  17064. (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  17065. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream) \
  17066. (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  17067. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled) \
  17068. (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  17069. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs) \
  17070. (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  17071. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray) \
  17072. (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  17073. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray) \
  17074. (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  17075. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage) \
  17076. (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  17077. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage) \
  17078. (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  17079. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle) \
  17080. (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  17081. #define IDvdInfo2_GetVMGAttributes(This,pATR) \
  17082. (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  17083. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR) \
  17084. (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  17085. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR) \
  17086. (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  17087. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes) \
  17088. (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  17089. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR) \
  17090. (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  17091. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles) \
  17092. (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  17093. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs) \
  17094. (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  17095. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet) \
  17096. (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  17097. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType) \
  17098. (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  17099. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType) \
  17100. (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  17101. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode) \
  17102. (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  17103. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters) \
  17104. (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  17105. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels) \
  17106. (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  17107. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize) \
  17108. (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  17109. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled) \
  17110. (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  17111. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID) \
  17112. (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  17113. #define IDvdInfo2_GetState(This,pStateData) \
  17114. (This)->lpVtbl -> GetState(This,pStateData)
  17115. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages) \
  17116. (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  17117. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex) \
  17118. (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  17119. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj) \
  17120. (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  17121. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage) \
  17122. (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  17123. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension) \
  17124. (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  17125. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension) \
  17126. (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  17127. #define IDvdInfo2_GetDecoderCaps(This,pCaps) \
  17128. (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  17129. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect) \
  17130. (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  17131. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled) \
  17132. (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  17133. #endif /* COBJMACROS */
  17134. #endif /* C style interface */
  17135. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy(
  17136. IDvdInfo2 * This,
  17137. /* [out] */ DVD_DOMAIN *pDomain);
  17138. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  17139. IRpcStubBuffer *This,
  17140. IRpcChannelBuffer *_pRpcChannelBuffer,
  17141. PRPC_MESSAGE _pRpcMessage,
  17142. DWORD *_pdwStubPhase);
  17143. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy(
  17144. IDvdInfo2 * This,
  17145. /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  17146. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  17147. IRpcStubBuffer *This,
  17148. IRpcChannelBuffer *_pRpcChannelBuffer,
  17149. PRPC_MESSAGE _pRpcMessage,
  17150. DWORD *_pdwStubPhase);
  17151. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy(
  17152. IDvdInfo2 * This,
  17153. /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  17154. /* [out] */ ULONG *ulTimeCodeFlags);
  17155. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  17156. IRpcStubBuffer *This,
  17157. IRpcChannelBuffer *_pRpcChannelBuffer,
  17158. PRPC_MESSAGE _pRpcMessage,
  17159. DWORD *_pdwStubPhase);
  17160. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy(
  17161. IDvdInfo2 * This,
  17162. /* [out] */ ULONG *pulButtonsAvailable,
  17163. /* [out] */ ULONG *pulCurrentButton);
  17164. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  17165. IRpcStubBuffer *This,
  17166. IRpcChannelBuffer *_pRpcChannelBuffer,
  17167. PRPC_MESSAGE _pRpcMessage,
  17168. DWORD *_pdwStubPhase);
  17169. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy(
  17170. IDvdInfo2 * This,
  17171. /* [out] */ ULONG *pulAnglesAvailable,
  17172. /* [out] */ ULONG *pulCurrentAngle);
  17173. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  17174. IRpcStubBuffer *This,
  17175. IRpcChannelBuffer *_pRpcChannelBuffer,
  17176. PRPC_MESSAGE _pRpcMessage,
  17177. DWORD *_pdwStubPhase);
  17178. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy(
  17179. IDvdInfo2 * This,
  17180. /* [out] */ ULONG *pulStreamsAvailable,
  17181. /* [out] */ ULONG *pulCurrentStream);
  17182. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  17183. IRpcStubBuffer *This,
  17184. IRpcChannelBuffer *_pRpcChannelBuffer,
  17185. PRPC_MESSAGE _pRpcMessage,
  17186. DWORD *_pdwStubPhase);
  17187. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy(
  17188. IDvdInfo2 * This,
  17189. /* [out] */ ULONG *pulStreamsAvailable,
  17190. /* [out] */ ULONG *pulCurrentStream,
  17191. /* [out] */ BOOL *pbIsDisabled);
  17192. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  17193. IRpcStubBuffer *This,
  17194. IRpcChannelBuffer *_pRpcChannelBuffer,
  17195. PRPC_MESSAGE _pRpcMessage,
  17196. DWORD *_pdwStubPhase);
  17197. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy(
  17198. IDvdInfo2 * This,
  17199. /* [out] */ ULONG *pulUOPs);
  17200. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  17201. IRpcStubBuffer *This,
  17202. IRpcChannelBuffer *_pRpcChannelBuffer,
  17203. PRPC_MESSAGE _pRpcMessage,
  17204. DWORD *_pdwStubPhase);
  17205. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy(
  17206. IDvdInfo2 * This,
  17207. /* [out] */ SPRMARRAY *pRegisterArray);
  17208. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  17209. IRpcStubBuffer *This,
  17210. IRpcChannelBuffer *_pRpcChannelBuffer,
  17211. PRPC_MESSAGE _pRpcMessage,
  17212. DWORD *_pdwStubPhase);
  17213. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy(
  17214. IDvdInfo2 * This,
  17215. /* [out] */ GPRMARRAY *pRegisterArray);
  17216. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  17217. IRpcStubBuffer *This,
  17218. IRpcChannelBuffer *_pRpcChannelBuffer,
  17219. PRPC_MESSAGE _pRpcMessage,
  17220. DWORD *_pdwStubPhase);
  17221. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy(
  17222. IDvdInfo2 * This,
  17223. /* [in] */ ULONG ulStream,
  17224. /* [out] */ LCID *pLanguage);
  17225. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  17226. IRpcStubBuffer *This,
  17227. IRpcChannelBuffer *_pRpcChannelBuffer,
  17228. PRPC_MESSAGE _pRpcMessage,
  17229. DWORD *_pdwStubPhase);
  17230. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy(
  17231. IDvdInfo2 * This,
  17232. /* [in] */ ULONG ulStream,
  17233. /* [out] */ LCID *pLanguage);
  17234. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  17235. IRpcStubBuffer *This,
  17236. IRpcChannelBuffer *_pRpcChannelBuffer,
  17237. PRPC_MESSAGE _pRpcMessage,
  17238. DWORD *_pdwStubPhase);
  17239. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy(
  17240. IDvdInfo2 * This,
  17241. /* [in] */ ULONG ulTitle,
  17242. /* [out] */ DVD_MenuAttributes *pMenu,
  17243. /* [out] */ DVD_TitleAttributes *pTitle);
  17244. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  17245. IRpcStubBuffer *This,
  17246. IRpcChannelBuffer *_pRpcChannelBuffer,
  17247. PRPC_MESSAGE _pRpcMessage,
  17248. DWORD *_pdwStubPhase);
  17249. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy(
  17250. IDvdInfo2 * This,
  17251. /* [out] */ DVD_MenuAttributes *pATR);
  17252. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  17253. IRpcStubBuffer *This,
  17254. IRpcChannelBuffer *_pRpcChannelBuffer,
  17255. PRPC_MESSAGE _pRpcMessage,
  17256. DWORD *_pdwStubPhase);
  17257. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy(
  17258. IDvdInfo2 * This,
  17259. /* [out] */ DVD_VideoAttributes *pATR);
  17260. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  17261. IRpcStubBuffer *This,
  17262. IRpcChannelBuffer *_pRpcChannelBuffer,
  17263. PRPC_MESSAGE _pRpcMessage,
  17264. DWORD *_pdwStubPhase);
  17265. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy(
  17266. IDvdInfo2 * This,
  17267. /* [in] */ ULONG ulStream,
  17268. /* [out] */ DVD_AudioAttributes *pATR);
  17269. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  17270. IRpcStubBuffer *This,
  17271. IRpcChannelBuffer *_pRpcChannelBuffer,
  17272. PRPC_MESSAGE _pRpcMessage,
  17273. DWORD *_pdwStubPhase);
  17274. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy(
  17275. IDvdInfo2 * This,
  17276. /* [in] */ ULONG ulStream,
  17277. /* [out] */ DVD_KaraokeAttributes *pAttributes);
  17278. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  17279. IRpcStubBuffer *This,
  17280. IRpcChannelBuffer *_pRpcChannelBuffer,
  17281. PRPC_MESSAGE _pRpcMessage,
  17282. DWORD *_pdwStubPhase);
  17283. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy(
  17284. IDvdInfo2 * This,
  17285. /* [in] */ ULONG ulStream,
  17286. /* [out] */ DVD_SubpictureAttributes *pATR);
  17287. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  17288. IRpcStubBuffer *This,
  17289. IRpcChannelBuffer *_pRpcChannelBuffer,
  17290. PRPC_MESSAGE _pRpcMessage,
  17291. DWORD *_pdwStubPhase);
  17292. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy(
  17293. IDvdInfo2 * This,
  17294. /* [out] */ ULONG *pulNumOfVolumes,
  17295. /* [out] */ ULONG *pulVolume,
  17296. /* [out] */ DVD_DISC_SIDE *pSide,
  17297. /* [out] */ ULONG *pulNumOfTitles);
  17298. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  17299. IRpcStubBuffer *This,
  17300. IRpcChannelBuffer *_pRpcChannelBuffer,
  17301. PRPC_MESSAGE _pRpcMessage,
  17302. DWORD *_pdwStubPhase);
  17303. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(
  17304. IDvdInfo2 * This,
  17305. /* [out] */ ULONG *pulNumOfLangs);
  17306. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  17307. IRpcStubBuffer *This,
  17308. IRpcChannelBuffer *_pRpcChannelBuffer,
  17309. PRPC_MESSAGE _pRpcMessage,
  17310. DWORD *_pdwStubPhase);
  17311. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy(
  17312. IDvdInfo2 * This,
  17313. /* [in] */ ULONG ulLangIndex,
  17314. /* [out] */ ULONG *pulNumOfStrings,
  17315. /* [out] */ LCID *pLangCode,
  17316. /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  17317. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  17318. IRpcStubBuffer *This,
  17319. IRpcChannelBuffer *_pRpcChannelBuffer,
  17320. PRPC_MESSAGE _pRpcMessage,
  17321. DWORD *_pdwStubPhase);
  17322. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy(
  17323. IDvdInfo2 * This,
  17324. /* [in] */ ULONG ulLangIndex,
  17325. /* [in] */ ULONG ulStringIndex,
  17326. /* [out] */ BYTE *pbBuffer,
  17327. /* [in] */ ULONG ulMaxBufferSize,
  17328. /* [out] */ ULONG *pulActualSize,
  17329. /* [out] */ enum DVD_TextStringType *pType);
  17330. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  17331. IRpcStubBuffer *This,
  17332. IRpcChannelBuffer *_pRpcChannelBuffer,
  17333. PRPC_MESSAGE _pRpcMessage,
  17334. DWORD *_pdwStubPhase);
  17335. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(
  17336. IDvdInfo2 * This,
  17337. /* [in] */ ULONG ulLangIndex,
  17338. /* [in] */ ULONG ulStringIndex,
  17339. /* [out] */ WCHAR *pchwBuffer,
  17340. /* [in] */ ULONG ulMaxBufferSize,
  17341. /* [out] */ ULONG *pulActualSize,
  17342. /* [out] */ enum DVD_TextStringType *pType);
  17343. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  17344. IRpcStubBuffer *This,
  17345. IRpcChannelBuffer *_pRpcChannelBuffer,
  17346. PRPC_MESSAGE _pRpcMessage,
  17347. DWORD *_pdwStubPhase);
  17348. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy(
  17349. IDvdInfo2 * This,
  17350. /* [out] */ ULONG *pulParentalLevel,
  17351. /* [out] */ BYTE pbCountryCode[ 2 ]);
  17352. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  17353. IRpcStubBuffer *This,
  17354. IRpcChannelBuffer *_pRpcChannelBuffer,
  17355. PRPC_MESSAGE _pRpcMessage,
  17356. DWORD *_pdwStubPhase);
  17357. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy(
  17358. IDvdInfo2 * This,
  17359. /* [in] */ ULONG ulTitle,
  17360. /* [out] */ ULONG *pulNumOfChapters);
  17361. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  17362. IRpcStubBuffer *This,
  17363. IRpcChannelBuffer *_pRpcChannelBuffer,
  17364. PRPC_MESSAGE _pRpcMessage,
  17365. DWORD *_pdwStubPhase);
  17366. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy(
  17367. IDvdInfo2 * This,
  17368. /* [in] */ ULONG ulTitle,
  17369. /* [out] */ ULONG *pulParentalLevels);
  17370. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  17371. IRpcStubBuffer *This,
  17372. IRpcChannelBuffer *_pRpcChannelBuffer,
  17373. PRPC_MESSAGE _pRpcMessage,
  17374. DWORD *_pdwStubPhase);
  17375. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy(
  17376. IDvdInfo2 * This,
  17377. /* [size_is][out] */ LPWSTR pszwPath,
  17378. /* [in] */ ULONG ulMaxSize,
  17379. /* [out] */ ULONG *pulActualSize);
  17380. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  17381. IRpcStubBuffer *This,
  17382. IRpcChannelBuffer *_pRpcChannelBuffer,
  17383. PRPC_MESSAGE _pRpcMessage,
  17384. DWORD *_pdwStubPhase);
  17385. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy(
  17386. IDvdInfo2 * This,
  17387. /* [in] */ ULONG ulStreamNum,
  17388. /* [out] */ BOOL *pbEnabled);
  17389. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  17390. IRpcStubBuffer *This,
  17391. IRpcChannelBuffer *_pRpcChannelBuffer,
  17392. PRPC_MESSAGE _pRpcMessage,
  17393. DWORD *_pdwStubPhase);
  17394. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy(
  17395. IDvdInfo2 * This,
  17396. /* [in] */ LPCWSTR pszwPath,
  17397. /* [out] */ ULONGLONG *pullDiscID);
  17398. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  17399. IRpcStubBuffer *This,
  17400. IRpcChannelBuffer *_pRpcChannelBuffer,
  17401. PRPC_MESSAGE _pRpcMessage,
  17402. DWORD *_pdwStubPhase);
  17403. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy(
  17404. IDvdInfo2 * This,
  17405. /* [out] */ IDvdState **pStateData);
  17406. void __RPC_STUB IDvdInfo2_GetState_Stub(
  17407. IRpcStubBuffer *This,
  17408. IRpcChannelBuffer *_pRpcChannelBuffer,
  17409. PRPC_MESSAGE _pRpcMessage,
  17410. DWORD *_pdwStubPhase);
  17411. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy(
  17412. IDvdInfo2 * This,
  17413. /* [out] */ LCID *pLanguages,
  17414. /* [in] */ ULONG ulMaxLanguages,
  17415. /* [out] */ ULONG *pulActualLanguages);
  17416. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  17417. IRpcStubBuffer *This,
  17418. IRpcChannelBuffer *_pRpcChannelBuffer,
  17419. PRPC_MESSAGE _pRpcMessage,
  17420. DWORD *_pdwStubPhase);
  17421. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy(
  17422. IDvdInfo2 * This,
  17423. /* [in] */ POINT point,
  17424. /* [out] */ ULONG *pulButtonIndex);
  17425. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  17426. IRpcStubBuffer *This,
  17427. IRpcChannelBuffer *_pRpcChannelBuffer,
  17428. PRPC_MESSAGE _pRpcMessage,
  17429. DWORD *_pdwStubPhase);
  17430. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy(
  17431. IDvdInfo2 * This,
  17432. /* [in] */ LONG_PTR lParam1,
  17433. /* [out] */ IDvdCmd **pCmdObj);
  17434. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  17435. IRpcStubBuffer *This,
  17436. IRpcChannelBuffer *_pRpcChannelBuffer,
  17437. PRPC_MESSAGE _pRpcMessage,
  17438. DWORD *_pdwStubPhase);
  17439. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy(
  17440. IDvdInfo2 * This,
  17441. /* [out] */ LCID *pLanguage);
  17442. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  17443. IRpcStubBuffer *This,
  17444. IRpcChannelBuffer *_pRpcChannelBuffer,
  17445. PRPC_MESSAGE _pRpcMessage,
  17446. DWORD *_pdwStubPhase);
  17447. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy(
  17448. IDvdInfo2 * This,
  17449. /* [out] */ LCID *pLanguage,
  17450. /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  17451. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  17452. IRpcStubBuffer *This,
  17453. IRpcChannelBuffer *_pRpcChannelBuffer,
  17454. PRPC_MESSAGE _pRpcMessage,
  17455. DWORD *_pdwStubPhase);
  17456. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(
  17457. IDvdInfo2 * This,
  17458. /* [out] */ LCID *pLanguage,
  17459. /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  17460. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  17461. IRpcStubBuffer *This,
  17462. IRpcChannelBuffer *_pRpcChannelBuffer,
  17463. PRPC_MESSAGE _pRpcMessage,
  17464. DWORD *_pdwStubPhase);
  17465. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy(
  17466. IDvdInfo2 * This,
  17467. /* [out] */ DVD_DECODER_CAPS *pCaps);
  17468. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  17469. IRpcStubBuffer *This,
  17470. IRpcChannelBuffer *_pRpcChannelBuffer,
  17471. PRPC_MESSAGE _pRpcMessage,
  17472. DWORD *_pdwStubPhase);
  17473. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy(
  17474. IDvdInfo2 * This,
  17475. /* [in] */ ULONG ulButton,
  17476. /* [out] */ RECT *pRect);
  17477. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  17478. IRpcStubBuffer *This,
  17479. IRpcChannelBuffer *_pRpcChannelBuffer,
  17480. PRPC_MESSAGE _pRpcMessage,
  17481. DWORD *_pdwStubPhase);
  17482. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy(
  17483. IDvdInfo2 * This,
  17484. /* [in] */ ULONG ulStreamNum,
  17485. /* [out] */ BOOL *pbEnabled);
  17486. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  17487. IRpcStubBuffer *This,
  17488. IRpcChannelBuffer *_pRpcChannelBuffer,
  17489. PRPC_MESSAGE _pRpcMessage,
  17490. DWORD *_pdwStubPhase);
  17491. #endif /* __IDvdInfo2_INTERFACE_DEFINED__ */
  17492. /* interface __MIDL_itf_strmif_0382 */
  17493. /* [local] */
  17494. typedef
  17495. enum _AM_DVD_GRAPH_FLAGS
  17496. { AM_DVD_HWDEC_PREFER = 0x1,
  17497. AM_DVD_HWDEC_ONLY = 0x2,
  17498. AM_DVD_SWDEC_PREFER = 0x4,
  17499. AM_DVD_SWDEC_ONLY = 0x8,
  17500. AM_DVD_NOVPE = 0x100,
  17501. AM_DVD_VMR9_ONLY = 0x800
  17502. } AM_DVD_GRAPH_FLAGS;
  17503. typedef
  17504. enum _AM_DVD_STREAM_FLAGS
  17505. { AM_DVD_STREAM_VIDEO = 0x1,
  17506. AM_DVD_STREAM_AUDIO = 0x2,
  17507. AM_DVD_STREAM_SUBPIC = 0x4
  17508. } AM_DVD_STREAM_FLAGS;
  17509. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0382_0001
  17510. {
  17511. HRESULT hrVPEStatus;
  17512. BOOL bDvdVolInvalid;
  17513. BOOL bDvdVolUnknown;
  17514. BOOL bNoLine21In;
  17515. BOOL bNoLine21Out;
  17516. int iNumStreams;
  17517. int iNumStreamsFailed;
  17518. DWORD dwFailedStreamsFlag;
  17519. } AM_DVD_RENDERSTATUS;
  17520. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
  17521. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
  17522. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  17523. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  17524. /* interface IDvdGraphBuilder */
  17525. /* [unique][uuid][local][object] */
  17526. EXTERN_C const IID IID_IDvdGraphBuilder;
  17527. #if defined(__cplusplus) && !defined(CINTERFACE)
  17528. MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  17529. IDvdGraphBuilder : public IUnknown
  17530. {
  17531. public:
  17532. virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(
  17533. /* [out] */ IGraphBuilder **ppGB) = 0;
  17534. virtual HRESULT STDMETHODCALLTYPE GetDvdInterface(
  17535. /* [in] */ REFIID riid,
  17536. /* [out] */ void **ppvIF) = 0;
  17537. virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume(
  17538. /* [in] */ LPCWSTR lpcwszPathName,
  17539. /* [in] */ DWORD dwFlags,
  17540. /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  17541. };
  17542. #else /* C style interface */
  17543. typedef struct IDvdGraphBuilderVtbl
  17544. {
  17545. BEGIN_INTERFACE
  17546. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17547. IDvdGraphBuilder * This,
  17548. /* [in] */ REFIID riid,
  17549. /* [iid_is][out] */ void **ppvObject);
  17550. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17551. IDvdGraphBuilder * This);
  17552. ULONG ( STDMETHODCALLTYPE *Release )(
  17553. IDvdGraphBuilder * This);
  17554. HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(
  17555. IDvdGraphBuilder * This,
  17556. /* [out] */ IGraphBuilder **ppGB);
  17557. HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )(
  17558. IDvdGraphBuilder * This,
  17559. /* [in] */ REFIID riid,
  17560. /* [out] */ void **ppvIF);
  17561. HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )(
  17562. IDvdGraphBuilder * This,
  17563. /* [in] */ LPCWSTR lpcwszPathName,
  17564. /* [in] */ DWORD dwFlags,
  17565. /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  17566. END_INTERFACE
  17567. } IDvdGraphBuilderVtbl;
  17568. interface IDvdGraphBuilder
  17569. {
  17570. CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  17571. };
  17572. #ifdef COBJMACROS
  17573. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject) \
  17574. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17575. #define IDvdGraphBuilder_AddRef(This) \
  17576. (This)->lpVtbl -> AddRef(This)
  17577. #define IDvdGraphBuilder_Release(This) \
  17578. (This)->lpVtbl -> Release(This)
  17579. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB) \
  17580. (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  17581. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF) \
  17582. (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  17583. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus) \
  17584. (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  17585. #endif /* COBJMACROS */
  17586. #endif /* C style interface */
  17587. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy(
  17588. IDvdGraphBuilder * This,
  17589. /* [out] */ IGraphBuilder **ppGB);
  17590. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  17591. IRpcStubBuffer *This,
  17592. IRpcChannelBuffer *_pRpcChannelBuffer,
  17593. PRPC_MESSAGE _pRpcMessage,
  17594. DWORD *_pdwStubPhase);
  17595. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy(
  17596. IDvdGraphBuilder * This,
  17597. /* [in] */ REFIID riid,
  17598. /* [out] */ void **ppvIF);
  17599. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  17600. IRpcStubBuffer *This,
  17601. IRpcChannelBuffer *_pRpcChannelBuffer,
  17602. PRPC_MESSAGE _pRpcMessage,
  17603. DWORD *_pdwStubPhase);
  17604. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(
  17605. IDvdGraphBuilder * This,
  17606. /* [in] */ LPCWSTR lpcwszPathName,
  17607. /* [in] */ DWORD dwFlags,
  17608. /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  17609. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  17610. IRpcStubBuffer *This,
  17611. IRpcChannelBuffer *_pRpcChannelBuffer,
  17612. PRPC_MESSAGE _pRpcMessage,
  17613. DWORD *_pdwStubPhase);
  17614. #endif /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  17615. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  17616. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  17617. /* interface IDDrawExclModeVideo */
  17618. /* [unique][uuid][local][object] */
  17619. EXTERN_C const IID IID_IDDrawExclModeVideo;
  17620. #if defined(__cplusplus) && !defined(CINTERFACE)
  17621. MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  17622. IDDrawExclModeVideo : public IUnknown
  17623. {
  17624. public:
  17625. virtual HRESULT STDMETHODCALLTYPE SetDDrawObject(
  17626. /* [in] */ IDirectDraw *pDDrawObject) = 0;
  17627. virtual HRESULT STDMETHODCALLTYPE GetDDrawObject(
  17628. /* [out] */ IDirectDraw **ppDDrawObject,
  17629. /* [out] */ BOOL *pbUsingExternal) = 0;
  17630. virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface(
  17631. /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  17632. virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface(
  17633. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17634. /* [out] */ BOOL *pbUsingExternal) = 0;
  17635. virtual HRESULT STDMETHODCALLTYPE SetDrawParameters(
  17636. /* [in] */ const RECT *prcSource,
  17637. /* [in] */ const RECT *prcTarget) = 0;
  17638. virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps(
  17639. /* [out] */ DWORD *pdwVideoWidth,
  17640. /* [out] */ DWORD *pdwVideoHeight,
  17641. /* [out] */ DWORD *pdwPictAspectRatioX,
  17642. /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  17643. virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface(
  17644. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17645. /* [in] */ DWORD dwFlags) = 0;
  17646. };
  17647. #else /* C style interface */
  17648. typedef struct IDDrawExclModeVideoVtbl
  17649. {
  17650. BEGIN_INTERFACE
  17651. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17652. IDDrawExclModeVideo * This,
  17653. /* [in] */ REFIID riid,
  17654. /* [iid_is][out] */ void **ppvObject);
  17655. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17656. IDDrawExclModeVideo * This);
  17657. ULONG ( STDMETHODCALLTYPE *Release )(
  17658. IDDrawExclModeVideo * This);
  17659. HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )(
  17660. IDDrawExclModeVideo * This,
  17661. /* [in] */ IDirectDraw *pDDrawObject);
  17662. HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )(
  17663. IDDrawExclModeVideo * This,
  17664. /* [out] */ IDirectDraw **ppDDrawObject,
  17665. /* [out] */ BOOL *pbUsingExternal);
  17666. HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )(
  17667. IDDrawExclModeVideo * This,
  17668. /* [in] */ IDirectDrawSurface *pDDrawSurface);
  17669. HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )(
  17670. IDDrawExclModeVideo * This,
  17671. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17672. /* [out] */ BOOL *pbUsingExternal);
  17673. HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )(
  17674. IDDrawExclModeVideo * This,
  17675. /* [in] */ const RECT *prcSource,
  17676. /* [in] */ const RECT *prcTarget);
  17677. HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )(
  17678. IDDrawExclModeVideo * This,
  17679. /* [out] */ DWORD *pdwVideoWidth,
  17680. /* [out] */ DWORD *pdwVideoHeight,
  17681. /* [out] */ DWORD *pdwPictAspectRatioX,
  17682. /* [out] */ DWORD *pdwPictAspectRatioY);
  17683. HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )(
  17684. IDDrawExclModeVideo * This,
  17685. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17686. /* [in] */ DWORD dwFlags);
  17687. END_INTERFACE
  17688. } IDDrawExclModeVideoVtbl;
  17689. interface IDDrawExclModeVideo
  17690. {
  17691. CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  17692. };
  17693. #ifdef COBJMACROS
  17694. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject) \
  17695. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17696. #define IDDrawExclModeVideo_AddRef(This) \
  17697. (This)->lpVtbl -> AddRef(This)
  17698. #define IDDrawExclModeVideo_Release(This) \
  17699. (This)->lpVtbl -> Release(This)
  17700. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject) \
  17701. (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  17702. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal) \
  17703. (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  17704. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface) \
  17705. (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  17706. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal) \
  17707. (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  17708. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget) \
  17709. (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  17710. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY) \
  17711. (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  17712. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags) \
  17713. (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  17714. #endif /* COBJMACROS */
  17715. #endif /* C style interface */
  17716. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy(
  17717. IDDrawExclModeVideo * This,
  17718. /* [in] */ IDirectDraw *pDDrawObject);
  17719. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  17720. IRpcStubBuffer *This,
  17721. IRpcChannelBuffer *_pRpcChannelBuffer,
  17722. PRPC_MESSAGE _pRpcMessage,
  17723. DWORD *_pdwStubPhase);
  17724. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy(
  17725. IDDrawExclModeVideo * This,
  17726. /* [out] */ IDirectDraw **ppDDrawObject,
  17727. /* [out] */ BOOL *pbUsingExternal);
  17728. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  17729. IRpcStubBuffer *This,
  17730. IRpcChannelBuffer *_pRpcChannelBuffer,
  17731. PRPC_MESSAGE _pRpcMessage,
  17732. DWORD *_pdwStubPhase);
  17733. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy(
  17734. IDDrawExclModeVideo * This,
  17735. /* [in] */ IDirectDrawSurface *pDDrawSurface);
  17736. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  17737. IRpcStubBuffer *This,
  17738. IRpcChannelBuffer *_pRpcChannelBuffer,
  17739. PRPC_MESSAGE _pRpcMessage,
  17740. DWORD *_pdwStubPhase);
  17741. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy(
  17742. IDDrawExclModeVideo * This,
  17743. /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  17744. /* [out] */ BOOL *pbUsingExternal);
  17745. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  17746. IRpcStubBuffer *This,
  17747. IRpcChannelBuffer *_pRpcChannelBuffer,
  17748. PRPC_MESSAGE _pRpcMessage,
  17749. DWORD *_pdwStubPhase);
  17750. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy(
  17751. IDDrawExclModeVideo * This,
  17752. /* [in] */ const RECT *prcSource,
  17753. /* [in] */ const RECT *prcTarget);
  17754. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  17755. IRpcStubBuffer *This,
  17756. IRpcChannelBuffer *_pRpcChannelBuffer,
  17757. PRPC_MESSAGE _pRpcMessage,
  17758. DWORD *_pdwStubPhase);
  17759. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy(
  17760. IDDrawExclModeVideo * This,
  17761. /* [out] */ DWORD *pdwVideoWidth,
  17762. /* [out] */ DWORD *pdwVideoHeight,
  17763. /* [out] */ DWORD *pdwPictAspectRatioX,
  17764. /* [out] */ DWORD *pdwPictAspectRatioY);
  17765. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  17766. IRpcStubBuffer *This,
  17767. IRpcChannelBuffer *_pRpcChannelBuffer,
  17768. PRPC_MESSAGE _pRpcMessage,
  17769. DWORD *_pdwStubPhase);
  17770. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy(
  17771. IDDrawExclModeVideo * This,
  17772. /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  17773. /* [in] */ DWORD dwFlags);
  17774. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  17775. IRpcStubBuffer *This,
  17776. IRpcChannelBuffer *_pRpcChannelBuffer,
  17777. PRPC_MESSAGE _pRpcMessage,
  17778. DWORD *_pdwStubPhase);
  17779. #endif /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  17780. /* interface __MIDL_itf_strmif_0384 */
  17781. /* [local] */
  17782. enum _AM_OVERLAY_NOTIFY_FLAGS
  17783. { AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x1,
  17784. AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x2,
  17785. AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x4
  17786. } ;
  17787. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;
  17788. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
  17789. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  17790. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  17791. /* interface IDDrawExclModeVideoCallback */
  17792. /* [unique][uuid][local][object] */
  17793. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  17794. #if defined(__cplusplus) && !defined(CINTERFACE)
  17795. MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  17796. IDDrawExclModeVideoCallback : public IUnknown
  17797. {
  17798. public:
  17799. virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay(
  17800. /* [in] */ BOOL bBefore,
  17801. /* [in] */ DWORD dwFlags,
  17802. /* [in] */ BOOL bOldVisible,
  17803. /* [in] */ const RECT *prcOldSrc,
  17804. /* [in] */ const RECT *prcOldDest,
  17805. /* [in] */ BOOL bNewVisible,
  17806. /* [in] */ const RECT *prcNewSrc,
  17807. /* [in] */ const RECT *prcNewDest) = 0;
  17808. virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey(
  17809. /* [in] */ const COLORKEY *pKey,
  17810. /* [in] */ DWORD dwColor) = 0;
  17811. virtual HRESULT STDMETHODCALLTYPE OnUpdateSize(
  17812. /* [in] */ DWORD dwWidth,
  17813. /* [in] */ DWORD dwHeight,
  17814. /* [in] */ DWORD dwARWidth,
  17815. /* [in] */ DWORD dwARHeight) = 0;
  17816. };
  17817. #else /* C style interface */
  17818. typedef struct IDDrawExclModeVideoCallbackVtbl
  17819. {
  17820. BEGIN_INTERFACE
  17821. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17822. IDDrawExclModeVideoCallback * This,
  17823. /* [in] */ REFIID riid,
  17824. /* [iid_is][out] */ void **ppvObject);
  17825. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17826. IDDrawExclModeVideoCallback * This);
  17827. ULONG ( STDMETHODCALLTYPE *Release )(
  17828. IDDrawExclModeVideoCallback * This);
  17829. HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )(
  17830. IDDrawExclModeVideoCallback * This,
  17831. /* [in] */ BOOL bBefore,
  17832. /* [in] */ DWORD dwFlags,
  17833. /* [in] */ BOOL bOldVisible,
  17834. /* [in] */ const RECT *prcOldSrc,
  17835. /* [in] */ const RECT *prcOldDest,
  17836. /* [in] */ BOOL bNewVisible,
  17837. /* [in] */ const RECT *prcNewSrc,
  17838. /* [in] */ const RECT *prcNewDest);
  17839. HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )(
  17840. IDDrawExclModeVideoCallback * This,
  17841. /* [in] */ const COLORKEY *pKey,
  17842. /* [in] */ DWORD dwColor);
  17843. HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )(
  17844. IDDrawExclModeVideoCallback * This,
  17845. /* [in] */ DWORD dwWidth,
  17846. /* [in] */ DWORD dwHeight,
  17847. /* [in] */ DWORD dwARWidth,
  17848. /* [in] */ DWORD dwARHeight);
  17849. END_INTERFACE
  17850. } IDDrawExclModeVideoCallbackVtbl;
  17851. interface IDDrawExclModeVideoCallback
  17852. {
  17853. CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  17854. };
  17855. #ifdef COBJMACROS
  17856. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject) \
  17857. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17858. #define IDDrawExclModeVideoCallback_AddRef(This) \
  17859. (This)->lpVtbl -> AddRef(This)
  17860. #define IDDrawExclModeVideoCallback_Release(This) \
  17861. (This)->lpVtbl -> Release(This)
  17862. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest) \
  17863. (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  17864. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor) \
  17865. (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  17866. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight) \
  17867. (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  17868. #endif /* COBJMACROS */
  17869. #endif /* C style interface */
  17870. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(
  17871. IDDrawExclModeVideoCallback * This,
  17872. /* [in] */ BOOL bBefore,
  17873. /* [in] */ DWORD dwFlags,
  17874. /* [in] */ BOOL bOldVisible,
  17875. /* [in] */ const RECT *prcOldSrc,
  17876. /* [in] */ const RECT *prcOldDest,
  17877. /* [in] */ BOOL bNewVisible,
  17878. /* [in] */ const RECT *prcNewSrc,
  17879. /* [in] */ const RECT *prcNewDest);
  17880. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  17881. IRpcStubBuffer *This,
  17882. IRpcChannelBuffer *_pRpcChannelBuffer,
  17883. PRPC_MESSAGE _pRpcMessage,
  17884. DWORD *_pdwStubPhase);
  17885. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(
  17886. IDDrawExclModeVideoCallback * This,
  17887. /* [in] */ const COLORKEY *pKey,
  17888. /* [in] */ DWORD dwColor);
  17889. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  17890. IRpcStubBuffer *This,
  17891. IRpcChannelBuffer *_pRpcChannelBuffer,
  17892. PRPC_MESSAGE _pRpcMessage,
  17893. DWORD *_pdwStubPhase);
  17894. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(
  17895. IDDrawExclModeVideoCallback * This,
  17896. /* [in] */ DWORD dwWidth,
  17897. /* [in] */ DWORD dwHeight,
  17898. /* [in] */ DWORD dwARWidth,
  17899. /* [in] */ DWORD dwARHeight);
  17900. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  17901. IRpcStubBuffer *This,
  17902. IRpcChannelBuffer *_pRpcChannelBuffer,
  17903. PRPC_MESSAGE _pRpcMessage,
  17904. DWORD *_pdwStubPhase);
  17905. #endif /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  17906. /* interface __MIDL_itf_strmif_0385 */
  17907. /* [local] */
  17908. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_c_ifspec;
  17909. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_s_ifspec;
  17910. #ifndef __IPinConnection_INTERFACE_DEFINED__
  17911. #define __IPinConnection_INTERFACE_DEFINED__
  17912. /* interface IPinConnection */
  17913. /* [unique][uuid][object][local] */
  17914. EXTERN_C const IID IID_IPinConnection;
  17915. #if defined(__cplusplus) && !defined(CINTERFACE)
  17916. MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  17917. IPinConnection : public IUnknown
  17918. {
  17919. public:
  17920. virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept(
  17921. /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  17922. virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream(
  17923. /* [in] */ HANDLE hNotifyEvent) = 0;
  17924. virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  17925. virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  17926. };
  17927. #else /* C style interface */
  17928. typedef struct IPinConnectionVtbl
  17929. {
  17930. BEGIN_INTERFACE
  17931. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  17932. IPinConnection * This,
  17933. /* [in] */ REFIID riid,
  17934. /* [iid_is][out] */ void **ppvObject);
  17935. ULONG ( STDMETHODCALLTYPE *AddRef )(
  17936. IPinConnection * This);
  17937. ULONG ( STDMETHODCALLTYPE *Release )(
  17938. IPinConnection * This);
  17939. HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )(
  17940. IPinConnection * This,
  17941. /* [in] */ const AM_MEDIA_TYPE *pmt);
  17942. HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )(
  17943. IPinConnection * This,
  17944. /* [in] */ HANDLE hNotifyEvent);
  17945. HRESULT ( STDMETHODCALLTYPE *IsEndPin )(
  17946. IPinConnection * This);
  17947. HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )(
  17948. IPinConnection * This);
  17949. END_INTERFACE
  17950. } IPinConnectionVtbl;
  17951. interface IPinConnection
  17952. {
  17953. CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  17954. };
  17955. #ifdef COBJMACROS
  17956. #define IPinConnection_QueryInterface(This,riid,ppvObject) \
  17957. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17958. #define IPinConnection_AddRef(This) \
  17959. (This)->lpVtbl -> AddRef(This)
  17960. #define IPinConnection_Release(This) \
  17961. (This)->lpVtbl -> Release(This)
  17962. #define IPinConnection_DynamicQueryAccept(This,pmt) \
  17963. (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  17964. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent) \
  17965. (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  17966. #define IPinConnection_IsEndPin(This) \
  17967. (This)->lpVtbl -> IsEndPin(This)
  17968. #define IPinConnection_DynamicDisconnect(This) \
  17969. (This)->lpVtbl -> DynamicDisconnect(This)
  17970. #endif /* COBJMACROS */
  17971. #endif /* C style interface */
  17972. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy(
  17973. IPinConnection * This,
  17974. /* [in] */ const AM_MEDIA_TYPE *pmt);
  17975. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  17976. IRpcStubBuffer *This,
  17977. IRpcChannelBuffer *_pRpcChannelBuffer,
  17978. PRPC_MESSAGE _pRpcMessage,
  17979. DWORD *_pdwStubPhase);
  17980. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy(
  17981. IPinConnection * This,
  17982. /* [in] */ HANDLE hNotifyEvent);
  17983. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  17984. IRpcStubBuffer *This,
  17985. IRpcChannelBuffer *_pRpcChannelBuffer,
  17986. PRPC_MESSAGE _pRpcMessage,
  17987. DWORD *_pdwStubPhase);
  17988. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy(
  17989. IPinConnection * This);
  17990. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  17991. IRpcStubBuffer *This,
  17992. IRpcChannelBuffer *_pRpcChannelBuffer,
  17993. PRPC_MESSAGE _pRpcMessage,
  17994. DWORD *_pdwStubPhase);
  17995. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy(
  17996. IPinConnection * This);
  17997. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  17998. IRpcStubBuffer *This,
  17999. IRpcChannelBuffer *_pRpcChannelBuffer,
  18000. PRPC_MESSAGE _pRpcMessage,
  18001. DWORD *_pdwStubPhase);
  18002. #endif /* __IPinConnection_INTERFACE_DEFINED__ */
  18003. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  18004. #define __IPinFlowControl_INTERFACE_DEFINED__
  18005. /* interface IPinFlowControl */
  18006. /* [unique][uuid][object][local] */
  18007. EXTERN_C const IID IID_IPinFlowControl;
  18008. #if defined(__cplusplus) && !defined(CINTERFACE)
  18009. MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  18010. IPinFlowControl : public IUnknown
  18011. {
  18012. public:
  18013. virtual HRESULT STDMETHODCALLTYPE Block(
  18014. /* [in] */ DWORD dwBlockFlags,
  18015. /* [in] */ HANDLE hEvent) = 0;
  18016. };
  18017. #else /* C style interface */
  18018. typedef struct IPinFlowControlVtbl
  18019. {
  18020. BEGIN_INTERFACE
  18021. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18022. IPinFlowControl * This,
  18023. /* [in] */ REFIID riid,
  18024. /* [iid_is][out] */ void **ppvObject);
  18025. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18026. IPinFlowControl * This);
  18027. ULONG ( STDMETHODCALLTYPE *Release )(
  18028. IPinFlowControl * This);
  18029. HRESULT ( STDMETHODCALLTYPE *Block )(
  18030. IPinFlowControl * This,
  18031. /* [in] */ DWORD dwBlockFlags,
  18032. /* [in] */ HANDLE hEvent);
  18033. END_INTERFACE
  18034. } IPinFlowControlVtbl;
  18035. interface IPinFlowControl
  18036. {
  18037. CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  18038. };
  18039. #ifdef COBJMACROS
  18040. #define IPinFlowControl_QueryInterface(This,riid,ppvObject) \
  18041. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18042. #define IPinFlowControl_AddRef(This) \
  18043. (This)->lpVtbl -> AddRef(This)
  18044. #define IPinFlowControl_Release(This) \
  18045. (This)->lpVtbl -> Release(This)
  18046. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent) \
  18047. (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  18048. #endif /* COBJMACROS */
  18049. #endif /* C style interface */
  18050. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy(
  18051. IPinFlowControl * This,
  18052. /* [in] */ DWORD dwBlockFlags,
  18053. /* [in] */ HANDLE hEvent);
  18054. void __RPC_STUB IPinFlowControl_Block_Stub(
  18055. IRpcStubBuffer *This,
  18056. IRpcChannelBuffer *_pRpcChannelBuffer,
  18057. PRPC_MESSAGE _pRpcMessage,
  18058. DWORD *_pdwStubPhase);
  18059. #endif /* __IPinFlowControl_INTERFACE_DEFINED__ */
  18060. /* interface __MIDL_itf_strmif_0387 */
  18061. /* [local] */
  18062. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  18063. { AM_PIN_FLOW_CONTROL_BLOCK = 0x1
  18064. } ;
  18065. typedef
  18066. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  18067. { AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x1,
  18068. AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x2,
  18069. AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x4
  18070. } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  18071. enum _REM_FILTER_FLAGS
  18072. { REMFILTERF_LEAVECONNECTED = 0x1
  18073. } ;
  18074. typedef
  18075. enum _AM_FILTER_FLAGS
  18076. { AM_FILTER_FLAGS_REMOVABLE = 0x1
  18077. } AM_FILTER_FLAGS;
  18078. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
  18079. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
  18080. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  18081. #define __IGraphConfig_INTERFACE_DEFINED__
  18082. /* interface IGraphConfig */
  18083. /* [unique][uuid][object][local] */
  18084. EXTERN_C const IID IID_IGraphConfig;
  18085. #if defined(__cplusplus) && !defined(CINTERFACE)
  18086. MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  18087. IGraphConfig : public IUnknown
  18088. {
  18089. public:
  18090. virtual HRESULT STDMETHODCALLTYPE Reconnect(
  18091. /* [in] */ IPin *pOutputPin,
  18092. /* [in] */ IPin *pInputPin,
  18093. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  18094. /* [in] */ IBaseFilter *pUsingFilter,
  18095. /* [in] */ HANDLE hAbortEvent,
  18096. /* [in] */ DWORD dwFlags) = 0;
  18097. virtual HRESULT STDMETHODCALLTYPE Reconfigure(
  18098. /* [in] */ IGraphConfigCallback *pCallback,
  18099. /* [in] */ PVOID pvContext,
  18100. /* [in] */ DWORD dwFlags,
  18101. /* [in] */ HANDLE hAbortEvent) = 0;
  18102. virtual HRESULT STDMETHODCALLTYPE AddFilterToCache(
  18103. /* [in] */ IBaseFilter *pFilter) = 0;
  18104. virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter(
  18105. /* [out] */ IEnumFilters **pEnum) = 0;
  18106. virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache(
  18107. /* [in] */ IBaseFilter *pFilter) = 0;
  18108. virtual HRESULT STDMETHODCALLTYPE GetStartTime(
  18109. /* [out] */ REFERENCE_TIME *prtStart) = 0;
  18110. virtual HRESULT STDMETHODCALLTYPE PushThroughData(
  18111. /* [in] */ IPin *pOutputPin,
  18112. /* [in] */ IPinConnection *pConnection,
  18113. /* [in] */ HANDLE hEventAbort) = 0;
  18114. virtual HRESULT STDMETHODCALLTYPE SetFilterFlags(
  18115. /* [in] */ IBaseFilter *pFilter,
  18116. /* [in] */ DWORD dwFlags) = 0;
  18117. virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(
  18118. /* [in] */ IBaseFilter *pFilter,
  18119. /* [out] */ DWORD *pdwFlags) = 0;
  18120. virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx(
  18121. /* [in] */ IBaseFilter *pFilter,
  18122. DWORD Flags) = 0;
  18123. };
  18124. #else /* C style interface */
  18125. typedef struct IGraphConfigVtbl
  18126. {
  18127. BEGIN_INTERFACE
  18128. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18129. IGraphConfig * This,
  18130. /* [in] */ REFIID riid,
  18131. /* [iid_is][out] */ void **ppvObject);
  18132. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18133. IGraphConfig * This);
  18134. ULONG ( STDMETHODCALLTYPE *Release )(
  18135. IGraphConfig * This);
  18136. HRESULT ( STDMETHODCALLTYPE *Reconnect )(
  18137. IGraphConfig * This,
  18138. /* [in] */ IPin *pOutputPin,
  18139. /* [in] */ IPin *pInputPin,
  18140. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  18141. /* [in] */ IBaseFilter *pUsingFilter,
  18142. /* [in] */ HANDLE hAbortEvent,
  18143. /* [in] */ DWORD dwFlags);
  18144. HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
  18145. IGraphConfig * This,
  18146. /* [in] */ IGraphConfigCallback *pCallback,
  18147. /* [in] */ PVOID pvContext,
  18148. /* [in] */ DWORD dwFlags,
  18149. /* [in] */ HANDLE hAbortEvent);
  18150. HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )(
  18151. IGraphConfig * This,
  18152. /* [in] */ IBaseFilter *pFilter);
  18153. HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )(
  18154. IGraphConfig * This,
  18155. /* [out] */ IEnumFilters **pEnum);
  18156. HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )(
  18157. IGraphConfig * This,
  18158. /* [in] */ IBaseFilter *pFilter);
  18159. HRESULT ( STDMETHODCALLTYPE *GetStartTime )(
  18160. IGraphConfig * This,
  18161. /* [out] */ REFERENCE_TIME *prtStart);
  18162. HRESULT ( STDMETHODCALLTYPE *PushThroughData )(
  18163. IGraphConfig * This,
  18164. /* [in] */ IPin *pOutputPin,
  18165. /* [in] */ IPinConnection *pConnection,
  18166. /* [in] */ HANDLE hEventAbort);
  18167. HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )(
  18168. IGraphConfig * This,
  18169. /* [in] */ IBaseFilter *pFilter,
  18170. /* [in] */ DWORD dwFlags);
  18171. HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )(
  18172. IGraphConfig * This,
  18173. /* [in] */ IBaseFilter *pFilter,
  18174. /* [out] */ DWORD *pdwFlags);
  18175. HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )(
  18176. IGraphConfig * This,
  18177. /* [in] */ IBaseFilter *pFilter,
  18178. DWORD Flags);
  18179. END_INTERFACE
  18180. } IGraphConfigVtbl;
  18181. interface IGraphConfig
  18182. {
  18183. CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  18184. };
  18185. #ifdef COBJMACROS
  18186. #define IGraphConfig_QueryInterface(This,riid,ppvObject) \
  18187. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18188. #define IGraphConfig_AddRef(This) \
  18189. (This)->lpVtbl -> AddRef(This)
  18190. #define IGraphConfig_Release(This) \
  18191. (This)->lpVtbl -> Release(This)
  18192. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags) \
  18193. (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  18194. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent) \
  18195. (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  18196. #define IGraphConfig_AddFilterToCache(This,pFilter) \
  18197. (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  18198. #define IGraphConfig_EnumCacheFilter(This,pEnum) \
  18199. (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  18200. #define IGraphConfig_RemoveFilterFromCache(This,pFilter) \
  18201. (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  18202. #define IGraphConfig_GetStartTime(This,prtStart) \
  18203. (This)->lpVtbl -> GetStartTime(This,prtStart)
  18204. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort) \
  18205. (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  18206. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags) \
  18207. (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  18208. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags) \
  18209. (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  18210. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags) \
  18211. (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  18212. #endif /* COBJMACROS */
  18213. #endif /* C style interface */
  18214. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy(
  18215. IGraphConfig * This,
  18216. /* [in] */ IPin *pOutputPin,
  18217. /* [in] */ IPin *pInputPin,
  18218. /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  18219. /* [in] */ IBaseFilter *pUsingFilter,
  18220. /* [in] */ HANDLE hAbortEvent,
  18221. /* [in] */ DWORD dwFlags);
  18222. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  18223. IRpcStubBuffer *This,
  18224. IRpcChannelBuffer *_pRpcChannelBuffer,
  18225. PRPC_MESSAGE _pRpcMessage,
  18226. DWORD *_pdwStubPhase);
  18227. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy(
  18228. IGraphConfig * This,
  18229. /* [in] */ IGraphConfigCallback *pCallback,
  18230. /* [in] */ PVOID pvContext,
  18231. /* [in] */ DWORD dwFlags,
  18232. /* [in] */ HANDLE hAbortEvent);
  18233. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  18234. IRpcStubBuffer *This,
  18235. IRpcChannelBuffer *_pRpcChannelBuffer,
  18236. PRPC_MESSAGE _pRpcMessage,
  18237. DWORD *_pdwStubPhase);
  18238. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy(
  18239. IGraphConfig * This,
  18240. /* [in] */ IBaseFilter *pFilter);
  18241. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  18242. IRpcStubBuffer *This,
  18243. IRpcChannelBuffer *_pRpcChannelBuffer,
  18244. PRPC_MESSAGE _pRpcMessage,
  18245. DWORD *_pdwStubPhase);
  18246. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy(
  18247. IGraphConfig * This,
  18248. /* [out] */ IEnumFilters **pEnum);
  18249. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  18250. IRpcStubBuffer *This,
  18251. IRpcChannelBuffer *_pRpcChannelBuffer,
  18252. PRPC_MESSAGE _pRpcMessage,
  18253. DWORD *_pdwStubPhase);
  18254. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy(
  18255. IGraphConfig * This,
  18256. /* [in] */ IBaseFilter *pFilter);
  18257. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  18258. IRpcStubBuffer *This,
  18259. IRpcChannelBuffer *_pRpcChannelBuffer,
  18260. PRPC_MESSAGE _pRpcMessage,
  18261. DWORD *_pdwStubPhase);
  18262. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy(
  18263. IGraphConfig * This,
  18264. /* [out] */ REFERENCE_TIME *prtStart);
  18265. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  18266. IRpcStubBuffer *This,
  18267. IRpcChannelBuffer *_pRpcChannelBuffer,
  18268. PRPC_MESSAGE _pRpcMessage,
  18269. DWORD *_pdwStubPhase);
  18270. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy(
  18271. IGraphConfig * This,
  18272. /* [in] */ IPin *pOutputPin,
  18273. /* [in] */ IPinConnection *pConnection,
  18274. /* [in] */ HANDLE hEventAbort);
  18275. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  18276. IRpcStubBuffer *This,
  18277. IRpcChannelBuffer *_pRpcChannelBuffer,
  18278. PRPC_MESSAGE _pRpcMessage,
  18279. DWORD *_pdwStubPhase);
  18280. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy(
  18281. IGraphConfig * This,
  18282. /* [in] */ IBaseFilter *pFilter,
  18283. /* [in] */ DWORD dwFlags);
  18284. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  18285. IRpcStubBuffer *This,
  18286. IRpcChannelBuffer *_pRpcChannelBuffer,
  18287. PRPC_MESSAGE _pRpcMessage,
  18288. DWORD *_pdwStubPhase);
  18289. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy(
  18290. IGraphConfig * This,
  18291. /* [in] */ IBaseFilter *pFilter,
  18292. /* [out] */ DWORD *pdwFlags);
  18293. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  18294. IRpcStubBuffer *This,
  18295. IRpcChannelBuffer *_pRpcChannelBuffer,
  18296. PRPC_MESSAGE _pRpcMessage,
  18297. DWORD *_pdwStubPhase);
  18298. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy(
  18299. IGraphConfig * This,
  18300. /* [in] */ IBaseFilter *pFilter,
  18301. DWORD Flags);
  18302. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  18303. IRpcStubBuffer *This,
  18304. IRpcChannelBuffer *_pRpcChannelBuffer,
  18305. PRPC_MESSAGE _pRpcMessage,
  18306. DWORD *_pdwStubPhase);
  18307. #endif /* __IGraphConfig_INTERFACE_DEFINED__ */
  18308. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  18309. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  18310. /* interface IGraphConfigCallback */
  18311. /* [unique][uuid][object][local] */
  18312. EXTERN_C const IID IID_IGraphConfigCallback;
  18313. #if defined(__cplusplus) && !defined(CINTERFACE)
  18314. MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  18315. IGraphConfigCallback : public IUnknown
  18316. {
  18317. public:
  18318. virtual HRESULT STDMETHODCALLTYPE Reconfigure(
  18319. PVOID pvContext,
  18320. DWORD dwFlags) = 0;
  18321. };
  18322. #else /* C style interface */
  18323. typedef struct IGraphConfigCallbackVtbl
  18324. {
  18325. BEGIN_INTERFACE
  18326. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18327. IGraphConfigCallback * This,
  18328. /* [in] */ REFIID riid,
  18329. /* [iid_is][out] */ void **ppvObject);
  18330. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18331. IGraphConfigCallback * This);
  18332. ULONG ( STDMETHODCALLTYPE *Release )(
  18333. IGraphConfigCallback * This);
  18334. HRESULT ( STDMETHODCALLTYPE *Reconfigure )(
  18335. IGraphConfigCallback * This,
  18336. PVOID pvContext,
  18337. DWORD dwFlags);
  18338. END_INTERFACE
  18339. } IGraphConfigCallbackVtbl;
  18340. interface IGraphConfigCallback
  18341. {
  18342. CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  18343. };
  18344. #ifdef COBJMACROS
  18345. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject) \
  18346. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18347. #define IGraphConfigCallback_AddRef(This) \
  18348. (This)->lpVtbl -> AddRef(This)
  18349. #define IGraphConfigCallback_Release(This) \
  18350. (This)->lpVtbl -> Release(This)
  18351. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags) \
  18352. (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  18353. #endif /* COBJMACROS */
  18354. #endif /* C style interface */
  18355. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy(
  18356. IGraphConfigCallback * This,
  18357. PVOID pvContext,
  18358. DWORD dwFlags);
  18359. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  18360. IRpcStubBuffer *This,
  18361. IRpcChannelBuffer *_pRpcChannelBuffer,
  18362. PRPC_MESSAGE _pRpcMessage,
  18363. DWORD *_pdwStubPhase);
  18364. #endif /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  18365. #ifndef __IFilterChain_INTERFACE_DEFINED__
  18366. #define __IFilterChain_INTERFACE_DEFINED__
  18367. /* interface IFilterChain */
  18368. /* [unique][uuid][object][local] */
  18369. EXTERN_C const IID IID_IFilterChain;
  18370. #if defined(__cplusplus) && !defined(CINTERFACE)
  18371. MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  18372. IFilterChain : public IUnknown
  18373. {
  18374. public:
  18375. virtual HRESULT STDMETHODCALLTYPE StartChain(
  18376. /* [in] */ IBaseFilter *pStartFilter,
  18377. /* [in] */ IBaseFilter *pEndFilter) = 0;
  18378. virtual HRESULT STDMETHODCALLTYPE PauseChain(
  18379. /* [in] */ IBaseFilter *pStartFilter,
  18380. /* [in] */ IBaseFilter *pEndFilter) = 0;
  18381. virtual HRESULT STDMETHODCALLTYPE StopChain(
  18382. /* [in] */ IBaseFilter *pStartFilter,
  18383. /* [in] */ IBaseFilter *pEndFilter) = 0;
  18384. virtual HRESULT STDMETHODCALLTYPE RemoveChain(
  18385. /* [in] */ IBaseFilter *pStartFilter,
  18386. /* [in] */ IBaseFilter *pEndFilter) = 0;
  18387. };
  18388. #else /* C style interface */
  18389. typedef struct IFilterChainVtbl
  18390. {
  18391. BEGIN_INTERFACE
  18392. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18393. IFilterChain * This,
  18394. /* [in] */ REFIID riid,
  18395. /* [iid_is][out] */ void **ppvObject);
  18396. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18397. IFilterChain * This);
  18398. ULONG ( STDMETHODCALLTYPE *Release )(
  18399. IFilterChain * This);
  18400. HRESULT ( STDMETHODCALLTYPE *StartChain )(
  18401. IFilterChain * This,
  18402. /* [in] */ IBaseFilter *pStartFilter,
  18403. /* [in] */ IBaseFilter *pEndFilter);
  18404. HRESULT ( STDMETHODCALLTYPE *PauseChain )(
  18405. IFilterChain * This,
  18406. /* [in] */ IBaseFilter *pStartFilter,
  18407. /* [in] */ IBaseFilter *pEndFilter);
  18408. HRESULT ( STDMETHODCALLTYPE *StopChain )(
  18409. IFilterChain * This,
  18410. /* [in] */ IBaseFilter *pStartFilter,
  18411. /* [in] */ IBaseFilter *pEndFilter);
  18412. HRESULT ( STDMETHODCALLTYPE *RemoveChain )(
  18413. IFilterChain * This,
  18414. /* [in] */ IBaseFilter *pStartFilter,
  18415. /* [in] */ IBaseFilter *pEndFilter);
  18416. END_INTERFACE
  18417. } IFilterChainVtbl;
  18418. interface IFilterChain
  18419. {
  18420. CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  18421. };
  18422. #ifdef COBJMACROS
  18423. #define IFilterChain_QueryInterface(This,riid,ppvObject) \
  18424. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18425. #define IFilterChain_AddRef(This) \
  18426. (This)->lpVtbl -> AddRef(This)
  18427. #define IFilterChain_Release(This) \
  18428. (This)->lpVtbl -> Release(This)
  18429. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter) \
  18430. (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  18431. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter) \
  18432. (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  18433. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter) \
  18434. (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  18435. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter) \
  18436. (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  18437. #endif /* COBJMACROS */
  18438. #endif /* C style interface */
  18439. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy(
  18440. IFilterChain * This,
  18441. /* [in] */ IBaseFilter *pStartFilter,
  18442. /* [in] */ IBaseFilter *pEndFilter);
  18443. void __RPC_STUB IFilterChain_StartChain_Stub(
  18444. IRpcStubBuffer *This,
  18445. IRpcChannelBuffer *_pRpcChannelBuffer,
  18446. PRPC_MESSAGE _pRpcMessage,
  18447. DWORD *_pdwStubPhase);
  18448. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy(
  18449. IFilterChain * This,
  18450. /* [in] */ IBaseFilter *pStartFilter,
  18451. /* [in] */ IBaseFilter *pEndFilter);
  18452. void __RPC_STUB IFilterChain_PauseChain_Stub(
  18453. IRpcStubBuffer *This,
  18454. IRpcChannelBuffer *_pRpcChannelBuffer,
  18455. PRPC_MESSAGE _pRpcMessage,
  18456. DWORD *_pdwStubPhase);
  18457. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy(
  18458. IFilterChain * This,
  18459. /* [in] */ IBaseFilter *pStartFilter,
  18460. /* [in] */ IBaseFilter *pEndFilter);
  18461. void __RPC_STUB IFilterChain_StopChain_Stub(
  18462. IRpcStubBuffer *This,
  18463. IRpcChannelBuffer *_pRpcChannelBuffer,
  18464. PRPC_MESSAGE _pRpcMessage,
  18465. DWORD *_pdwStubPhase);
  18466. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy(
  18467. IFilterChain * This,
  18468. /* [in] */ IBaseFilter *pStartFilter,
  18469. /* [in] */ IBaseFilter *pEndFilter);
  18470. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  18471. IRpcStubBuffer *This,
  18472. IRpcChannelBuffer *_pRpcChannelBuffer,
  18473. PRPC_MESSAGE _pRpcMessage,
  18474. DWORD *_pdwStubPhase);
  18475. #endif /* __IFilterChain_INTERFACE_DEFINED__ */
  18476. /* interface __MIDL_itf_strmif_0390 */
  18477. /* [local] */
  18478. #if 0
  18479. typedef DWORD *LPDIRECTDRAW7;
  18480. typedef DWORD *LPDIRECTDRAWSURFACE7;
  18481. typedef DWORD *LPDDPIXELFORMAT;
  18482. typedef DWORD *LPBITMAPINFOHEADER;
  18483. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0390_0001
  18484. {
  18485. DWORD dw1;
  18486. DWORD dw2;
  18487. } DDCOLORKEY;
  18488. typedef DDCOLORKEY *LPDDCOLORKEY;
  18489. #endif
  18490. #include <ddraw.h>
  18491. typedef /* [public] */
  18492. enum __MIDL___MIDL_itf_strmif_0390_0002
  18493. { VMRSample_SyncPoint = 0x1,
  18494. VMRSample_Preroll = 0x2,
  18495. VMRSample_Discontinuity = 0x4,
  18496. VMRSample_TimeValid = 0x8,
  18497. VMRSample_SrcDstRectsValid = 0x10
  18498. } VMRPresentationFlags;
  18499. typedef struct tagVMRPRESENTATIONINFO
  18500. {
  18501. DWORD dwFlags;
  18502. LPDIRECTDRAWSURFACE7 lpSurf;
  18503. REFERENCE_TIME rtStart;
  18504. REFERENCE_TIME rtEnd;
  18505. SIZE szAspectRatio;
  18506. RECT rcSrc;
  18507. RECT rcDst;
  18508. DWORD dwTypeSpecificFlags;
  18509. DWORD dwInterlaceFlags;
  18510. } VMRPRESENTATIONINFO;
  18511. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_c_ifspec;
  18512. extern RPC_IF_HANDLE __MIDL_itf_strmif_0390_v0_0_s_ifspec;
  18513. #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
  18514. #define __IVMRImagePresenter_INTERFACE_DEFINED__
  18515. /* interface IVMRImagePresenter */
  18516. /* [unique][helpstring][uuid][local][object][local] */
  18517. EXTERN_C const IID IID_IVMRImagePresenter;
  18518. #if defined(__cplusplus) && !defined(CINTERFACE)
  18519. MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
  18520. IVMRImagePresenter : public IUnknown
  18521. {
  18522. public:
  18523. virtual HRESULT STDMETHODCALLTYPE StartPresenting(
  18524. /* [in] */ DWORD_PTR dwUserID) = 0;
  18525. virtual HRESULT STDMETHODCALLTYPE StopPresenting(
  18526. /* [in] */ DWORD_PTR dwUserID) = 0;
  18527. virtual HRESULT STDMETHODCALLTYPE PresentImage(
  18528. /* [in] */ DWORD_PTR dwUserID,
  18529. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
  18530. };
  18531. #else /* C style interface */
  18532. typedef struct IVMRImagePresenterVtbl
  18533. {
  18534. BEGIN_INTERFACE
  18535. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18536. IVMRImagePresenter * This,
  18537. /* [in] */ REFIID riid,
  18538. /* [iid_is][out] */ void **ppvObject);
  18539. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18540. IVMRImagePresenter * This);
  18541. ULONG ( STDMETHODCALLTYPE *Release )(
  18542. IVMRImagePresenter * This);
  18543. HRESULT ( STDMETHODCALLTYPE *StartPresenting )(
  18544. IVMRImagePresenter * This,
  18545. /* [in] */ DWORD_PTR dwUserID);
  18546. HRESULT ( STDMETHODCALLTYPE *StopPresenting )(
  18547. IVMRImagePresenter * This,
  18548. /* [in] */ DWORD_PTR dwUserID);
  18549. HRESULT ( STDMETHODCALLTYPE *PresentImage )(
  18550. IVMRImagePresenter * This,
  18551. /* [in] */ DWORD_PTR dwUserID,
  18552. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  18553. END_INTERFACE
  18554. } IVMRImagePresenterVtbl;
  18555. interface IVMRImagePresenter
  18556. {
  18557. CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
  18558. };
  18559. #ifdef COBJMACROS
  18560. #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject) \
  18561. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18562. #define IVMRImagePresenter_AddRef(This) \
  18563. (This)->lpVtbl -> AddRef(This)
  18564. #define IVMRImagePresenter_Release(This) \
  18565. (This)->lpVtbl -> Release(This)
  18566. #define IVMRImagePresenter_StartPresenting(This,dwUserID) \
  18567. (This)->lpVtbl -> StartPresenting(This,dwUserID)
  18568. #define IVMRImagePresenter_StopPresenting(This,dwUserID) \
  18569. (This)->lpVtbl -> StopPresenting(This,dwUserID)
  18570. #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo) \
  18571. (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  18572. #endif /* COBJMACROS */
  18573. #endif /* C style interface */
  18574. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy(
  18575. IVMRImagePresenter * This,
  18576. /* [in] */ DWORD_PTR dwUserID);
  18577. void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
  18578. IRpcStubBuffer *This,
  18579. IRpcChannelBuffer *_pRpcChannelBuffer,
  18580. PRPC_MESSAGE _pRpcMessage,
  18581. DWORD *_pdwStubPhase);
  18582. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy(
  18583. IVMRImagePresenter * This,
  18584. /* [in] */ DWORD_PTR dwUserID);
  18585. void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
  18586. IRpcStubBuffer *This,
  18587. IRpcChannelBuffer *_pRpcChannelBuffer,
  18588. PRPC_MESSAGE _pRpcMessage,
  18589. DWORD *_pdwStubPhase);
  18590. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy(
  18591. IVMRImagePresenter * This,
  18592. /* [in] */ DWORD_PTR dwUserID,
  18593. /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  18594. void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
  18595. IRpcStubBuffer *This,
  18596. IRpcChannelBuffer *_pRpcChannelBuffer,
  18597. PRPC_MESSAGE _pRpcMessage,
  18598. DWORD *_pdwStubPhase);
  18599. #endif /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
  18600. /* interface __MIDL_itf_strmif_0391 */
  18601. /* [local] */
  18602. typedef /* [public] */
  18603. enum __MIDL___MIDL_itf_strmif_0391_0001
  18604. { AMAP_PIXELFORMAT_VALID = 0x1,
  18605. AMAP_3D_TARGET = 0x2,
  18606. AMAP_ALLOW_SYSMEM = 0x4,
  18607. AMAP_FORCE_SYSMEM = 0x8,
  18608. AMAP_DIRECTED_FLIP = 0x10,
  18609. AMAP_DXVA_TARGET = 0x20
  18610. } VMRSurfaceAllocationFlags;
  18611. typedef struct tagVMRALLOCATIONINFO
  18612. {
  18613. DWORD dwFlags;
  18614. LPBITMAPINFOHEADER lpHdr;
  18615. LPDDPIXELFORMAT lpPixFmt;
  18616. SIZE szAspectRatio;
  18617. DWORD dwMinBuffers;
  18618. DWORD dwMaxBuffers;
  18619. DWORD dwInterlaceFlags;
  18620. SIZE szNativeSize;
  18621. } VMRALLOCATIONINFO;
  18622. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_c_ifspec;
  18623. extern RPC_IF_HANDLE __MIDL_itf_strmif_0391_v0_0_s_ifspec;
  18624. #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  18625. #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  18626. /* interface IVMRSurfaceAllocator */
  18627. /* [unique][helpstring][uuid][local][object][local] */
  18628. EXTERN_C const IID IID_IVMRSurfaceAllocator;
  18629. #if defined(__cplusplus) && !defined(CINTERFACE)
  18630. MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
  18631. IVMRSurfaceAllocator : public IUnknown
  18632. {
  18633. public:
  18634. virtual HRESULT STDMETHODCALLTYPE AllocateSurface(
  18635. /* [in] */ DWORD_PTR dwUserID,
  18636. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18637. /* [out][in] */ DWORD *lpdwActualBuffers,
  18638. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  18639. virtual HRESULT STDMETHODCALLTYPE FreeSurface(
  18640. /* [in] */ DWORD_PTR dwID) = 0;
  18641. virtual HRESULT STDMETHODCALLTYPE PrepareSurface(
  18642. /* [in] */ DWORD_PTR dwUserID,
  18643. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18644. /* [in] */ DWORD dwSurfaceFlags) = 0;
  18645. virtual HRESULT STDMETHODCALLTYPE AdviseNotify(
  18646. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
  18647. };
  18648. #else /* C style interface */
  18649. typedef struct IVMRSurfaceAllocatorVtbl
  18650. {
  18651. BEGIN_INTERFACE
  18652. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18653. IVMRSurfaceAllocator * This,
  18654. /* [in] */ REFIID riid,
  18655. /* [iid_is][out] */ void **ppvObject);
  18656. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18657. IVMRSurfaceAllocator * This);
  18658. ULONG ( STDMETHODCALLTYPE *Release )(
  18659. IVMRSurfaceAllocator * This);
  18660. HRESULT ( STDMETHODCALLTYPE *AllocateSurface )(
  18661. IVMRSurfaceAllocator * This,
  18662. /* [in] */ DWORD_PTR dwUserID,
  18663. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18664. /* [out][in] */ DWORD *lpdwActualBuffers,
  18665. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  18666. HRESULT ( STDMETHODCALLTYPE *FreeSurface )(
  18667. IVMRSurfaceAllocator * This,
  18668. /* [in] */ DWORD_PTR dwID);
  18669. HRESULT ( STDMETHODCALLTYPE *PrepareSurface )(
  18670. IVMRSurfaceAllocator * This,
  18671. /* [in] */ DWORD_PTR dwUserID,
  18672. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18673. /* [in] */ DWORD dwSurfaceFlags);
  18674. HRESULT ( STDMETHODCALLTYPE *AdviseNotify )(
  18675. IVMRSurfaceAllocator * This,
  18676. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  18677. END_INTERFACE
  18678. } IVMRSurfaceAllocatorVtbl;
  18679. interface IVMRSurfaceAllocator
  18680. {
  18681. CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
  18682. };
  18683. #ifdef COBJMACROS
  18684. #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject) \
  18685. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18686. #define IVMRSurfaceAllocator_AddRef(This) \
  18687. (This)->lpVtbl -> AddRef(This)
  18688. #define IVMRSurfaceAllocator_Release(This) \
  18689. (This)->lpVtbl -> Release(This)
  18690. #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface) \
  18691. (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
  18692. #define IVMRSurfaceAllocator_FreeSurface(This,dwID) \
  18693. (This)->lpVtbl -> FreeSurface(This,dwID)
  18694. #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags) \
  18695. (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
  18696. #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify) \
  18697. (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  18698. #endif /* COBJMACROS */
  18699. #endif /* C style interface */
  18700. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy(
  18701. IVMRSurfaceAllocator * This,
  18702. /* [in] */ DWORD_PTR dwUserID,
  18703. /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  18704. /* [out][in] */ DWORD *lpdwActualBuffers,
  18705. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  18706. void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
  18707. IRpcStubBuffer *This,
  18708. IRpcChannelBuffer *_pRpcChannelBuffer,
  18709. PRPC_MESSAGE _pRpcMessage,
  18710. DWORD *_pdwStubPhase);
  18711. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy(
  18712. IVMRSurfaceAllocator * This,
  18713. /* [in] */ DWORD_PTR dwID);
  18714. void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
  18715. IRpcStubBuffer *This,
  18716. IRpcChannelBuffer *_pRpcChannelBuffer,
  18717. PRPC_MESSAGE _pRpcMessage,
  18718. DWORD *_pdwStubPhase);
  18719. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy(
  18720. IVMRSurfaceAllocator * This,
  18721. /* [in] */ DWORD_PTR dwUserID,
  18722. /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  18723. /* [in] */ DWORD dwSurfaceFlags);
  18724. void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
  18725. IRpcStubBuffer *This,
  18726. IRpcChannelBuffer *_pRpcChannelBuffer,
  18727. PRPC_MESSAGE _pRpcMessage,
  18728. DWORD *_pdwStubPhase);
  18729. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy(
  18730. IVMRSurfaceAllocator * This,
  18731. /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  18732. void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
  18733. IRpcStubBuffer *This,
  18734. IRpcChannelBuffer *_pRpcChannelBuffer,
  18735. PRPC_MESSAGE _pRpcMessage,
  18736. DWORD *_pdwStubPhase);
  18737. #endif /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
  18738. #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  18739. #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  18740. /* interface IVMRSurfaceAllocatorNotify */
  18741. /* [unique][helpstring][uuid][local][object][local] */
  18742. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
  18743. #if defined(__cplusplus) && !defined(CINTERFACE)
  18744. MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
  18745. IVMRSurfaceAllocatorNotify : public IUnknown
  18746. {
  18747. public:
  18748. virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator(
  18749. /* [in] */ DWORD_PTR dwUserID,
  18750. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
  18751. virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice(
  18752. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18753. /* [in] */ HMONITOR hMonitor) = 0;
  18754. virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice(
  18755. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18756. /* [in] */ HMONITOR hMonitor) = 0;
  18757. virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
  18758. virtual HRESULT STDMETHODCALLTYPE NotifyEvent(
  18759. /* [in] */ LONG EventCode,
  18760. /* [in] */ LONG_PTR Param1,
  18761. /* [in] */ LONG_PTR Param2) = 0;
  18762. virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
  18763. /* [in] */ COLORREF clrBorder) = 0;
  18764. };
  18765. #else /* C style interface */
  18766. typedef struct IVMRSurfaceAllocatorNotifyVtbl
  18767. {
  18768. BEGIN_INTERFACE
  18769. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18770. IVMRSurfaceAllocatorNotify * This,
  18771. /* [in] */ REFIID riid,
  18772. /* [iid_is][out] */ void **ppvObject);
  18773. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18774. IVMRSurfaceAllocatorNotify * This);
  18775. ULONG ( STDMETHODCALLTYPE *Release )(
  18776. IVMRSurfaceAllocatorNotify * This);
  18777. HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )(
  18778. IVMRSurfaceAllocatorNotify * This,
  18779. /* [in] */ DWORD_PTR dwUserID,
  18780. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  18781. HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )(
  18782. IVMRSurfaceAllocatorNotify * This,
  18783. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18784. /* [in] */ HMONITOR hMonitor);
  18785. HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )(
  18786. IVMRSurfaceAllocatorNotify * This,
  18787. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18788. /* [in] */ HMONITOR hMonitor);
  18789. HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )(
  18790. IVMRSurfaceAllocatorNotify * This);
  18791. HRESULT ( STDMETHODCALLTYPE *NotifyEvent )(
  18792. IVMRSurfaceAllocatorNotify * This,
  18793. /* [in] */ LONG EventCode,
  18794. /* [in] */ LONG_PTR Param1,
  18795. /* [in] */ LONG_PTR Param2);
  18796. HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
  18797. IVMRSurfaceAllocatorNotify * This,
  18798. /* [in] */ COLORREF clrBorder);
  18799. END_INTERFACE
  18800. } IVMRSurfaceAllocatorNotifyVtbl;
  18801. interface IVMRSurfaceAllocatorNotify
  18802. {
  18803. CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
  18804. };
  18805. #ifdef COBJMACROS
  18806. #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject) \
  18807. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18808. #define IVMRSurfaceAllocatorNotify_AddRef(This) \
  18809. (This)->lpVtbl -> AddRef(This)
  18810. #define IVMRSurfaceAllocatorNotify_Release(This) \
  18811. (This)->lpVtbl -> Release(This)
  18812. #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator) \
  18813. (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  18814. #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor) \
  18815. (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)
  18816. #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor) \
  18817. (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
  18818. #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This) \
  18819. (This)->lpVtbl -> RestoreDDrawSurfaces(This)
  18820. #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2) \
  18821. (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  18822. #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder) \
  18823. (This)->lpVtbl -> SetBorderColor(This,clrBorder)
  18824. #endif /* COBJMACROS */
  18825. #endif /* C style interface */
  18826. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(
  18827. IVMRSurfaceAllocatorNotify * This,
  18828. /* [in] */ DWORD_PTR dwUserID,
  18829. /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  18830. void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
  18831. IRpcStubBuffer *This,
  18832. IRpcChannelBuffer *_pRpcChannelBuffer,
  18833. PRPC_MESSAGE _pRpcMessage,
  18834. DWORD *_pdwStubPhase);
  18835. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(
  18836. IVMRSurfaceAllocatorNotify * This,
  18837. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18838. /* [in] */ HMONITOR hMonitor);
  18839. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
  18840. IRpcStubBuffer *This,
  18841. IRpcChannelBuffer *_pRpcChannelBuffer,
  18842. PRPC_MESSAGE _pRpcMessage,
  18843. DWORD *_pdwStubPhase);
  18844. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(
  18845. IVMRSurfaceAllocatorNotify * This,
  18846. /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  18847. /* [in] */ HMONITOR hMonitor);
  18848. void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
  18849. IRpcStubBuffer *This,
  18850. IRpcChannelBuffer *_pRpcChannelBuffer,
  18851. PRPC_MESSAGE _pRpcMessage,
  18852. DWORD *_pdwStubPhase);
  18853. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(
  18854. IVMRSurfaceAllocatorNotify * This);
  18855. void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
  18856. IRpcStubBuffer *This,
  18857. IRpcChannelBuffer *_pRpcChannelBuffer,
  18858. PRPC_MESSAGE _pRpcMessage,
  18859. DWORD *_pdwStubPhase);
  18860. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(
  18861. IVMRSurfaceAllocatorNotify * This,
  18862. /* [in] */ LONG EventCode,
  18863. /* [in] */ LONG_PTR Param1,
  18864. /* [in] */ LONG_PTR Param2);
  18865. void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
  18866. IRpcStubBuffer *This,
  18867. IRpcChannelBuffer *_pRpcChannelBuffer,
  18868. PRPC_MESSAGE _pRpcMessage,
  18869. DWORD *_pdwStubPhase);
  18870. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(
  18871. IVMRSurfaceAllocatorNotify * This,
  18872. /* [in] */ COLORREF clrBorder);
  18873. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
  18874. IRpcStubBuffer *This,
  18875. IRpcChannelBuffer *_pRpcChannelBuffer,
  18876. PRPC_MESSAGE _pRpcMessage,
  18877. DWORD *_pdwStubPhase);
  18878. #endif /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
  18879. /* interface __MIDL_itf_strmif_0393 */
  18880. /* [local] */
  18881. typedef /* [public] */
  18882. enum __MIDL___MIDL_itf_strmif_0393_0001
  18883. { VMR_ARMODE_NONE = 0,
  18884. VMR_ARMODE_LETTER_BOX = VMR_ARMODE_NONE + 1
  18885. } VMR_ASPECT_RATIO_MODE;
  18886. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_c_ifspec;
  18887. extern RPC_IF_HANDLE __MIDL_itf_strmif_0393_v0_0_s_ifspec;
  18888. #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
  18889. #define __IVMRWindowlessControl_INTERFACE_DEFINED__
  18890. /* interface IVMRWindowlessControl */
  18891. /* [unique][helpstring][uuid][local][object][local] */
  18892. EXTERN_C const IID IID_IVMRWindowlessControl;
  18893. #if defined(__cplusplus) && !defined(CINTERFACE)
  18894. MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
  18895. IVMRWindowlessControl : public IUnknown
  18896. {
  18897. public:
  18898. virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
  18899. /* [out] */ LONG *lpWidth,
  18900. /* [out] */ LONG *lpHeight,
  18901. /* [out] */ LONG *lpARWidth,
  18902. /* [out] */ LONG *lpARHeight) = 0;
  18903. virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(
  18904. /* [out] */ LONG *lpWidth,
  18905. /* [out] */ LONG *lpHeight) = 0;
  18906. virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(
  18907. /* [out] */ LONG *lpWidth,
  18908. /* [out] */ LONG *lpHeight) = 0;
  18909. virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
  18910. /* [in] */ const LPRECT lpSRCRect,
  18911. /* [in] */ const LPRECT lpDSTRect) = 0;
  18912. virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
  18913. /* [out] */ LPRECT lpSRCRect,
  18914. /* [out] */ LPRECT lpDSTRect) = 0;
  18915. virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
  18916. /* [out] */ DWORD *lpAspectRatioMode) = 0;
  18917. virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
  18918. /* [in] */ DWORD AspectRatioMode) = 0;
  18919. virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(
  18920. /* [in] */ HWND hwnd) = 0;
  18921. virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
  18922. /* [in] */ HWND hwnd,
  18923. /* [in] */ HDC hdc) = 0;
  18924. virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  18925. virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
  18926. /* [out] */ BYTE **lpDib) = 0;
  18927. virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
  18928. /* [in] */ COLORREF Clr) = 0;
  18929. virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
  18930. /* [out] */ COLORREF *lpClr) = 0;
  18931. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  18932. /* [in] */ COLORREF Clr) = 0;
  18933. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  18934. /* [out] */ COLORREF *lpClr) = 0;
  18935. };
  18936. #else /* C style interface */
  18937. typedef struct IVMRWindowlessControlVtbl
  18938. {
  18939. BEGIN_INTERFACE
  18940. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  18941. IVMRWindowlessControl * This,
  18942. /* [in] */ REFIID riid,
  18943. /* [iid_is][out] */ void **ppvObject);
  18944. ULONG ( STDMETHODCALLTYPE *AddRef )(
  18945. IVMRWindowlessControl * This);
  18946. ULONG ( STDMETHODCALLTYPE *Release )(
  18947. IVMRWindowlessControl * This);
  18948. HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )(
  18949. IVMRWindowlessControl * This,
  18950. /* [out] */ LONG *lpWidth,
  18951. /* [out] */ LONG *lpHeight,
  18952. /* [out] */ LONG *lpARWidth,
  18953. /* [out] */ LONG *lpARHeight);
  18954. HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )(
  18955. IVMRWindowlessControl * This,
  18956. /* [out] */ LONG *lpWidth,
  18957. /* [out] */ LONG *lpHeight);
  18958. HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )(
  18959. IVMRWindowlessControl * This,
  18960. /* [out] */ LONG *lpWidth,
  18961. /* [out] */ LONG *lpHeight);
  18962. HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )(
  18963. IVMRWindowlessControl * This,
  18964. /* [in] */ const LPRECT lpSRCRect,
  18965. /* [in] */ const LPRECT lpDSTRect);
  18966. HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
  18967. IVMRWindowlessControl * This,
  18968. /* [out] */ LPRECT lpSRCRect,
  18969. /* [out] */ LPRECT lpDSTRect);
  18970. HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
  18971. IVMRWindowlessControl * This,
  18972. /* [out] */ DWORD *lpAspectRatioMode);
  18973. HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
  18974. IVMRWindowlessControl * This,
  18975. /* [in] */ DWORD AspectRatioMode);
  18976. HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )(
  18977. IVMRWindowlessControl * This,
  18978. /* [in] */ HWND hwnd);
  18979. HRESULT ( STDMETHODCALLTYPE *RepaintVideo )(
  18980. IVMRWindowlessControl * This,
  18981. /* [in] */ HWND hwnd,
  18982. /* [in] */ HDC hdc);
  18983. HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )(
  18984. IVMRWindowlessControl * This);
  18985. HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )(
  18986. IVMRWindowlessControl * This,
  18987. /* [out] */ BYTE **lpDib);
  18988. HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
  18989. IVMRWindowlessControl * This,
  18990. /* [in] */ COLORREF Clr);
  18991. HRESULT ( STDMETHODCALLTYPE *GetBorderColor )(
  18992. IVMRWindowlessControl * This,
  18993. /* [out] */ COLORREF *lpClr);
  18994. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  18995. IVMRWindowlessControl * This,
  18996. /* [in] */ COLORREF Clr);
  18997. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  18998. IVMRWindowlessControl * This,
  18999. /* [out] */ COLORREF *lpClr);
  19000. END_INTERFACE
  19001. } IVMRWindowlessControlVtbl;
  19002. interface IVMRWindowlessControl
  19003. {
  19004. CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
  19005. };
  19006. #ifdef COBJMACROS
  19007. #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject) \
  19008. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19009. #define IVMRWindowlessControl_AddRef(This) \
  19010. (This)->lpVtbl -> AddRef(This)
  19011. #define IVMRWindowlessControl_Release(This) \
  19012. (This)->lpVtbl -> Release(This)
  19013. #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight) \
  19014. (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  19015. #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight) \
  19016. (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  19017. #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight) \
  19018. (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  19019. #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect) \
  19020. (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  19021. #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect) \
  19022. (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  19023. #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode) \
  19024. (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  19025. #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode) \
  19026. (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  19027. #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd) \
  19028. (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  19029. #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc) \
  19030. (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  19031. #define IVMRWindowlessControl_DisplayModeChanged(This) \
  19032. (This)->lpVtbl -> DisplayModeChanged(This)
  19033. #define IVMRWindowlessControl_GetCurrentImage(This,lpDib) \
  19034. (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  19035. #define IVMRWindowlessControl_SetBorderColor(This,Clr) \
  19036. (This)->lpVtbl -> SetBorderColor(This,Clr)
  19037. #define IVMRWindowlessControl_GetBorderColor(This,lpClr) \
  19038. (This)->lpVtbl -> GetBorderColor(This,lpClr)
  19039. #define IVMRWindowlessControl_SetColorKey(This,Clr) \
  19040. (This)->lpVtbl -> SetColorKey(This,Clr)
  19041. #define IVMRWindowlessControl_GetColorKey(This,lpClr) \
  19042. (This)->lpVtbl -> GetColorKey(This,lpClr)
  19043. #endif /* COBJMACROS */
  19044. #endif /* C style interface */
  19045. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy(
  19046. IVMRWindowlessControl * This,
  19047. /* [out] */ LONG *lpWidth,
  19048. /* [out] */ LONG *lpHeight,
  19049. /* [out] */ LONG *lpARWidth,
  19050. /* [out] */ LONG *lpARHeight);
  19051. void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
  19052. IRpcStubBuffer *This,
  19053. IRpcChannelBuffer *_pRpcChannelBuffer,
  19054. PRPC_MESSAGE _pRpcMessage,
  19055. DWORD *_pdwStubPhase);
  19056. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(
  19057. IVMRWindowlessControl * This,
  19058. /* [out] */ LONG *lpWidth,
  19059. /* [out] */ LONG *lpHeight);
  19060. void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
  19061. IRpcStubBuffer *This,
  19062. IRpcChannelBuffer *_pRpcChannelBuffer,
  19063. PRPC_MESSAGE _pRpcMessage,
  19064. DWORD *_pdwStubPhase);
  19065. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(
  19066. IVMRWindowlessControl * This,
  19067. /* [out] */ LONG *lpWidth,
  19068. /* [out] */ LONG *lpHeight);
  19069. void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
  19070. IRpcStubBuffer *This,
  19071. IRpcChannelBuffer *_pRpcChannelBuffer,
  19072. PRPC_MESSAGE _pRpcMessage,
  19073. DWORD *_pdwStubPhase);
  19074. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy(
  19075. IVMRWindowlessControl * This,
  19076. /* [in] */ const LPRECT lpSRCRect,
  19077. /* [in] */ const LPRECT lpDSTRect);
  19078. void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
  19079. IRpcStubBuffer *This,
  19080. IRpcChannelBuffer *_pRpcChannelBuffer,
  19081. PRPC_MESSAGE _pRpcMessage,
  19082. DWORD *_pdwStubPhase);
  19083. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy(
  19084. IVMRWindowlessControl * This,
  19085. /* [out] */ LPRECT lpSRCRect,
  19086. /* [out] */ LPRECT lpDSTRect);
  19087. void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
  19088. IRpcStubBuffer *This,
  19089. IRpcChannelBuffer *_pRpcChannelBuffer,
  19090. PRPC_MESSAGE _pRpcMessage,
  19091. DWORD *_pdwStubPhase);
  19092. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy(
  19093. IVMRWindowlessControl * This,
  19094. /* [out] */ DWORD *lpAspectRatioMode);
  19095. void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
  19096. IRpcStubBuffer *This,
  19097. IRpcChannelBuffer *_pRpcChannelBuffer,
  19098. PRPC_MESSAGE _pRpcMessage,
  19099. DWORD *_pdwStubPhase);
  19100. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy(
  19101. IVMRWindowlessControl * This,
  19102. /* [in] */ DWORD AspectRatioMode);
  19103. void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
  19104. IRpcStubBuffer *This,
  19105. IRpcChannelBuffer *_pRpcChannelBuffer,
  19106. PRPC_MESSAGE _pRpcMessage,
  19107. DWORD *_pdwStubPhase);
  19108. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy(
  19109. IVMRWindowlessControl * This,
  19110. /* [in] */ HWND hwnd);
  19111. void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
  19112. IRpcStubBuffer *This,
  19113. IRpcChannelBuffer *_pRpcChannelBuffer,
  19114. PRPC_MESSAGE _pRpcMessage,
  19115. DWORD *_pdwStubPhase);
  19116. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy(
  19117. IVMRWindowlessControl * This,
  19118. /* [in] */ HWND hwnd,
  19119. /* [in] */ HDC hdc);
  19120. void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
  19121. IRpcStubBuffer *This,
  19122. IRpcChannelBuffer *_pRpcChannelBuffer,
  19123. PRPC_MESSAGE _pRpcMessage,
  19124. DWORD *_pdwStubPhase);
  19125. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy(
  19126. IVMRWindowlessControl * This);
  19127. void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
  19128. IRpcStubBuffer *This,
  19129. IRpcChannelBuffer *_pRpcChannelBuffer,
  19130. PRPC_MESSAGE _pRpcMessage,
  19131. DWORD *_pdwStubPhase);
  19132. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy(
  19133. IVMRWindowlessControl * This,
  19134. /* [out] */ BYTE **lpDib);
  19135. void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
  19136. IRpcStubBuffer *This,
  19137. IRpcChannelBuffer *_pRpcChannelBuffer,
  19138. PRPC_MESSAGE _pRpcMessage,
  19139. DWORD *_pdwStubPhase);
  19140. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy(
  19141. IVMRWindowlessControl * This,
  19142. /* [in] */ COLORREF Clr);
  19143. void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
  19144. IRpcStubBuffer *This,
  19145. IRpcChannelBuffer *_pRpcChannelBuffer,
  19146. PRPC_MESSAGE _pRpcMessage,
  19147. DWORD *_pdwStubPhase);
  19148. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy(
  19149. IVMRWindowlessControl * This,
  19150. /* [out] */ COLORREF *lpClr);
  19151. void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
  19152. IRpcStubBuffer *This,
  19153. IRpcChannelBuffer *_pRpcChannelBuffer,
  19154. PRPC_MESSAGE _pRpcMessage,
  19155. DWORD *_pdwStubPhase);
  19156. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy(
  19157. IVMRWindowlessControl * This,
  19158. /* [in] */ COLORREF Clr);
  19159. void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
  19160. IRpcStubBuffer *This,
  19161. IRpcChannelBuffer *_pRpcChannelBuffer,
  19162. PRPC_MESSAGE _pRpcMessage,
  19163. DWORD *_pdwStubPhase);
  19164. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy(
  19165. IVMRWindowlessControl * This,
  19166. /* [out] */ COLORREF *lpClr);
  19167. void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
  19168. IRpcStubBuffer *This,
  19169. IRpcChannelBuffer *_pRpcChannelBuffer,
  19170. PRPC_MESSAGE _pRpcMessage,
  19171. DWORD *_pdwStubPhase);
  19172. #endif /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
  19173. /* interface __MIDL_itf_strmif_0394 */
  19174. /* [local] */
  19175. typedef /* [public] */
  19176. enum __MIDL___MIDL_itf_strmif_0394_0001
  19177. { MixerPref_NoDecimation = 0x1,
  19178. MixerPref_DecimateOutput = 0x2,
  19179. MixerPref_ARAdjustXorY = 0x4,
  19180. MixerPref_DecimationReserved = 0x8,
  19181. MixerPref_DecimateMask = 0xf,
  19182. MixerPref_BiLinearFiltering = 0x10,
  19183. MixerPref_PointFiltering = 0x20,
  19184. MixerPref_FilteringMask = 0xf0,
  19185. MixerPref_RenderTargetRGB = 0x100,
  19186. MixerPref_RenderTargetYUV = 0x1000,
  19187. MixerPref_RenderTargetYUV420 = 0x200,
  19188. MixerPref_RenderTargetYUV422 = 0x400,
  19189. MixerPref_RenderTargetYUV444 = 0x800,
  19190. MixerPref_RenderTargetReserved = 0xe000,
  19191. MixerPref_RenderTargetMask = 0xff00,
  19192. MixerPref_DynamicSwitchToBOB = 0x10000,
  19193. MixerPref_DynamicDecimateBy2 = 0x20000,
  19194. MixerPref_DynamicReserved = 0xc0000,
  19195. MixerPref_DynamicMask = 0xf0000
  19196. } VMRMixerPrefs;
  19197. typedef struct _NORMALIZEDRECT
  19198. {
  19199. float left;
  19200. float top;
  19201. float right;
  19202. float bottom;
  19203. } NORMALIZEDRECT;
  19204. typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  19205. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_c_ifspec;
  19206. extern RPC_IF_HANDLE __MIDL_itf_strmif_0394_v0_0_s_ifspec;
  19207. #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
  19208. #define __IVMRMixerControl_INTERFACE_DEFINED__
  19209. /* interface IVMRMixerControl */
  19210. /* [unique][helpstring][uuid][local][object][local] */
  19211. EXTERN_C const IID IID_IVMRMixerControl;
  19212. #if defined(__cplusplus) && !defined(CINTERFACE)
  19213. MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
  19214. IVMRMixerControl : public IUnknown
  19215. {
  19216. public:
  19217. virtual HRESULT STDMETHODCALLTYPE SetAlpha(
  19218. /* [in] */ DWORD dwStreamID,
  19219. /* [in] */ float Alpha) = 0;
  19220. virtual HRESULT STDMETHODCALLTYPE GetAlpha(
  19221. /* [in] */ DWORD dwStreamID,
  19222. /* [out] */ float *pAlpha) = 0;
  19223. virtual HRESULT STDMETHODCALLTYPE SetZOrder(
  19224. /* [in] */ DWORD dwStreamID,
  19225. /* [in] */ DWORD dwZ) = 0;
  19226. virtual HRESULT STDMETHODCALLTYPE GetZOrder(
  19227. /* [in] */ DWORD dwStreamID,
  19228. /* [out] */ DWORD *pZ) = 0;
  19229. virtual HRESULT STDMETHODCALLTYPE SetOutputRect(
  19230. /* [in] */ DWORD dwStreamID,
  19231. /* [in] */ const NORMALIZEDRECT *pRect) = 0;
  19232. virtual HRESULT STDMETHODCALLTYPE GetOutputRect(
  19233. /* [in] */ DWORD dwStreamID,
  19234. /* [out] */ NORMALIZEDRECT *pRect) = 0;
  19235. virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(
  19236. /* [in] */ COLORREF ClrBkg) = 0;
  19237. virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(
  19238. /* [in] */ COLORREF *lpClrBkg) = 0;
  19239. virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
  19240. /* [in] */ DWORD dwMixerPrefs) = 0;
  19241. virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
  19242. /* [out] */ DWORD *pdwMixerPrefs) = 0;
  19243. };
  19244. #else /* C style interface */
  19245. typedef struct IVMRMixerControlVtbl
  19246. {
  19247. BEGIN_INTERFACE
  19248. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19249. IVMRMixerControl * This,
  19250. /* [in] */ REFIID riid,
  19251. /* [iid_is][out] */ void **ppvObject);
  19252. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19253. IVMRMixerControl * This);
  19254. ULONG ( STDMETHODCALLTYPE *Release )(
  19255. IVMRMixerControl * This);
  19256. HRESULT ( STDMETHODCALLTYPE *SetAlpha )(
  19257. IVMRMixerControl * This,
  19258. /* [in] */ DWORD dwStreamID,
  19259. /* [in] */ float Alpha);
  19260. HRESULT ( STDMETHODCALLTYPE *GetAlpha )(
  19261. IVMRMixerControl * This,
  19262. /* [in] */ DWORD dwStreamID,
  19263. /* [out] */ float *pAlpha);
  19264. HRESULT ( STDMETHODCALLTYPE *SetZOrder )(
  19265. IVMRMixerControl * This,
  19266. /* [in] */ DWORD dwStreamID,
  19267. /* [in] */ DWORD dwZ);
  19268. HRESULT ( STDMETHODCALLTYPE *GetZOrder )(
  19269. IVMRMixerControl * This,
  19270. /* [in] */ DWORD dwStreamID,
  19271. /* [out] */ DWORD *pZ);
  19272. HRESULT ( STDMETHODCALLTYPE *SetOutputRect )(
  19273. IVMRMixerControl * This,
  19274. /* [in] */ DWORD dwStreamID,
  19275. /* [in] */ const NORMALIZEDRECT *pRect);
  19276. HRESULT ( STDMETHODCALLTYPE *GetOutputRect )(
  19277. IVMRMixerControl * This,
  19278. /* [in] */ DWORD dwStreamID,
  19279. /* [out] */ NORMALIZEDRECT *pRect);
  19280. HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )(
  19281. IVMRMixerControl * This,
  19282. /* [in] */ COLORREF ClrBkg);
  19283. HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )(
  19284. IVMRMixerControl * This,
  19285. /* [in] */ COLORREF *lpClrBkg);
  19286. HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )(
  19287. IVMRMixerControl * This,
  19288. /* [in] */ DWORD dwMixerPrefs);
  19289. HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )(
  19290. IVMRMixerControl * This,
  19291. /* [out] */ DWORD *pdwMixerPrefs);
  19292. END_INTERFACE
  19293. } IVMRMixerControlVtbl;
  19294. interface IVMRMixerControl
  19295. {
  19296. CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
  19297. };
  19298. #ifdef COBJMACROS
  19299. #define IVMRMixerControl_QueryInterface(This,riid,ppvObject) \
  19300. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19301. #define IVMRMixerControl_AddRef(This) \
  19302. (This)->lpVtbl -> AddRef(This)
  19303. #define IVMRMixerControl_Release(This) \
  19304. (This)->lpVtbl -> Release(This)
  19305. #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha) \
  19306. (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  19307. #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha) \
  19308. (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  19309. #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ) \
  19310. (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  19311. #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ) \
  19312. (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  19313. #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect) \
  19314. (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  19315. #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect) \
  19316. (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  19317. #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg) \
  19318. (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  19319. #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg) \
  19320. (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  19321. #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs) \
  19322. (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  19323. #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs) \
  19324. (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  19325. #endif /* COBJMACROS */
  19326. #endif /* C style interface */
  19327. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy(
  19328. IVMRMixerControl * This,
  19329. /* [in] */ DWORD dwStreamID,
  19330. /* [in] */ float Alpha);
  19331. void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
  19332. IRpcStubBuffer *This,
  19333. IRpcChannelBuffer *_pRpcChannelBuffer,
  19334. PRPC_MESSAGE _pRpcMessage,
  19335. DWORD *_pdwStubPhase);
  19336. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy(
  19337. IVMRMixerControl * This,
  19338. /* [in] */ DWORD dwStreamID,
  19339. /* [out] */ float *pAlpha);
  19340. void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
  19341. IRpcStubBuffer *This,
  19342. IRpcChannelBuffer *_pRpcChannelBuffer,
  19343. PRPC_MESSAGE _pRpcMessage,
  19344. DWORD *_pdwStubPhase);
  19345. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy(
  19346. IVMRMixerControl * This,
  19347. /* [in] */ DWORD dwStreamID,
  19348. /* [in] */ DWORD dwZ);
  19349. void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
  19350. IRpcStubBuffer *This,
  19351. IRpcChannelBuffer *_pRpcChannelBuffer,
  19352. PRPC_MESSAGE _pRpcMessage,
  19353. DWORD *_pdwStubPhase);
  19354. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy(
  19355. IVMRMixerControl * This,
  19356. /* [in] */ DWORD dwStreamID,
  19357. /* [out] */ DWORD *pZ);
  19358. void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
  19359. IRpcStubBuffer *This,
  19360. IRpcChannelBuffer *_pRpcChannelBuffer,
  19361. PRPC_MESSAGE _pRpcMessage,
  19362. DWORD *_pdwStubPhase);
  19363. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy(
  19364. IVMRMixerControl * This,
  19365. /* [in] */ DWORD dwStreamID,
  19366. /* [in] */ const NORMALIZEDRECT *pRect);
  19367. void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
  19368. IRpcStubBuffer *This,
  19369. IRpcChannelBuffer *_pRpcChannelBuffer,
  19370. PRPC_MESSAGE _pRpcMessage,
  19371. DWORD *_pdwStubPhase);
  19372. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy(
  19373. IVMRMixerControl * This,
  19374. /* [in] */ DWORD dwStreamID,
  19375. /* [out] */ NORMALIZEDRECT *pRect);
  19376. void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
  19377. IRpcStubBuffer *This,
  19378. IRpcChannelBuffer *_pRpcChannelBuffer,
  19379. PRPC_MESSAGE _pRpcMessage,
  19380. DWORD *_pdwStubPhase);
  19381. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy(
  19382. IVMRMixerControl * This,
  19383. /* [in] */ COLORREF ClrBkg);
  19384. void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
  19385. IRpcStubBuffer *This,
  19386. IRpcChannelBuffer *_pRpcChannelBuffer,
  19387. PRPC_MESSAGE _pRpcMessage,
  19388. DWORD *_pdwStubPhase);
  19389. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy(
  19390. IVMRMixerControl * This,
  19391. /* [in] */ COLORREF *lpClrBkg);
  19392. void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
  19393. IRpcStubBuffer *This,
  19394. IRpcChannelBuffer *_pRpcChannelBuffer,
  19395. PRPC_MESSAGE _pRpcMessage,
  19396. DWORD *_pdwStubPhase);
  19397. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy(
  19398. IVMRMixerControl * This,
  19399. /* [in] */ DWORD dwMixerPrefs);
  19400. void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
  19401. IRpcStubBuffer *This,
  19402. IRpcChannelBuffer *_pRpcChannelBuffer,
  19403. PRPC_MESSAGE _pRpcMessage,
  19404. DWORD *_pdwStubPhase);
  19405. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy(
  19406. IVMRMixerControl * This,
  19407. /* [out] */ DWORD *pdwMixerPrefs);
  19408. void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
  19409. IRpcStubBuffer *This,
  19410. IRpcChannelBuffer *_pRpcChannelBuffer,
  19411. PRPC_MESSAGE _pRpcMessage,
  19412. DWORD *_pdwStubPhase);
  19413. #endif /* __IVMRMixerControl_INTERFACE_DEFINED__ */
  19414. /* interface __MIDL_itf_strmif_0395 */
  19415. /* [local] */
  19416. typedef struct tagVMRGUID
  19417. {
  19418. GUID *pGUID;
  19419. GUID GUID;
  19420. } VMRGUID;
  19421. typedef struct tagVMRMONITORINFO
  19422. {
  19423. VMRGUID guid;
  19424. RECT rcMonitor;
  19425. HMONITOR hMon;
  19426. DWORD dwFlags;
  19427. wchar_t szDevice[ 32 ];
  19428. wchar_t szDescription[ 256 ];
  19429. LARGE_INTEGER liDriverVersion;
  19430. DWORD dwVendorId;
  19431. DWORD dwDeviceId;
  19432. DWORD dwSubSysId;
  19433. DWORD dwRevision;
  19434. } VMRMONITORINFO;
  19435. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_c_ifspec;
  19436. extern RPC_IF_HANDLE __MIDL_itf_strmif_0395_v0_0_s_ifspec;
  19437. #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
  19438. #define __IVMRMonitorConfig_INTERFACE_DEFINED__
  19439. /* interface IVMRMonitorConfig */
  19440. /* [unique][helpstring][uuid][local][object] */
  19441. EXTERN_C const IID IID_IVMRMonitorConfig;
  19442. #if defined(__cplusplus) && !defined(CINTERFACE)
  19443. MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
  19444. IVMRMonitorConfig : public IUnknown
  19445. {
  19446. public:
  19447. virtual HRESULT STDMETHODCALLTYPE SetMonitor(
  19448. /* [in] */ const VMRGUID *pGUID) = 0;
  19449. virtual HRESULT STDMETHODCALLTYPE GetMonitor(
  19450. /* [out] */ VMRGUID *pGUID) = 0;
  19451. virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor(
  19452. /* [in] */ const VMRGUID *pGUID) = 0;
  19453. virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor(
  19454. /* [out] */ VMRGUID *pGUID) = 0;
  19455. virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors(
  19456. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  19457. /* [in] */ DWORD dwMaxInfoArraySize,
  19458. /* [out] */ DWORD *pdwNumDevices) = 0;
  19459. };
  19460. #else /* C style interface */
  19461. typedef struct IVMRMonitorConfigVtbl
  19462. {
  19463. BEGIN_INTERFACE
  19464. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19465. IVMRMonitorConfig * This,
  19466. /* [in] */ REFIID riid,
  19467. /* [iid_is][out] */ void **ppvObject);
  19468. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19469. IVMRMonitorConfig * This);
  19470. ULONG ( STDMETHODCALLTYPE *Release )(
  19471. IVMRMonitorConfig * This);
  19472. HRESULT ( STDMETHODCALLTYPE *SetMonitor )(
  19473. IVMRMonitorConfig * This,
  19474. /* [in] */ const VMRGUID *pGUID);
  19475. HRESULT ( STDMETHODCALLTYPE *GetMonitor )(
  19476. IVMRMonitorConfig * This,
  19477. /* [out] */ VMRGUID *pGUID);
  19478. HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )(
  19479. IVMRMonitorConfig * This,
  19480. /* [in] */ const VMRGUID *pGUID);
  19481. HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )(
  19482. IVMRMonitorConfig * This,
  19483. /* [out] */ VMRGUID *pGUID);
  19484. HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )(
  19485. IVMRMonitorConfig * This,
  19486. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  19487. /* [in] */ DWORD dwMaxInfoArraySize,
  19488. /* [out] */ DWORD *pdwNumDevices);
  19489. END_INTERFACE
  19490. } IVMRMonitorConfigVtbl;
  19491. interface IVMRMonitorConfig
  19492. {
  19493. CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
  19494. };
  19495. #ifdef COBJMACROS
  19496. #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject) \
  19497. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19498. #define IVMRMonitorConfig_AddRef(This) \
  19499. (This)->lpVtbl -> AddRef(This)
  19500. #define IVMRMonitorConfig_Release(This) \
  19501. (This)->lpVtbl -> Release(This)
  19502. #define IVMRMonitorConfig_SetMonitor(This,pGUID) \
  19503. (This)->lpVtbl -> SetMonitor(This,pGUID)
  19504. #define IVMRMonitorConfig_GetMonitor(This,pGUID) \
  19505. (This)->lpVtbl -> GetMonitor(This,pGUID)
  19506. #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID) \
  19507. (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)
  19508. #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID) \
  19509. (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)
  19510. #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices) \
  19511. (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  19512. #endif /* COBJMACROS */
  19513. #endif /* C style interface */
  19514. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy(
  19515. IVMRMonitorConfig * This,
  19516. /* [in] */ const VMRGUID *pGUID);
  19517. void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
  19518. IRpcStubBuffer *This,
  19519. IRpcChannelBuffer *_pRpcChannelBuffer,
  19520. PRPC_MESSAGE _pRpcMessage,
  19521. DWORD *_pdwStubPhase);
  19522. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy(
  19523. IVMRMonitorConfig * This,
  19524. /* [out] */ VMRGUID *pGUID);
  19525. void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
  19526. IRpcStubBuffer *This,
  19527. IRpcChannelBuffer *_pRpcChannelBuffer,
  19528. PRPC_MESSAGE _pRpcMessage,
  19529. DWORD *_pdwStubPhase);
  19530. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy(
  19531. IVMRMonitorConfig * This,
  19532. /* [in] */ const VMRGUID *pGUID);
  19533. void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
  19534. IRpcStubBuffer *This,
  19535. IRpcChannelBuffer *_pRpcChannelBuffer,
  19536. PRPC_MESSAGE _pRpcMessage,
  19537. DWORD *_pdwStubPhase);
  19538. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy(
  19539. IVMRMonitorConfig * This,
  19540. /* [out] */ VMRGUID *pGUID);
  19541. void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
  19542. IRpcStubBuffer *This,
  19543. IRpcChannelBuffer *_pRpcChannelBuffer,
  19544. PRPC_MESSAGE _pRpcMessage,
  19545. DWORD *_pdwStubPhase);
  19546. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy(
  19547. IVMRMonitorConfig * This,
  19548. /* [size_is][out] */ VMRMONITORINFO *pInfo,
  19549. /* [in] */ DWORD dwMaxInfoArraySize,
  19550. /* [out] */ DWORD *pdwNumDevices);
  19551. void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
  19552. IRpcStubBuffer *This,
  19553. IRpcChannelBuffer *_pRpcChannelBuffer,
  19554. PRPC_MESSAGE _pRpcMessage,
  19555. DWORD *_pdwStubPhase);
  19556. #endif /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
  19557. /* interface __MIDL_itf_strmif_0396 */
  19558. /* [local] */
  19559. typedef /* [public] */
  19560. enum __MIDL___MIDL_itf_strmif_0396_0001
  19561. { RenderPrefs_RestrictToInitialMonitor = 0,
  19562. RenderPrefs_ForceOffscreen = 0x1,
  19563. RenderPrefs_ForceOverlays = 0x2,
  19564. RenderPrefs_AllowOverlays = 0,
  19565. RenderPrefs_AllowOffscreen = 0,
  19566. RenderPrefs_DoNotRenderColorKeyAndBorder = 0x8,
  19567. RenderPrefs_Reserved = 0x10,
  19568. RenderPrefs_PreferAGPMemWhenMixing = 0x20,
  19569. RenderPrefs_Mask = 0x3f
  19570. } VMRRenderPrefs;
  19571. typedef /* [public] */
  19572. enum __MIDL___MIDL_itf_strmif_0396_0002
  19573. { VMRMode_Windowed = 0x1,
  19574. VMRMode_Windowless = 0x2,
  19575. VMRMode_Renderless = 0x4,
  19576. VMRMode_Mask = 0x7
  19577. } VMRMode;
  19578. enum __MIDL___MIDL_itf_strmif_0396_0003
  19579. { MAX_NUMBER_OF_STREAMS = 16
  19580. } ;
  19581. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_c_ifspec;
  19582. extern RPC_IF_HANDLE __MIDL_itf_strmif_0396_v0_0_s_ifspec;
  19583. #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
  19584. #define __IVMRFilterConfig_INTERFACE_DEFINED__
  19585. /* interface IVMRFilterConfig */
  19586. /* [unique][helpstring][uuid][local][object] */
  19587. EXTERN_C const IID IID_IVMRFilterConfig;
  19588. #if defined(__cplusplus) && !defined(CINTERFACE)
  19589. MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
  19590. IVMRFilterConfig : public IUnknown
  19591. {
  19592. public:
  19593. virtual HRESULT STDMETHODCALLTYPE SetImageCompositor(
  19594. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
  19595. virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(
  19596. /* [in] */ DWORD dwMaxStreams) = 0;
  19597. virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(
  19598. /* [out] */ DWORD *pdwMaxStreams) = 0;
  19599. virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
  19600. /* [in] */ DWORD dwRenderFlags) = 0;
  19601. virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
  19602. /* [out] */ DWORD *pdwRenderFlags) = 0;
  19603. virtual HRESULT STDMETHODCALLTYPE SetRenderingMode(
  19604. /* [in] */ DWORD Mode) = 0;
  19605. virtual HRESULT STDMETHODCALLTYPE GetRenderingMode(
  19606. /* [out] */ DWORD *pMode) = 0;
  19607. };
  19608. #else /* C style interface */
  19609. typedef struct IVMRFilterConfigVtbl
  19610. {
  19611. BEGIN_INTERFACE
  19612. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19613. IVMRFilterConfig * This,
  19614. /* [in] */ REFIID riid,
  19615. /* [iid_is][out] */ void **ppvObject);
  19616. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19617. IVMRFilterConfig * This);
  19618. ULONG ( STDMETHODCALLTYPE *Release )(
  19619. IVMRFilterConfig * This);
  19620. HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )(
  19621. IVMRFilterConfig * This,
  19622. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  19623. HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )(
  19624. IVMRFilterConfig * This,
  19625. /* [in] */ DWORD dwMaxStreams);
  19626. HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )(
  19627. IVMRFilterConfig * This,
  19628. /* [out] */ DWORD *pdwMaxStreams);
  19629. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  19630. IVMRFilterConfig * This,
  19631. /* [in] */ DWORD dwRenderFlags);
  19632. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  19633. IVMRFilterConfig * This,
  19634. /* [out] */ DWORD *pdwRenderFlags);
  19635. HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )(
  19636. IVMRFilterConfig * This,
  19637. /* [in] */ DWORD Mode);
  19638. HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )(
  19639. IVMRFilterConfig * This,
  19640. /* [out] */ DWORD *pMode);
  19641. END_INTERFACE
  19642. } IVMRFilterConfigVtbl;
  19643. interface IVMRFilterConfig
  19644. {
  19645. CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
  19646. };
  19647. #ifdef COBJMACROS
  19648. #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject) \
  19649. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19650. #define IVMRFilterConfig_AddRef(This) \
  19651. (This)->lpVtbl -> AddRef(This)
  19652. #define IVMRFilterConfig_Release(This) \
  19653. (This)->lpVtbl -> Release(This)
  19654. #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor) \
  19655. (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  19656. #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) \
  19657. (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  19658. #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) \
  19659. (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  19660. #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags) \
  19661. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  19662. #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags) \
  19663. (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  19664. #define IVMRFilterConfig_SetRenderingMode(This,Mode) \
  19665. (This)->lpVtbl -> SetRenderingMode(This,Mode)
  19666. #define IVMRFilterConfig_GetRenderingMode(This,pMode) \
  19667. (This)->lpVtbl -> GetRenderingMode(This,pMode)
  19668. #endif /* COBJMACROS */
  19669. #endif /* C style interface */
  19670. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy(
  19671. IVMRFilterConfig * This,
  19672. /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  19673. void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
  19674. IRpcStubBuffer *This,
  19675. IRpcChannelBuffer *_pRpcChannelBuffer,
  19676. PRPC_MESSAGE _pRpcMessage,
  19677. DWORD *_pdwStubPhase);
  19678. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy(
  19679. IVMRFilterConfig * This,
  19680. /* [in] */ DWORD dwMaxStreams);
  19681. void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
  19682. IRpcStubBuffer *This,
  19683. IRpcChannelBuffer *_pRpcChannelBuffer,
  19684. PRPC_MESSAGE _pRpcMessage,
  19685. DWORD *_pdwStubPhase);
  19686. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy(
  19687. IVMRFilterConfig * This,
  19688. /* [out] */ DWORD *pdwMaxStreams);
  19689. void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
  19690. IRpcStubBuffer *This,
  19691. IRpcChannelBuffer *_pRpcChannelBuffer,
  19692. PRPC_MESSAGE _pRpcMessage,
  19693. DWORD *_pdwStubPhase);
  19694. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy(
  19695. IVMRFilterConfig * This,
  19696. /* [in] */ DWORD dwRenderFlags);
  19697. void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
  19698. IRpcStubBuffer *This,
  19699. IRpcChannelBuffer *_pRpcChannelBuffer,
  19700. PRPC_MESSAGE _pRpcMessage,
  19701. DWORD *_pdwStubPhase);
  19702. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy(
  19703. IVMRFilterConfig * This,
  19704. /* [out] */ DWORD *pdwRenderFlags);
  19705. void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
  19706. IRpcStubBuffer *This,
  19707. IRpcChannelBuffer *_pRpcChannelBuffer,
  19708. PRPC_MESSAGE _pRpcMessage,
  19709. DWORD *_pdwStubPhase);
  19710. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy(
  19711. IVMRFilterConfig * This,
  19712. /* [in] */ DWORD Mode);
  19713. void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
  19714. IRpcStubBuffer *This,
  19715. IRpcChannelBuffer *_pRpcChannelBuffer,
  19716. PRPC_MESSAGE _pRpcMessage,
  19717. DWORD *_pdwStubPhase);
  19718. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy(
  19719. IVMRFilterConfig * This,
  19720. /* [out] */ DWORD *pMode);
  19721. void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
  19722. IRpcStubBuffer *This,
  19723. IRpcChannelBuffer *_pRpcChannelBuffer,
  19724. PRPC_MESSAGE _pRpcMessage,
  19725. DWORD *_pdwStubPhase);
  19726. #endif /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
  19727. #ifndef __IVMRAspectRatioControl_INTERFACE_DEFINED__
  19728. #define __IVMRAspectRatioControl_INTERFACE_DEFINED__
  19729. /* interface IVMRAspectRatioControl */
  19730. /* [unique][helpstring][uuid][local][object] */
  19731. EXTERN_C const IID IID_IVMRAspectRatioControl;
  19732. #if defined(__cplusplus) && !defined(CINTERFACE)
  19733. MIDL_INTERFACE("ede80b5c-bad6-4623-b537-65586c9f8dfd")
  19734. IVMRAspectRatioControl : public IUnknown
  19735. {
  19736. public:
  19737. virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
  19738. /* [out] */ LPDWORD lpdwARMode) = 0;
  19739. virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
  19740. /* [in] */ DWORD dwARMode) = 0;
  19741. };
  19742. #else /* C style interface */
  19743. typedef struct IVMRAspectRatioControlVtbl
  19744. {
  19745. BEGIN_INTERFACE
  19746. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19747. IVMRAspectRatioControl * This,
  19748. /* [in] */ REFIID riid,
  19749. /* [iid_is][out] */ void **ppvObject);
  19750. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19751. IVMRAspectRatioControl * This);
  19752. ULONG ( STDMETHODCALLTYPE *Release )(
  19753. IVMRAspectRatioControl * This);
  19754. HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
  19755. IVMRAspectRatioControl * This,
  19756. /* [out] */ LPDWORD lpdwARMode);
  19757. HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
  19758. IVMRAspectRatioControl * This,
  19759. /* [in] */ DWORD dwARMode);
  19760. END_INTERFACE
  19761. } IVMRAspectRatioControlVtbl;
  19762. interface IVMRAspectRatioControl
  19763. {
  19764. CONST_VTBL struct IVMRAspectRatioControlVtbl *lpVtbl;
  19765. };
  19766. #ifdef COBJMACROS
  19767. #define IVMRAspectRatioControl_QueryInterface(This,riid,ppvObject) \
  19768. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19769. #define IVMRAspectRatioControl_AddRef(This) \
  19770. (This)->lpVtbl -> AddRef(This)
  19771. #define IVMRAspectRatioControl_Release(This) \
  19772. (This)->lpVtbl -> Release(This)
  19773. #define IVMRAspectRatioControl_GetAspectRatioMode(This,lpdwARMode) \
  19774. (This)->lpVtbl -> GetAspectRatioMode(This,lpdwARMode)
  19775. #define IVMRAspectRatioControl_SetAspectRatioMode(This,dwARMode) \
  19776. (This)->lpVtbl -> SetAspectRatioMode(This,dwARMode)
  19777. #endif /* COBJMACROS */
  19778. #endif /* C style interface */
  19779. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_GetAspectRatioMode_Proxy(
  19780. IVMRAspectRatioControl * This,
  19781. /* [out] */ LPDWORD lpdwARMode);
  19782. void __RPC_STUB IVMRAspectRatioControl_GetAspectRatioMode_Stub(
  19783. IRpcStubBuffer *This,
  19784. IRpcChannelBuffer *_pRpcChannelBuffer,
  19785. PRPC_MESSAGE _pRpcMessage,
  19786. DWORD *_pdwStubPhase);
  19787. HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl_SetAspectRatioMode_Proxy(
  19788. IVMRAspectRatioControl * This,
  19789. /* [in] */ DWORD dwARMode);
  19790. void __RPC_STUB IVMRAspectRatioControl_SetAspectRatioMode_Stub(
  19791. IRpcStubBuffer *This,
  19792. IRpcChannelBuffer *_pRpcChannelBuffer,
  19793. PRPC_MESSAGE _pRpcMessage,
  19794. DWORD *_pdwStubPhase);
  19795. #endif /* __IVMRAspectRatioControl_INTERFACE_DEFINED__ */
  19796. /* interface __MIDL_itf_strmif_0398 */
  19797. /* [local] */
  19798. typedef /* [public] */
  19799. enum __MIDL___MIDL_itf_strmif_0398_0001
  19800. { DeinterlacePref_NextBest = 0x1,
  19801. DeinterlacePref_BOB = 0x2,
  19802. DeinterlacePref_Weave = 0x4,
  19803. DeinterlacePref_Mask = 0x7
  19804. } VMRDeinterlacePrefs;
  19805. typedef /* [public][public][public] */
  19806. enum __MIDL___MIDL_itf_strmif_0398_0002
  19807. { DeinterlaceTech_Unknown = 0,
  19808. DeinterlaceTech_BOBLineReplicate = 0x1,
  19809. DeinterlaceTech_BOBVerticalStretch = 0x2,
  19810. DeinterlaceTech_MedianFiltering = 0x4,
  19811. DeinterlaceTech_EdgeFiltering = 0x10,
  19812. DeinterlaceTech_FieldAdaptive = 0x20,
  19813. DeinterlaceTech_PixelAdaptive = 0x40,
  19814. DeinterlaceTech_MotionVectorSteered = 0x80
  19815. } VMRDeinterlaceTech;
  19816. typedef struct _VMRFrequency
  19817. {
  19818. DWORD dwNumerator;
  19819. DWORD dwDenominator;
  19820. } VMRFrequency;
  19821. typedef struct _VMRVideoDesc
  19822. {
  19823. DWORD dwSize;
  19824. DWORD dwSampleWidth;
  19825. DWORD dwSampleHeight;
  19826. BOOL SingleFieldPerSample;
  19827. DWORD dwFourCC;
  19828. VMRFrequency InputSampleFreq;
  19829. VMRFrequency OutputFrameFreq;
  19830. } VMRVideoDesc;
  19831. typedef struct _VMRDeinterlaceCaps
  19832. {
  19833. DWORD dwSize;
  19834. DWORD dwNumPreviousOutputFrames;
  19835. DWORD dwNumForwardRefSamples;
  19836. DWORD dwNumBackwardRefSamples;
  19837. VMRDeinterlaceTech DeinterlaceTechnology;
  19838. } VMRDeinterlaceCaps;
  19839. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_c_ifspec;
  19840. extern RPC_IF_HANDLE __MIDL_itf_strmif_0398_v0_0_s_ifspec;
  19841. #ifndef __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  19842. #define __IVMRDeinterlaceControl_INTERFACE_DEFINED__
  19843. /* interface IVMRDeinterlaceControl */
  19844. /* [unique][helpstring][uuid][local][object] */
  19845. EXTERN_C const IID IID_IVMRDeinterlaceControl;
  19846. #if defined(__cplusplus) && !defined(CINTERFACE)
  19847. MIDL_INTERFACE("bb057577-0db8-4e6a-87a7-1a8c9a505a0f")
  19848. IVMRDeinterlaceControl : public IUnknown
  19849. {
  19850. public:
  19851. virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes(
  19852. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19853. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19854. /* [out] */ LPGUID lpDeinterlaceModes) = 0;
  19855. virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps(
  19856. /* [in] */ LPGUID lpDeinterlaceMode,
  19857. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19858. /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps) = 0;
  19859. virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode(
  19860. /* [in] */ DWORD dwStreamID,
  19861. /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  19862. virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode(
  19863. /* [in] */ DWORD dwStreamID,
  19864. /* [in] */ LPGUID lpDeinterlaceMode) = 0;
  19865. virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs(
  19866. /* [out] */ LPDWORD lpdwDeinterlacePrefs) = 0;
  19867. virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs(
  19868. /* [in] */ DWORD dwDeinterlacePrefs) = 0;
  19869. virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode(
  19870. /* [in] */ DWORD dwStreamID,
  19871. /* [out] */ LPGUID lpDeinterlaceMode) = 0;
  19872. };
  19873. #else /* C style interface */
  19874. typedef struct IVMRDeinterlaceControlVtbl
  19875. {
  19876. BEGIN_INTERFACE
  19877. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  19878. IVMRDeinterlaceControl * This,
  19879. /* [in] */ REFIID riid,
  19880. /* [iid_is][out] */ void **ppvObject);
  19881. ULONG ( STDMETHODCALLTYPE *AddRef )(
  19882. IVMRDeinterlaceControl * This);
  19883. ULONG ( STDMETHODCALLTYPE *Release )(
  19884. IVMRDeinterlaceControl * This);
  19885. HRESULT ( STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes )(
  19886. IVMRDeinterlaceControl * This,
  19887. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19888. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19889. /* [out] */ LPGUID lpDeinterlaceModes);
  19890. HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceModeCaps )(
  19891. IVMRDeinterlaceControl * This,
  19892. /* [in] */ LPGUID lpDeinterlaceMode,
  19893. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19894. /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  19895. HRESULT ( STDMETHODCALLTYPE *GetDeinterlaceMode )(
  19896. IVMRDeinterlaceControl * This,
  19897. /* [in] */ DWORD dwStreamID,
  19898. /* [out] */ LPGUID lpDeinterlaceMode);
  19899. HRESULT ( STDMETHODCALLTYPE *SetDeinterlaceMode )(
  19900. IVMRDeinterlaceControl * This,
  19901. /* [in] */ DWORD dwStreamID,
  19902. /* [in] */ LPGUID lpDeinterlaceMode);
  19903. HRESULT ( STDMETHODCALLTYPE *GetDeinterlacePrefs )(
  19904. IVMRDeinterlaceControl * This,
  19905. /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  19906. HRESULT ( STDMETHODCALLTYPE *SetDeinterlacePrefs )(
  19907. IVMRDeinterlaceControl * This,
  19908. /* [in] */ DWORD dwDeinterlacePrefs);
  19909. HRESULT ( STDMETHODCALLTYPE *GetActualDeinterlaceMode )(
  19910. IVMRDeinterlaceControl * This,
  19911. /* [in] */ DWORD dwStreamID,
  19912. /* [out] */ LPGUID lpDeinterlaceMode);
  19913. END_INTERFACE
  19914. } IVMRDeinterlaceControlVtbl;
  19915. interface IVMRDeinterlaceControl
  19916. {
  19917. CONST_VTBL struct IVMRDeinterlaceControlVtbl *lpVtbl;
  19918. };
  19919. #ifdef COBJMACROS
  19920. #define IVMRDeinterlaceControl_QueryInterface(This,riid,ppvObject) \
  19921. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19922. #define IVMRDeinterlaceControl_AddRef(This) \
  19923. (This)->lpVtbl -> AddRef(This)
  19924. #define IVMRDeinterlaceControl_Release(This) \
  19925. (This)->lpVtbl -> Release(This)
  19926. #define IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes) \
  19927. (This)->lpVtbl -> GetNumberOfDeinterlaceModes(This,lpVideoDescription,lpdwNumDeinterlaceModes,lpDeinterlaceModes)
  19928. #define IVMRDeinterlaceControl_GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps) \
  19929. (This)->lpVtbl -> GetDeinterlaceModeCaps(This,lpDeinterlaceMode,lpVideoDescription,lpDeinterlaceCaps)
  19930. #define IVMRDeinterlaceControl_GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19931. (This)->lpVtbl -> GetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19932. #define IVMRDeinterlaceControl_SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19933. (This)->lpVtbl -> SetDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19934. #define IVMRDeinterlaceControl_GetDeinterlacePrefs(This,lpdwDeinterlacePrefs) \
  19935. (This)->lpVtbl -> GetDeinterlacePrefs(This,lpdwDeinterlacePrefs)
  19936. #define IVMRDeinterlaceControl_SetDeinterlacePrefs(This,dwDeinterlacePrefs) \
  19937. (This)->lpVtbl -> SetDeinterlacePrefs(This,dwDeinterlacePrefs)
  19938. #define IVMRDeinterlaceControl_GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode) \
  19939. (This)->lpVtbl -> GetActualDeinterlaceMode(This,dwStreamID,lpDeinterlaceMode)
  19940. #endif /* COBJMACROS */
  19941. #endif /* C style interface */
  19942. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Proxy(
  19943. IVMRDeinterlaceControl * This,
  19944. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19945. /* [out][in] */ LPDWORD lpdwNumDeinterlaceModes,
  19946. /* [out] */ LPGUID lpDeinterlaceModes);
  19947. void __RPC_STUB IVMRDeinterlaceControl_GetNumberOfDeinterlaceModes_Stub(
  19948. IRpcStubBuffer *This,
  19949. IRpcChannelBuffer *_pRpcChannelBuffer,
  19950. PRPC_MESSAGE _pRpcMessage,
  19951. DWORD *_pdwStubPhase);
  19952. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Proxy(
  19953. IVMRDeinterlaceControl * This,
  19954. /* [in] */ LPGUID lpDeinterlaceMode,
  19955. /* [in] */ VMRVideoDesc *lpVideoDescription,
  19956. /* [out][in] */ VMRDeinterlaceCaps *lpDeinterlaceCaps);
  19957. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceModeCaps_Stub(
  19958. IRpcStubBuffer *This,
  19959. IRpcChannelBuffer *_pRpcChannelBuffer,
  19960. PRPC_MESSAGE _pRpcMessage,
  19961. DWORD *_pdwStubPhase);
  19962. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlaceMode_Proxy(
  19963. IVMRDeinterlaceControl * This,
  19964. /* [in] */ DWORD dwStreamID,
  19965. /* [out] */ LPGUID lpDeinterlaceMode);
  19966. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlaceMode_Stub(
  19967. IRpcStubBuffer *This,
  19968. IRpcChannelBuffer *_pRpcChannelBuffer,
  19969. PRPC_MESSAGE _pRpcMessage,
  19970. DWORD *_pdwStubPhase);
  19971. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlaceMode_Proxy(
  19972. IVMRDeinterlaceControl * This,
  19973. /* [in] */ DWORD dwStreamID,
  19974. /* [in] */ LPGUID lpDeinterlaceMode);
  19975. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlaceMode_Stub(
  19976. IRpcStubBuffer *This,
  19977. IRpcChannelBuffer *_pRpcChannelBuffer,
  19978. PRPC_MESSAGE _pRpcMessage,
  19979. DWORD *_pdwStubPhase);
  19980. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetDeinterlacePrefs_Proxy(
  19981. IVMRDeinterlaceControl * This,
  19982. /* [out] */ LPDWORD lpdwDeinterlacePrefs);
  19983. void __RPC_STUB IVMRDeinterlaceControl_GetDeinterlacePrefs_Stub(
  19984. IRpcStubBuffer *This,
  19985. IRpcChannelBuffer *_pRpcChannelBuffer,
  19986. PRPC_MESSAGE _pRpcMessage,
  19987. DWORD *_pdwStubPhase);
  19988. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_SetDeinterlacePrefs_Proxy(
  19989. IVMRDeinterlaceControl * This,
  19990. /* [in] */ DWORD dwDeinterlacePrefs);
  19991. void __RPC_STUB IVMRDeinterlaceControl_SetDeinterlacePrefs_Stub(
  19992. IRpcStubBuffer *This,
  19993. IRpcChannelBuffer *_pRpcChannelBuffer,
  19994. PRPC_MESSAGE _pRpcMessage,
  19995. DWORD *_pdwStubPhase);
  19996. HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl_GetActualDeinterlaceMode_Proxy(
  19997. IVMRDeinterlaceControl * This,
  19998. /* [in] */ DWORD dwStreamID,
  19999. /* [out] */ LPGUID lpDeinterlaceMode);
  20000. void __RPC_STUB IVMRDeinterlaceControl_GetActualDeinterlaceMode_Stub(
  20001. IRpcStubBuffer *This,
  20002. IRpcChannelBuffer *_pRpcChannelBuffer,
  20003. PRPC_MESSAGE _pRpcMessage,
  20004. DWORD *_pdwStubPhase);
  20005. #endif /* __IVMRDeinterlaceControl_INTERFACE_DEFINED__ */
  20006. /* interface __MIDL_itf_strmif_0399 */
  20007. /* [local] */
  20008. typedef struct _VMRALPHABITMAP
  20009. {
  20010. DWORD dwFlags;
  20011. HDC hdc;
  20012. LPDIRECTDRAWSURFACE7 pDDS;
  20013. RECT rSrc;
  20014. NORMALIZEDRECT rDest;
  20015. FLOAT fAlpha;
  20016. COLORREF clrSrcKey;
  20017. } VMRALPHABITMAP;
  20018. typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
  20019. #define VMRBITMAP_DISABLE 0x00000001
  20020. #define VMRBITMAP_HDC 0x00000002
  20021. #define VMRBITMAP_ENTIREDDS 0x00000004
  20022. #define VMRBITMAP_SRCCOLORKEY 0x00000008
  20023. #define VMRBITMAP_SRCRECT 0x00000010
  20024. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_c_ifspec;
  20025. extern RPC_IF_HANDLE __MIDL_itf_strmif_0399_v0_0_s_ifspec;
  20026. #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
  20027. #define __IVMRMixerBitmap_INTERFACE_DEFINED__
  20028. /* interface IVMRMixerBitmap */
  20029. /* [unique][helpstring][uuid][local][object] */
  20030. EXTERN_C const IID IID_IVMRMixerBitmap;
  20031. #if defined(__cplusplus) && !defined(CINTERFACE)
  20032. MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
  20033. IVMRMixerBitmap : public IUnknown
  20034. {
  20035. public:
  20036. virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
  20037. /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
  20038. virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
  20039. /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
  20040. virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
  20041. /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
  20042. };
  20043. #else /* C style interface */
  20044. typedef struct IVMRMixerBitmapVtbl
  20045. {
  20046. BEGIN_INTERFACE
  20047. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20048. IVMRMixerBitmap * This,
  20049. /* [in] */ REFIID riid,
  20050. /* [iid_is][out] */ void **ppvObject);
  20051. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20052. IVMRMixerBitmap * This);
  20053. ULONG ( STDMETHODCALLTYPE *Release )(
  20054. IVMRMixerBitmap * This);
  20055. HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )(
  20056. IVMRMixerBitmap * This,
  20057. /* [in] */ const VMRALPHABITMAP *pBmpParms);
  20058. HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )(
  20059. IVMRMixerBitmap * This,
  20060. /* [in] */ PVMRALPHABITMAP pBmpParms);
  20061. HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )(
  20062. IVMRMixerBitmap * This,
  20063. /* [out] */ PVMRALPHABITMAP pBmpParms);
  20064. END_INTERFACE
  20065. } IVMRMixerBitmapVtbl;
  20066. interface IVMRMixerBitmap
  20067. {
  20068. CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
  20069. };
  20070. #ifdef COBJMACROS
  20071. #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject) \
  20072. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20073. #define IVMRMixerBitmap_AddRef(This) \
  20074. (This)->lpVtbl -> AddRef(This)
  20075. #define IVMRMixerBitmap_Release(This) \
  20076. (This)->lpVtbl -> Release(This)
  20077. #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms) \
  20078. (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  20079. #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms) \
  20080. (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  20081. #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms) \
  20082. (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  20083. #endif /* COBJMACROS */
  20084. #endif /* C style interface */
  20085. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy(
  20086. IVMRMixerBitmap * This,
  20087. /* [in] */ const VMRALPHABITMAP *pBmpParms);
  20088. void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
  20089. IRpcStubBuffer *This,
  20090. IRpcChannelBuffer *_pRpcChannelBuffer,
  20091. PRPC_MESSAGE _pRpcMessage,
  20092. DWORD *_pdwStubPhase);
  20093. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(
  20094. IVMRMixerBitmap * This,
  20095. /* [in] */ PVMRALPHABITMAP pBmpParms);
  20096. void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
  20097. IRpcStubBuffer *This,
  20098. IRpcChannelBuffer *_pRpcChannelBuffer,
  20099. PRPC_MESSAGE _pRpcMessage,
  20100. DWORD *_pdwStubPhase);
  20101. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(
  20102. IVMRMixerBitmap * This,
  20103. /* [out] */ PVMRALPHABITMAP pBmpParms);
  20104. void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
  20105. IRpcStubBuffer *This,
  20106. IRpcChannelBuffer *_pRpcChannelBuffer,
  20107. PRPC_MESSAGE _pRpcMessage,
  20108. DWORD *_pdwStubPhase);
  20109. #endif /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
  20110. /* interface __MIDL_itf_strmif_0400 */
  20111. /* [local] */
  20112. typedef struct _VMRVIDEOSTREAMINFO
  20113. {
  20114. LPDIRECTDRAWSURFACE7 pddsVideoSurface;
  20115. DWORD dwWidth;
  20116. DWORD dwHeight;
  20117. DWORD dwStrmID;
  20118. FLOAT fAlpha;
  20119. DDCOLORKEY ddClrKey;
  20120. NORMALIZEDRECT rNormal;
  20121. } VMRVIDEOSTREAMINFO;
  20122. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_c_ifspec;
  20123. extern RPC_IF_HANDLE __MIDL_itf_strmif_0400_v0_0_s_ifspec;
  20124. #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
  20125. #define __IVMRImageCompositor_INTERFACE_DEFINED__
  20126. /* interface IVMRImageCompositor */
  20127. /* [unique][helpstring][uuid][local][object][local] */
  20128. EXTERN_C const IID IID_IVMRImageCompositor;
  20129. #if defined(__cplusplus) && !defined(CINTERFACE)
  20130. MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
  20131. IVMRImageCompositor : public IUnknown
  20132. {
  20133. public:
  20134. virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget(
  20135. /* [in] */ IUnknown *pD3DDevice,
  20136. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  20137. virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget(
  20138. /* [in] */ IUnknown *pD3DDevice,
  20139. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  20140. virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType(
  20141. /* [in] */ DWORD dwStrmID,
  20142. /* [in] */ AM_MEDIA_TYPE *pmt,
  20143. /* [in] */ BOOL fTexture) = 0;
  20144. virtual HRESULT STDMETHODCALLTYPE CompositeImage(
  20145. /* [in] */ IUnknown *pD3DDevice,
  20146. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  20147. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  20148. /* [in] */ REFERENCE_TIME rtStart,
  20149. /* [in] */ REFERENCE_TIME rtEnd,
  20150. /* [in] */ DWORD dwClrBkGnd,
  20151. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  20152. /* [in] */ UINT cStreams) = 0;
  20153. };
  20154. #else /* C style interface */
  20155. typedef struct IVMRImageCompositorVtbl
  20156. {
  20157. BEGIN_INTERFACE
  20158. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20159. IVMRImageCompositor * This,
  20160. /* [in] */ REFIID riid,
  20161. /* [iid_is][out] */ void **ppvObject);
  20162. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20163. IVMRImageCompositor * This);
  20164. ULONG ( STDMETHODCALLTYPE *Release )(
  20165. IVMRImageCompositor * This);
  20166. HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )(
  20167. IVMRImageCompositor * This,
  20168. /* [in] */ IUnknown *pD3DDevice,
  20169. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  20170. HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )(
  20171. IVMRImageCompositor * This,
  20172. /* [in] */ IUnknown *pD3DDevice,
  20173. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  20174. HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )(
  20175. IVMRImageCompositor * This,
  20176. /* [in] */ DWORD dwStrmID,
  20177. /* [in] */ AM_MEDIA_TYPE *pmt,
  20178. /* [in] */ BOOL fTexture);
  20179. HRESULT ( STDMETHODCALLTYPE *CompositeImage )(
  20180. IVMRImageCompositor * This,
  20181. /* [in] */ IUnknown *pD3DDevice,
  20182. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  20183. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  20184. /* [in] */ REFERENCE_TIME rtStart,
  20185. /* [in] */ REFERENCE_TIME rtEnd,
  20186. /* [in] */ DWORD dwClrBkGnd,
  20187. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  20188. /* [in] */ UINT cStreams);
  20189. END_INTERFACE
  20190. } IVMRImageCompositorVtbl;
  20191. interface IVMRImageCompositor
  20192. {
  20193. CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
  20194. };
  20195. #ifdef COBJMACROS
  20196. #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject) \
  20197. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20198. #define IVMRImageCompositor_AddRef(This) \
  20199. (This)->lpVtbl -> AddRef(This)
  20200. #define IVMRImageCompositor_Release(This) \
  20201. (This)->lpVtbl -> Release(This)
  20202. #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget) \
  20203. (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  20204. #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget) \
  20205. (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  20206. #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture) \
  20207. (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  20208. #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams) \
  20209. (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  20210. #endif /* COBJMACROS */
  20211. #endif /* C style interface */
  20212. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy(
  20213. IVMRImageCompositor * This,
  20214. /* [in] */ IUnknown *pD3DDevice,
  20215. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  20216. void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
  20217. IRpcStubBuffer *This,
  20218. IRpcChannelBuffer *_pRpcChannelBuffer,
  20219. PRPC_MESSAGE _pRpcMessage,
  20220. DWORD *_pdwStubPhase);
  20221. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy(
  20222. IVMRImageCompositor * This,
  20223. /* [in] */ IUnknown *pD3DDevice,
  20224. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  20225. void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
  20226. IRpcStubBuffer *This,
  20227. IRpcChannelBuffer *_pRpcChannelBuffer,
  20228. PRPC_MESSAGE _pRpcMessage,
  20229. DWORD *_pdwStubPhase);
  20230. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy(
  20231. IVMRImageCompositor * This,
  20232. /* [in] */ DWORD dwStrmID,
  20233. /* [in] */ AM_MEDIA_TYPE *pmt,
  20234. /* [in] */ BOOL fTexture);
  20235. void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
  20236. IRpcStubBuffer *This,
  20237. IRpcChannelBuffer *_pRpcChannelBuffer,
  20238. PRPC_MESSAGE _pRpcMessage,
  20239. DWORD *_pdwStubPhase);
  20240. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy(
  20241. IVMRImageCompositor * This,
  20242. /* [in] */ IUnknown *pD3DDevice,
  20243. /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  20244. /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  20245. /* [in] */ REFERENCE_TIME rtStart,
  20246. /* [in] */ REFERENCE_TIME rtEnd,
  20247. /* [in] */ DWORD dwClrBkGnd,
  20248. /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  20249. /* [in] */ UINT cStreams);
  20250. void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
  20251. IRpcStubBuffer *This,
  20252. IRpcChannelBuffer *_pRpcChannelBuffer,
  20253. PRPC_MESSAGE _pRpcMessage,
  20254. DWORD *_pdwStubPhase);
  20255. #endif /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
  20256. #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
  20257. #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
  20258. /* interface IVMRVideoStreamControl */
  20259. /* [unique][helpstring][uuid][local][object] */
  20260. EXTERN_C const IID IID_IVMRVideoStreamControl;
  20261. #if defined(__cplusplus) && !defined(CINTERFACE)
  20262. MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
  20263. IVMRVideoStreamControl : public IUnknown
  20264. {
  20265. public:
  20266. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  20267. /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
  20268. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  20269. /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
  20270. virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState(
  20271. /* [in] */ BOOL fActive) = 0;
  20272. virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState(
  20273. /* [out] */ BOOL *lpfActive) = 0;
  20274. };
  20275. #else /* C style interface */
  20276. typedef struct IVMRVideoStreamControlVtbl
  20277. {
  20278. BEGIN_INTERFACE
  20279. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20280. IVMRVideoStreamControl * This,
  20281. /* [in] */ REFIID riid,
  20282. /* [iid_is][out] */ void **ppvObject);
  20283. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20284. IVMRVideoStreamControl * This);
  20285. ULONG ( STDMETHODCALLTYPE *Release )(
  20286. IVMRVideoStreamControl * This);
  20287. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  20288. IVMRVideoStreamControl * This,
  20289. /* [in] */ LPDDCOLORKEY lpClrKey);
  20290. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  20291. IVMRVideoStreamControl * This,
  20292. /* [out] */ LPDDCOLORKEY lpClrKey);
  20293. HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )(
  20294. IVMRVideoStreamControl * This,
  20295. /* [in] */ BOOL fActive);
  20296. HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )(
  20297. IVMRVideoStreamControl * This,
  20298. /* [out] */ BOOL *lpfActive);
  20299. END_INTERFACE
  20300. } IVMRVideoStreamControlVtbl;
  20301. interface IVMRVideoStreamControl
  20302. {
  20303. CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
  20304. };
  20305. #ifdef COBJMACROS
  20306. #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject) \
  20307. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20308. #define IVMRVideoStreamControl_AddRef(This) \
  20309. (This)->lpVtbl -> AddRef(This)
  20310. #define IVMRVideoStreamControl_Release(This) \
  20311. (This)->lpVtbl -> Release(This)
  20312. #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey) \
  20313. (This)->lpVtbl -> SetColorKey(This,lpClrKey)
  20314. #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey) \
  20315. (This)->lpVtbl -> GetColorKey(This,lpClrKey)
  20316. #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive) \
  20317. (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  20318. #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive) \
  20319. (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  20320. #endif /* COBJMACROS */
  20321. #endif /* C style interface */
  20322. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy(
  20323. IVMRVideoStreamControl * This,
  20324. /* [in] */ LPDDCOLORKEY lpClrKey);
  20325. void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
  20326. IRpcStubBuffer *This,
  20327. IRpcChannelBuffer *_pRpcChannelBuffer,
  20328. PRPC_MESSAGE _pRpcMessage,
  20329. DWORD *_pdwStubPhase);
  20330. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy(
  20331. IVMRVideoStreamControl * This,
  20332. /* [out] */ LPDDCOLORKEY lpClrKey);
  20333. void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
  20334. IRpcStubBuffer *This,
  20335. IRpcChannelBuffer *_pRpcChannelBuffer,
  20336. PRPC_MESSAGE _pRpcMessage,
  20337. DWORD *_pdwStubPhase);
  20338. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy(
  20339. IVMRVideoStreamControl * This,
  20340. /* [in] */ BOOL fActive);
  20341. void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
  20342. IRpcStubBuffer *This,
  20343. IRpcChannelBuffer *_pRpcChannelBuffer,
  20344. PRPC_MESSAGE _pRpcMessage,
  20345. DWORD *_pdwStubPhase);
  20346. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy(
  20347. IVMRVideoStreamControl * This,
  20348. /* [out] */ BOOL *lpfActive);
  20349. void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
  20350. IRpcStubBuffer *This,
  20351. IRpcChannelBuffer *_pRpcChannelBuffer,
  20352. PRPC_MESSAGE _pRpcMessage,
  20353. DWORD *_pdwStubPhase);
  20354. #endif /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
  20355. #ifndef __IVMRSurface_INTERFACE_DEFINED__
  20356. #define __IVMRSurface_INTERFACE_DEFINED__
  20357. /* interface IVMRSurface */
  20358. /* [unique][helpstring][uuid][local][object][local] */
  20359. EXTERN_C const IID IID_IVMRSurface;
  20360. #if defined(__cplusplus) && !defined(CINTERFACE)
  20361. MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
  20362. IVMRSurface : public IUnknown
  20363. {
  20364. public:
  20365. virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  20366. virtual HRESULT STDMETHODCALLTYPE LockSurface(
  20367. /* [out] */ BYTE **lpSurface) = 0;
  20368. virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  20369. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  20370. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  20371. };
  20372. #else /* C style interface */
  20373. typedef struct IVMRSurfaceVtbl
  20374. {
  20375. BEGIN_INTERFACE
  20376. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20377. IVMRSurface * This,
  20378. /* [in] */ REFIID riid,
  20379. /* [iid_is][out] */ void **ppvObject);
  20380. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20381. IVMRSurface * This);
  20382. ULONG ( STDMETHODCALLTYPE *Release )(
  20383. IVMRSurface * This);
  20384. HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )(
  20385. IVMRSurface * This);
  20386. HRESULT ( STDMETHODCALLTYPE *LockSurface )(
  20387. IVMRSurface * This,
  20388. /* [out] */ BYTE **lpSurface);
  20389. HRESULT ( STDMETHODCALLTYPE *UnlockSurface )(
  20390. IVMRSurface * This);
  20391. HRESULT ( STDMETHODCALLTYPE *GetSurface )(
  20392. IVMRSurface * This,
  20393. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  20394. END_INTERFACE
  20395. } IVMRSurfaceVtbl;
  20396. interface IVMRSurface
  20397. {
  20398. CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
  20399. };
  20400. #ifdef COBJMACROS
  20401. #define IVMRSurface_QueryInterface(This,riid,ppvObject) \
  20402. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20403. #define IVMRSurface_AddRef(This) \
  20404. (This)->lpVtbl -> AddRef(This)
  20405. #define IVMRSurface_Release(This) \
  20406. (This)->lpVtbl -> Release(This)
  20407. #define IVMRSurface_IsSurfaceLocked(This) \
  20408. (This)->lpVtbl -> IsSurfaceLocked(This)
  20409. #define IVMRSurface_LockSurface(This,lpSurface) \
  20410. (This)->lpVtbl -> LockSurface(This,lpSurface)
  20411. #define IVMRSurface_UnlockSurface(This) \
  20412. (This)->lpVtbl -> UnlockSurface(This)
  20413. #define IVMRSurface_GetSurface(This,lplpSurface) \
  20414. (This)->lpVtbl -> GetSurface(This,lplpSurface)
  20415. #endif /* COBJMACROS */
  20416. #endif /* C style interface */
  20417. HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy(
  20418. IVMRSurface * This);
  20419. void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
  20420. IRpcStubBuffer *This,
  20421. IRpcChannelBuffer *_pRpcChannelBuffer,
  20422. PRPC_MESSAGE _pRpcMessage,
  20423. DWORD *_pdwStubPhase);
  20424. HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy(
  20425. IVMRSurface * This,
  20426. /* [out] */ BYTE **lpSurface);
  20427. void __RPC_STUB IVMRSurface_LockSurface_Stub(
  20428. IRpcStubBuffer *This,
  20429. IRpcChannelBuffer *_pRpcChannelBuffer,
  20430. PRPC_MESSAGE _pRpcMessage,
  20431. DWORD *_pdwStubPhase);
  20432. HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy(
  20433. IVMRSurface * This);
  20434. void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
  20435. IRpcStubBuffer *This,
  20436. IRpcChannelBuffer *_pRpcChannelBuffer,
  20437. PRPC_MESSAGE _pRpcMessage,
  20438. DWORD *_pdwStubPhase);
  20439. HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy(
  20440. IVMRSurface * This,
  20441. /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  20442. void __RPC_STUB IVMRSurface_GetSurface_Stub(
  20443. IRpcStubBuffer *This,
  20444. IRpcChannelBuffer *_pRpcChannelBuffer,
  20445. PRPC_MESSAGE _pRpcMessage,
  20446. DWORD *_pdwStubPhase);
  20447. #endif /* __IVMRSurface_INTERFACE_DEFINED__ */
  20448. #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  20449. #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  20450. /* interface IVMRImagePresenterConfig */
  20451. /* [unique][helpstring][uuid][local][object][local] */
  20452. EXTERN_C const IID IID_IVMRImagePresenterConfig;
  20453. #if defined(__cplusplus) && !defined(CINTERFACE)
  20454. MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
  20455. IVMRImagePresenterConfig : public IUnknown
  20456. {
  20457. public:
  20458. virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
  20459. /* [in] */ DWORD dwRenderFlags) = 0;
  20460. virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
  20461. /* [out] */ DWORD *dwRenderFlags) = 0;
  20462. };
  20463. #else /* C style interface */
  20464. typedef struct IVMRImagePresenterConfigVtbl
  20465. {
  20466. BEGIN_INTERFACE
  20467. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20468. IVMRImagePresenterConfig * This,
  20469. /* [in] */ REFIID riid,
  20470. /* [iid_is][out] */ void **ppvObject);
  20471. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20472. IVMRImagePresenterConfig * This);
  20473. ULONG ( STDMETHODCALLTYPE *Release )(
  20474. IVMRImagePresenterConfig * This);
  20475. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  20476. IVMRImagePresenterConfig * This,
  20477. /* [in] */ DWORD dwRenderFlags);
  20478. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  20479. IVMRImagePresenterConfig * This,
  20480. /* [out] */ DWORD *dwRenderFlags);
  20481. END_INTERFACE
  20482. } IVMRImagePresenterConfigVtbl;
  20483. interface IVMRImagePresenterConfig
  20484. {
  20485. CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
  20486. };
  20487. #ifdef COBJMACROS
  20488. #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject) \
  20489. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20490. #define IVMRImagePresenterConfig_AddRef(This) \
  20491. (This)->lpVtbl -> AddRef(This)
  20492. #define IVMRImagePresenterConfig_Release(This) \
  20493. (This)->lpVtbl -> Release(This)
  20494. #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags) \
  20495. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  20496. #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags) \
  20497. (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  20498. #endif /* COBJMACROS */
  20499. #endif /* C style interface */
  20500. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(
  20501. IVMRImagePresenterConfig * This,
  20502. /* [in] */ DWORD dwRenderFlags);
  20503. void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
  20504. IRpcStubBuffer *This,
  20505. IRpcChannelBuffer *_pRpcChannelBuffer,
  20506. PRPC_MESSAGE _pRpcMessage,
  20507. DWORD *_pdwStubPhase);
  20508. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(
  20509. IVMRImagePresenterConfig * This,
  20510. /* [out] */ DWORD *dwRenderFlags);
  20511. void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
  20512. IRpcStubBuffer *This,
  20513. IRpcChannelBuffer *_pRpcChannelBuffer,
  20514. PRPC_MESSAGE _pRpcMessage,
  20515. DWORD *_pdwStubPhase);
  20516. #endif /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
  20517. #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  20518. #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  20519. /* interface IVMRImagePresenterExclModeConfig */
  20520. /* [unique][helpstring][uuid][local][object][local] */
  20521. EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
  20522. #if defined(__cplusplus) && !defined(CINTERFACE)
  20523. MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
  20524. IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
  20525. {
  20526. public:
  20527. virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface(
  20528. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  20529. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
  20530. virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface(
  20531. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  20532. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
  20533. };
  20534. #else /* C style interface */
  20535. typedef struct IVMRImagePresenterExclModeConfigVtbl
  20536. {
  20537. BEGIN_INTERFACE
  20538. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20539. IVMRImagePresenterExclModeConfig * This,
  20540. /* [in] */ REFIID riid,
  20541. /* [iid_is][out] */ void **ppvObject);
  20542. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20543. IVMRImagePresenterExclModeConfig * This);
  20544. ULONG ( STDMETHODCALLTYPE *Release )(
  20545. IVMRImagePresenterExclModeConfig * This);
  20546. HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(
  20547. IVMRImagePresenterExclModeConfig * This,
  20548. /* [in] */ DWORD dwRenderFlags);
  20549. HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(
  20550. IVMRImagePresenterExclModeConfig * This,
  20551. /* [out] */ DWORD *dwRenderFlags);
  20552. HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )(
  20553. IVMRImagePresenterExclModeConfig * This,
  20554. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  20555. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  20556. HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )(
  20557. IVMRImagePresenterExclModeConfig * This,
  20558. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  20559. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  20560. END_INTERFACE
  20561. } IVMRImagePresenterExclModeConfigVtbl;
  20562. interface IVMRImagePresenterExclModeConfig
  20563. {
  20564. CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
  20565. };
  20566. #ifdef COBJMACROS
  20567. #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject) \
  20568. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20569. #define IVMRImagePresenterExclModeConfig_AddRef(This) \
  20570. (This)->lpVtbl -> AddRef(This)
  20571. #define IVMRImagePresenterExclModeConfig_Release(This) \
  20572. (This)->lpVtbl -> Release(This)
  20573. #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags) \
  20574. (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  20575. #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags) \
  20576. (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  20577. #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) \
  20578. (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  20579. #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf) \
  20580. (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  20581. #endif /* COBJMACROS */
  20582. #endif /* C style interface */
  20583. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(
  20584. IVMRImagePresenterExclModeConfig * This,
  20585. /* [in] */ LPDIRECTDRAW7 lpDDObj,
  20586. /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  20587. void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
  20588. IRpcStubBuffer *This,
  20589. IRpcChannelBuffer *_pRpcChannelBuffer,
  20590. PRPC_MESSAGE _pRpcMessage,
  20591. DWORD *_pdwStubPhase);
  20592. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(
  20593. IVMRImagePresenterExclModeConfig * This,
  20594. /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  20595. /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  20596. void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
  20597. IRpcStubBuffer *This,
  20598. IRpcChannelBuffer *_pRpcChannelBuffer,
  20599. PRPC_MESSAGE _pRpcMessage,
  20600. DWORD *_pdwStubPhase);
  20601. #endif /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
  20602. #ifndef __IVPManager_INTERFACE_DEFINED__
  20603. #define __IVPManager_INTERFACE_DEFINED__
  20604. /* interface IVPManager */
  20605. /* [unique][helpstring][uuid][local][object][local] */
  20606. EXTERN_C const IID IID_IVPManager;
  20607. #if defined(__cplusplus) && !defined(CINTERFACE)
  20608. MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
  20609. IVPManager : public IUnknown
  20610. {
  20611. public:
  20612. virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex(
  20613. /* [in] */ DWORD dwVideoPortIndex) = 0;
  20614. virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex(
  20615. /* [out] */ DWORD *pdwVideoPortIndex) = 0;
  20616. };
  20617. #else /* C style interface */
  20618. typedef struct IVPManagerVtbl
  20619. {
  20620. BEGIN_INTERFACE
  20621. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  20622. IVPManager * This,
  20623. /* [in] */ REFIID riid,
  20624. /* [iid_is][out] */ void **ppvObject);
  20625. ULONG ( STDMETHODCALLTYPE *AddRef )(
  20626. IVPManager * This);
  20627. ULONG ( STDMETHODCALLTYPE *Release )(
  20628. IVPManager * This);
  20629. HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )(
  20630. IVPManager * This,
  20631. /* [in] */ DWORD dwVideoPortIndex);
  20632. HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )(
  20633. IVPManager * This,
  20634. /* [out] */ DWORD *pdwVideoPortIndex);
  20635. END_INTERFACE
  20636. } IVPManagerVtbl;
  20637. interface IVPManager
  20638. {
  20639. CONST_VTBL struct IVPManagerVtbl *lpVtbl;
  20640. };
  20641. #ifdef COBJMACROS
  20642. #define IVPManager_QueryInterface(This,riid,ppvObject) \
  20643. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20644. #define IVPManager_AddRef(This) \
  20645. (This)->lpVtbl -> AddRef(This)
  20646. #define IVPManager_Release(This) \
  20647. (This)->lpVtbl -> Release(This)
  20648. #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex) \
  20649. (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)
  20650. #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex) \
  20651. (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)
  20652. #endif /* COBJMACROS */
  20653. #endif /* C style interface */
  20654. HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy(
  20655. IVPManager * This,
  20656. /* [in] */ DWORD dwVideoPortIndex);
  20657. void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
  20658. IRpcStubBuffer *This,
  20659. IRpcChannelBuffer *_pRpcChannelBuffer,
  20660. PRPC_MESSAGE _pRpcMessage,
  20661. DWORD *_pdwStubPhase);
  20662. HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy(
  20663. IVPManager * This,
  20664. /* [out] */ DWORD *pdwVideoPortIndex);
  20665. void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
  20666. IRpcStubBuffer *This,
  20667. IRpcChannelBuffer *_pRpcChannelBuffer,
  20668. PRPC_MESSAGE _pRpcMessage,
  20669. DWORD *_pdwStubPhase);
  20670. #endif /* __IVPManager_INTERFACE_DEFINED__ */
  20671. /* interface __MIDL_itf_strmif_0406 */
  20672. /* [local] */
  20673. // Restore the previous setting for C4201 compiler warning
  20674. #pragma warning(pop)
  20675. extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_c_ifspec;
  20676. extern RPC_IF_HANDLE __MIDL_itf_strmif_0406_v0_0_s_ifspec;
  20677. /* Additional Prototypes for ALL interfaces */
  20678. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  20679. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  20680. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  20681. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  20682. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy(
  20683. ICaptureGraphBuilder * This,
  20684. /* [unique][in] */ const GUID *pCategory,
  20685. /* [in] */ IBaseFilter *pf,
  20686. /* [in] */ REFIID riid,
  20687. /* [out] */ void **ppint);
  20688. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub(
  20689. ICaptureGraphBuilder * This,
  20690. /* [unique][in] */ const GUID *pCategory,
  20691. /* [in] */ IBaseFilter *pf,
  20692. /* [in] */ REFIID riid,
  20693. /* [out] */ IUnknown **ppint);
  20694. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy(
  20695. ICaptureGraphBuilder2 * This,
  20696. /* [in] */ const GUID *pCategory,
  20697. /* [in] */ const GUID *pType,
  20698. /* [in] */ IBaseFilter *pf,
  20699. /* [in] */ REFIID riid,
  20700. /* [out] */ void **ppint);
  20701. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub(
  20702. ICaptureGraphBuilder2 * This,
  20703. /* [in] */ const GUID *pCategory,
  20704. /* [in] */ const GUID *pType,
  20705. /* [in] */ IBaseFilter *pf,
  20706. /* [in] */ REFIID riid,
  20707. /* [out] */ IUnknown **ppint);
  20708. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(
  20709. IKsPropertySet * This,
  20710. /* [in] */ REFGUID guidPropSet,
  20711. /* [in] */ DWORD dwPropID,
  20712. /* [size_is][in] */ LPVOID pInstanceData,
  20713. /* [in] */ DWORD cbInstanceData,
  20714. /* [size_is][in] */ LPVOID pPropData,
  20715. /* [in] */ DWORD cbPropData);
  20716. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub(
  20717. IKsPropertySet * This,
  20718. /* [in] */ REFGUID guidPropSet,
  20719. /* [in] */ DWORD dwPropID,
  20720. /* [size_is][in] */ byte *pInstanceData,
  20721. /* [in] */ DWORD cbInstanceData,
  20722. /* [size_is][in] */ byte *pPropData,
  20723. /* [in] */ DWORD cbPropData);
  20724. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(
  20725. IKsPropertySet * This,
  20726. /* [in] */ REFGUID guidPropSet,
  20727. /* [in] */ DWORD dwPropID,
  20728. /* [size_is][in] */ LPVOID pInstanceData,
  20729. /* [in] */ DWORD cbInstanceData,
  20730. /* [size_is][out] */ LPVOID pPropData,
  20731. /* [in] */ DWORD cbPropData,
  20732. /* [out] */ DWORD *pcbReturned);
  20733. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub(
  20734. IKsPropertySet * This,
  20735. /* [in] */ REFGUID guidPropSet,
  20736. /* [in] */ DWORD dwPropID,
  20737. /* [size_is][in] */ byte *pInstanceData,
  20738. /* [in] */ DWORD cbInstanceData,
  20739. /* [size_is][out] */ byte *pPropData,
  20740. /* [in] */ DWORD cbPropData,
  20741. /* [out] */ DWORD *pcbReturned);
  20742. /* end of Additional Prototypes */
  20743. #ifdef __cplusplus
  20744. }
  20745. #endif
  20746. #endif