amvideo.h 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195
  1. /*** Autogenerated by WIDL 7.7 from include/amvideo.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __amvideo_h__
  14. #define __amvideo_h__
  15. /* Forward declarations */
  16. #ifndef __IDirectDrawVideo_FWD_DEFINED__
  17. #define __IDirectDrawVideo_FWD_DEFINED__
  18. typedef interface IDirectDrawVideo IDirectDrawVideo;
  19. #ifdef __cplusplus
  20. interface IDirectDrawVideo;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IQualProp_FWD_DEFINED__
  24. #define __IQualProp_FWD_DEFINED__
  25. typedef interface IQualProp IQualProp;
  26. #ifdef __cplusplus
  27. interface IQualProp;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IFullScreenVideo_FWD_DEFINED__
  31. #define __IFullScreenVideo_FWD_DEFINED__
  32. typedef interface IFullScreenVideo IFullScreenVideo;
  33. #ifdef __cplusplus
  34. interface IFullScreenVideo;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IFullScreenVideoEx_FWD_DEFINED__
  38. #define __IFullScreenVideoEx_FWD_DEFINED__
  39. typedef interface IFullScreenVideoEx IFullScreenVideoEx;
  40. #ifdef __cplusplus
  41. interface IFullScreenVideoEx;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IBaseVideoMixer_FWD_DEFINED__
  45. #define __IBaseVideoMixer_FWD_DEFINED__
  46. typedef interface IBaseVideoMixer IBaseVideoMixer;
  47. #ifdef __cplusplus
  48. interface IBaseVideoMixer;
  49. #endif /* __cplusplus */
  50. #endif
  51. /* Headers for imported files */
  52. #include <objidl.h>
  53. #ifdef __cplusplus
  54. extern "C" {
  55. #endif
  56. #if 0
  57. #ifndef __IDirectDraw_FWD_DEFINED__
  58. #define __IDirectDraw_FWD_DEFINED__
  59. typedef interface IDirectDraw IDirectDraw;
  60. #ifdef __cplusplus
  61. interface IDirectDraw;
  62. #endif /* __cplusplus */
  63. #endif
  64. typedef void DDSURFACEDESC;
  65. typedef void DDCAPS;
  66. typedef DWORD RGBQUAD;
  67. typedef LONGLONG REFERENCE_TIME;
  68. typedef struct __WIDL_amvideo_generated_name_0000000E {
  69. DWORD biSize;
  70. LONG biWidth;
  71. LONG biHeight;
  72. WORD biPlanes;
  73. WORD biBitCount;
  74. DWORD biCompression;
  75. DWORD biSizeImage;
  76. LONG biXPelsPerMeter;
  77. LONG biYPelsPerMeter;
  78. DWORD biClrUsed;
  79. DWORD biClrImportant;
  80. } BITMAPINFOHEADER;
  81. typedef struct __WIDL_amvideo_generated_name_0000000E *PBITMAPINFOHEADER;
  82. typedef struct __WIDL_amvideo_generated_name_0000000E *LPBITMAPINFOHEADER;
  83. #endif
  84. #include <ddraw.h>
  85. #define AMDDS_NONE 0x00
  86. #define AMDDS_DCIPS 0x01
  87. #define AMDDS_PS 0x02
  88. #define AMDDS_RGBOVR 0x04
  89. #define AMDDS_YUVOVR 0x08
  90. #define AMDDS_RGBOFF 0x10
  91. #define AMDDS_YUVOFF 0x20
  92. #define AMDDS_RGBFLP 0x40
  93. #define AMDDS_YUVFLP 0x80
  94. #define AMDDS_ALL 0xFF
  95. #define AMDDS_DEFAULT AMDDS_ALL
  96. #define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
  97. #define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
  98. #define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
  99. /*****************************************************************************
  100. * IDirectDrawVideo interface
  101. */
  102. #ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
  103. #define __IDirectDrawVideo_INTERFACE_DEFINED__
  104. #if defined(__cplusplus) && !defined(CINTERFACE)
  105. interface IDirectDrawVideo : public IUnknown
  106. {
  107. virtual HRESULT STDMETHODCALLTYPE GetSwitches(
  108. DWORD *pSwitches) = 0;
  109. virtual HRESULT STDMETHODCALLTYPE SetSwitches(
  110. DWORD Switches) = 0;
  111. virtual HRESULT STDMETHODCALLTYPE GetCaps(
  112. DDCAPS *pCaps) = 0;
  113. virtual HRESULT STDMETHODCALLTYPE GetEmulatedCaps(
  114. DDCAPS *pCaps) = 0;
  115. virtual HRESULT STDMETHODCALLTYPE GetSurfaceDesc(
  116. DDSURFACEDESC *pSurfaceDesc) = 0;
  117. virtual HRESULT STDMETHODCALLTYPE GetFourCCCodes(
  118. DWORD *pCount,
  119. DWORD *pCodes) = 0;
  120. virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
  121. IDirectDraw *ddraw) = 0;
  122. virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
  123. IDirectDraw **ddraw) = 0;
  124. virtual HRESULT STDMETHODCALLTYPE GetSurfaceType(
  125. DWORD *pSurfaceType) = 0;
  126. virtual HRESULT STDMETHODCALLTYPE SetDefault(
  127. ) = 0;
  128. virtual HRESULT STDMETHODCALLTYPE UseScanLine(
  129. LONG UseScanLine) = 0;
  130. virtual HRESULT STDMETHODCALLTYPE CanUseScanLine(
  131. LONG *UseScanLine) = 0;
  132. virtual HRESULT STDMETHODCALLTYPE UseOverlayStretch(
  133. LONG UseOverlayStretch) = 0;
  134. virtual HRESULT STDMETHODCALLTYPE CanUseOverlayStretch(
  135. LONG *UseOverlayStretch) = 0;
  136. virtual HRESULT STDMETHODCALLTYPE UseWhenFullScreen(
  137. LONG UseWhenFullScreen) = 0;
  138. virtual HRESULT STDMETHODCALLTYPE WillUseFullScreen(
  139. LONG *UseWhenFullScreen) = 0;
  140. };
  141. #else
  142. typedef struct IDirectDrawVideoVtbl {
  143. BEGIN_INTERFACE
  144. /*** IUnknown methods ***/
  145. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  146. IDirectDrawVideo *This,
  147. REFIID riid,
  148. void **ppvObject);
  149. ULONG (STDMETHODCALLTYPE *AddRef)(
  150. IDirectDrawVideo *This);
  151. ULONG (STDMETHODCALLTYPE *Release)(
  152. IDirectDrawVideo *This);
  153. /*** IDirectDrawVideo methods ***/
  154. HRESULT (STDMETHODCALLTYPE *GetSwitches)(
  155. IDirectDrawVideo *This,
  156. DWORD *pSwitches);
  157. HRESULT (STDMETHODCALLTYPE *SetSwitches)(
  158. IDirectDrawVideo *This,
  159. DWORD Switches);
  160. HRESULT (STDMETHODCALLTYPE *GetCaps)(
  161. IDirectDrawVideo *This,
  162. DDCAPS *pCaps);
  163. HRESULT (STDMETHODCALLTYPE *GetEmulatedCaps)(
  164. IDirectDrawVideo *This,
  165. DDCAPS *pCaps);
  166. HRESULT (STDMETHODCALLTYPE *GetSurfaceDesc)(
  167. IDirectDrawVideo *This,
  168. DDSURFACEDESC *pSurfaceDesc);
  169. HRESULT (STDMETHODCALLTYPE *GetFourCCCodes)(
  170. IDirectDrawVideo *This,
  171. DWORD *pCount,
  172. DWORD *pCodes);
  173. HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
  174. IDirectDrawVideo *This,
  175. IDirectDraw *ddraw);
  176. HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
  177. IDirectDrawVideo *This,
  178. IDirectDraw **ddraw);
  179. HRESULT (STDMETHODCALLTYPE *GetSurfaceType)(
  180. IDirectDrawVideo *This,
  181. DWORD *pSurfaceType);
  182. HRESULT (STDMETHODCALLTYPE *SetDefault)(
  183. IDirectDrawVideo *This);
  184. HRESULT (STDMETHODCALLTYPE *UseScanLine)(
  185. IDirectDrawVideo *This,
  186. LONG UseScanLine);
  187. HRESULT (STDMETHODCALLTYPE *CanUseScanLine)(
  188. IDirectDrawVideo *This,
  189. LONG *UseScanLine);
  190. HRESULT (STDMETHODCALLTYPE *UseOverlayStretch)(
  191. IDirectDrawVideo *This,
  192. LONG UseOverlayStretch);
  193. HRESULT (STDMETHODCALLTYPE *CanUseOverlayStretch)(
  194. IDirectDrawVideo *This,
  195. LONG *UseOverlayStretch);
  196. HRESULT (STDMETHODCALLTYPE *UseWhenFullScreen)(
  197. IDirectDrawVideo *This,
  198. LONG UseWhenFullScreen);
  199. HRESULT (STDMETHODCALLTYPE *WillUseFullScreen)(
  200. IDirectDrawVideo *This,
  201. LONG *UseWhenFullScreen);
  202. END_INTERFACE
  203. } IDirectDrawVideoVtbl;
  204. interface IDirectDrawVideo {
  205. CONST_VTBL IDirectDrawVideoVtbl* lpVtbl;
  206. };
  207. #ifdef COBJMACROS
  208. #ifndef WIDL_C_INLINE_WRAPPERS
  209. /*** IUnknown methods ***/
  210. #define IDirectDrawVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  211. #define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
  212. #define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
  213. /*** IDirectDrawVideo methods ***/
  214. #define IDirectDrawVideo_GetSwitches(This,pSwitches) (This)->lpVtbl->GetSwitches(This,pSwitches)
  215. #define IDirectDrawVideo_SetSwitches(This,Switches) (This)->lpVtbl->SetSwitches(This,Switches)
  216. #define IDirectDrawVideo_GetCaps(This,pCaps) (This)->lpVtbl->GetCaps(This,pCaps)
  217. #define IDirectDrawVideo_GetEmulatedCaps(This,pCaps) (This)->lpVtbl->GetEmulatedCaps(This,pCaps)
  218. #define IDirectDrawVideo_GetSurfaceDesc(This,pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc)
  219. #define IDirectDrawVideo_GetFourCCCodes(This,pCount,pCodes) (This)->lpVtbl->GetFourCCCodes(This,pCount,pCodes)
  220. #define IDirectDrawVideo_SetDirectDraw(This,ddraw) (This)->lpVtbl->SetDirectDraw(This,ddraw)
  221. #define IDirectDrawVideo_GetDirectDraw(This,ddraw) (This)->lpVtbl->GetDirectDraw(This,ddraw)
  222. #define IDirectDrawVideo_GetSurfaceType(This,pSurfaceType) (This)->lpVtbl->GetSurfaceType(This,pSurfaceType)
  223. #define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
  224. #define IDirectDrawVideo_UseScanLine(This,UseScanLine) (This)->lpVtbl->UseScanLine(This,UseScanLine)
  225. #define IDirectDrawVideo_CanUseScanLine(This,UseScanLine) (This)->lpVtbl->CanUseScanLine(This,UseScanLine)
  226. #define IDirectDrawVideo_UseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This,UseOverlayStretch)
  227. #define IDirectDrawVideo_CanUseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch)
  228. #define IDirectDrawVideo_UseWhenFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen)
  229. #define IDirectDrawVideo_WillUseFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen)
  230. #else
  231. /*** IUnknown methods ***/
  232. static FORCEINLINE HRESULT IDirectDrawVideo_QueryInterface(IDirectDrawVideo* This,REFIID riid,void **ppvObject) {
  233. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  234. }
  235. static FORCEINLINE ULONG IDirectDrawVideo_AddRef(IDirectDrawVideo* This) {
  236. return This->lpVtbl->AddRef(This);
  237. }
  238. static FORCEINLINE ULONG IDirectDrawVideo_Release(IDirectDrawVideo* This) {
  239. return This->lpVtbl->Release(This);
  240. }
  241. /*** IDirectDrawVideo methods ***/
  242. static FORCEINLINE HRESULT IDirectDrawVideo_GetSwitches(IDirectDrawVideo* This,DWORD *pSwitches) {
  243. return This->lpVtbl->GetSwitches(This,pSwitches);
  244. }
  245. static FORCEINLINE HRESULT IDirectDrawVideo_SetSwitches(IDirectDrawVideo* This,DWORD Switches) {
  246. return This->lpVtbl->SetSwitches(This,Switches);
  247. }
  248. static FORCEINLINE HRESULT IDirectDrawVideo_GetCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
  249. return This->lpVtbl->GetCaps(This,pCaps);
  250. }
  251. static FORCEINLINE HRESULT IDirectDrawVideo_GetEmulatedCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
  252. return This->lpVtbl->GetEmulatedCaps(This,pCaps);
  253. }
  254. static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceDesc(IDirectDrawVideo* This,DDSURFACEDESC *pSurfaceDesc) {
  255. return This->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc);
  256. }
  257. static FORCEINLINE HRESULT IDirectDrawVideo_GetFourCCCodes(IDirectDrawVideo* This,DWORD *pCount,DWORD *pCodes) {
  258. return This->lpVtbl->GetFourCCCodes(This,pCount,pCodes);
  259. }
  260. static FORCEINLINE HRESULT IDirectDrawVideo_SetDirectDraw(IDirectDrawVideo* This,IDirectDraw *ddraw) {
  261. return This->lpVtbl->SetDirectDraw(This,ddraw);
  262. }
  263. static FORCEINLINE HRESULT IDirectDrawVideo_GetDirectDraw(IDirectDrawVideo* This,IDirectDraw **ddraw) {
  264. return This->lpVtbl->GetDirectDraw(This,ddraw);
  265. }
  266. static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceType(IDirectDrawVideo* This,DWORD *pSurfaceType) {
  267. return This->lpVtbl->GetSurfaceType(This,pSurfaceType);
  268. }
  269. static FORCEINLINE HRESULT IDirectDrawVideo_SetDefault(IDirectDrawVideo* This) {
  270. return This->lpVtbl->SetDefault(This);
  271. }
  272. static FORCEINLINE HRESULT IDirectDrawVideo_UseScanLine(IDirectDrawVideo* This,LONG UseScanLine) {
  273. return This->lpVtbl->UseScanLine(This,UseScanLine);
  274. }
  275. static FORCEINLINE HRESULT IDirectDrawVideo_CanUseScanLine(IDirectDrawVideo* This,LONG *UseScanLine) {
  276. return This->lpVtbl->CanUseScanLine(This,UseScanLine);
  277. }
  278. static FORCEINLINE HRESULT IDirectDrawVideo_UseOverlayStretch(IDirectDrawVideo* This,LONG UseOverlayStretch) {
  279. return This->lpVtbl->UseOverlayStretch(This,UseOverlayStretch);
  280. }
  281. static FORCEINLINE HRESULT IDirectDrawVideo_CanUseOverlayStretch(IDirectDrawVideo* This,LONG *UseOverlayStretch) {
  282. return This->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch);
  283. }
  284. static FORCEINLINE HRESULT IDirectDrawVideo_UseWhenFullScreen(IDirectDrawVideo* This,LONG UseWhenFullScreen) {
  285. return This->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen);
  286. }
  287. static FORCEINLINE HRESULT IDirectDrawVideo_WillUseFullScreen(IDirectDrawVideo* This,LONG *UseWhenFullScreen) {
  288. return This->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen);
  289. }
  290. #endif
  291. #endif
  292. #endif
  293. #endif /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
  294. /*****************************************************************************
  295. * IQualProp interface
  296. */
  297. #ifndef __IQualProp_INTERFACE_DEFINED__
  298. #define __IQualProp_INTERFACE_DEFINED__
  299. #if defined(__cplusplus) && !defined(CINTERFACE)
  300. interface IQualProp : public IUnknown
  301. {
  302. virtual HRESULT STDMETHODCALLTYPE get_FramesDroppedInRenderer(
  303. int *pcFrames) = 0;
  304. virtual HRESULT STDMETHODCALLTYPE get_FramesDrawn(
  305. int *pcFramesDrawn) = 0;
  306. virtual HRESULT STDMETHODCALLTYPE get_AvgFrameRate(
  307. int *piAvgFrameRate) = 0;
  308. virtual HRESULT STDMETHODCALLTYPE get_Jitter(
  309. int *iJitter) = 0;
  310. virtual HRESULT STDMETHODCALLTYPE get_AvgSyncOffset(
  311. int *piAvg) = 0;
  312. virtual HRESULT STDMETHODCALLTYPE get_DevSyncOffset(
  313. int *piDev) = 0;
  314. };
  315. #else
  316. typedef struct IQualPropVtbl {
  317. BEGIN_INTERFACE
  318. /*** IUnknown methods ***/
  319. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  320. IQualProp *This,
  321. REFIID riid,
  322. void **ppvObject);
  323. ULONG (STDMETHODCALLTYPE *AddRef)(
  324. IQualProp *This);
  325. ULONG (STDMETHODCALLTYPE *Release)(
  326. IQualProp *This);
  327. /*** IQualProp methods ***/
  328. HRESULT (STDMETHODCALLTYPE *get_FramesDroppedInRenderer)(
  329. IQualProp *This,
  330. int *pcFrames);
  331. HRESULT (STDMETHODCALLTYPE *get_FramesDrawn)(
  332. IQualProp *This,
  333. int *pcFramesDrawn);
  334. HRESULT (STDMETHODCALLTYPE *get_AvgFrameRate)(
  335. IQualProp *This,
  336. int *piAvgFrameRate);
  337. HRESULT (STDMETHODCALLTYPE *get_Jitter)(
  338. IQualProp *This,
  339. int *iJitter);
  340. HRESULT (STDMETHODCALLTYPE *get_AvgSyncOffset)(
  341. IQualProp *This,
  342. int *piAvg);
  343. HRESULT (STDMETHODCALLTYPE *get_DevSyncOffset)(
  344. IQualProp *This,
  345. int *piDev);
  346. END_INTERFACE
  347. } IQualPropVtbl;
  348. interface IQualProp {
  349. CONST_VTBL IQualPropVtbl* lpVtbl;
  350. };
  351. #ifdef COBJMACROS
  352. #ifndef WIDL_C_INLINE_WRAPPERS
  353. /*** IUnknown methods ***/
  354. #define IQualProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  355. #define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
  356. #define IQualProp_Release(This) (This)->lpVtbl->Release(This)
  357. /*** IQualProp methods ***/
  358. #define IQualProp_get_FramesDroppedInRenderer(This,pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames)
  359. #define IQualProp_get_FramesDrawn(This,pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This,pcFramesDrawn)
  360. #define IQualProp_get_AvgFrameRate(This,piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate)
  361. #define IQualProp_get_Jitter(This,iJitter) (This)->lpVtbl->get_Jitter(This,iJitter)
  362. #define IQualProp_get_AvgSyncOffset(This,piAvg) (This)->lpVtbl->get_AvgSyncOffset(This,piAvg)
  363. #define IQualProp_get_DevSyncOffset(This,piDev) (This)->lpVtbl->get_DevSyncOffset(This,piDev)
  364. #else
  365. /*** IUnknown methods ***/
  366. static FORCEINLINE HRESULT IQualProp_QueryInterface(IQualProp* This,REFIID riid,void **ppvObject) {
  367. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  368. }
  369. static FORCEINLINE ULONG IQualProp_AddRef(IQualProp* This) {
  370. return This->lpVtbl->AddRef(This);
  371. }
  372. static FORCEINLINE ULONG IQualProp_Release(IQualProp* This) {
  373. return This->lpVtbl->Release(This);
  374. }
  375. /*** IQualProp methods ***/
  376. static FORCEINLINE HRESULT IQualProp_get_FramesDroppedInRenderer(IQualProp* This,int *pcFrames) {
  377. return This->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames);
  378. }
  379. static FORCEINLINE HRESULT IQualProp_get_FramesDrawn(IQualProp* This,int *pcFramesDrawn) {
  380. return This->lpVtbl->get_FramesDrawn(This,pcFramesDrawn);
  381. }
  382. static FORCEINLINE HRESULT IQualProp_get_AvgFrameRate(IQualProp* This,int *piAvgFrameRate) {
  383. return This->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate);
  384. }
  385. static FORCEINLINE HRESULT IQualProp_get_Jitter(IQualProp* This,int *iJitter) {
  386. return This->lpVtbl->get_Jitter(This,iJitter);
  387. }
  388. static FORCEINLINE HRESULT IQualProp_get_AvgSyncOffset(IQualProp* This,int *piAvg) {
  389. return This->lpVtbl->get_AvgSyncOffset(This,piAvg);
  390. }
  391. static FORCEINLINE HRESULT IQualProp_get_DevSyncOffset(IQualProp* This,int *piDev) {
  392. return This->lpVtbl->get_DevSyncOffset(This,piDev);
  393. }
  394. #endif
  395. #endif
  396. #endif
  397. #endif /* __IQualProp_INTERFACE_DEFINED__ */
  398. /*****************************************************************************
  399. * IFullScreenVideo interface
  400. */
  401. #ifndef __IFullScreenVideo_INTERFACE_DEFINED__
  402. #define __IFullScreenVideo_INTERFACE_DEFINED__
  403. #if defined(__cplusplus) && !defined(CINTERFACE)
  404. interface IFullScreenVideo : public IUnknown
  405. {
  406. virtual HRESULT STDMETHODCALLTYPE CountModes(
  407. LONG *pModes) = 0;
  408. virtual HRESULT STDMETHODCALLTYPE GetModeInfo(
  409. LONG Mode,
  410. LONG *pWidth,
  411. LONG *pHeight,
  412. LONG *pDepth) = 0;
  413. virtual HRESULT STDMETHODCALLTYPE GetCurrentMode(
  414. LONG *pMode) = 0;
  415. virtual HRESULT STDMETHODCALLTYPE IsModeAvailable(
  416. LONG Mode) = 0;
  417. virtual HRESULT STDMETHODCALLTYPE IsModeEnabled(
  418. LONG Mode) = 0;
  419. virtual HRESULT STDMETHODCALLTYPE SetEnabled(
  420. LONG Mode,
  421. LONG bEnabled) = 0;
  422. virtual HRESULT STDMETHODCALLTYPE GetClipFactor(
  423. LONG *pClipFactor) = 0;
  424. virtual HRESULT STDMETHODCALLTYPE SetClipFactor(
  425. LONG ClipFactor) = 0;
  426. virtual HRESULT STDMETHODCALLTYPE SetMessageDrain(
  427. HWND hwnd) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE GetMessageDrain(
  429. HWND *hwnd) = 0;
  430. virtual HRESULT STDMETHODCALLTYPE SetMonitor(
  431. LONG Monitor) = 0;
  432. virtual HRESULT STDMETHODCALLTYPE GetMonitor(
  433. LONG *Monitor) = 0;
  434. virtual HRESULT STDMETHODCALLTYPE HideOnDeactivate(
  435. LONG Hide) = 0;
  436. virtual HRESULT STDMETHODCALLTYPE IsHideOnDeactivate(
  437. ) = 0;
  438. virtual HRESULT STDMETHODCALLTYPE SetCaption(
  439. BSTR strCaption) = 0;
  440. virtual HRESULT STDMETHODCALLTYPE GetCaption(
  441. BSTR *pstrCaption) = 0;
  442. virtual HRESULT STDMETHODCALLTYPE SetDefault(
  443. ) = 0;
  444. };
  445. #else
  446. typedef struct IFullScreenVideoVtbl {
  447. BEGIN_INTERFACE
  448. /*** IUnknown methods ***/
  449. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  450. IFullScreenVideo *This,
  451. REFIID riid,
  452. void **ppvObject);
  453. ULONG (STDMETHODCALLTYPE *AddRef)(
  454. IFullScreenVideo *This);
  455. ULONG (STDMETHODCALLTYPE *Release)(
  456. IFullScreenVideo *This);
  457. /*** IFullScreenVideo methods ***/
  458. HRESULT (STDMETHODCALLTYPE *CountModes)(
  459. IFullScreenVideo *This,
  460. LONG *pModes);
  461. HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
  462. IFullScreenVideo *This,
  463. LONG Mode,
  464. LONG *pWidth,
  465. LONG *pHeight,
  466. LONG *pDepth);
  467. HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
  468. IFullScreenVideo *This,
  469. LONG *pMode);
  470. HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
  471. IFullScreenVideo *This,
  472. LONG Mode);
  473. HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
  474. IFullScreenVideo *This,
  475. LONG Mode);
  476. HRESULT (STDMETHODCALLTYPE *SetEnabled)(
  477. IFullScreenVideo *This,
  478. LONG Mode,
  479. LONG bEnabled);
  480. HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
  481. IFullScreenVideo *This,
  482. LONG *pClipFactor);
  483. HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
  484. IFullScreenVideo *This,
  485. LONG ClipFactor);
  486. HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
  487. IFullScreenVideo *This,
  488. HWND hwnd);
  489. HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
  490. IFullScreenVideo *This,
  491. HWND *hwnd);
  492. HRESULT (STDMETHODCALLTYPE *SetMonitor)(
  493. IFullScreenVideo *This,
  494. LONG Monitor);
  495. HRESULT (STDMETHODCALLTYPE *GetMonitor)(
  496. IFullScreenVideo *This,
  497. LONG *Monitor);
  498. HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
  499. IFullScreenVideo *This,
  500. LONG Hide);
  501. HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
  502. IFullScreenVideo *This);
  503. HRESULT (STDMETHODCALLTYPE *SetCaption)(
  504. IFullScreenVideo *This,
  505. BSTR strCaption);
  506. HRESULT (STDMETHODCALLTYPE *GetCaption)(
  507. IFullScreenVideo *This,
  508. BSTR *pstrCaption);
  509. HRESULT (STDMETHODCALLTYPE *SetDefault)(
  510. IFullScreenVideo *This);
  511. END_INTERFACE
  512. } IFullScreenVideoVtbl;
  513. interface IFullScreenVideo {
  514. CONST_VTBL IFullScreenVideoVtbl* lpVtbl;
  515. };
  516. #ifdef COBJMACROS
  517. #ifndef WIDL_C_INLINE_WRAPPERS
  518. /*** IUnknown methods ***/
  519. #define IFullScreenVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  520. #define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
  521. #define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
  522. /*** IFullScreenVideo methods ***/
  523. #define IFullScreenVideo_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
  524. #define IFullScreenVideo_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
  525. #define IFullScreenVideo_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
  526. #define IFullScreenVideo_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
  527. #define IFullScreenVideo_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
  528. #define IFullScreenVideo_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
  529. #define IFullScreenVideo_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
  530. #define IFullScreenVideo_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
  531. #define IFullScreenVideo_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
  532. #define IFullScreenVideo_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
  533. #define IFullScreenVideo_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
  534. #define IFullScreenVideo_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
  535. #define IFullScreenVideo_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
  536. #define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
  537. #define IFullScreenVideo_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
  538. #define IFullScreenVideo_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
  539. #define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
  540. #else
  541. /*** IUnknown methods ***/
  542. static FORCEINLINE HRESULT IFullScreenVideo_QueryInterface(IFullScreenVideo* This,REFIID riid,void **ppvObject) {
  543. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  544. }
  545. static FORCEINLINE ULONG IFullScreenVideo_AddRef(IFullScreenVideo* This) {
  546. return This->lpVtbl->AddRef(This);
  547. }
  548. static FORCEINLINE ULONG IFullScreenVideo_Release(IFullScreenVideo* This) {
  549. return This->lpVtbl->Release(This);
  550. }
  551. /*** IFullScreenVideo methods ***/
  552. static FORCEINLINE HRESULT IFullScreenVideo_CountModes(IFullScreenVideo* This,LONG *pModes) {
  553. return This->lpVtbl->CountModes(This,pModes);
  554. }
  555. static FORCEINLINE HRESULT IFullScreenVideo_GetModeInfo(IFullScreenVideo* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
  556. return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
  557. }
  558. static FORCEINLINE HRESULT IFullScreenVideo_GetCurrentMode(IFullScreenVideo* This,LONG *pMode) {
  559. return This->lpVtbl->GetCurrentMode(This,pMode);
  560. }
  561. static FORCEINLINE HRESULT IFullScreenVideo_IsModeAvailable(IFullScreenVideo* This,LONG Mode) {
  562. return This->lpVtbl->IsModeAvailable(This,Mode);
  563. }
  564. static FORCEINLINE HRESULT IFullScreenVideo_IsModeEnabled(IFullScreenVideo* This,LONG Mode) {
  565. return This->lpVtbl->IsModeEnabled(This,Mode);
  566. }
  567. static FORCEINLINE HRESULT IFullScreenVideo_SetEnabled(IFullScreenVideo* This,LONG Mode,LONG bEnabled) {
  568. return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
  569. }
  570. static FORCEINLINE HRESULT IFullScreenVideo_GetClipFactor(IFullScreenVideo* This,LONG *pClipFactor) {
  571. return This->lpVtbl->GetClipFactor(This,pClipFactor);
  572. }
  573. static FORCEINLINE HRESULT IFullScreenVideo_SetClipFactor(IFullScreenVideo* This,LONG ClipFactor) {
  574. return This->lpVtbl->SetClipFactor(This,ClipFactor);
  575. }
  576. static FORCEINLINE HRESULT IFullScreenVideo_SetMessageDrain(IFullScreenVideo* This,HWND hwnd) {
  577. return This->lpVtbl->SetMessageDrain(This,hwnd);
  578. }
  579. static FORCEINLINE HRESULT IFullScreenVideo_GetMessageDrain(IFullScreenVideo* This,HWND *hwnd) {
  580. return This->lpVtbl->GetMessageDrain(This,hwnd);
  581. }
  582. static FORCEINLINE HRESULT IFullScreenVideo_SetMonitor(IFullScreenVideo* This,LONG Monitor) {
  583. return This->lpVtbl->SetMonitor(This,Monitor);
  584. }
  585. static FORCEINLINE HRESULT IFullScreenVideo_GetMonitor(IFullScreenVideo* This,LONG *Monitor) {
  586. return This->lpVtbl->GetMonitor(This,Monitor);
  587. }
  588. static FORCEINLINE HRESULT IFullScreenVideo_HideOnDeactivate(IFullScreenVideo* This,LONG Hide) {
  589. return This->lpVtbl->HideOnDeactivate(This,Hide);
  590. }
  591. static FORCEINLINE HRESULT IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo* This) {
  592. return This->lpVtbl->IsHideOnDeactivate(This);
  593. }
  594. static FORCEINLINE HRESULT IFullScreenVideo_SetCaption(IFullScreenVideo* This,BSTR strCaption) {
  595. return This->lpVtbl->SetCaption(This,strCaption);
  596. }
  597. static FORCEINLINE HRESULT IFullScreenVideo_GetCaption(IFullScreenVideo* This,BSTR *pstrCaption) {
  598. return This->lpVtbl->GetCaption(This,pstrCaption);
  599. }
  600. static FORCEINLINE HRESULT IFullScreenVideo_SetDefault(IFullScreenVideo* This) {
  601. return This->lpVtbl->SetDefault(This);
  602. }
  603. #endif
  604. #endif
  605. #endif
  606. #endif /* __IFullScreenVideo_INTERFACE_DEFINED__ */
  607. /*****************************************************************************
  608. * IFullScreenVideoEx interface
  609. */
  610. #ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
  611. #define __IFullScreenVideoEx_INTERFACE_DEFINED__
  612. #if defined(__cplusplus) && !defined(CINTERFACE)
  613. interface IFullScreenVideoEx : public IFullScreenVideo
  614. {
  615. virtual HRESULT STDMETHODCALLTYPE SetAcceleratorTable(
  616. HWND hwnd,
  617. HACCEL hAccel) = 0;
  618. virtual HRESULT STDMETHODCALLTYPE GetAcceleratorTable(
  619. HWND *phwnd,
  620. HACCEL *phAccel) = 0;
  621. virtual HRESULT STDMETHODCALLTYPE KeepPixelAspectRatio(
  622. LONG KeepAspect) = 0;
  623. virtual HRESULT STDMETHODCALLTYPE IsKeepPixelAspectRatio(
  624. LONG *pKeepAspect) = 0;
  625. };
  626. #else
  627. typedef struct IFullScreenVideoExVtbl {
  628. BEGIN_INTERFACE
  629. /*** IUnknown methods ***/
  630. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  631. IFullScreenVideoEx *This,
  632. REFIID riid,
  633. void **ppvObject);
  634. ULONG (STDMETHODCALLTYPE *AddRef)(
  635. IFullScreenVideoEx *This);
  636. ULONG (STDMETHODCALLTYPE *Release)(
  637. IFullScreenVideoEx *This);
  638. /*** IFullScreenVideo methods ***/
  639. HRESULT (STDMETHODCALLTYPE *CountModes)(
  640. IFullScreenVideoEx *This,
  641. LONG *pModes);
  642. HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
  643. IFullScreenVideoEx *This,
  644. LONG Mode,
  645. LONG *pWidth,
  646. LONG *pHeight,
  647. LONG *pDepth);
  648. HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
  649. IFullScreenVideoEx *This,
  650. LONG *pMode);
  651. HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
  652. IFullScreenVideoEx *This,
  653. LONG Mode);
  654. HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
  655. IFullScreenVideoEx *This,
  656. LONG Mode);
  657. HRESULT (STDMETHODCALLTYPE *SetEnabled)(
  658. IFullScreenVideoEx *This,
  659. LONG Mode,
  660. LONG bEnabled);
  661. HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
  662. IFullScreenVideoEx *This,
  663. LONG *pClipFactor);
  664. HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
  665. IFullScreenVideoEx *This,
  666. LONG ClipFactor);
  667. HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
  668. IFullScreenVideoEx *This,
  669. HWND hwnd);
  670. HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
  671. IFullScreenVideoEx *This,
  672. HWND *hwnd);
  673. HRESULT (STDMETHODCALLTYPE *SetMonitor)(
  674. IFullScreenVideoEx *This,
  675. LONG Monitor);
  676. HRESULT (STDMETHODCALLTYPE *GetMonitor)(
  677. IFullScreenVideoEx *This,
  678. LONG *Monitor);
  679. HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
  680. IFullScreenVideoEx *This,
  681. LONG Hide);
  682. HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
  683. IFullScreenVideoEx *This);
  684. HRESULT (STDMETHODCALLTYPE *SetCaption)(
  685. IFullScreenVideoEx *This,
  686. BSTR strCaption);
  687. HRESULT (STDMETHODCALLTYPE *GetCaption)(
  688. IFullScreenVideoEx *This,
  689. BSTR *pstrCaption);
  690. HRESULT (STDMETHODCALLTYPE *SetDefault)(
  691. IFullScreenVideoEx *This);
  692. /*** IFullScreenVideoEx methods ***/
  693. HRESULT (STDMETHODCALLTYPE *SetAcceleratorTable)(
  694. IFullScreenVideoEx *This,
  695. HWND hwnd,
  696. HACCEL hAccel);
  697. HRESULT (STDMETHODCALLTYPE *GetAcceleratorTable)(
  698. IFullScreenVideoEx *This,
  699. HWND *phwnd,
  700. HACCEL *phAccel);
  701. HRESULT (STDMETHODCALLTYPE *KeepPixelAspectRatio)(
  702. IFullScreenVideoEx *This,
  703. LONG KeepAspect);
  704. HRESULT (STDMETHODCALLTYPE *IsKeepPixelAspectRatio)(
  705. IFullScreenVideoEx *This,
  706. LONG *pKeepAspect);
  707. END_INTERFACE
  708. } IFullScreenVideoExVtbl;
  709. interface IFullScreenVideoEx {
  710. CONST_VTBL IFullScreenVideoExVtbl* lpVtbl;
  711. };
  712. #ifdef COBJMACROS
  713. #ifndef WIDL_C_INLINE_WRAPPERS
  714. /*** IUnknown methods ***/
  715. #define IFullScreenVideoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  716. #define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
  717. #define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
  718. /*** IFullScreenVideo methods ***/
  719. #define IFullScreenVideoEx_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
  720. #define IFullScreenVideoEx_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
  721. #define IFullScreenVideoEx_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
  722. #define IFullScreenVideoEx_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
  723. #define IFullScreenVideoEx_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
  724. #define IFullScreenVideoEx_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
  725. #define IFullScreenVideoEx_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
  726. #define IFullScreenVideoEx_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
  727. #define IFullScreenVideoEx_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
  728. #define IFullScreenVideoEx_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
  729. #define IFullScreenVideoEx_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
  730. #define IFullScreenVideoEx_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
  731. #define IFullScreenVideoEx_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
  732. #define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
  733. #define IFullScreenVideoEx_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
  734. #define IFullScreenVideoEx_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
  735. #define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
  736. /*** IFullScreenVideoEx methods ***/
  737. #define IFullScreenVideoEx_SetAcceleratorTable(This,hwnd,hAccel) (This)->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel)
  738. #define IFullScreenVideoEx_GetAcceleratorTable(This,phwnd,phAccel) (This)->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel)
  739. #define IFullScreenVideoEx_KeepPixelAspectRatio(This,KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This,KeepAspect)
  740. #define IFullScreenVideoEx_IsKeepPixelAspectRatio(This,pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect)
  741. #else
  742. /*** IUnknown methods ***/
  743. static FORCEINLINE HRESULT IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx* This,REFIID riid,void **ppvObject) {
  744. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  745. }
  746. static FORCEINLINE ULONG IFullScreenVideoEx_AddRef(IFullScreenVideoEx* This) {
  747. return This->lpVtbl->AddRef(This);
  748. }
  749. static FORCEINLINE ULONG IFullScreenVideoEx_Release(IFullScreenVideoEx* This) {
  750. return This->lpVtbl->Release(This);
  751. }
  752. /*** IFullScreenVideo methods ***/
  753. static FORCEINLINE HRESULT IFullScreenVideoEx_CountModes(IFullScreenVideoEx* This,LONG *pModes) {
  754. return This->lpVtbl->CountModes(This,pModes);
  755. }
  756. static FORCEINLINE HRESULT IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
  757. return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
  758. }
  759. static FORCEINLINE HRESULT IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx* This,LONG *pMode) {
  760. return This->lpVtbl->GetCurrentMode(This,pMode);
  761. }
  762. static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx* This,LONG Mode) {
  763. return This->lpVtbl->IsModeAvailable(This,Mode);
  764. }
  765. static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx* This,LONG Mode) {
  766. return This->lpVtbl->IsModeEnabled(This,Mode);
  767. }
  768. static FORCEINLINE HRESULT IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx* This,LONG Mode,LONG bEnabled) {
  769. return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
  770. }
  771. static FORCEINLINE HRESULT IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx* This,LONG *pClipFactor) {
  772. return This->lpVtbl->GetClipFactor(This,pClipFactor);
  773. }
  774. static FORCEINLINE HRESULT IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx* This,LONG ClipFactor) {
  775. return This->lpVtbl->SetClipFactor(This,ClipFactor);
  776. }
  777. static FORCEINLINE HRESULT IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx* This,HWND hwnd) {
  778. return This->lpVtbl->SetMessageDrain(This,hwnd);
  779. }
  780. static FORCEINLINE HRESULT IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx* This,HWND *hwnd) {
  781. return This->lpVtbl->GetMessageDrain(This,hwnd);
  782. }
  783. static FORCEINLINE HRESULT IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx* This,LONG Monitor) {
  784. return This->lpVtbl->SetMonitor(This,Monitor);
  785. }
  786. static FORCEINLINE HRESULT IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx* This,LONG *Monitor) {
  787. return This->lpVtbl->GetMonitor(This,Monitor);
  788. }
  789. static FORCEINLINE HRESULT IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx* This,LONG Hide) {
  790. return This->lpVtbl->HideOnDeactivate(This,Hide);
  791. }
  792. static FORCEINLINE HRESULT IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx* This) {
  793. return This->lpVtbl->IsHideOnDeactivate(This);
  794. }
  795. static FORCEINLINE HRESULT IFullScreenVideoEx_SetCaption(IFullScreenVideoEx* This,BSTR strCaption) {
  796. return This->lpVtbl->SetCaption(This,strCaption);
  797. }
  798. static FORCEINLINE HRESULT IFullScreenVideoEx_GetCaption(IFullScreenVideoEx* This,BSTR *pstrCaption) {
  799. return This->lpVtbl->GetCaption(This,pstrCaption);
  800. }
  801. static FORCEINLINE HRESULT IFullScreenVideoEx_SetDefault(IFullScreenVideoEx* This) {
  802. return This->lpVtbl->SetDefault(This);
  803. }
  804. /*** IFullScreenVideoEx methods ***/
  805. static FORCEINLINE HRESULT IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx* This,HWND hwnd,HACCEL hAccel) {
  806. return This->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel);
  807. }
  808. static FORCEINLINE HRESULT IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx* This,HWND *phwnd,HACCEL *phAccel) {
  809. return This->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel);
  810. }
  811. static FORCEINLINE HRESULT IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx* This,LONG KeepAspect) {
  812. return This->lpVtbl->KeepPixelAspectRatio(This,KeepAspect);
  813. }
  814. static FORCEINLINE HRESULT IFullScreenVideoEx_IsKeepPixelAspectRatio(IFullScreenVideoEx* This,LONG *pKeepAspect) {
  815. return This->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect);
  816. }
  817. #endif
  818. #endif
  819. #endif
  820. #endif /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
  821. /*****************************************************************************
  822. * IBaseVideoMixer interface
  823. */
  824. #ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
  825. #define __IBaseVideoMixer_INTERFACE_DEFINED__
  826. #if defined(__cplusplus) && !defined(CINTERFACE)
  827. interface IBaseVideoMixer : public IUnknown
  828. {
  829. virtual HRESULT STDMETHODCALLTYPE SetLeadPin(
  830. int iPin) = 0;
  831. virtual HRESULT STDMETHODCALLTYPE GetLeadPin(
  832. int *piPin) = 0;
  833. virtual HRESULT STDMETHODCALLTYPE GetInputPinCount(
  834. int *piPinCount) = 0;
  835. virtual HRESULT STDMETHODCALLTYPE IsUsingClock(
  836. int *pbValue) = 0;
  837. virtual HRESULT STDMETHODCALLTYPE SetUsingClock(
  838. int bValue) = 0;
  839. virtual HRESULT STDMETHODCALLTYPE GetClockPeriod(
  840. int *pbValue) = 0;
  841. virtual HRESULT STDMETHODCALLTYPE SetClockPeriod(
  842. int bValue) = 0;
  843. };
  844. #else
  845. typedef struct IBaseVideoMixerVtbl {
  846. BEGIN_INTERFACE
  847. /*** IUnknown methods ***/
  848. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  849. IBaseVideoMixer *This,
  850. REFIID riid,
  851. void **ppvObject);
  852. ULONG (STDMETHODCALLTYPE *AddRef)(
  853. IBaseVideoMixer *This);
  854. ULONG (STDMETHODCALLTYPE *Release)(
  855. IBaseVideoMixer *This);
  856. /*** IBaseVideoMixer methods ***/
  857. HRESULT (STDMETHODCALLTYPE *SetLeadPin)(
  858. IBaseVideoMixer *This,
  859. int iPin);
  860. HRESULT (STDMETHODCALLTYPE *GetLeadPin)(
  861. IBaseVideoMixer *This,
  862. int *piPin);
  863. HRESULT (STDMETHODCALLTYPE *GetInputPinCount)(
  864. IBaseVideoMixer *This,
  865. int *piPinCount);
  866. HRESULT (STDMETHODCALLTYPE *IsUsingClock)(
  867. IBaseVideoMixer *This,
  868. int *pbValue);
  869. HRESULT (STDMETHODCALLTYPE *SetUsingClock)(
  870. IBaseVideoMixer *This,
  871. int bValue);
  872. HRESULT (STDMETHODCALLTYPE *GetClockPeriod)(
  873. IBaseVideoMixer *This,
  874. int *pbValue);
  875. HRESULT (STDMETHODCALLTYPE *SetClockPeriod)(
  876. IBaseVideoMixer *This,
  877. int bValue);
  878. END_INTERFACE
  879. } IBaseVideoMixerVtbl;
  880. interface IBaseVideoMixer {
  881. CONST_VTBL IBaseVideoMixerVtbl* lpVtbl;
  882. };
  883. #ifdef COBJMACROS
  884. #ifndef WIDL_C_INLINE_WRAPPERS
  885. /*** IUnknown methods ***/
  886. #define IBaseVideoMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  887. #define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
  888. #define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
  889. /*** IBaseVideoMixer methods ***/
  890. #define IBaseVideoMixer_SetLeadPin(This,iPin) (This)->lpVtbl->SetLeadPin(This,iPin)
  891. #define IBaseVideoMixer_GetLeadPin(This,piPin) (This)->lpVtbl->GetLeadPin(This,piPin)
  892. #define IBaseVideoMixer_GetInputPinCount(This,piPinCount) (This)->lpVtbl->GetInputPinCount(This,piPinCount)
  893. #define IBaseVideoMixer_IsUsingClock(This,pbValue) (This)->lpVtbl->IsUsingClock(This,pbValue)
  894. #define IBaseVideoMixer_SetUsingClock(This,bValue) (This)->lpVtbl->SetUsingClock(This,bValue)
  895. #define IBaseVideoMixer_GetClockPeriod(This,pbValue) (This)->lpVtbl->GetClockPeriod(This,pbValue)
  896. #define IBaseVideoMixer_SetClockPeriod(This,bValue) (This)->lpVtbl->SetClockPeriod(This,bValue)
  897. #else
  898. /*** IUnknown methods ***/
  899. static FORCEINLINE HRESULT IBaseVideoMixer_QueryInterface(IBaseVideoMixer* This,REFIID riid,void **ppvObject) {
  900. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  901. }
  902. static FORCEINLINE ULONG IBaseVideoMixer_AddRef(IBaseVideoMixer* This) {
  903. return This->lpVtbl->AddRef(This);
  904. }
  905. static FORCEINLINE ULONG IBaseVideoMixer_Release(IBaseVideoMixer* This) {
  906. return This->lpVtbl->Release(This);
  907. }
  908. /*** IBaseVideoMixer methods ***/
  909. static FORCEINLINE HRESULT IBaseVideoMixer_SetLeadPin(IBaseVideoMixer* This,int iPin) {
  910. return This->lpVtbl->SetLeadPin(This,iPin);
  911. }
  912. static FORCEINLINE HRESULT IBaseVideoMixer_GetLeadPin(IBaseVideoMixer* This,int *piPin) {
  913. return This->lpVtbl->GetLeadPin(This,piPin);
  914. }
  915. static FORCEINLINE HRESULT IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer* This,int *piPinCount) {
  916. return This->lpVtbl->GetInputPinCount(This,piPinCount);
  917. }
  918. static FORCEINLINE HRESULT IBaseVideoMixer_IsUsingClock(IBaseVideoMixer* This,int *pbValue) {
  919. return This->lpVtbl->IsUsingClock(This,pbValue);
  920. }
  921. static FORCEINLINE HRESULT IBaseVideoMixer_SetUsingClock(IBaseVideoMixer* This,int bValue) {
  922. return This->lpVtbl->SetUsingClock(This,bValue);
  923. }
  924. static FORCEINLINE HRESULT IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer* This,int *pbValue) {
  925. return This->lpVtbl->GetClockPeriod(This,pbValue);
  926. }
  927. static FORCEINLINE HRESULT IBaseVideoMixer_SetClockPeriod(IBaseVideoMixer* This,int bValue) {
  928. return This->lpVtbl->SetClockPeriod(This,bValue);
  929. }
  930. #endif
  931. #endif
  932. #endif
  933. #endif /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
  934. #define iPALETTE_COLORS 256
  935. #define iEGA_COLORS 16
  936. #define iMASK_COLORS 3
  937. #define iTRUECOLOR 16
  938. #define iRED 0
  939. #define iGREEN 1
  940. #define iBLUE 2
  941. #define iPALETTE 8
  942. #define iMAXBITS 8
  943. typedef struct tag_TRUECOLORINFO {
  944. DWORD dwBitMasks[3];
  945. RGBQUAD bmiColors[256];
  946. } TRUECOLORINFO;
  947. typedef struct tagVIDEOINFOHEADER {
  948. RECT rcSource;
  949. RECT rcTarget;
  950. DWORD dwBitRate;
  951. DWORD dwBitErrorRate;
  952. REFERENCE_TIME AvgTimePerFrame;
  953. BITMAPINFOHEADER bmiHeader;
  954. } VIDEOINFOHEADER;
  955. typedef struct tagVIDEOINFO {
  956. RECT rcSource;
  957. RECT rcTarget;
  958. DWORD dwBitRate;
  959. DWORD dwBitErrorRate;
  960. REFERENCE_TIME AvgTimePerFrame;
  961. BITMAPINFOHEADER bmiHeader;
  962. __C89_NAMELESS union {
  963. RGBQUAD bmiColors[256];
  964. DWORD dwBitMasks[3];
  965. TRUECOLORINFO TrueColorInfo;
  966. } __C89_NAMELESSUNIONNAME;
  967. } VIDEOINFO;
  968. typedef struct tagMPEG1VIDEOINFO {
  969. VIDEOINFOHEADER hdr;
  970. DWORD dwStartTimeCode;
  971. DWORD cbSequenceHeader;
  972. BYTE bSequenceHeader[1];
  973. } MPEG1VIDEOINFO;
  974. #define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
  975. #define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
  976. typedef struct tagAnalogVideoInfo {
  977. RECT rcSource;
  978. RECT rcTarget;
  979. DWORD dwActiveWidth;
  980. DWORD dwActiveHeight;
  981. REFERENCE_TIME AvgTimePerFrame;
  982. } ANALOGVIDEOINFO;
  983. typedef enum __WIDL_amvideo_generated_name_0000000F {
  984. AM_PROPERTY_FRAMESTEP_STEP = 0x1,
  985. AM_PROPERTY_FRAMESTEP_CANCEL = 0x2,
  986. AM_PROPERTY_FRAMESTEP_CANSTEP = 0x3,
  987. AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x4
  988. } AM_PROPERTY_FRAMESTEP;
  989. typedef struct _AM_FRAMESTEP_STEP {
  990. DWORD dwFramesToStep;
  991. } AM_FRAMESTEP_STEP;
  992. /* Begin additional prototypes for all interfaces */
  993. ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
  994. unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
  995. unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
  996. void __RPC_USER HWND_UserFree (ULONG *, HWND *);
  997. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  998. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  999. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  1000. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  1001. /* End additional prototypes */
  1002. #ifdef __cplusplus
  1003. }
  1004. #endif
  1005. #endif /* __amvideo_h__ */