1 /*** Autogenerated by WIDL 0.1 from amvideo.idl - Do not edit ***/
5 #ifndef __WIDL_AMVIDEO_H
6 #define __WIDL_AMVIDEO_H
12 typedef void *LPDIRECTDRAW
;
14 typedef void DDSURFACEDESC
, DDCAPS
;
16 typedef DWORD RGBQUAD
;
18 typedef LONGLONG REFERENCE_TIME
;
32 } BITMAPINFOHEADER
, *PBITMAPINFOHEADER
, *LPBITMAPINFOHEADER
;
36 #define AMDDS_NONE 0x00
37 #define AMDDS_DCIPS 0x01
39 #define AMDDS_RGBOVR 0x04
40 #define AMDDS_YUVOVR 0x08
41 #define AMDDS_RGBOFF 0x10
42 #define AMDDS_YUVOFF 0x20
43 #define AMDDS_RGBFLP 0x40
44 #define AMDDS_YUVFLP 0x80
45 #define AMDDS_ALL 0xFF
46 #define AMDDS_DEFAULT AMDDS_ALL
47 #define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
48 #define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
49 #define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
50 #ifndef __IDirectDrawVideo_FWD_DEFINED__
51 #define __IDirectDrawVideo_FWD_DEFINED__
52 typedef struct IDirectDrawVideo IDirectDrawVideo
;
55 /*****************************************************************************
56 * IDirectDrawVideo interface
58 #ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
59 #define __IDirectDrawVideo_INTERFACE_DEFINED__
61 #if defined(__cplusplus) && !defined(CINTERFACE)
62 struct IDirectDrawVideo
: public IUnknown
64 virtual HRESULT STDMETHODCALLTYPE
GetSwitches(
65 DWORD
* pSwitches
) = 0;
67 virtual HRESULT STDMETHODCALLTYPE
SetSwitches(
70 virtual HRESULT STDMETHODCALLTYPE
GetCaps(
73 virtual HRESULT STDMETHODCALLTYPE
GetEmulatedCaps(
76 virtual HRESULT STDMETHODCALLTYPE
GetSurfaceDesc(
77 DDSURFACEDESC
* pSurfaceDesc
) = 0;
79 virtual HRESULT STDMETHODCALLTYPE
GetFourCCCodes(
83 virtual HRESULT STDMETHODCALLTYPE
SetDirectDraw(
84 LPDIRECTDRAW pDirectDraw
) = 0;
86 virtual HRESULT STDMETHODCALLTYPE
GetDirectDraw(
87 LPDIRECTDRAW
* ppDirectDraw
) = 0;
89 virtual HRESULT STDMETHODCALLTYPE
GetSurfaceType(
90 DWORD
* pSurfaceType
) = 0;
92 virtual HRESULT STDMETHODCALLTYPE
SetDefault(
95 virtual HRESULT STDMETHODCALLTYPE
UseScanLine(
96 long UseScanLine
) = 0;
98 virtual HRESULT STDMETHODCALLTYPE
CanUseScanLine(
99 long* UseScanLine
) = 0;
101 virtual HRESULT STDMETHODCALLTYPE
UseOverlayStretch(
102 long UseOverlayStretch
) = 0;
104 virtual HRESULT STDMETHODCALLTYPE
CanUseOverlayStretch(
105 long* UseOverlayStretch
) = 0;
107 virtual HRESULT STDMETHODCALLTYPE
UseWhenFullScreen(
108 long UseWhenFullScreen
) = 0;
110 virtual HRESULT STDMETHODCALLTYPE
WillUseFullScreen(
111 long* UseWhenFullScreen
) = 0;
115 typedef struct IDirectDrawVideoVtbl IDirectDrawVideoVtbl
;
116 struct IDirectDrawVideo
{
117 const IDirectDrawVideoVtbl
* lpVtbl
;
119 struct IDirectDrawVideoVtbl
{
120 ICOM_MSVTABLE_COMPAT_FIELDS
122 /*** IUnknown methods ***/
123 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
124 IDirectDrawVideo
* This
,
128 ULONG (STDMETHODCALLTYPE
*AddRef
)(
129 IDirectDrawVideo
* This
);
131 ULONG (STDMETHODCALLTYPE
*Release
)(
132 IDirectDrawVideo
* This
);
134 /*** IDirectDrawVideo methods ***/
135 HRESULT (STDMETHODCALLTYPE
*GetSwitches
)(
136 IDirectDrawVideo
* This
,
139 HRESULT (STDMETHODCALLTYPE
*SetSwitches
)(
140 IDirectDrawVideo
* This
,
143 HRESULT (STDMETHODCALLTYPE
*GetCaps
)(
144 IDirectDrawVideo
* This
,
147 HRESULT (STDMETHODCALLTYPE
*GetEmulatedCaps
)(
148 IDirectDrawVideo
* This
,
151 HRESULT (STDMETHODCALLTYPE
*GetSurfaceDesc
)(
152 IDirectDrawVideo
* This
,
153 DDSURFACEDESC
* pSurfaceDesc
);
155 HRESULT (STDMETHODCALLTYPE
*GetFourCCCodes
)(
156 IDirectDrawVideo
* This
,
160 HRESULT (STDMETHODCALLTYPE
*SetDirectDraw
)(
161 IDirectDrawVideo
* This
,
162 LPDIRECTDRAW pDirectDraw
);
164 HRESULT (STDMETHODCALLTYPE
*GetDirectDraw
)(
165 IDirectDrawVideo
* This
,
166 LPDIRECTDRAW
* ppDirectDraw
);
168 HRESULT (STDMETHODCALLTYPE
*GetSurfaceType
)(
169 IDirectDrawVideo
* This
,
170 DWORD
* pSurfaceType
);
172 HRESULT (STDMETHODCALLTYPE
*SetDefault
)(
173 IDirectDrawVideo
* This
);
175 HRESULT (STDMETHODCALLTYPE
*UseScanLine
)(
176 IDirectDrawVideo
* This
,
179 HRESULT (STDMETHODCALLTYPE
*CanUseScanLine
)(
180 IDirectDrawVideo
* This
,
183 HRESULT (STDMETHODCALLTYPE
*UseOverlayStretch
)(
184 IDirectDrawVideo
* This
,
185 long UseOverlayStretch
);
187 HRESULT (STDMETHODCALLTYPE
*CanUseOverlayStretch
)(
188 IDirectDrawVideo
* This
,
189 long* UseOverlayStretch
);
191 HRESULT (STDMETHODCALLTYPE
*UseWhenFullScreen
)(
192 IDirectDrawVideo
* This
,
193 long UseWhenFullScreen
);
195 HRESULT (STDMETHODCALLTYPE
*WillUseFullScreen
)(
196 IDirectDrawVideo
* This
,
197 long* UseWhenFullScreen
);
201 /*** IUnknown methods ***/
202 #define IDirectDrawVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
203 #define IDirectDrawVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
204 #define IDirectDrawVideo_Release(p) (p)->lpVtbl->Release(p)
205 /*** IDirectDrawVideo methods ***/
206 #define IDirectDrawVideo_GetSwitches(p,a) (p)->lpVtbl->GetSwitches(p,a)
207 #define IDirectDrawVideo_SetSwitches(p,a) (p)->lpVtbl->SetSwitches(p,a)
208 #define IDirectDrawVideo_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
209 #define IDirectDrawVideo_GetEmulatedCaps(p,a) (p)->lpVtbl->GetEmulatedCaps(p,a)
210 #define IDirectDrawVideo_GetSurfaceDesc(p,a) (p)->lpVtbl->GetSurfaceDesc(p,a)
211 #define IDirectDrawVideo_GetFourCCCodes(p,a,b) (p)->lpVtbl->GetFourCCCodes(p,a,b)
212 #define IDirectDrawVideo_SetDirectDraw(p,a) (p)->lpVtbl->SetDirectDraw(p,a)
213 #define IDirectDrawVideo_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a)
214 #define IDirectDrawVideo_GetSurfaceType(p,a) (p)->lpVtbl->GetSurfaceType(p,a)
215 #define IDirectDrawVideo_SetDefault(p) (p)->lpVtbl->SetDefault(p)
216 #define IDirectDrawVideo_UseScanLine(p,a) (p)->lpVtbl->UseScanLine(p,a)
217 #define IDirectDrawVideo_CanUseScanLine(p,a) (p)->lpVtbl->CanUseScanLine(p,a)
218 #define IDirectDrawVideo_UseOverlayStretch(p,a) (p)->lpVtbl->UseOverlayStretch(p,a)
219 #define IDirectDrawVideo_CanUseOverlayStretch(p,a) (p)->lpVtbl->CanUseOverlayStretch(p,a)
220 #define IDirectDrawVideo_UseWhenFullScreen(p,a) (p)->lpVtbl->UseWhenFullScreen(p,a)
221 #define IDirectDrawVideo_WillUseFullScreen(p,a) (p)->lpVtbl->WillUseFullScreen(p,a)
225 #define IDirectDrawVideo_METHODS \
226 ICOM_MSVTABLE_COMPAT_FIELDS \
227 /*** IUnknown methods ***/ \
228 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
229 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
230 STDMETHOD_(ULONG,Release)(THIS) PURE; \
231 /*** IDirectDrawVideo methods ***/ \
232 STDMETHOD_(HRESULT,GetSwitches)(THIS_ DWORD* pSwitches) PURE; \
233 STDMETHOD_(HRESULT,SetSwitches)(THIS_ DWORD Switches) PURE; \
234 STDMETHOD_(HRESULT,GetCaps)(THIS_ DDCAPS* pCaps) PURE; \
235 STDMETHOD_(HRESULT,GetEmulatedCaps)(THIS_ DDCAPS* pCaps) PURE; \
236 STDMETHOD_(HRESULT,GetSurfaceDesc)(THIS_ DDSURFACEDESC* pSurfaceDesc) PURE; \
237 STDMETHOD_(HRESULT,GetFourCCCodes)(THIS_ DWORD* pCount, DWORD* pCodes) PURE; \
238 STDMETHOD_(HRESULT,SetDirectDraw)(THIS_ LPDIRECTDRAW pDirectDraw) PURE; \
239 STDMETHOD_(HRESULT,GetDirectDraw)(THIS_ LPDIRECTDRAW* ppDirectDraw) PURE; \
240 STDMETHOD_(HRESULT,GetSurfaceType)(THIS_ DWORD* pSurfaceType) PURE; \
241 STDMETHOD_(HRESULT,SetDefault)(THIS) PURE; \
242 STDMETHOD_(HRESULT,UseScanLine)(THIS_ long UseScanLine) PURE; \
243 STDMETHOD_(HRESULT,CanUseScanLine)(THIS_ long* UseScanLine) PURE; \
244 STDMETHOD_(HRESULT,UseOverlayStretch)(THIS_ long UseOverlayStretch) PURE; \
245 STDMETHOD_(HRESULT,CanUseOverlayStretch)(THIS_ long* UseOverlayStretch) PURE; \
246 STDMETHOD_(HRESULT,UseWhenFullScreen)(THIS_ long UseWhenFullScreen) PURE; \
247 STDMETHOD_(HRESULT,WillUseFullScreen)(THIS_ long* UseWhenFullScreen) PURE;
249 HRESULT CALLBACK
IDirectDrawVideo_GetSwitches_Proxy(
250 IDirectDrawVideo
* This
,
252 void __RPC_STUB
IDirectDrawVideo_GetSwitches_Stub(
253 struct IRpcStubBuffer
* This
,
254 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
255 PRPC_MESSAGE pRpcMessage
,
256 DWORD
* pdwStubPhase
);
257 HRESULT CALLBACK
IDirectDrawVideo_SetSwitches_Proxy(
258 IDirectDrawVideo
* This
,
260 void __RPC_STUB
IDirectDrawVideo_SetSwitches_Stub(
261 struct IRpcStubBuffer
* This
,
262 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
263 PRPC_MESSAGE pRpcMessage
,
264 DWORD
* pdwStubPhase
);
265 HRESULT CALLBACK
IDirectDrawVideo_GetCaps_Proxy(
266 IDirectDrawVideo
* This
,
268 void __RPC_STUB
IDirectDrawVideo_GetCaps_Stub(
269 struct IRpcStubBuffer
* This
,
270 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
271 PRPC_MESSAGE pRpcMessage
,
272 DWORD
* pdwStubPhase
);
273 HRESULT CALLBACK
IDirectDrawVideo_GetEmulatedCaps_Proxy(
274 IDirectDrawVideo
* This
,
276 void __RPC_STUB
IDirectDrawVideo_GetEmulatedCaps_Stub(
277 struct IRpcStubBuffer
* This
,
278 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
279 PRPC_MESSAGE pRpcMessage
,
280 DWORD
* pdwStubPhase
);
281 HRESULT CALLBACK
IDirectDrawVideo_GetSurfaceDesc_Proxy(
282 IDirectDrawVideo
* This
,
283 DDSURFACEDESC
* pSurfaceDesc
);
284 void __RPC_STUB
IDirectDrawVideo_GetSurfaceDesc_Stub(
285 struct IRpcStubBuffer
* This
,
286 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
287 PRPC_MESSAGE pRpcMessage
,
288 DWORD
* pdwStubPhase
);
289 HRESULT CALLBACK
IDirectDrawVideo_GetFourCCCodes_Proxy(
290 IDirectDrawVideo
* This
,
293 void __RPC_STUB
IDirectDrawVideo_GetFourCCCodes_Stub(
294 struct IRpcStubBuffer
* This
,
295 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
296 PRPC_MESSAGE pRpcMessage
,
297 DWORD
* pdwStubPhase
);
298 HRESULT CALLBACK
IDirectDrawVideo_SetDirectDraw_Proxy(
299 IDirectDrawVideo
* This
,
300 LPDIRECTDRAW pDirectDraw
);
301 void __RPC_STUB
IDirectDrawVideo_SetDirectDraw_Stub(
302 struct IRpcStubBuffer
* This
,
303 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
304 PRPC_MESSAGE pRpcMessage
,
305 DWORD
* pdwStubPhase
);
306 HRESULT CALLBACK
IDirectDrawVideo_GetDirectDraw_Proxy(
307 IDirectDrawVideo
* This
,
308 LPDIRECTDRAW
* ppDirectDraw
);
309 void __RPC_STUB
IDirectDrawVideo_GetDirectDraw_Stub(
310 struct IRpcStubBuffer
* This
,
311 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
312 PRPC_MESSAGE pRpcMessage
,
313 DWORD
* pdwStubPhase
);
314 HRESULT CALLBACK
IDirectDrawVideo_GetSurfaceType_Proxy(
315 IDirectDrawVideo
* This
,
316 DWORD
* pSurfaceType
);
317 void __RPC_STUB
IDirectDrawVideo_GetSurfaceType_Stub(
318 struct IRpcStubBuffer
* This
,
319 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
320 PRPC_MESSAGE pRpcMessage
,
321 DWORD
* pdwStubPhase
);
322 HRESULT CALLBACK
IDirectDrawVideo_SetDefault_Proxy(
323 IDirectDrawVideo
* This
);
324 void __RPC_STUB
IDirectDrawVideo_SetDefault_Stub(
325 struct IRpcStubBuffer
* This
,
326 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
327 PRPC_MESSAGE pRpcMessage
,
328 DWORD
* pdwStubPhase
);
329 HRESULT CALLBACK
IDirectDrawVideo_UseScanLine_Proxy(
330 IDirectDrawVideo
* This
,
332 void __RPC_STUB
IDirectDrawVideo_UseScanLine_Stub(
333 struct IRpcStubBuffer
* This
,
334 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
335 PRPC_MESSAGE pRpcMessage
,
336 DWORD
* pdwStubPhase
);
337 HRESULT CALLBACK
IDirectDrawVideo_CanUseScanLine_Proxy(
338 IDirectDrawVideo
* This
,
340 void __RPC_STUB
IDirectDrawVideo_CanUseScanLine_Stub(
341 struct IRpcStubBuffer
* This
,
342 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
343 PRPC_MESSAGE pRpcMessage
,
344 DWORD
* pdwStubPhase
);
345 HRESULT CALLBACK
IDirectDrawVideo_UseOverlayStretch_Proxy(
346 IDirectDrawVideo
* This
,
347 long UseOverlayStretch
);
348 void __RPC_STUB
IDirectDrawVideo_UseOverlayStretch_Stub(
349 struct IRpcStubBuffer
* This
,
350 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
351 PRPC_MESSAGE pRpcMessage
,
352 DWORD
* pdwStubPhase
);
353 HRESULT CALLBACK
IDirectDrawVideo_CanUseOverlayStretch_Proxy(
354 IDirectDrawVideo
* This
,
355 long* UseOverlayStretch
);
356 void __RPC_STUB
IDirectDrawVideo_CanUseOverlayStretch_Stub(
357 struct IRpcStubBuffer
* This
,
358 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
359 PRPC_MESSAGE pRpcMessage
,
360 DWORD
* pdwStubPhase
);
361 HRESULT CALLBACK
IDirectDrawVideo_UseWhenFullScreen_Proxy(
362 IDirectDrawVideo
* This
,
363 long UseWhenFullScreen
);
364 void __RPC_STUB
IDirectDrawVideo_UseWhenFullScreen_Stub(
365 struct IRpcStubBuffer
* This
,
366 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
367 PRPC_MESSAGE pRpcMessage
,
368 DWORD
* pdwStubPhase
);
369 HRESULT CALLBACK
IDirectDrawVideo_WillUseFullScreen_Proxy(
370 IDirectDrawVideo
* This
,
371 long* UseWhenFullScreen
);
372 void __RPC_STUB
IDirectDrawVideo_WillUseFullScreen_Stub(
373 struct IRpcStubBuffer
* This
,
374 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
375 PRPC_MESSAGE pRpcMessage
,
376 DWORD
* pdwStubPhase
);
378 #endif /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
380 #ifndef __IQualProp_FWD_DEFINED__
381 #define __IQualProp_FWD_DEFINED__
382 typedef struct IQualProp IQualProp
;
385 /*****************************************************************************
386 * IQualProp interface
388 #ifndef __IQualProp_INTERFACE_DEFINED__
389 #define __IQualProp_INTERFACE_DEFINED__
391 #if defined(__cplusplus) && !defined(CINTERFACE)
392 struct IQualProp
: public IUnknown
394 virtual HRESULT STDMETHODCALLTYPE
get_FramesDroppedInRenderer(
397 virtual HRESULT STDMETHODCALLTYPE
get_FramesDrawn(
398 int* pcFramesDrawn
) = 0;
400 virtual HRESULT STDMETHODCALLTYPE
get_AvgFrameRate(
401 int* piAvgFrameRate
) = 0;
403 virtual HRESULT STDMETHODCALLTYPE
get_Jitter(
406 virtual HRESULT STDMETHODCALLTYPE
get_AvgSyncOffset(
409 virtual HRESULT STDMETHODCALLTYPE
get_DevSyncOffset(
414 typedef struct IQualPropVtbl IQualPropVtbl
;
416 const IQualPropVtbl
* lpVtbl
;
418 struct IQualPropVtbl
{
419 ICOM_MSVTABLE_COMPAT_FIELDS
421 /*** IUnknown methods ***/
422 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
427 ULONG (STDMETHODCALLTYPE
*AddRef
)(
430 ULONG (STDMETHODCALLTYPE
*Release
)(
433 /*** IQualProp methods ***/
434 HRESULT (STDMETHODCALLTYPE
*get_FramesDroppedInRenderer
)(
438 HRESULT (STDMETHODCALLTYPE
*get_FramesDrawn
)(
442 HRESULT (STDMETHODCALLTYPE
*get_AvgFrameRate
)(
444 int* piAvgFrameRate
);
446 HRESULT (STDMETHODCALLTYPE
*get_Jitter
)(
450 HRESULT (STDMETHODCALLTYPE
*get_AvgSyncOffset
)(
454 HRESULT (STDMETHODCALLTYPE
*get_DevSyncOffset
)(
460 /*** IUnknown methods ***/
461 #define IQualProp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
462 #define IQualProp_AddRef(p) (p)->lpVtbl->AddRef(p)
463 #define IQualProp_Release(p) (p)->lpVtbl->Release(p)
464 /*** IQualProp methods ***/
465 #define IQualProp_get_FramesDroppedInRenderer(p,a) (p)->lpVtbl->get_FramesDroppedInRenderer(p,a)
466 #define IQualProp_get_FramesDrawn(p,a) (p)->lpVtbl->get_FramesDrawn(p,a)
467 #define IQualProp_get_AvgFrameRate(p,a) (p)->lpVtbl->get_AvgFrameRate(p,a)
468 #define IQualProp_get_Jitter(p,a) (p)->lpVtbl->get_Jitter(p,a)
469 #define IQualProp_get_AvgSyncOffset(p,a) (p)->lpVtbl->get_AvgSyncOffset(p,a)
470 #define IQualProp_get_DevSyncOffset(p,a) (p)->lpVtbl->get_DevSyncOffset(p,a)
474 #define IQualProp_METHODS \
475 ICOM_MSVTABLE_COMPAT_FIELDS \
476 /*** IUnknown methods ***/ \
477 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
478 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
479 STDMETHOD_(ULONG,Release)(THIS) PURE; \
480 /*** IQualProp methods ***/ \
481 STDMETHOD_(HRESULT,get_FramesDroppedInRenderer)(THIS_ int* pcFrames) PURE; \
482 STDMETHOD_(HRESULT,get_FramesDrawn)(THIS_ int* pcFramesDrawn) PURE; \
483 STDMETHOD_(HRESULT,get_AvgFrameRate)(THIS_ int* piAvgFrameRate) PURE; \
484 STDMETHOD_(HRESULT,get_Jitter)(THIS_ int* iJitter) PURE; \
485 STDMETHOD_(HRESULT,get_AvgSyncOffset)(THIS_ int* piAvg) PURE; \
486 STDMETHOD_(HRESULT,get_DevSyncOffset)(THIS_ int* piDev) PURE;
488 HRESULT CALLBACK
IQualProp_get_FramesDroppedInRenderer_Proxy(
491 void __RPC_STUB
IQualProp_get_FramesDroppedInRenderer_Stub(
492 struct IRpcStubBuffer
* This
,
493 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
494 PRPC_MESSAGE pRpcMessage
,
495 DWORD
* pdwStubPhase
);
496 HRESULT CALLBACK
IQualProp_get_FramesDrawn_Proxy(
499 void __RPC_STUB
IQualProp_get_FramesDrawn_Stub(
500 struct IRpcStubBuffer
* This
,
501 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
502 PRPC_MESSAGE pRpcMessage
,
503 DWORD
* pdwStubPhase
);
504 HRESULT CALLBACK
IQualProp_get_AvgFrameRate_Proxy(
506 int* piAvgFrameRate
);
507 void __RPC_STUB
IQualProp_get_AvgFrameRate_Stub(
508 struct IRpcStubBuffer
* This
,
509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
510 PRPC_MESSAGE pRpcMessage
,
511 DWORD
* pdwStubPhase
);
512 HRESULT CALLBACK
IQualProp_get_Jitter_Proxy(
515 void __RPC_STUB
IQualProp_get_Jitter_Stub(
516 struct IRpcStubBuffer
* This
,
517 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
518 PRPC_MESSAGE pRpcMessage
,
519 DWORD
* pdwStubPhase
);
520 HRESULT CALLBACK
IQualProp_get_AvgSyncOffset_Proxy(
523 void __RPC_STUB
IQualProp_get_AvgSyncOffset_Stub(
524 struct IRpcStubBuffer
* This
,
525 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
526 PRPC_MESSAGE pRpcMessage
,
527 DWORD
* pdwStubPhase
);
528 HRESULT CALLBACK
IQualProp_get_DevSyncOffset_Proxy(
531 void __RPC_STUB
IQualProp_get_DevSyncOffset_Stub(
532 struct IRpcStubBuffer
* This
,
533 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
534 PRPC_MESSAGE pRpcMessage
,
535 DWORD
* pdwStubPhase
);
537 #endif /* __IQualProp_INTERFACE_DEFINED__ */
539 #ifndef __IFullScreenVideo_FWD_DEFINED__
540 #define __IFullScreenVideo_FWD_DEFINED__
541 typedef struct IFullScreenVideo IFullScreenVideo
;
544 /*****************************************************************************
545 * IFullScreenVideo interface
547 #ifndef __IFullScreenVideo_INTERFACE_DEFINED__
548 #define __IFullScreenVideo_INTERFACE_DEFINED__
550 #if defined(__cplusplus) && !defined(CINTERFACE)
551 struct IFullScreenVideo
: public IUnknown
553 virtual HRESULT STDMETHODCALLTYPE
CountModes(
556 virtual HRESULT STDMETHODCALLTYPE
GetModeInfo(
562 virtual HRESULT STDMETHODCALLTYPE
GetCurrentMode(
565 virtual HRESULT STDMETHODCALLTYPE
IsModeAvailable(
568 virtual HRESULT STDMETHODCALLTYPE
IsModeEnabled(
571 virtual HRESULT STDMETHODCALLTYPE
SetEnabled(
575 virtual HRESULT STDMETHODCALLTYPE
GetClipFactor(
576 long* pClipFactor
) = 0;
578 virtual HRESULT STDMETHODCALLTYPE
SetClipFactor(
579 long ClipFactor
) = 0;
581 virtual HRESULT STDMETHODCALLTYPE
SetMessageDrain(
584 virtual HRESULT STDMETHODCALLTYPE
GetMessageDrain(
587 virtual HRESULT STDMETHODCALLTYPE
SetMonitor(
590 virtual HRESULT STDMETHODCALLTYPE
GetMonitor(
593 virtual HRESULT STDMETHODCALLTYPE
HideOnDeactivate(
596 virtual HRESULT STDMETHODCALLTYPE
IsHideOnDeactivate(
599 virtual HRESULT STDMETHODCALLTYPE
SetCaption(
600 BSTR strCaption
) = 0;
602 virtual HRESULT STDMETHODCALLTYPE
GetCaption(
603 BSTR
* pstrCaption
) = 0;
605 virtual HRESULT STDMETHODCALLTYPE
SetDefault(
610 typedef struct IFullScreenVideoVtbl IFullScreenVideoVtbl
;
611 struct IFullScreenVideo
{
612 const IFullScreenVideoVtbl
* lpVtbl
;
614 struct IFullScreenVideoVtbl
{
615 ICOM_MSVTABLE_COMPAT_FIELDS
617 /*** IUnknown methods ***/
618 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
619 IFullScreenVideo
* This
,
623 ULONG (STDMETHODCALLTYPE
*AddRef
)(
624 IFullScreenVideo
* This
);
626 ULONG (STDMETHODCALLTYPE
*Release
)(
627 IFullScreenVideo
* This
);
629 /*** IFullScreenVideo methods ***/
630 HRESULT (STDMETHODCALLTYPE
*CountModes
)(
631 IFullScreenVideo
* This
,
634 HRESULT (STDMETHODCALLTYPE
*GetModeInfo
)(
635 IFullScreenVideo
* This
,
641 HRESULT (STDMETHODCALLTYPE
*GetCurrentMode
)(
642 IFullScreenVideo
* This
,
645 HRESULT (STDMETHODCALLTYPE
*IsModeAvailable
)(
646 IFullScreenVideo
* This
,
649 HRESULT (STDMETHODCALLTYPE
*IsModeEnabled
)(
650 IFullScreenVideo
* This
,
653 HRESULT (STDMETHODCALLTYPE
*SetEnabled
)(
654 IFullScreenVideo
* This
,
658 HRESULT (STDMETHODCALLTYPE
*GetClipFactor
)(
659 IFullScreenVideo
* This
,
662 HRESULT (STDMETHODCALLTYPE
*SetClipFactor
)(
663 IFullScreenVideo
* This
,
666 HRESULT (STDMETHODCALLTYPE
*SetMessageDrain
)(
667 IFullScreenVideo
* This
,
670 HRESULT (STDMETHODCALLTYPE
*GetMessageDrain
)(
671 IFullScreenVideo
* This
,
674 HRESULT (STDMETHODCALLTYPE
*SetMonitor
)(
675 IFullScreenVideo
* This
,
678 HRESULT (STDMETHODCALLTYPE
*GetMonitor
)(
679 IFullScreenVideo
* This
,
682 HRESULT (STDMETHODCALLTYPE
*HideOnDeactivate
)(
683 IFullScreenVideo
* This
,
686 HRESULT (STDMETHODCALLTYPE
*IsHideOnDeactivate
)(
687 IFullScreenVideo
* This
);
689 HRESULT (STDMETHODCALLTYPE
*SetCaption
)(
690 IFullScreenVideo
* This
,
693 HRESULT (STDMETHODCALLTYPE
*GetCaption
)(
694 IFullScreenVideo
* This
,
697 HRESULT (STDMETHODCALLTYPE
*SetDefault
)(
698 IFullScreenVideo
* This
);
702 /*** IUnknown methods ***/
703 #define IFullScreenVideo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
704 #define IFullScreenVideo_AddRef(p) (p)->lpVtbl->AddRef(p)
705 #define IFullScreenVideo_Release(p) (p)->lpVtbl->Release(p)
706 /*** IFullScreenVideo methods ***/
707 #define IFullScreenVideo_CountModes(p,a) (p)->lpVtbl->CountModes(p,a)
708 #define IFullScreenVideo_GetModeInfo(p,a,b,c,d) (p)->lpVtbl->GetModeInfo(p,a,b,c,d)
709 #define IFullScreenVideo_GetCurrentMode(p,a) (p)->lpVtbl->GetCurrentMode(p,a)
710 #define IFullScreenVideo_IsModeAvailable(p,a) (p)->lpVtbl->IsModeAvailable(p,a)
711 #define IFullScreenVideo_IsModeEnabled(p,a) (p)->lpVtbl->IsModeEnabled(p,a)
712 #define IFullScreenVideo_SetEnabled(p,a,b) (p)->lpVtbl->SetEnabled(p,a,b)
713 #define IFullScreenVideo_GetClipFactor(p,a) (p)->lpVtbl->GetClipFactor(p,a)
714 #define IFullScreenVideo_SetClipFactor(p,a) (p)->lpVtbl->SetClipFactor(p,a)
715 #define IFullScreenVideo_SetMessageDrain(p,a) (p)->lpVtbl->SetMessageDrain(p,a)
716 #define IFullScreenVideo_GetMessageDrain(p,a) (p)->lpVtbl->GetMessageDrain(p,a)
717 #define IFullScreenVideo_SetMonitor(p,a) (p)->lpVtbl->SetMonitor(p,a)
718 #define IFullScreenVideo_GetMonitor(p,a) (p)->lpVtbl->GetMonitor(p,a)
719 #define IFullScreenVideo_HideOnDeactivate(p,a) (p)->lpVtbl->HideOnDeactivate(p,a)
720 #define IFullScreenVideo_IsHideOnDeactivate(p) (p)->lpVtbl->IsHideOnDeactivate(p)
721 #define IFullScreenVideo_SetCaption(p,a) (p)->lpVtbl->SetCaption(p,a)
722 #define IFullScreenVideo_GetCaption(p,a) (p)->lpVtbl->GetCaption(p,a)
723 #define IFullScreenVideo_SetDefault(p) (p)->lpVtbl->SetDefault(p)
727 #define IFullScreenVideo_METHODS \
728 ICOM_MSVTABLE_COMPAT_FIELDS \
729 /*** IUnknown methods ***/ \
730 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
731 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
732 STDMETHOD_(ULONG,Release)(THIS) PURE; \
733 /*** IFullScreenVideo methods ***/ \
734 STDMETHOD_(HRESULT,CountModes)(THIS_ long* pModes) PURE; \
735 STDMETHOD_(HRESULT,GetModeInfo)(THIS_ long Mode, long* pWidth, long* pHeight, long* pDepth) PURE; \
736 STDMETHOD_(HRESULT,GetCurrentMode)(THIS_ long* pMode) PURE; \
737 STDMETHOD_(HRESULT,IsModeAvailable)(THIS_ long Mode) PURE; \
738 STDMETHOD_(HRESULT,IsModeEnabled)(THIS_ long Mode) PURE; \
739 STDMETHOD_(HRESULT,SetEnabled)(THIS_ long Mode, long bEnabled) PURE; \
740 STDMETHOD_(HRESULT,GetClipFactor)(THIS_ long* pClipFactor) PURE; \
741 STDMETHOD_(HRESULT,SetClipFactor)(THIS_ long ClipFactor) PURE; \
742 STDMETHOD_(HRESULT,SetMessageDrain)(THIS_ HWND hwnd) PURE; \
743 STDMETHOD_(HRESULT,GetMessageDrain)(THIS_ HWND* hwnd) PURE; \
744 STDMETHOD_(HRESULT,SetMonitor)(THIS_ long Monitor) PURE; \
745 STDMETHOD_(HRESULT,GetMonitor)(THIS_ long* Monitor) PURE; \
746 STDMETHOD_(HRESULT,HideOnDeactivate)(THIS_ long Hide) PURE; \
747 STDMETHOD_(HRESULT,IsHideOnDeactivate)(THIS) PURE; \
748 STDMETHOD_(HRESULT,SetCaption)(THIS_ BSTR strCaption) PURE; \
749 STDMETHOD_(HRESULT,GetCaption)(THIS_ BSTR* pstrCaption) PURE; \
750 STDMETHOD_(HRESULT,SetDefault)(THIS) PURE;
752 HRESULT CALLBACK
IFullScreenVideo_CountModes_Proxy(
753 IFullScreenVideo
* This
,
755 void __RPC_STUB
IFullScreenVideo_CountModes_Stub(
756 struct IRpcStubBuffer
* This
,
757 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
758 PRPC_MESSAGE pRpcMessage
,
759 DWORD
* pdwStubPhase
);
760 HRESULT CALLBACK
IFullScreenVideo_GetModeInfo_Proxy(
761 IFullScreenVideo
* This
,
766 void __RPC_STUB
IFullScreenVideo_GetModeInfo_Stub(
767 struct IRpcStubBuffer
* This
,
768 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
769 PRPC_MESSAGE pRpcMessage
,
770 DWORD
* pdwStubPhase
);
771 HRESULT CALLBACK
IFullScreenVideo_GetCurrentMode_Proxy(
772 IFullScreenVideo
* This
,
774 void __RPC_STUB
IFullScreenVideo_GetCurrentMode_Stub(
775 struct IRpcStubBuffer
* This
,
776 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
777 PRPC_MESSAGE pRpcMessage
,
778 DWORD
* pdwStubPhase
);
779 HRESULT CALLBACK
IFullScreenVideo_IsModeAvailable_Proxy(
780 IFullScreenVideo
* This
,
782 void __RPC_STUB
IFullScreenVideo_IsModeAvailable_Stub(
783 struct IRpcStubBuffer
* This
,
784 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
785 PRPC_MESSAGE pRpcMessage
,
786 DWORD
* pdwStubPhase
);
787 HRESULT CALLBACK
IFullScreenVideo_IsModeEnabled_Proxy(
788 IFullScreenVideo
* This
,
790 void __RPC_STUB
IFullScreenVideo_IsModeEnabled_Stub(
791 struct IRpcStubBuffer
* This
,
792 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
793 PRPC_MESSAGE pRpcMessage
,
794 DWORD
* pdwStubPhase
);
795 HRESULT CALLBACK
IFullScreenVideo_SetEnabled_Proxy(
796 IFullScreenVideo
* This
,
799 void __RPC_STUB
IFullScreenVideo_SetEnabled_Stub(
800 struct IRpcStubBuffer
* This
,
801 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
802 PRPC_MESSAGE pRpcMessage
,
803 DWORD
* pdwStubPhase
);
804 HRESULT CALLBACK
IFullScreenVideo_GetClipFactor_Proxy(
805 IFullScreenVideo
* This
,
807 void __RPC_STUB
IFullScreenVideo_GetClipFactor_Stub(
808 struct IRpcStubBuffer
* This
,
809 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
810 PRPC_MESSAGE pRpcMessage
,
811 DWORD
* pdwStubPhase
);
812 HRESULT CALLBACK
IFullScreenVideo_SetClipFactor_Proxy(
813 IFullScreenVideo
* This
,
815 void __RPC_STUB
IFullScreenVideo_SetClipFactor_Stub(
816 struct IRpcStubBuffer
* This
,
817 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
818 PRPC_MESSAGE pRpcMessage
,
819 DWORD
* pdwStubPhase
);
820 HRESULT CALLBACK
IFullScreenVideo_SetMessageDrain_Proxy(
821 IFullScreenVideo
* This
,
823 void __RPC_STUB
IFullScreenVideo_SetMessageDrain_Stub(
824 struct IRpcStubBuffer
* This
,
825 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
826 PRPC_MESSAGE pRpcMessage
,
827 DWORD
* pdwStubPhase
);
828 HRESULT CALLBACK
IFullScreenVideo_GetMessageDrain_Proxy(
829 IFullScreenVideo
* This
,
831 void __RPC_STUB
IFullScreenVideo_GetMessageDrain_Stub(
832 struct IRpcStubBuffer
* This
,
833 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
834 PRPC_MESSAGE pRpcMessage
,
835 DWORD
* pdwStubPhase
);
836 HRESULT CALLBACK
IFullScreenVideo_SetMonitor_Proxy(
837 IFullScreenVideo
* This
,
839 void __RPC_STUB
IFullScreenVideo_SetMonitor_Stub(
840 struct IRpcStubBuffer
* This
,
841 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
842 PRPC_MESSAGE pRpcMessage
,
843 DWORD
* pdwStubPhase
);
844 HRESULT CALLBACK
IFullScreenVideo_GetMonitor_Proxy(
845 IFullScreenVideo
* This
,
847 void __RPC_STUB
IFullScreenVideo_GetMonitor_Stub(
848 struct IRpcStubBuffer
* This
,
849 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
850 PRPC_MESSAGE pRpcMessage
,
851 DWORD
* pdwStubPhase
);
852 HRESULT CALLBACK
IFullScreenVideo_HideOnDeactivate_Proxy(
853 IFullScreenVideo
* This
,
855 void __RPC_STUB
IFullScreenVideo_HideOnDeactivate_Stub(
856 struct IRpcStubBuffer
* This
,
857 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
858 PRPC_MESSAGE pRpcMessage
,
859 DWORD
* pdwStubPhase
);
860 HRESULT CALLBACK
IFullScreenVideo_IsHideOnDeactivate_Proxy(
861 IFullScreenVideo
* This
);
862 void __RPC_STUB
IFullScreenVideo_IsHideOnDeactivate_Stub(
863 struct IRpcStubBuffer
* This
,
864 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
865 PRPC_MESSAGE pRpcMessage
,
866 DWORD
* pdwStubPhase
);
867 HRESULT CALLBACK
IFullScreenVideo_SetCaption_Proxy(
868 IFullScreenVideo
* This
,
870 void __RPC_STUB
IFullScreenVideo_SetCaption_Stub(
871 struct IRpcStubBuffer
* This
,
872 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
873 PRPC_MESSAGE pRpcMessage
,
874 DWORD
* pdwStubPhase
);
875 HRESULT CALLBACK
IFullScreenVideo_GetCaption_Proxy(
876 IFullScreenVideo
* This
,
878 void __RPC_STUB
IFullScreenVideo_GetCaption_Stub(
879 struct IRpcStubBuffer
* This
,
880 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
881 PRPC_MESSAGE pRpcMessage
,
882 DWORD
* pdwStubPhase
);
883 HRESULT CALLBACK
IFullScreenVideo_SetDefault_Proxy(
884 IFullScreenVideo
* This
);
885 void __RPC_STUB
IFullScreenVideo_SetDefault_Stub(
886 struct IRpcStubBuffer
* This
,
887 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
888 PRPC_MESSAGE pRpcMessage
,
889 DWORD
* pdwStubPhase
);
891 #endif /* __IFullScreenVideo_INTERFACE_DEFINED__ */
893 #ifndef __IFullScreenVideoEx_FWD_DEFINED__
894 #define __IFullScreenVideoEx_FWD_DEFINED__
895 typedef struct IFullScreenVideoEx IFullScreenVideoEx
;
898 /*****************************************************************************
899 * IFullScreenVideoEx interface
901 #ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
902 #define __IFullScreenVideoEx_INTERFACE_DEFINED__
904 #if defined(__cplusplus) && !defined(CINTERFACE)
905 struct IFullScreenVideoEx
: public IFullScreenVideo
907 virtual HRESULT STDMETHODCALLTYPE
SetAcceleratorTable(
911 virtual HRESULT STDMETHODCALLTYPE
GetAcceleratorTable(
913 HACCEL
* phAccel
) = 0;
915 virtual HRESULT STDMETHODCALLTYPE
KeepPixelAspectRatio(
916 long KeepAspect
) = 0;
918 virtual HRESULT STDMETHODCALLTYPE
IsKeepPixelAspectRatio(
919 long* pKeepAspect
) = 0;
923 typedef struct IFullScreenVideoExVtbl IFullScreenVideoExVtbl
;
924 struct IFullScreenVideoEx
{
925 const IFullScreenVideoExVtbl
* lpVtbl
;
927 struct IFullScreenVideoExVtbl
{
928 ICOM_MSVTABLE_COMPAT_FIELDS
930 /*** IUnknown methods ***/
931 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
932 IFullScreenVideoEx
* This
,
936 ULONG (STDMETHODCALLTYPE
*AddRef
)(
937 IFullScreenVideoEx
* This
);
939 ULONG (STDMETHODCALLTYPE
*Release
)(
940 IFullScreenVideoEx
* This
);
942 /*** IFullScreenVideo methods ***/
943 HRESULT (STDMETHODCALLTYPE
*CountModes
)(
944 IFullScreenVideoEx
* This
,
947 HRESULT (STDMETHODCALLTYPE
*GetModeInfo
)(
948 IFullScreenVideoEx
* This
,
954 HRESULT (STDMETHODCALLTYPE
*GetCurrentMode
)(
955 IFullScreenVideoEx
* This
,
958 HRESULT (STDMETHODCALLTYPE
*IsModeAvailable
)(
959 IFullScreenVideoEx
* This
,
962 HRESULT (STDMETHODCALLTYPE
*IsModeEnabled
)(
963 IFullScreenVideoEx
* This
,
966 HRESULT (STDMETHODCALLTYPE
*SetEnabled
)(
967 IFullScreenVideoEx
* This
,
971 HRESULT (STDMETHODCALLTYPE
*GetClipFactor
)(
972 IFullScreenVideoEx
* This
,
975 HRESULT (STDMETHODCALLTYPE
*SetClipFactor
)(
976 IFullScreenVideoEx
* This
,
979 HRESULT (STDMETHODCALLTYPE
*SetMessageDrain
)(
980 IFullScreenVideoEx
* This
,
983 HRESULT (STDMETHODCALLTYPE
*GetMessageDrain
)(
984 IFullScreenVideoEx
* This
,
987 HRESULT (STDMETHODCALLTYPE
*SetMonitor
)(
988 IFullScreenVideoEx
* This
,
991 HRESULT (STDMETHODCALLTYPE
*GetMonitor
)(
992 IFullScreenVideoEx
* This
,
995 HRESULT (STDMETHODCALLTYPE
*HideOnDeactivate
)(
996 IFullScreenVideoEx
* This
,
999 HRESULT (STDMETHODCALLTYPE
*IsHideOnDeactivate
)(
1000 IFullScreenVideoEx
* This
);
1002 HRESULT (STDMETHODCALLTYPE
*SetCaption
)(
1003 IFullScreenVideoEx
* This
,
1006 HRESULT (STDMETHODCALLTYPE
*GetCaption
)(
1007 IFullScreenVideoEx
* This
,
1010 HRESULT (STDMETHODCALLTYPE
*SetDefault
)(
1011 IFullScreenVideoEx
* This
);
1013 /*** IFullScreenVideoEx methods ***/
1014 HRESULT (STDMETHODCALLTYPE
*SetAcceleratorTable
)(
1015 IFullScreenVideoEx
* This
,
1019 HRESULT (STDMETHODCALLTYPE
*GetAcceleratorTable
)(
1020 IFullScreenVideoEx
* This
,
1024 HRESULT (STDMETHODCALLTYPE
*KeepPixelAspectRatio
)(
1025 IFullScreenVideoEx
* This
,
1028 HRESULT (STDMETHODCALLTYPE
*IsKeepPixelAspectRatio
)(
1029 IFullScreenVideoEx
* This
,
1034 /*** IUnknown methods ***/
1035 #define IFullScreenVideoEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1036 #define IFullScreenVideoEx_AddRef(p) (p)->lpVtbl->AddRef(p)
1037 #define IFullScreenVideoEx_Release(p) (p)->lpVtbl->Release(p)
1038 /*** IFullScreenVideo methods ***/
1039 #define IFullScreenVideoEx_CountModes(p,a) (p)->lpVtbl->CountModes(p,a)
1040 #define IFullScreenVideoEx_GetModeInfo(p,a,b,c,d) (p)->lpVtbl->GetModeInfo(p,a,b,c,d)
1041 #define IFullScreenVideoEx_GetCurrentMode(p,a) (p)->lpVtbl->GetCurrentMode(p,a)
1042 #define IFullScreenVideoEx_IsModeAvailable(p,a) (p)->lpVtbl->IsModeAvailable(p,a)
1043 #define IFullScreenVideoEx_IsModeEnabled(p,a) (p)->lpVtbl->IsModeEnabled(p,a)
1044 #define IFullScreenVideoEx_SetEnabled(p,a,b) (p)->lpVtbl->SetEnabled(p,a,b)
1045 #define IFullScreenVideoEx_GetClipFactor(p,a) (p)->lpVtbl->GetClipFactor(p,a)
1046 #define IFullScreenVideoEx_SetClipFactor(p,a) (p)->lpVtbl->SetClipFactor(p,a)
1047 #define IFullScreenVideoEx_SetMessageDrain(p,a) (p)->lpVtbl->SetMessageDrain(p,a)
1048 #define IFullScreenVideoEx_GetMessageDrain(p,a) (p)->lpVtbl->GetMessageDrain(p,a)
1049 #define IFullScreenVideoEx_SetMonitor(p,a) (p)->lpVtbl->SetMonitor(p,a)
1050 #define IFullScreenVideoEx_GetMonitor(p,a) (p)->lpVtbl->GetMonitor(p,a)
1051 #define IFullScreenVideoEx_HideOnDeactivate(p,a) (p)->lpVtbl->HideOnDeactivate(p,a)
1052 #define IFullScreenVideoEx_IsHideOnDeactivate(p) (p)->lpVtbl->IsHideOnDeactivate(p)
1053 #define IFullScreenVideoEx_SetCaption(p,a) (p)->lpVtbl->SetCaption(p,a)
1054 #define IFullScreenVideoEx_GetCaption(p,a) (p)->lpVtbl->GetCaption(p,a)
1055 #define IFullScreenVideoEx_SetDefault(p) (p)->lpVtbl->SetDefault(p)
1056 /*** IFullScreenVideoEx methods ***/
1057 #define IFullScreenVideoEx_SetAcceleratorTable(p,a,b) (p)->lpVtbl->SetAcceleratorTable(p,a,b)
1058 #define IFullScreenVideoEx_GetAcceleratorTable(p,a,b) (p)->lpVtbl->GetAcceleratorTable(p,a,b)
1059 #define IFullScreenVideoEx_KeepPixelAspectRatio(p,a) (p)->lpVtbl->KeepPixelAspectRatio(p,a)
1060 #define IFullScreenVideoEx_IsKeepPixelAspectRatio(p,a) (p)->lpVtbl->IsKeepPixelAspectRatio(p,a)
1064 #define IFullScreenVideoEx_METHODS \
1065 ICOM_MSVTABLE_COMPAT_FIELDS \
1066 /*** IUnknown methods ***/ \
1067 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1068 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1069 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1070 /*** IFullScreenVideo methods ***/ \
1071 STDMETHOD_(HRESULT,CountModes)(THIS_ long* pModes) PURE; \
1072 STDMETHOD_(HRESULT,GetModeInfo)(THIS_ long Mode, long* pWidth, long* pHeight, long* pDepth) PURE; \
1073 STDMETHOD_(HRESULT,GetCurrentMode)(THIS_ long* pMode) PURE; \
1074 STDMETHOD_(HRESULT,IsModeAvailable)(THIS_ long Mode) PURE; \
1075 STDMETHOD_(HRESULT,IsModeEnabled)(THIS_ long Mode) PURE; \
1076 STDMETHOD_(HRESULT,SetEnabled)(THIS_ long Mode, long bEnabled) PURE; \
1077 STDMETHOD_(HRESULT,GetClipFactor)(THIS_ long* pClipFactor) PURE; \
1078 STDMETHOD_(HRESULT,SetClipFactor)(THIS_ long ClipFactor) PURE; \
1079 STDMETHOD_(HRESULT,SetMessageDrain)(THIS_ HWND hwnd) PURE; \
1080 STDMETHOD_(HRESULT,GetMessageDrain)(THIS_ HWND* hwnd) PURE; \
1081 STDMETHOD_(HRESULT,SetMonitor)(THIS_ long Monitor) PURE; \
1082 STDMETHOD_(HRESULT,GetMonitor)(THIS_ long* Monitor) PURE; \
1083 STDMETHOD_(HRESULT,HideOnDeactivate)(THIS_ long Hide) PURE; \
1084 STDMETHOD_(HRESULT,IsHideOnDeactivate)(THIS) PURE; \
1085 STDMETHOD_(HRESULT,SetCaption)(THIS_ BSTR strCaption) PURE; \
1086 STDMETHOD_(HRESULT,GetCaption)(THIS_ BSTR* pstrCaption) PURE; \
1087 STDMETHOD_(HRESULT,SetDefault)(THIS) PURE; \
1088 /*** IFullScreenVideoEx methods ***/ \
1089 STDMETHOD_(HRESULT,SetAcceleratorTable)(THIS_ HWND hwnd, HACCEL hAccel) PURE; \
1090 STDMETHOD_(HRESULT,GetAcceleratorTable)(THIS_ HWND* phwnd, HACCEL* phAccel) PURE; \
1091 STDMETHOD_(HRESULT,KeepPixelAspectRatio)(THIS_ long KeepAspect) PURE; \
1092 STDMETHOD_(HRESULT,IsKeepPixelAspectRatio)(THIS_ long* pKeepAspect) PURE;
1094 HRESULT CALLBACK
IFullScreenVideoEx_SetAcceleratorTable_Proxy(
1095 IFullScreenVideoEx
* This
,
1098 void __RPC_STUB
IFullScreenVideoEx_SetAcceleratorTable_Stub(
1099 struct IRpcStubBuffer
* This
,
1100 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1101 PRPC_MESSAGE pRpcMessage
,
1102 DWORD
* pdwStubPhase
);
1103 HRESULT CALLBACK
IFullScreenVideoEx_GetAcceleratorTable_Proxy(
1104 IFullScreenVideoEx
* This
,
1107 void __RPC_STUB
IFullScreenVideoEx_GetAcceleratorTable_Stub(
1108 struct IRpcStubBuffer
* This
,
1109 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1110 PRPC_MESSAGE pRpcMessage
,
1111 DWORD
* pdwStubPhase
);
1112 HRESULT CALLBACK
IFullScreenVideoEx_KeepPixelAspectRatio_Proxy(
1113 IFullScreenVideoEx
* This
,
1115 void __RPC_STUB
IFullScreenVideoEx_KeepPixelAspectRatio_Stub(
1116 struct IRpcStubBuffer
* This
,
1117 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1118 PRPC_MESSAGE pRpcMessage
,
1119 DWORD
* pdwStubPhase
);
1120 HRESULT CALLBACK
IFullScreenVideoEx_IsKeepPixelAspectRatio_Proxy(
1121 IFullScreenVideoEx
* This
,
1123 void __RPC_STUB
IFullScreenVideoEx_IsKeepPixelAspectRatio_Stub(
1124 struct IRpcStubBuffer
* This
,
1125 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1126 PRPC_MESSAGE pRpcMessage
,
1127 DWORD
* pdwStubPhase
);
1129 #endif /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
1131 #ifndef __IBaseVideoMixer_FWD_DEFINED__
1132 #define __IBaseVideoMixer_FWD_DEFINED__
1133 typedef struct IBaseVideoMixer IBaseVideoMixer
;
1136 /*****************************************************************************
1137 * IBaseVideoMixer interface
1139 #ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
1140 #define __IBaseVideoMixer_INTERFACE_DEFINED__
1142 #if defined(__cplusplus) && !defined(CINTERFACE)
1143 struct IBaseVideoMixer
: public IUnknown
1145 virtual HRESULT STDMETHODCALLTYPE
SetLeadPin(
1148 virtual HRESULT STDMETHODCALLTYPE
GetLeadPin(
1151 virtual HRESULT STDMETHODCALLTYPE
GetInputPinCount(
1152 int* piPinCount
) = 0;
1154 virtual HRESULT STDMETHODCALLTYPE
IsUsingClock(
1157 virtual HRESULT STDMETHODCALLTYPE
SetUsingClock(
1160 virtual HRESULT STDMETHODCALLTYPE
GetClockPeriod(
1163 virtual HRESULT STDMETHODCALLTYPE
SetClockPeriod(
1168 typedef struct IBaseVideoMixerVtbl IBaseVideoMixerVtbl
;
1169 struct IBaseVideoMixer
{
1170 const IBaseVideoMixerVtbl
* lpVtbl
;
1172 struct IBaseVideoMixerVtbl
{
1173 ICOM_MSVTABLE_COMPAT_FIELDS
1175 /*** IUnknown methods ***/
1176 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1177 IBaseVideoMixer
* This
,
1181 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1182 IBaseVideoMixer
* This
);
1184 ULONG (STDMETHODCALLTYPE
*Release
)(
1185 IBaseVideoMixer
* This
);
1187 /*** IBaseVideoMixer methods ***/
1188 HRESULT (STDMETHODCALLTYPE
*SetLeadPin
)(
1189 IBaseVideoMixer
* This
,
1192 HRESULT (STDMETHODCALLTYPE
*GetLeadPin
)(
1193 IBaseVideoMixer
* This
,
1196 HRESULT (STDMETHODCALLTYPE
*GetInputPinCount
)(
1197 IBaseVideoMixer
* This
,
1200 HRESULT (STDMETHODCALLTYPE
*IsUsingClock
)(
1201 IBaseVideoMixer
* This
,
1204 HRESULT (STDMETHODCALLTYPE
*SetUsingClock
)(
1205 IBaseVideoMixer
* This
,
1208 HRESULT (STDMETHODCALLTYPE
*GetClockPeriod
)(
1209 IBaseVideoMixer
* This
,
1212 HRESULT (STDMETHODCALLTYPE
*SetClockPeriod
)(
1213 IBaseVideoMixer
* This
,
1218 /*** IUnknown methods ***/
1219 #define IBaseVideoMixer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1220 #define IBaseVideoMixer_AddRef(p) (p)->lpVtbl->AddRef(p)
1221 #define IBaseVideoMixer_Release(p) (p)->lpVtbl->Release(p)
1222 /*** IBaseVideoMixer methods ***/
1223 #define IBaseVideoMixer_SetLeadPin(p,a) (p)->lpVtbl->SetLeadPin(p,a)
1224 #define IBaseVideoMixer_GetLeadPin(p,a) (p)->lpVtbl->GetLeadPin(p,a)
1225 #define IBaseVideoMixer_GetInputPinCount(p,a) (p)->lpVtbl->GetInputPinCount(p,a)
1226 #define IBaseVideoMixer_IsUsingClock(p,a) (p)->lpVtbl->IsUsingClock(p,a)
1227 #define IBaseVideoMixer_SetUsingClock(p,a) (p)->lpVtbl->SetUsingClock(p,a)
1228 #define IBaseVideoMixer_GetClockPeriod(p,a) (p)->lpVtbl->GetClockPeriod(p,a)
1229 #define IBaseVideoMixer_SetClockPeriod(p,a) (p)->lpVtbl->SetClockPeriod(p,a)
1233 #define IBaseVideoMixer_METHODS \
1234 ICOM_MSVTABLE_COMPAT_FIELDS \
1235 /*** IUnknown methods ***/ \
1236 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1237 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1238 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1239 /*** IBaseVideoMixer methods ***/ \
1240 STDMETHOD_(HRESULT,SetLeadPin)(THIS_ int iPin) PURE; \
1241 STDMETHOD_(HRESULT,GetLeadPin)(THIS_ int* piPin) PURE; \
1242 STDMETHOD_(HRESULT,GetInputPinCount)(THIS_ int* piPinCount) PURE; \
1243 STDMETHOD_(HRESULT,IsUsingClock)(THIS_ int* pbValue) PURE; \
1244 STDMETHOD_(HRESULT,SetUsingClock)(THIS_ int bValue) PURE; \
1245 STDMETHOD_(HRESULT,GetClockPeriod)(THIS_ int* pbValue) PURE; \
1246 STDMETHOD_(HRESULT,SetClockPeriod)(THIS_ int bValue) PURE;
1248 HRESULT CALLBACK
IBaseVideoMixer_SetLeadPin_Proxy(
1249 IBaseVideoMixer
* This
,
1251 void __RPC_STUB
IBaseVideoMixer_SetLeadPin_Stub(
1252 struct IRpcStubBuffer
* This
,
1253 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1254 PRPC_MESSAGE pRpcMessage
,
1255 DWORD
* pdwStubPhase
);
1256 HRESULT CALLBACK
IBaseVideoMixer_GetLeadPin_Proxy(
1257 IBaseVideoMixer
* This
,
1259 void __RPC_STUB
IBaseVideoMixer_GetLeadPin_Stub(
1260 struct IRpcStubBuffer
* This
,
1261 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1262 PRPC_MESSAGE pRpcMessage
,
1263 DWORD
* pdwStubPhase
);
1264 HRESULT CALLBACK
IBaseVideoMixer_GetInputPinCount_Proxy(
1265 IBaseVideoMixer
* This
,
1267 void __RPC_STUB
IBaseVideoMixer_GetInputPinCount_Stub(
1268 struct IRpcStubBuffer
* This
,
1269 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1270 PRPC_MESSAGE pRpcMessage
,
1271 DWORD
* pdwStubPhase
);
1272 HRESULT CALLBACK
IBaseVideoMixer_IsUsingClock_Proxy(
1273 IBaseVideoMixer
* This
,
1275 void __RPC_STUB
IBaseVideoMixer_IsUsingClock_Stub(
1276 struct IRpcStubBuffer
* This
,
1277 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1278 PRPC_MESSAGE pRpcMessage
,
1279 DWORD
* pdwStubPhase
);
1280 HRESULT CALLBACK
IBaseVideoMixer_SetUsingClock_Proxy(
1281 IBaseVideoMixer
* This
,
1283 void __RPC_STUB
IBaseVideoMixer_SetUsingClock_Stub(
1284 struct IRpcStubBuffer
* This
,
1285 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1286 PRPC_MESSAGE pRpcMessage
,
1287 DWORD
* pdwStubPhase
);
1288 HRESULT CALLBACK
IBaseVideoMixer_GetClockPeriod_Proxy(
1289 IBaseVideoMixer
* This
,
1291 void __RPC_STUB
IBaseVideoMixer_GetClockPeriod_Stub(
1292 struct IRpcStubBuffer
* This
,
1293 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1294 PRPC_MESSAGE pRpcMessage
,
1295 DWORD
* pdwStubPhase
);
1296 HRESULT CALLBACK
IBaseVideoMixer_SetClockPeriod_Proxy(
1297 IBaseVideoMixer
* This
,
1299 void __RPC_STUB
IBaseVideoMixer_SetClockPeriod_Stub(
1300 struct IRpcStubBuffer
* This
,
1301 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1302 PRPC_MESSAGE pRpcMessage
,
1303 DWORD
* pdwStubPhase
);
1305 #endif /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
1307 #define iPALETTE_COLORS 256
1308 #define iEGA_COLORS 16
1309 #define iMASK_COLORS 3
1310 #define iTRUECOLOR 16
1316 typedef struct tag_TRUECOLORINFO
{
1317 DWORD dwBitMasks
[3];
1318 RGBQUAD bmiColors
[256];
1321 typedef struct tagVIDEOINFOHEADER
{
1325 DWORD dwBitErrorRate
;
1326 REFERENCE_TIME AvgTimePerFrame
;
1327 BITMAPINFOHEADER bmiHeader
;
1330 typedef struct tagVIDEOINFO
{
1334 DWORD dwBitErrorRate
;
1335 REFERENCE_TIME AvgTimePerFrame
;
1336 BITMAPINFOHEADER bmiHeader
;
1338 RGBQUAD bmiColors
[256];
1339 DWORD dwBitMasks
[3];
1340 TRUECOLORINFO TrueColorInfo
;
1344 typedef struct tagMPEG1VIDEOINFO
{
1345 VIDEOINFOHEADER hdr
;
1346 DWORD dwStartTimeCode
;
1347 DWORD cbSequenceHeader
;
1348 BYTE bSequenceHeader
[1];
1351 #define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
1352 #define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
1353 typedef struct tagAnalogVideoInfo
{
1356 DWORD dwActiveWidth
;
1357 DWORD dwActiveHeight
;
1358 REFERENCE_TIME AvgTimePerFrame
;
1362 AM_PROPERTY_FRAMESTEP_STEP
= 0x1,
1363 AM_PROPERTY_FRAMESTEP_CANCEL
= 0x2,
1364 AM_PROPERTY_FRAMESTEP_CANSTEP
= 0x3,
1365 AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE
= 0x4
1366 } AM_PROPERTY_FRAMESTEP
;
1368 typedef struct _AM_FRAMESTEP_STEP
{
1369 DWORD dwFramesToStep
;
1370 } AM_FRAMESTEP_STEP
;
1375 #endif /* __WIDL_AMVIDEO_H */