ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/evr.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 69814 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*** Autogenerated by WIDL 6.4 from include/evr.idl - Do not edit ***/
2
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15
16 #ifndef __evr_h__
17 #define __evr_h__
18
19 /* Forward declarations */
20
21 #ifndef __IMFVideoPositionMapper_FWD_DEFINED__
22 #define __IMFVideoPositionMapper_FWD_DEFINED__
23 typedef interface IMFVideoPositionMapper IMFVideoPositionMapper;
24 #ifdef __cplusplus
25 interface IMFVideoPositionMapper;
26 #endif /* __cplusplus */
27 #endif
28
29 #ifndef __IMFVideoDeviceID_FWD_DEFINED__
30 #define __IMFVideoDeviceID_FWD_DEFINED__
31 typedef interface IMFVideoDeviceID IMFVideoDeviceID;
32 #ifdef __cplusplus
33 interface IMFVideoDeviceID;
34 #endif /* __cplusplus */
35 #endif
36
37 #ifndef __IMFVideoDisplayControl_FWD_DEFINED__
38 #define __IMFVideoDisplayControl_FWD_DEFINED__
39 typedef interface IMFVideoDisplayControl IMFVideoDisplayControl;
40 #ifdef __cplusplus
41 interface IMFVideoDisplayControl;
42 #endif /* __cplusplus */
43 #endif
44
45 #ifndef __IMFVideoPresenter_FWD_DEFINED__
46 #define __IMFVideoPresenter_FWD_DEFINED__
47 typedef interface IMFVideoPresenter IMFVideoPresenter;
48 #ifdef __cplusplus
49 interface IMFVideoPresenter;
50 #endif /* __cplusplus */
51 #endif
52
53 #ifndef __IMFDesiredSample_FWD_DEFINED__
54 #define __IMFDesiredSample_FWD_DEFINED__
55 typedef interface IMFDesiredSample IMFDesiredSample;
56 #ifdef __cplusplus
57 interface IMFDesiredSample;
58 #endif /* __cplusplus */
59 #endif
60
61 #ifndef __IMFTrackedSample_FWD_DEFINED__
62 #define __IMFTrackedSample_FWD_DEFINED__
63 typedef interface IMFTrackedSample IMFTrackedSample;
64 #ifdef __cplusplus
65 interface IMFTrackedSample;
66 #endif /* __cplusplus */
67 #endif
68
69 #ifndef __IMFVideoMixerControl_FWD_DEFINED__
70 #define __IMFVideoMixerControl_FWD_DEFINED__
71 typedef interface IMFVideoMixerControl IMFVideoMixerControl;
72 #ifdef __cplusplus
73 interface IMFVideoMixerControl;
74 #endif /* __cplusplus */
75 #endif
76
77 #ifndef __IMFVideoMixerControl2_FWD_DEFINED__
78 #define __IMFVideoMixerControl2_FWD_DEFINED__
79 typedef interface IMFVideoMixerControl2 IMFVideoMixerControl2;
80 #ifdef __cplusplus
81 interface IMFVideoMixerControl2;
82 #endif /* __cplusplus */
83 #endif
84
85 #ifndef __IMFVideoRenderer_FWD_DEFINED__
86 #define __IMFVideoRenderer_FWD_DEFINED__
87 typedef interface IMFVideoRenderer IMFVideoRenderer;
88 #ifdef __cplusplus
89 interface IMFVideoRenderer;
90 #endif /* __cplusplus */
91 #endif
92
93 #ifndef __IEVRFilterConfig_FWD_DEFINED__
94 #define __IEVRFilterConfig_FWD_DEFINED__
95 typedef interface IEVRFilterConfig IEVRFilterConfig;
96 #ifdef __cplusplus
97 interface IEVRFilterConfig;
98 #endif /* __cplusplus */
99 #endif
100
101 #ifndef __IEVRFilterConfigEx_FWD_DEFINED__
102 #define __IEVRFilterConfigEx_FWD_DEFINED__
103 typedef interface IEVRFilterConfigEx IEVRFilterConfigEx;
104 #ifdef __cplusplus
105 interface IEVRFilterConfigEx;
106 #endif /* __cplusplus */
107 #endif
108
109 #ifndef __IMFTopologyServiceLookup_FWD_DEFINED__
110 #define __IMFTopologyServiceLookup_FWD_DEFINED__
111 typedef interface IMFTopologyServiceLookup IMFTopologyServiceLookup;
112 #ifdef __cplusplus
113 interface IMFTopologyServiceLookup;
114 #endif /* __cplusplus */
115 #endif
116
117 #ifndef __IMFTopologyServiceLookupClient_FWD_DEFINED__
118 #define __IMFTopologyServiceLookupClient_FWD_DEFINED__
119 typedef interface IMFTopologyServiceLookupClient IMFTopologyServiceLookupClient;
120 #ifdef __cplusplus
121 interface IMFTopologyServiceLookupClient;
122 #endif /* __cplusplus */
123 #endif
124
125 #ifndef __IEVRTrustedVideoPlugin_FWD_DEFINED__
126 #define __IEVRTrustedVideoPlugin_FWD_DEFINED__
127 typedef interface IEVRTrustedVideoPlugin IEVRTrustedVideoPlugin;
128 #ifdef __cplusplus
129 interface IEVRTrustedVideoPlugin;
130 #endif /* __cplusplus */
131 #endif
132
133 /* Headers for imported files */
134
135 #include <unknwn.h>
136 #include <propidl.h>
137 #include <mfidl.h>
138 #include <mftransform.h>
139 #include <mediaobj.h>
140 #include <strmif.h>
141
142 #ifdef __cplusplus
143 extern "C" {
144 #endif
145
146 /**
147 * This file is part of the mingw-w64 runtime package.
148 * No warranty is given; refer to the file DISCLAIMER within this package.
149 */
150
151 #include <winapifamily.h>
152
153 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
154 #ifndef __IMFTrackedSample_FWD_DEFINED__
155 #define __IMFTrackedSample_FWD_DEFINED__
156 typedef interface IMFTrackedSample IMFTrackedSample;
157 #ifdef __cplusplus
158 interface IMFTrackedSample;
159 #endif /* __cplusplus */
160 #endif
161
162 #ifndef __IMFVideoDisplayControl_FWD_DEFINED__
163 #define __IMFVideoDisplayControl_FWD_DEFINED__
164 typedef interface IMFVideoDisplayControl IMFVideoDisplayControl;
165 #ifdef __cplusplus
166 interface IMFVideoDisplayControl;
167 #endif /* __cplusplus */
168 #endif
169
170 #ifndef __IMFVideoPresenter_FWD_DEFINED__
171 #define __IMFVideoPresenter_FWD_DEFINED__
172 typedef interface IMFVideoPresenter IMFVideoPresenter;
173 #ifdef __cplusplus
174 interface IMFVideoPresenter;
175 #endif /* __cplusplus */
176 #endif
177
178 #ifndef __IMFVideoPositionMapper_FWD_DEFINED__
179 #define __IMFVideoPositionMapper_FWD_DEFINED__
180 typedef interface IMFVideoPositionMapper IMFVideoPositionMapper;
181 #ifdef __cplusplus
182 interface IMFVideoPositionMapper;
183 #endif /* __cplusplus */
184 #endif
185
186 #ifndef __IMFDesiredSample_FWD_DEFINED__
187 #define __IMFDesiredSample_FWD_DEFINED__
188 typedef interface IMFDesiredSample IMFDesiredSample;
189 #ifdef __cplusplus
190 interface IMFDesiredSample;
191 #endif /* __cplusplus */
192 #endif
193
194 #ifndef __IMFVideoMixerControl_FWD_DEFINED__
195 #define __IMFVideoMixerControl_FWD_DEFINED__
196 typedef interface IMFVideoMixerControl IMFVideoMixerControl;
197 #ifdef __cplusplus
198 interface IMFVideoMixerControl;
199 #endif /* __cplusplus */
200 #endif
201
202 #ifndef __IMFVideoRenderer_FWD_DEFINED__
203 #define __IMFVideoRenderer_FWD_DEFINED__
204 typedef interface IMFVideoRenderer IMFVideoRenderer;
205 #ifdef __cplusplus
206 interface IMFVideoRenderer;
207 #endif /* __cplusplus */
208 #endif
209
210 #ifndef __IMFVideoDeviceID_FWD_DEFINED__
211 #define __IMFVideoDeviceID_FWD_DEFINED__
212 typedef interface IMFVideoDeviceID IMFVideoDeviceID;
213 #ifdef __cplusplus
214 interface IMFVideoDeviceID;
215 #endif /* __cplusplus */
216 #endif
217
218 #ifndef __IEVRFilterConfig_FWD_DEFINED__
219 #define __IEVRFilterConfig_FWD_DEFINED__
220 typedef interface IEVRFilterConfig IEVRFilterConfig;
221 #ifdef __cplusplus
222 interface IEVRFilterConfig;
223 #endif /* __cplusplus */
224 #endif
225
226 #if defined(__midl)
227
228 typedef enum _D3DFORMAT {
229 D3DFMT_UNKNOWN = 0,
230 D3DFMT_R8G8B8 = 20,
231 D3DFMT_A8R8G8B8 = 21,
232 D3DFMT_X8R8G8B8 = 22,
233 D3DFMT_R5G6B5 = 23,
234 D3DFMT_X1R5G5B5 = 24,
235 D3DFMT_A1R5G5B5 = 25,
236 D3DFMT_A4R4G4B4 = 26,
237 D3DFMT_R3G3B2 = 27,
238 D3DFMT_A8 = 28,
239 D3DFMT_A8R3G3B2 = 29,
240 D3DFMT_X4R4G4B4 = 30,
241 D3DFMT_A2B10G10R10 = 31,
242 D3DFMT_G16R16 = 34,
243 D3DFMT_A8P8 = 40,
244 D3DFMT_P8 = 41,
245 D3DFMT_L8 = 50,
246 D3DFMT_A8L8 = 51,
247 D3DFMT_A4L4 = 52,
248 D3DFMT_V8U8 = 60,
249 D3DFMT_L6V5U5 = 61,
250 D3DFMT_X8L8V8U8 = 62,
251 D3DFMT_Q8W8V8U8 = 63,
252 D3DFMT_V16U16 = 64,
253 D3DFMT_W11V11U10 = 65,
254 D3DFMT_A2W10V10U10 = 67,
255 D3DFMT_D16_LOCKABLE = 70,
256 D3DFMT_D32 = 71,
257 D3DFMT_D15S1 = 73,
258 D3DFMT_D24S8 = 75,
259 D3DFMT_D16 = 80,
260 D3DFMT_D24X8 = 77,
261 D3DFMT_D24X4S4 = 79,
262 D3DFMT_VERTEXDATA = 100,
263 D3DFMT_INDEX16 = 101,
264 D3DFMT_INDEX32 = 102,
265 D3DFMT_FORCE_DWORD = 0x7fffffff
266 } D3DFORMAT;
267 #endif
268
269 typedef enum MFVideoAspectRatioMode {
270 MFVideoARMode_None = 0x0,
271 MFVideoARMode_PreservePicture = 0x1,
272 MFVideoARMode_PreservePixel = 0x2,
273 MFVideoARMode_NonLinearStretch = 0x4,
274 MFVideoARMode_Mask = 0x7
275 } MFVideoAspectRatioMode;
276
277 typedef enum MFVideoRenderPrefs {
278 MFVideoRenderPrefs_DoNotRenderBorder = 0x1,
279 MFVideoRenderPrefs_DoNotClipToDevice = 0x2,
280 MFVideoRenderPrefs_AllowOutputThrottling = 0x4,
281 MFVideoRenderPrefs_ForceOutputThrottling = 0x8,
282 MFVideoRenderPrefs_ForceBatching = 0x10,
283 MFVideoRenderPrefs_AllowBatching = 0x20,
284 MFVideoRenderPrefs_ForceScaling = 0x40,
285 MFVideoRenderPrefs_AllowScaling = 0x80,
286 MFVideoRenderPrefs_DoNotRepaintOnStop = 0x100,
287 MFVideoRenderPrefs_Mask = 0x1ff
288 } MFVideoRenderPrefs;
289
290 #ifndef _MFVideoNormalizedRect_
291 #define _MFVideoNormalizedRect_
292 typedef struct MFVideoNormalizedRect {
293 float left;
294 float top;
295 float right;
296 float bottom;
297 } MFVideoNormalizedRect;
298 #endif
299
300 typedef enum MFVP_MESSAGE_TYPE {
301 MFVP_MESSAGE_FLUSH = 0x0,
302 MFVP_MESSAGE_INVALIDATEMEDIATYPE = 0x1,
303 MFVP_MESSAGE_PROCESSINPUTNOTIFY = 0x2,
304 MFVP_MESSAGE_BEGINSTREAMING = 0x3,
305 MFVP_MESSAGE_ENDSTREAMING = 0x4,
306 MFVP_MESSAGE_ENDOFSTREAM = 0x5,
307 MFVP_MESSAGE_STEP = 0x6,
308 MFVP_MESSAGE_CANCELSTEP = 0x7
309 } MFVP_MESSAGE_TYPE;
310
311 typedef enum _MFVideoMixPrefs {
312 MFVideoMixPrefs_ForceHalfInterlace = 0x1,
313 MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2,
314 MFVideoMixPrefs_AllowDropToBob = 0x4,
315 MFVideoMixPrefs_ForceBob = 0x8,
316 MFVideoMixPrefs_EnableRotation = 0x10,
317 MFVideoMixPrefs_Mask = 0x1f
318 } MFVideoMixPrefs;
319
320 typedef enum _EVRFilterConfig_Prefs {
321 EVRFilterConfigPrefs_EnableQoS = 0x1,
322 EVRFilterConfigPrefs_Mask = 0x1
323 } EVRFilterConfigPrefs;
324
325 typedef enum _MF_SERVICE_LOOKUP_TYPE {
326 MF_SERVICE_LOOKUP_UPSTREAM = 0,
327 MF_SERVICE_LOOKUP_UPSTREAM_DIRECT = 1,
328 MF_SERVICE_LOOKUP_DOWNSTREAM = 2,
329 MF_SERVICE_LOOKUP_DOWNSTREAM_DIRECT = 3,
330 MF_SERVICE_LOOKUP_ALL = 4,
331 MF_SERVICE_LOOKUP_GLOBAL = 5
332 } MF_SERVICE_LOOKUP_TYPE;
333
334 DEFINE_GUID(MR_VIDEO_RENDER_SERVICE, 0x1092a86c, 0xab1a, 0x459a, 0xa3, 0x36, 0x83, 0x1f, 0xbc, 0x4d, 0x11, 0xff);
335 DEFINE_GUID(MR_VIDEO_MIXER_SERVICE, 0x73cd2fc, 0x6cf4, 0x40b7, 0x88, 0x59, 0xe8, 0x95, 0x52, 0xc8, 0x41, 0xf8);
336 DEFINE_GUID(MR_VIDEO_ACCELERATION_SERVICE, 0xefef5175, 0x5c7d, 0x4ce2, 0xbb, 0xbd, 0x34, 0xff, 0x8b, 0xca, 0x65, 0x54);
337 DEFINE_GUID(MR_BUFFER_SERVICE, 0xa562248c, 0x9ac6, 0x4ffc, 0x9f, 0xba, 0x3a, 0xf8, 0xf8, 0xad, 0x1a, 0x4d);
338 DEFINE_GUID(VIDEO_ZOOM_RECT, 0x7aaa1638, 0x1b7f, 0x4c93, 0xbd, 0x89, 0x5b, 0x9c, 0x9f, 0xb6, 0xfc, 0xf0);
339
340 /*****************************************************************************
341 * IMFVideoPositionMapper interface
342 */
343 #ifndef __IMFVideoPositionMapper_INTERFACE_DEFINED__
344 #define __IMFVideoPositionMapper_INTERFACE_DEFINED__
345
346 DEFINE_GUID(IID_IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae);
347 #if defined(__cplusplus) && !defined(CINTERFACE)
348 MIDL_INTERFACE("1f6a9f17-e70b-4e24-8ae4-0b2c3ba7a4ae")
349 IMFVideoPositionMapper : public IUnknown
350 {
351 virtual HRESULT STDMETHODCALLTYPE MapOutputCoordinateToInputStream(
352 float xOut,
353 float yOut,
354 DWORD dwOutputStreamIndex,
355 DWORD dwInputStreamIndex,
356 float *pxIn,
357 float *pyIn) = 0;
358
359 };
360 #ifdef __CRT_UUID_DECL
361 __CRT_UUID_DECL(IMFVideoPositionMapper, 0x1f6a9f17, 0xe70b, 0x4e24, 0x8a,0xe4, 0x0b,0x2c,0x3b,0xa7,0xa4,0xae)
362 #endif
363 #else
364 typedef struct IMFVideoPositionMapperVtbl {
365 BEGIN_INTERFACE
366
367 /*** IUnknown methods ***/
368 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
369 IMFVideoPositionMapper *This,
370 REFIID riid,
371 void **ppvObject);
372
373 ULONG (STDMETHODCALLTYPE *AddRef)(
374 IMFVideoPositionMapper *This);
375
376 ULONG (STDMETHODCALLTYPE *Release)(
377 IMFVideoPositionMapper *This);
378
379 /*** IMFVideoPositionMapper methods ***/
380 HRESULT (STDMETHODCALLTYPE *MapOutputCoordinateToInputStream)(
381 IMFVideoPositionMapper *This,
382 float xOut,
383 float yOut,
384 DWORD dwOutputStreamIndex,
385 DWORD dwInputStreamIndex,
386 float *pxIn,
387 float *pyIn);
388
389 END_INTERFACE
390 } IMFVideoPositionMapperVtbl;
391
392 interface IMFVideoPositionMapper {
393 CONST_VTBL IMFVideoPositionMapperVtbl* lpVtbl;
394 };
395
396 #ifdef COBJMACROS
397 #ifndef WIDL_C_INLINE_WRAPPERS
398 /*** IUnknown methods ***/
399 #define IMFVideoPositionMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
400 #define IMFVideoPositionMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
401 #define IMFVideoPositionMapper_Release(This) (This)->lpVtbl->Release(This)
402 /*** IMFVideoPositionMapper methods ***/
403 #define IMFVideoPositionMapper_MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn) (This)->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn)
404 #else
405 /*** IUnknown methods ***/
406 static FORCEINLINE HRESULT IMFVideoPositionMapper_QueryInterface(IMFVideoPositionMapper* This,REFIID riid,void **ppvObject) {
407 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
408 }
409 static FORCEINLINE ULONG IMFVideoPositionMapper_AddRef(IMFVideoPositionMapper* This) {
410 return This->lpVtbl->AddRef(This);
411 }
412 static FORCEINLINE ULONG IMFVideoPositionMapper_Release(IMFVideoPositionMapper* This) {
413 return This->lpVtbl->Release(This);
414 }
415 /*** IMFVideoPositionMapper methods ***/
416 static FORCEINLINE HRESULT IMFVideoPositionMapper_MapOutputCoordinateToInputStream(IMFVideoPositionMapper* This,float xOut,float yOut,DWORD dwOutputStreamIndex,DWORD dwInputStreamIndex,float *pxIn,float *pyIn) {
417 return This->lpVtbl->MapOutputCoordinateToInputStream(This,xOut,yOut,dwOutputStreamIndex,dwInputStreamIndex,pxIn,pyIn);
418 }
419 #endif
420 #endif
421
422 #endif
423
424
425 #endif /* __IMFVideoPositionMapper_INTERFACE_DEFINED__ */
426
427
428 /*****************************************************************************
429 * IMFVideoDeviceID interface
430 */
431 #ifndef __IMFVideoDeviceID_INTERFACE_DEFINED__
432 #define __IMFVideoDeviceID_INTERFACE_DEFINED__
433
434 DEFINE_GUID(IID_IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba);
435 #if defined(__cplusplus) && !defined(CINTERFACE)
436 MIDL_INTERFACE("a38d9567-5a9c-4f3c-b293-8eb415b279ba")
437 IMFVideoDeviceID : public IUnknown
438 {
439 virtual HRESULT STDMETHODCALLTYPE GetDeviceID(
440 IID *pDeviceID) = 0;
441
442 };
443 #ifdef __CRT_UUID_DECL
444 __CRT_UUID_DECL(IMFVideoDeviceID, 0xa38d9567, 0x5a9c, 0x4f3c, 0xb2,0x93, 0x8e,0xb4,0x15,0xb2,0x79,0xba)
445 #endif
446 #else
447 typedef struct IMFVideoDeviceIDVtbl {
448 BEGIN_INTERFACE
449
450 /*** IUnknown methods ***/
451 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
452 IMFVideoDeviceID *This,
453 REFIID riid,
454 void **ppvObject);
455
456 ULONG (STDMETHODCALLTYPE *AddRef)(
457 IMFVideoDeviceID *This);
458
459 ULONG (STDMETHODCALLTYPE *Release)(
460 IMFVideoDeviceID *This);
461
462 /*** IMFVideoDeviceID methods ***/
463 HRESULT (STDMETHODCALLTYPE *GetDeviceID)(
464 IMFVideoDeviceID *This,
465 IID *pDeviceID);
466
467 END_INTERFACE
468 } IMFVideoDeviceIDVtbl;
469
470 interface IMFVideoDeviceID {
471 CONST_VTBL IMFVideoDeviceIDVtbl* lpVtbl;
472 };
473
474 #ifdef COBJMACROS
475 #ifndef WIDL_C_INLINE_WRAPPERS
476 /*** IUnknown methods ***/
477 #define IMFVideoDeviceID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
478 #define IMFVideoDeviceID_AddRef(This) (This)->lpVtbl->AddRef(This)
479 #define IMFVideoDeviceID_Release(This) (This)->lpVtbl->Release(This)
480 /*** IMFVideoDeviceID methods ***/
481 #define IMFVideoDeviceID_GetDeviceID(This,pDeviceID) (This)->lpVtbl->GetDeviceID(This,pDeviceID)
482 #else
483 /*** IUnknown methods ***/
484 static FORCEINLINE HRESULT IMFVideoDeviceID_QueryInterface(IMFVideoDeviceID* This,REFIID riid,void **ppvObject) {
485 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
486 }
487 static FORCEINLINE ULONG IMFVideoDeviceID_AddRef(IMFVideoDeviceID* This) {
488 return This->lpVtbl->AddRef(This);
489 }
490 static FORCEINLINE ULONG IMFVideoDeviceID_Release(IMFVideoDeviceID* This) {
491 return This->lpVtbl->Release(This);
492 }
493 /*** IMFVideoDeviceID methods ***/
494 static FORCEINLINE HRESULT IMFVideoDeviceID_GetDeviceID(IMFVideoDeviceID* This,IID *pDeviceID) {
495 return This->lpVtbl->GetDeviceID(This,pDeviceID);
496 }
497 #endif
498 #endif
499
500 #endif
501
502
503 #endif /* __IMFVideoDeviceID_INTERFACE_DEFINED__ */
504
505
506 /*****************************************************************************
507 * IMFVideoDisplayControl interface
508 */
509 #ifndef __IMFVideoDisplayControl_INTERFACE_DEFINED__
510 #define __IMFVideoDisplayControl_INTERFACE_DEFINED__
511
512 DEFINE_GUID(IID_IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a);
513 #if defined(__cplusplus) && !defined(CINTERFACE)
514 MIDL_INTERFACE("a490b1e4-ab84-4d31-a1b2-181e03b1077a")
515 IMFVideoDisplayControl : public IUnknown
516 {
517 virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
518 SIZE *pszVideo,
519 SIZE *pszARVideo) = 0;
520
521 virtual HRESULT STDMETHODCALLTYPE GetIdealVideoSize(
522 SIZE *pszMin,
523 SIZE *pszMax) = 0;
524
525 virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
526 const MFVideoNormalizedRect *pnrcSource,
527 const LPRECT prcDest) = 0;
528
529 virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
530 MFVideoNormalizedRect *pnrcSource,
531 LPRECT prcDest) = 0;
532
533 virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
534 DWORD dwAspectRatioMode) = 0;
535
536 virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
537 DWORD *pdwAspectRatioMode) = 0;
538
539 virtual HRESULT STDMETHODCALLTYPE SetVideoWindow(
540 HWND hwndVideo) = 0;
541
542 virtual HRESULT STDMETHODCALLTYPE GetVideoWindow(
543 HWND *phwndVideo) = 0;
544
545 virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
546 ) = 0;
547
548 virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
549 BITMAPINFOHEADER *pBih,
550 BYTE **pDib,
551 DWORD *pcbDib,
552 LONGLONG *pTimeStamp) = 0;
553
554 virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
555 COLORREF Clr) = 0;
556
557 virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
558 COLORREF *pClr) = 0;
559
560 virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
561 DWORD dwRenderFlags) = 0;
562
563 virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
564 DWORD *pdwRenderFlags) = 0;
565
566 virtual HRESULT STDMETHODCALLTYPE SetFullscreen(
567 WINBOOL fFullscreen) = 0;
568
569 virtual HRESULT STDMETHODCALLTYPE GetFullscreen(
570 WINBOOL *pfFullscreen) = 0;
571
572 };
573 #ifdef __CRT_UUID_DECL
574 __CRT_UUID_DECL(IMFVideoDisplayControl, 0xa490b1e4, 0xab84, 0x4d31, 0xa1,0xb2, 0x18,0x1e,0x03,0xb1,0x07,0x7a)
575 #endif
576 #else
577 typedef struct IMFVideoDisplayControlVtbl {
578 BEGIN_INTERFACE
579
580 /*** IUnknown methods ***/
581 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
582 IMFVideoDisplayControl *This,
583 REFIID riid,
584 void **ppvObject);
585
586 ULONG (STDMETHODCALLTYPE *AddRef)(
587 IMFVideoDisplayControl *This);
588
589 ULONG (STDMETHODCALLTYPE *Release)(
590 IMFVideoDisplayControl *This);
591
592 /*** IMFVideoDisplayControl methods ***/
593 HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)(
594 IMFVideoDisplayControl *This,
595 SIZE *pszVideo,
596 SIZE *pszARVideo);
597
598 HRESULT (STDMETHODCALLTYPE *GetIdealVideoSize)(
599 IMFVideoDisplayControl *This,
600 SIZE *pszMin,
601 SIZE *pszMax);
602
603 HRESULT (STDMETHODCALLTYPE *SetVideoPosition)(
604 IMFVideoDisplayControl *This,
605 const MFVideoNormalizedRect *pnrcSource,
606 const LPRECT prcDest);
607
608 HRESULT (STDMETHODCALLTYPE *GetVideoPosition)(
609 IMFVideoDisplayControl *This,
610 MFVideoNormalizedRect *pnrcSource,
611 LPRECT prcDest);
612
613 HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)(
614 IMFVideoDisplayControl *This,
615 DWORD dwAspectRatioMode);
616
617 HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)(
618 IMFVideoDisplayControl *This,
619 DWORD *pdwAspectRatioMode);
620
621 HRESULT (STDMETHODCALLTYPE *SetVideoWindow)(
622 IMFVideoDisplayControl *This,
623 HWND hwndVideo);
624
625 HRESULT (STDMETHODCALLTYPE *GetVideoWindow)(
626 IMFVideoDisplayControl *This,
627 HWND *phwndVideo);
628
629 HRESULT (STDMETHODCALLTYPE *RepaintVideo)(
630 IMFVideoDisplayControl *This);
631
632 HRESULT (STDMETHODCALLTYPE *GetCurrentImage)(
633 IMFVideoDisplayControl *This,
634 BITMAPINFOHEADER *pBih,
635 BYTE **pDib,
636 DWORD *pcbDib,
637 LONGLONG *pTimeStamp);
638
639 HRESULT (STDMETHODCALLTYPE *SetBorderColor)(
640 IMFVideoDisplayControl *This,
641 COLORREF Clr);
642
643 HRESULT (STDMETHODCALLTYPE *GetBorderColor)(
644 IMFVideoDisplayControl *This,
645 COLORREF *pClr);
646
647 HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)(
648 IMFVideoDisplayControl *This,
649 DWORD dwRenderFlags);
650
651 HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)(
652 IMFVideoDisplayControl *This,
653 DWORD *pdwRenderFlags);
654
655 HRESULT (STDMETHODCALLTYPE *SetFullscreen)(
656 IMFVideoDisplayControl *This,
657 WINBOOL fFullscreen);
658
659 HRESULT (STDMETHODCALLTYPE *GetFullscreen)(
660 IMFVideoDisplayControl *This,
661 WINBOOL *pfFullscreen);
662
663 END_INTERFACE
664 } IMFVideoDisplayControlVtbl;
665
666 interface IMFVideoDisplayControl {
667 CONST_VTBL IMFVideoDisplayControlVtbl* lpVtbl;
668 };
669
670 #ifdef COBJMACROS
671 #ifndef WIDL_C_INLINE_WRAPPERS
672 /*** IUnknown methods ***/
673 #define IMFVideoDisplayControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
674 #define IMFVideoDisplayControl_AddRef(This) (This)->lpVtbl->AddRef(This)
675 #define IMFVideoDisplayControl_Release(This) (This)->lpVtbl->Release(This)
676 /*** IMFVideoDisplayControl methods ***/
677 #define IMFVideoDisplayControl_GetNativeVideoSize(This,pszVideo,pszARVideo) (This)->lpVtbl->GetNativeVideoSize(This,pszVideo,pszARVideo)
678 #define IMFVideoDisplayControl_GetIdealVideoSize(This,pszMin,pszMax) (This)->lpVtbl->GetIdealVideoSize(This,pszMin,pszMax)
679 #define IMFVideoDisplayControl_SetVideoPosition(This,pnrcSource,prcDest) (This)->lpVtbl->SetVideoPosition(This,pnrcSource,prcDest)
680 #define IMFVideoDisplayControl_GetVideoPosition(This,pnrcSource,prcDest) (This)->lpVtbl->GetVideoPosition(This,pnrcSource,prcDest)
681 #define IMFVideoDisplayControl_SetAspectRatioMode(This,dwAspectRatioMode) (This)->lpVtbl->SetAspectRatioMode(This,dwAspectRatioMode)
682 #define IMFVideoDisplayControl_GetAspectRatioMode(This,pdwAspectRatioMode) (This)->lpVtbl->GetAspectRatioMode(This,pdwAspectRatioMode)
683 #define IMFVideoDisplayControl_SetVideoWindow(This,hwndVideo) (This)->lpVtbl->SetVideoWindow(This,hwndVideo)
684 #define IMFVideoDisplayControl_GetVideoWindow(This,phwndVideo) (This)->lpVtbl->GetVideoWindow(This,phwndVideo)
685 #define IMFVideoDisplayControl_RepaintVideo(This) (This)->lpVtbl->RepaintVideo(This)
686 #define IMFVideoDisplayControl_GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp) (This)->lpVtbl->GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp)
687 #define IMFVideoDisplayControl_SetBorderColor(This,Clr) (This)->lpVtbl->SetBorderColor(This,Clr)
688 #define IMFVideoDisplayControl_GetBorderColor(This,pClr) (This)->lpVtbl->GetBorderColor(This,pClr)
689 #define IMFVideoDisplayControl_SetRenderingPrefs(This,dwRenderFlags) (This)->lpVtbl->SetRenderingPrefs(This,dwRenderFlags)
690 #define IMFVideoDisplayControl_GetRenderingPrefs(This,pdwRenderFlags) (This)->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags)
691 #define IMFVideoDisplayControl_SetFullscreen(This,fFullscreen) (This)->lpVtbl->SetFullscreen(This,fFullscreen)
692 #define IMFVideoDisplayControl_GetFullscreen(This,pfFullscreen) (This)->lpVtbl->GetFullscreen(This,pfFullscreen)
693 #else
694 /*** IUnknown methods ***/
695 static FORCEINLINE HRESULT IMFVideoDisplayControl_QueryInterface(IMFVideoDisplayControl* This,REFIID riid,void **ppvObject) {
696 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
697 }
698 static FORCEINLINE ULONG IMFVideoDisplayControl_AddRef(IMFVideoDisplayControl* This) {
699 return This->lpVtbl->AddRef(This);
700 }
701 static FORCEINLINE ULONG IMFVideoDisplayControl_Release(IMFVideoDisplayControl* This) {
702 return This->lpVtbl->Release(This);
703 }
704 /*** IMFVideoDisplayControl methods ***/
705 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetNativeVideoSize(IMFVideoDisplayControl* This,SIZE *pszVideo,SIZE *pszARVideo) {
706 return This->lpVtbl->GetNativeVideoSize(This,pszVideo,pszARVideo);
707 }
708 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetIdealVideoSize(IMFVideoDisplayControl* This,SIZE *pszMin,SIZE *pszMax) {
709 return This->lpVtbl->GetIdealVideoSize(This,pszMin,pszMax);
710 }
711 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetVideoPosition(IMFVideoDisplayControl* This,const MFVideoNormalizedRect *pnrcSource,const LPRECT prcDest) {
712 return This->lpVtbl->SetVideoPosition(This,pnrcSource,prcDest);
713 }
714 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetVideoPosition(IMFVideoDisplayControl* This,MFVideoNormalizedRect *pnrcSource,LPRECT prcDest) {
715 return This->lpVtbl->GetVideoPosition(This,pnrcSource,prcDest);
716 }
717 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetAspectRatioMode(IMFVideoDisplayControl* This,DWORD dwAspectRatioMode) {
718 return This->lpVtbl->SetAspectRatioMode(This,dwAspectRatioMode);
719 }
720 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetAspectRatioMode(IMFVideoDisplayControl* This,DWORD *pdwAspectRatioMode) {
721 return This->lpVtbl->GetAspectRatioMode(This,pdwAspectRatioMode);
722 }
723 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetVideoWindow(IMFVideoDisplayControl* This,HWND hwndVideo) {
724 return This->lpVtbl->SetVideoWindow(This,hwndVideo);
725 }
726 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetVideoWindow(IMFVideoDisplayControl* This,HWND *phwndVideo) {
727 return This->lpVtbl->GetVideoWindow(This,phwndVideo);
728 }
729 static FORCEINLINE HRESULT IMFVideoDisplayControl_RepaintVideo(IMFVideoDisplayControl* This) {
730 return This->lpVtbl->RepaintVideo(This);
731 }
732 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetCurrentImage(IMFVideoDisplayControl* This,BITMAPINFOHEADER *pBih,BYTE **pDib,DWORD *pcbDib,LONGLONG *pTimeStamp) {
733 return This->lpVtbl->GetCurrentImage(This,pBih,pDib,pcbDib,pTimeStamp);
734 }
735 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetBorderColor(IMFVideoDisplayControl* This,COLORREF Clr) {
736 return This->lpVtbl->SetBorderColor(This,Clr);
737 }
738 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetBorderColor(IMFVideoDisplayControl* This,COLORREF *pClr) {
739 return This->lpVtbl->GetBorderColor(This,pClr);
740 }
741 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetRenderingPrefs(IMFVideoDisplayControl* This,DWORD dwRenderFlags) {
742 return This->lpVtbl->SetRenderingPrefs(This,dwRenderFlags);
743 }
744 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetRenderingPrefs(IMFVideoDisplayControl* This,DWORD *pdwRenderFlags) {
745 return This->lpVtbl->GetRenderingPrefs(This,pdwRenderFlags);
746 }
747 static FORCEINLINE HRESULT IMFVideoDisplayControl_SetFullscreen(IMFVideoDisplayControl* This,WINBOOL fFullscreen) {
748 return This->lpVtbl->SetFullscreen(This,fFullscreen);
749 }
750 static FORCEINLINE HRESULT IMFVideoDisplayControl_GetFullscreen(IMFVideoDisplayControl* This,WINBOOL *pfFullscreen) {
751 return This->lpVtbl->GetFullscreen(This,pfFullscreen);
752 }
753 #endif
754 #endif
755
756 #endif
757
758
759 #endif /* __IMFVideoDisplayControl_INTERFACE_DEFINED__ */
760
761
762 /*****************************************************************************
763 * IMFVideoPresenter interface
764 */
765 #ifndef __IMFVideoPresenter_INTERFACE_DEFINED__
766 #define __IMFVideoPresenter_INTERFACE_DEFINED__
767
768 DEFINE_GUID(IID_IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb);
769 #if defined(__cplusplus) && !defined(CINTERFACE)
770 MIDL_INTERFACE("29aff080-182a-4a5d-af3b-448f3a6346cb")
771 IMFVideoPresenter : public IMFClockStateSink
772 {
773 virtual HRESULT STDMETHODCALLTYPE ProcessMessage(
774 MFVP_MESSAGE_TYPE eMessage,
775 ULONG_PTR ulParam) = 0;
776
777 virtual HRESULT STDMETHODCALLTYPE GetCurrentMediaType(
778 IMFVideoMediaType **ppMediaType) = 0;
779
780 };
781 #ifdef __CRT_UUID_DECL
782 __CRT_UUID_DECL(IMFVideoPresenter, 0x29aff080, 0x182a, 0x4a5d, 0xaf,0x3b, 0x44,0x8f,0x3a,0x63,0x46,0xcb)
783 #endif
784 #else
785 typedef struct IMFVideoPresenterVtbl {
786 BEGIN_INTERFACE
787
788 /*** IUnknown methods ***/
789 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
790 IMFVideoPresenter *This,
791 REFIID riid,
792 void **ppvObject);
793
794 ULONG (STDMETHODCALLTYPE *AddRef)(
795 IMFVideoPresenter *This);
796
797 ULONG (STDMETHODCALLTYPE *Release)(
798 IMFVideoPresenter *This);
799
800 /*** IMFClockStateSink methods ***/
801 HRESULT (STDMETHODCALLTYPE *OnClockStart)(
802 IMFVideoPresenter *This,
803 MFTIME hnsSystemTime,
804 LONGLONG llClockStartOffset);
805
806 HRESULT (STDMETHODCALLTYPE *OnClockStop)(
807 IMFVideoPresenter *This,
808 MFTIME hnsSystemTime);
809
810 HRESULT (STDMETHODCALLTYPE *OnClockPause)(
811 IMFVideoPresenter *This,
812 MFTIME hnsSystemTime);
813
814 HRESULT (STDMETHODCALLTYPE *OnClockRestart)(
815 IMFVideoPresenter *This,
816 MFTIME hnsSystemTime);
817
818 HRESULT (STDMETHODCALLTYPE *OnClockSetRate)(
819 IMFVideoPresenter *This,
820 MFTIME hnsSystemTime,
821 float flRate);
822
823 /*** IMFVideoPresenter methods ***/
824 HRESULT (STDMETHODCALLTYPE *ProcessMessage)(
825 IMFVideoPresenter *This,
826 MFVP_MESSAGE_TYPE eMessage,
827 ULONG_PTR ulParam);
828
829 HRESULT (STDMETHODCALLTYPE *GetCurrentMediaType)(
830 IMFVideoPresenter *This,
831 IMFVideoMediaType **ppMediaType);
832
833 END_INTERFACE
834 } IMFVideoPresenterVtbl;
835
836 interface IMFVideoPresenter {
837 CONST_VTBL IMFVideoPresenterVtbl* lpVtbl;
838 };
839
840 #ifdef COBJMACROS
841 #ifndef WIDL_C_INLINE_WRAPPERS
842 /*** IUnknown methods ***/
843 #define IMFVideoPresenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
844 #define IMFVideoPresenter_AddRef(This) (This)->lpVtbl->AddRef(This)
845 #define IMFVideoPresenter_Release(This) (This)->lpVtbl->Release(This)
846 /*** IMFClockStateSink methods ***/
847 #define IMFVideoPresenter_OnClockStart(This,hnsSystemTime,llClockStartOffset) (This)->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset)
848 #define IMFVideoPresenter_OnClockStop(This,hnsSystemTime) (This)->lpVtbl->OnClockStop(This,hnsSystemTime)
849 #define IMFVideoPresenter_OnClockPause(This,hnsSystemTime) (This)->lpVtbl->OnClockPause(This,hnsSystemTime)
850 #define IMFVideoPresenter_OnClockRestart(This,hnsSystemTime) (This)->lpVtbl->OnClockRestart(This,hnsSystemTime)
851 #define IMFVideoPresenter_OnClockSetRate(This,hnsSystemTime,flRate) (This)->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate)
852 /*** IMFVideoPresenter methods ***/
853 #define IMFVideoPresenter_ProcessMessage(This,eMessage,ulParam) (This)->lpVtbl->ProcessMessage(This,eMessage,ulParam)
854 #define IMFVideoPresenter_GetCurrentMediaType(This,ppMediaType) (This)->lpVtbl->GetCurrentMediaType(This,ppMediaType)
855 #else
856 /*** IUnknown methods ***/
857 static FORCEINLINE HRESULT IMFVideoPresenter_QueryInterface(IMFVideoPresenter* This,REFIID riid,void **ppvObject) {
858 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
859 }
860 static FORCEINLINE ULONG IMFVideoPresenter_AddRef(IMFVideoPresenter* This) {
861 return This->lpVtbl->AddRef(This);
862 }
863 static FORCEINLINE ULONG IMFVideoPresenter_Release(IMFVideoPresenter* This) {
864 return This->lpVtbl->Release(This);
865 }
866 /*** IMFClockStateSink methods ***/
867 static FORCEINLINE HRESULT IMFVideoPresenter_OnClockStart(IMFVideoPresenter* This,MFTIME hnsSystemTime,LONGLONG llClockStartOffset) {
868 return This->lpVtbl->OnClockStart(This,hnsSystemTime,llClockStartOffset);
869 }
870 static FORCEINLINE HRESULT IMFVideoPresenter_OnClockStop(IMFVideoPresenter* This,MFTIME hnsSystemTime) {
871 return This->lpVtbl->OnClockStop(This,hnsSystemTime);
872 }
873 static FORCEINLINE HRESULT IMFVideoPresenter_OnClockPause(IMFVideoPresenter* This,MFTIME hnsSystemTime) {
874 return This->lpVtbl->OnClockPause(This,hnsSystemTime);
875 }
876 static FORCEINLINE HRESULT IMFVideoPresenter_OnClockRestart(IMFVideoPresenter* This,MFTIME hnsSystemTime) {
877 return This->lpVtbl->OnClockRestart(This,hnsSystemTime);
878 }
879 static FORCEINLINE HRESULT IMFVideoPresenter_OnClockSetRate(IMFVideoPresenter* This,MFTIME hnsSystemTime,float flRate) {
880 return This->lpVtbl->OnClockSetRate(This,hnsSystemTime,flRate);
881 }
882 /*** IMFVideoPresenter methods ***/
883 static FORCEINLINE HRESULT IMFVideoPresenter_ProcessMessage(IMFVideoPresenter* This,MFVP_MESSAGE_TYPE eMessage,ULONG_PTR ulParam) {
884 return This->lpVtbl->ProcessMessage(This,eMessage,ulParam);
885 }
886 static FORCEINLINE HRESULT IMFVideoPresenter_GetCurrentMediaType(IMFVideoPresenter* This,IMFVideoMediaType **ppMediaType) {
887 return This->lpVtbl->GetCurrentMediaType(This,ppMediaType);
888 }
889 #endif
890 #endif
891
892 #endif
893
894
895 #endif /* __IMFVideoPresenter_INTERFACE_DEFINED__ */
896
897
898 /*****************************************************************************
899 * IMFDesiredSample interface
900 */
901 #ifndef __IMFDesiredSample_INTERFACE_DEFINED__
902 #define __IMFDesiredSample_INTERFACE_DEFINED__
903
904 DEFINE_GUID(IID_IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54);
905 #if defined(__cplusplus) && !defined(CINTERFACE)
906 MIDL_INTERFACE("56c294d0-753e-4260-8d61-a3d8820b1d54")
907 IMFDesiredSample : public IUnknown
908 {
909 virtual HRESULT STDMETHODCALLTYPE GetDesiredSampleTimeAndDuration(
910 LONGLONG *phnsSampleTime,
911 LONGLONG *phnsSampleDuration) = 0;
912
913 virtual void STDMETHODCALLTYPE SetDesiredSampleTimeAndDuration(
914 LONGLONG hnsSampleTime,
915 LONGLONG hnsSampleDuration) = 0;
916
917 virtual void STDMETHODCALLTYPE Clear(
918 ) = 0;
919
920 };
921 #ifdef __CRT_UUID_DECL
922 __CRT_UUID_DECL(IMFDesiredSample, 0x56c294d0, 0x753e, 0x4260, 0x8d,0x61, 0xa3,0xd8,0x82,0x0b,0x1d,0x54)
923 #endif
924 #else
925 typedef struct IMFDesiredSampleVtbl {
926 BEGIN_INTERFACE
927
928 /*** IUnknown methods ***/
929 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
930 IMFDesiredSample *This,
931 REFIID riid,
932 void **ppvObject);
933
934 ULONG (STDMETHODCALLTYPE *AddRef)(
935 IMFDesiredSample *This);
936
937 ULONG (STDMETHODCALLTYPE *Release)(
938 IMFDesiredSample *This);
939
940 /*** IMFDesiredSample methods ***/
941 HRESULT (STDMETHODCALLTYPE *GetDesiredSampleTimeAndDuration)(
942 IMFDesiredSample *This,
943 LONGLONG *phnsSampleTime,
944 LONGLONG *phnsSampleDuration);
945
946 void (STDMETHODCALLTYPE *SetDesiredSampleTimeAndDuration)(
947 IMFDesiredSample *This,
948 LONGLONG hnsSampleTime,
949 LONGLONG hnsSampleDuration);
950
951 void (STDMETHODCALLTYPE *Clear)(
952 IMFDesiredSample *This);
953
954 END_INTERFACE
955 } IMFDesiredSampleVtbl;
956
957 interface IMFDesiredSample {
958 CONST_VTBL IMFDesiredSampleVtbl* lpVtbl;
959 };
960
961 #ifdef COBJMACROS
962 #ifndef WIDL_C_INLINE_WRAPPERS
963 /*** IUnknown methods ***/
964 #define IMFDesiredSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
965 #define IMFDesiredSample_AddRef(This) (This)->lpVtbl->AddRef(This)
966 #define IMFDesiredSample_Release(This) (This)->lpVtbl->Release(This)
967 /*** IMFDesiredSample methods ***/
968 #define IMFDesiredSample_GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration) (This)->lpVtbl->GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration)
969 #define IMFDesiredSample_SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration) (This)->lpVtbl->SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration)
970 #define IMFDesiredSample_Clear(This) (This)->lpVtbl->Clear(This)
971 #else
972 /*** IUnknown methods ***/
973 static FORCEINLINE HRESULT IMFDesiredSample_QueryInterface(IMFDesiredSample* This,REFIID riid,void **ppvObject) {
974 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
975 }
976 static FORCEINLINE ULONG IMFDesiredSample_AddRef(IMFDesiredSample* This) {
977 return This->lpVtbl->AddRef(This);
978 }
979 static FORCEINLINE ULONG IMFDesiredSample_Release(IMFDesiredSample* This) {
980 return This->lpVtbl->Release(This);
981 }
982 /*** IMFDesiredSample methods ***/
983 static FORCEINLINE HRESULT IMFDesiredSample_GetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG *phnsSampleTime,LONGLONG *phnsSampleDuration) {
984 return This->lpVtbl->GetDesiredSampleTimeAndDuration(This,phnsSampleTime,phnsSampleDuration);
985 }
986 static FORCEINLINE void IMFDesiredSample_SetDesiredSampleTimeAndDuration(IMFDesiredSample* This,LONGLONG hnsSampleTime,LONGLONG hnsSampleDuration) {
987 This->lpVtbl->SetDesiredSampleTimeAndDuration(This,hnsSampleTime,hnsSampleDuration);
988 }
989 static FORCEINLINE void IMFDesiredSample_Clear(IMFDesiredSample* This) {
990 This->lpVtbl->Clear(This);
991 }
992 #endif
993 #endif
994
995 #endif
996
997
998 #endif /* __IMFDesiredSample_INTERFACE_DEFINED__ */
999
1000
1001 /*****************************************************************************
1002 * IMFTrackedSample interface
1003 */
1004 #ifndef __IMFTrackedSample_INTERFACE_DEFINED__
1005 #define __IMFTrackedSample_INTERFACE_DEFINED__
1006
1007 DEFINE_GUID(IID_IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17);
1008 #if defined(__cplusplus) && !defined(CINTERFACE)
1009 MIDL_INTERFACE("245bf8e9-0755-40f7-88a5-ae0f18d55e17")
1010 IMFTrackedSample : public IUnknown
1011 {
1012 virtual HRESULT STDMETHODCALLTYPE SetAllocator(
1013 IMFAsyncCallback *pSampleAllocator,
1014 IUnknown *pUnkState) = 0;
1015
1016 };
1017 #ifdef __CRT_UUID_DECL
1018 __CRT_UUID_DECL(IMFTrackedSample, 0x245bf8e9, 0x0755, 0x40f7, 0x88,0xa5, 0xae,0x0f,0x18,0xd5,0x5e,0x17)
1019 #endif
1020 #else
1021 typedef struct IMFTrackedSampleVtbl {
1022 BEGIN_INTERFACE
1023
1024 /*** IUnknown methods ***/
1025 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1026 IMFTrackedSample *This,
1027 REFIID riid,
1028 void **ppvObject);
1029
1030 ULONG (STDMETHODCALLTYPE *AddRef)(
1031 IMFTrackedSample *This);
1032
1033 ULONG (STDMETHODCALLTYPE *Release)(
1034 IMFTrackedSample *This);
1035
1036 /*** IMFTrackedSample methods ***/
1037 HRESULT (STDMETHODCALLTYPE *SetAllocator)(
1038 IMFTrackedSample *This,
1039 IMFAsyncCallback *pSampleAllocator,
1040 IUnknown *pUnkState);
1041
1042 END_INTERFACE
1043 } IMFTrackedSampleVtbl;
1044
1045 interface IMFTrackedSample {
1046 CONST_VTBL IMFTrackedSampleVtbl* lpVtbl;
1047 };
1048
1049 #ifdef COBJMACROS
1050 #ifndef WIDL_C_INLINE_WRAPPERS
1051 /*** IUnknown methods ***/
1052 #define IMFTrackedSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1053 #define IMFTrackedSample_AddRef(This) (This)->lpVtbl->AddRef(This)
1054 #define IMFTrackedSample_Release(This) (This)->lpVtbl->Release(This)
1055 /*** IMFTrackedSample methods ***/
1056 #define IMFTrackedSample_SetAllocator(This,pSampleAllocator,pUnkState) (This)->lpVtbl->SetAllocator(This,pSampleAllocator,pUnkState)
1057 #else
1058 /*** IUnknown methods ***/
1059 static FORCEINLINE HRESULT IMFTrackedSample_QueryInterface(IMFTrackedSample* This,REFIID riid,void **ppvObject) {
1060 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1061 }
1062 static FORCEINLINE ULONG IMFTrackedSample_AddRef(IMFTrackedSample* This) {
1063 return This->lpVtbl->AddRef(This);
1064 }
1065 static FORCEINLINE ULONG IMFTrackedSample_Release(IMFTrackedSample* This) {
1066 return This->lpVtbl->Release(This);
1067 }
1068 /*** IMFTrackedSample methods ***/
1069 static FORCEINLINE HRESULT IMFTrackedSample_SetAllocator(IMFTrackedSample* This,IMFAsyncCallback *pSampleAllocator,IUnknown *pUnkState) {
1070 return This->lpVtbl->SetAllocator(This,pSampleAllocator,pUnkState);
1071 }
1072 #endif
1073 #endif
1074
1075 #endif
1076
1077
1078 #endif /* __IMFTrackedSample_INTERFACE_DEFINED__ */
1079
1080
1081 /*****************************************************************************
1082 * IMFVideoMixerControl interface
1083 */
1084 #ifndef __IMFVideoMixerControl_INTERFACE_DEFINED__
1085 #define __IMFVideoMixerControl_INTERFACE_DEFINED__
1086
1087 DEFINE_GUID(IID_IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5);
1088 #if defined(__cplusplus) && !defined(CINTERFACE)
1089 MIDL_INTERFACE("a5c6c53f-c202-4aa5-9695-175ba8c508a5")
1090 IMFVideoMixerControl : public IUnknown
1091 {
1092 virtual HRESULT STDMETHODCALLTYPE SetStreamZOrder(
1093 DWORD dwStreamID,
1094 DWORD dwZ) = 0;
1095
1096 virtual HRESULT STDMETHODCALLTYPE GetStreamZOrder(
1097 DWORD dwStreamID,
1098 DWORD *pdwZ) = 0;
1099
1100 virtual HRESULT STDMETHODCALLTYPE SetStreamOutputRect(
1101 DWORD dwStreamID,
1102 const MFVideoNormalizedRect *pnrcOutput) = 0;
1103
1104 virtual HRESULT STDMETHODCALLTYPE GetStreamOutputRect(
1105 DWORD dwStreamID,
1106 MFVideoNormalizedRect *pnrcOutput) = 0;
1107
1108 };
1109 #ifdef __CRT_UUID_DECL
1110 __CRT_UUID_DECL(IMFVideoMixerControl, 0xa5c6c53f, 0xc202, 0x4aa5, 0x96,0x95, 0x17,0x5b,0xa8,0xc5,0x08,0xa5)
1111 #endif
1112 #else
1113 typedef struct IMFVideoMixerControlVtbl {
1114 BEGIN_INTERFACE
1115
1116 /*** IUnknown methods ***/
1117 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1118 IMFVideoMixerControl *This,
1119 REFIID riid,
1120 void **ppvObject);
1121
1122 ULONG (STDMETHODCALLTYPE *AddRef)(
1123 IMFVideoMixerControl *This);
1124
1125 ULONG (STDMETHODCALLTYPE *Release)(
1126 IMFVideoMixerControl *This);
1127
1128 /*** IMFVideoMixerControl methods ***/
1129 HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)(
1130 IMFVideoMixerControl *This,
1131 DWORD dwStreamID,
1132 DWORD dwZ);
1133
1134 HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)(
1135 IMFVideoMixerControl *This,
1136 DWORD dwStreamID,
1137 DWORD *pdwZ);
1138
1139 HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)(
1140 IMFVideoMixerControl *This,
1141 DWORD dwStreamID,
1142 const MFVideoNormalizedRect *pnrcOutput);
1143
1144 HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)(
1145 IMFVideoMixerControl *This,
1146 DWORD dwStreamID,
1147 MFVideoNormalizedRect *pnrcOutput);
1148
1149 END_INTERFACE
1150 } IMFVideoMixerControlVtbl;
1151
1152 interface IMFVideoMixerControl {
1153 CONST_VTBL IMFVideoMixerControlVtbl* lpVtbl;
1154 };
1155
1156 #ifdef COBJMACROS
1157 #ifndef WIDL_C_INLINE_WRAPPERS
1158 /*** IUnknown methods ***/
1159 #define IMFVideoMixerControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1160 #define IMFVideoMixerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1161 #define IMFVideoMixerControl_Release(This) (This)->lpVtbl->Release(This)
1162 /*** IMFVideoMixerControl methods ***/
1163 #define IMFVideoMixerControl_SetStreamZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ)
1164 #define IMFVideoMixerControl_GetStreamZOrder(This,dwStreamID,pdwZ) (This)->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ)
1165 #define IMFVideoMixerControl_SetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput)
1166 #define IMFVideoMixerControl_GetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput)
1167 #else
1168 /*** IUnknown methods ***/
1169 static FORCEINLINE HRESULT IMFVideoMixerControl_QueryInterface(IMFVideoMixerControl* This,REFIID riid,void **ppvObject) {
1170 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1171 }
1172 static FORCEINLINE ULONG IMFVideoMixerControl_AddRef(IMFVideoMixerControl* This) {
1173 return This->lpVtbl->AddRef(This);
1174 }
1175 static FORCEINLINE ULONG IMFVideoMixerControl_Release(IMFVideoMixerControl* This) {
1176 return This->lpVtbl->Release(This);
1177 }
1178 /*** IMFVideoMixerControl methods ***/
1179 static FORCEINLINE HRESULT IMFVideoMixerControl_SetStreamZOrder(IMFVideoMixerControl* This,DWORD dwStreamID,DWORD dwZ) {
1180 return This->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ);
1181 }
1182 static FORCEINLINE HRESULT IMFVideoMixerControl_GetStreamZOrder(IMFVideoMixerControl* This,DWORD dwStreamID,DWORD *pdwZ) {
1183 return This->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ);
1184 }
1185 static FORCEINLINE HRESULT IMFVideoMixerControl_SetStreamOutputRect(IMFVideoMixerControl* This,DWORD dwStreamID,const MFVideoNormalizedRect *pnrcOutput) {
1186 return This->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput);
1187 }
1188 static FORCEINLINE HRESULT IMFVideoMixerControl_GetStreamOutputRect(IMFVideoMixerControl* This,DWORD dwStreamID,MFVideoNormalizedRect *pnrcOutput) {
1189 return This->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput);
1190 }
1191 #endif
1192 #endif
1193
1194 #endif
1195
1196
1197 #endif /* __IMFVideoMixerControl_INTERFACE_DEFINED__ */
1198
1199
1200 /*****************************************************************************
1201 * IMFVideoMixerControl2 interface
1202 */
1203 #ifndef __IMFVideoMixerControl2_INTERFACE_DEFINED__
1204 #define __IMFVideoMixerControl2_INTERFACE_DEFINED__
1205
1206 DEFINE_GUID(IID_IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3);
1207 #if defined(__cplusplus) && !defined(CINTERFACE)
1208 MIDL_INTERFACE("8459616d-966e-4930-b658-54fa7e5a16d3")
1209 IMFVideoMixerControl2 : public IMFVideoMixerControl
1210 {
1211 virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
1212 DWORD dwMixFlags) = 0;
1213
1214 virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
1215 DWORD *pdwMixFlags) = 0;
1216
1217 };
1218 #ifdef __CRT_UUID_DECL
1219 __CRT_UUID_DECL(IMFVideoMixerControl2, 0x8459616d, 0x966e, 0x4930, 0xb6,0x58, 0x54,0xfa,0x7e,0x5a,0x16,0xd3)
1220 #endif
1221 #else
1222 typedef struct IMFVideoMixerControl2Vtbl {
1223 BEGIN_INTERFACE
1224
1225 /*** IUnknown methods ***/
1226 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1227 IMFVideoMixerControl2 *This,
1228 REFIID riid,
1229 void **ppvObject);
1230
1231 ULONG (STDMETHODCALLTYPE *AddRef)(
1232 IMFVideoMixerControl2 *This);
1233
1234 ULONG (STDMETHODCALLTYPE *Release)(
1235 IMFVideoMixerControl2 *This);
1236
1237 /*** IMFVideoMixerControl methods ***/
1238 HRESULT (STDMETHODCALLTYPE *SetStreamZOrder)(
1239 IMFVideoMixerControl2 *This,
1240 DWORD dwStreamID,
1241 DWORD dwZ);
1242
1243 HRESULT (STDMETHODCALLTYPE *GetStreamZOrder)(
1244 IMFVideoMixerControl2 *This,
1245 DWORD dwStreamID,
1246 DWORD *pdwZ);
1247
1248 HRESULT (STDMETHODCALLTYPE *SetStreamOutputRect)(
1249 IMFVideoMixerControl2 *This,
1250 DWORD dwStreamID,
1251 const MFVideoNormalizedRect *pnrcOutput);
1252
1253 HRESULT (STDMETHODCALLTYPE *GetStreamOutputRect)(
1254 IMFVideoMixerControl2 *This,
1255 DWORD dwStreamID,
1256 MFVideoNormalizedRect *pnrcOutput);
1257
1258 /*** IMFVideoMixerControl2 methods ***/
1259 HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)(
1260 IMFVideoMixerControl2 *This,
1261 DWORD dwMixFlags);
1262
1263 HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)(
1264 IMFVideoMixerControl2 *This,
1265 DWORD *pdwMixFlags);
1266
1267 END_INTERFACE
1268 } IMFVideoMixerControl2Vtbl;
1269
1270 interface IMFVideoMixerControl2 {
1271 CONST_VTBL IMFVideoMixerControl2Vtbl* lpVtbl;
1272 };
1273
1274 #ifdef COBJMACROS
1275 #ifndef WIDL_C_INLINE_WRAPPERS
1276 /*** IUnknown methods ***/
1277 #define IMFVideoMixerControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1278 #define IMFVideoMixerControl2_AddRef(This) (This)->lpVtbl->AddRef(This)
1279 #define IMFVideoMixerControl2_Release(This) (This)->lpVtbl->Release(This)
1280 /*** IMFVideoMixerControl methods ***/
1281 #define IMFVideoMixerControl2_SetStreamZOrder(This,dwStreamID,dwZ) (This)->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ)
1282 #define IMFVideoMixerControl2_GetStreamZOrder(This,dwStreamID,pdwZ) (This)->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ)
1283 #define IMFVideoMixerControl2_SetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput)
1284 #define IMFVideoMixerControl2_GetStreamOutputRect(This,dwStreamID,pnrcOutput) (This)->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput)
1285 /*** IMFVideoMixerControl2 methods ***/
1286 #define IMFVideoMixerControl2_SetMixingPrefs(This,dwMixFlags) (This)->lpVtbl->SetMixingPrefs(This,dwMixFlags)
1287 #define IMFVideoMixerControl2_GetMixingPrefs(This,pdwMixFlags) (This)->lpVtbl->GetMixingPrefs(This,pdwMixFlags)
1288 #else
1289 /*** IUnknown methods ***/
1290 static FORCEINLINE HRESULT IMFVideoMixerControl2_QueryInterface(IMFVideoMixerControl2* This,REFIID riid,void **ppvObject) {
1291 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1292 }
1293 static FORCEINLINE ULONG IMFVideoMixerControl2_AddRef(IMFVideoMixerControl2* This) {
1294 return This->lpVtbl->AddRef(This);
1295 }
1296 static FORCEINLINE ULONG IMFVideoMixerControl2_Release(IMFVideoMixerControl2* This) {
1297 return This->lpVtbl->Release(This);
1298 }
1299 /*** IMFVideoMixerControl methods ***/
1300 static FORCEINLINE HRESULT IMFVideoMixerControl2_SetStreamZOrder(IMFVideoMixerControl2* This,DWORD dwStreamID,DWORD dwZ) {
1301 return This->lpVtbl->SetStreamZOrder(This,dwStreamID,dwZ);
1302 }
1303 static FORCEINLINE HRESULT IMFVideoMixerControl2_GetStreamZOrder(IMFVideoMixerControl2* This,DWORD dwStreamID,DWORD *pdwZ) {
1304 return This->lpVtbl->GetStreamZOrder(This,dwStreamID,pdwZ);
1305 }
1306 static FORCEINLINE HRESULT IMFVideoMixerControl2_SetStreamOutputRect(IMFVideoMixerControl2* This,DWORD dwStreamID,const MFVideoNormalizedRect *pnrcOutput) {
1307 return This->lpVtbl->SetStreamOutputRect(This,dwStreamID,pnrcOutput);
1308 }
1309 static FORCEINLINE HRESULT IMFVideoMixerControl2_GetStreamOutputRect(IMFVideoMixerControl2* This,DWORD dwStreamID,MFVideoNormalizedRect *pnrcOutput) {
1310 return This->lpVtbl->GetStreamOutputRect(This,dwStreamID,pnrcOutput);
1311 }
1312 /*** IMFVideoMixerControl2 methods ***/
1313 static FORCEINLINE HRESULT IMFVideoMixerControl2_SetMixingPrefs(IMFVideoMixerControl2* This,DWORD dwMixFlags) {
1314 return This->lpVtbl->SetMixingPrefs(This,dwMixFlags);
1315 }
1316 static FORCEINLINE HRESULT IMFVideoMixerControl2_GetMixingPrefs(IMFVideoMixerControl2* This,DWORD *pdwMixFlags) {
1317 return This->lpVtbl->GetMixingPrefs(This,pdwMixFlags);
1318 }
1319 #endif
1320 #endif
1321
1322 #endif
1323
1324
1325 #endif /* __IMFVideoMixerControl2_INTERFACE_DEFINED__ */
1326
1327
1328 /*****************************************************************************
1329 * IMFVideoRenderer interface
1330 */
1331 #ifndef __IMFVideoRenderer_INTERFACE_DEFINED__
1332 #define __IMFVideoRenderer_INTERFACE_DEFINED__
1333
1334 DEFINE_GUID(IID_IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd);
1335 #if defined(__cplusplus) && !defined(CINTERFACE)
1336 MIDL_INTERFACE("dfdfd197-a9ca-43d8-b341-6af3503792cd")
1337 IMFVideoRenderer : public IUnknown
1338 {
1339 virtual HRESULT STDMETHODCALLTYPE InitializeRenderer(
1340 IMFTransform *pVideoMixer,
1341 IMFVideoPresenter *pVideoPresenter) = 0;
1342
1343 };
1344 #ifdef __CRT_UUID_DECL
1345 __CRT_UUID_DECL(IMFVideoRenderer, 0xdfdfd197, 0xa9ca, 0x43d8, 0xb3,0x41, 0x6a,0xf3,0x50,0x37,0x92,0xcd)
1346 #endif
1347 #else
1348 typedef struct IMFVideoRendererVtbl {
1349 BEGIN_INTERFACE
1350
1351 /*** IUnknown methods ***/
1352 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1353 IMFVideoRenderer *This,
1354 REFIID riid,
1355 void **ppvObject);
1356
1357 ULONG (STDMETHODCALLTYPE *AddRef)(
1358 IMFVideoRenderer *This);
1359
1360 ULONG (STDMETHODCALLTYPE *Release)(
1361 IMFVideoRenderer *This);
1362
1363 /*** IMFVideoRenderer methods ***/
1364 HRESULT (STDMETHODCALLTYPE *InitializeRenderer)(
1365 IMFVideoRenderer *This,
1366 IMFTransform *pVideoMixer,
1367 IMFVideoPresenter *pVideoPresenter);
1368
1369 END_INTERFACE
1370 } IMFVideoRendererVtbl;
1371
1372 interface IMFVideoRenderer {
1373 CONST_VTBL IMFVideoRendererVtbl* lpVtbl;
1374 };
1375
1376 #ifdef COBJMACROS
1377 #ifndef WIDL_C_INLINE_WRAPPERS
1378 /*** IUnknown methods ***/
1379 #define IMFVideoRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1380 #define IMFVideoRenderer_AddRef(This) (This)->lpVtbl->AddRef(This)
1381 #define IMFVideoRenderer_Release(This) (This)->lpVtbl->Release(This)
1382 /*** IMFVideoRenderer methods ***/
1383 #define IMFVideoRenderer_InitializeRenderer(This,pVideoMixer,pVideoPresenter) (This)->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter)
1384 #else
1385 /*** IUnknown methods ***/
1386 static FORCEINLINE HRESULT IMFVideoRenderer_QueryInterface(IMFVideoRenderer* This,REFIID riid,void **ppvObject) {
1387 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1388 }
1389 static FORCEINLINE ULONG IMFVideoRenderer_AddRef(IMFVideoRenderer* This) {
1390 return This->lpVtbl->AddRef(This);
1391 }
1392 static FORCEINLINE ULONG IMFVideoRenderer_Release(IMFVideoRenderer* This) {
1393 return This->lpVtbl->Release(This);
1394 }
1395 /*** IMFVideoRenderer methods ***/
1396 static FORCEINLINE HRESULT IMFVideoRenderer_InitializeRenderer(IMFVideoRenderer* This,IMFTransform *pVideoMixer,IMFVideoPresenter *pVideoPresenter) {
1397 return This->lpVtbl->InitializeRenderer(This,pVideoMixer,pVideoPresenter);
1398 }
1399 #endif
1400 #endif
1401
1402 #endif
1403
1404
1405 #endif /* __IMFVideoRenderer_INTERFACE_DEFINED__ */
1406
1407
1408 /*****************************************************************************
1409 * IEVRFilterConfig interface
1410 */
1411 #ifndef __IEVRFilterConfig_INTERFACE_DEFINED__
1412 #define __IEVRFilterConfig_INTERFACE_DEFINED__
1413
1414 DEFINE_GUID(IID_IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86);
1415 #if defined(__cplusplus) && !defined(CINTERFACE)
1416 MIDL_INTERFACE("83e91e85-82c1-4ea7-801d-85dc50b75086")
1417 IEVRFilterConfig : public IUnknown
1418 {
1419 virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(
1420 DWORD dwMaxStreams) = 0;
1421
1422 virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(
1423 DWORD *pdwMaxStreams) = 0;
1424
1425 };
1426 #ifdef __CRT_UUID_DECL
1427 __CRT_UUID_DECL(IEVRFilterConfig, 0x83e91e85, 0x82c1, 0x4ea7, 0x80,0x1d, 0x85,0xdc,0x50,0xb7,0x50,0x86)
1428 #endif
1429 #else
1430 typedef struct IEVRFilterConfigVtbl {
1431 BEGIN_INTERFACE
1432
1433 /*** IUnknown methods ***/
1434 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1435 IEVRFilterConfig *This,
1436 REFIID riid,
1437 void **ppvObject);
1438
1439 ULONG (STDMETHODCALLTYPE *AddRef)(
1440 IEVRFilterConfig *This);
1441
1442 ULONG (STDMETHODCALLTYPE *Release)(
1443 IEVRFilterConfig *This);
1444
1445 /*** IEVRFilterConfig methods ***/
1446 HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)(
1447 IEVRFilterConfig *This,
1448 DWORD dwMaxStreams);
1449
1450 HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)(
1451 IEVRFilterConfig *This,
1452 DWORD *pdwMaxStreams);
1453
1454 END_INTERFACE
1455 } IEVRFilterConfigVtbl;
1456
1457 interface IEVRFilterConfig {
1458 CONST_VTBL IEVRFilterConfigVtbl* lpVtbl;
1459 };
1460
1461 #ifdef COBJMACROS
1462 #ifndef WIDL_C_INLINE_WRAPPERS
1463 /*** IUnknown methods ***/
1464 #define IEVRFilterConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1465 #define IEVRFilterConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
1466 #define IEVRFilterConfig_Release(This) (This)->lpVtbl->Release(This)
1467 /*** IEVRFilterConfig methods ***/
1468 #define IEVRFilterConfig_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
1469 #define IEVRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
1470 #else
1471 /*** IUnknown methods ***/
1472 static FORCEINLINE HRESULT IEVRFilterConfig_QueryInterface(IEVRFilterConfig* This,REFIID riid,void **ppvObject) {
1473 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1474 }
1475 static FORCEINLINE ULONG IEVRFilterConfig_AddRef(IEVRFilterConfig* This) {
1476 return This->lpVtbl->AddRef(This);
1477 }
1478 static FORCEINLINE ULONG IEVRFilterConfig_Release(IEVRFilterConfig* This) {
1479 return This->lpVtbl->Release(This);
1480 }
1481 /*** IEVRFilterConfig methods ***/
1482 static FORCEINLINE HRESULT IEVRFilterConfig_SetNumberOfStreams(IEVRFilterConfig* This,DWORD dwMaxStreams) {
1483 return This->lpVtbl->SetNumberOfStreams(This,dwMaxStreams);
1484 }
1485 static FORCEINLINE HRESULT IEVRFilterConfig_GetNumberOfStreams(IEVRFilterConfig* This,DWORD *pdwMaxStreams) {
1486 return This->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams);
1487 }
1488 #endif
1489 #endif
1490
1491 #endif
1492
1493
1494 #endif /* __IEVRFilterConfig_INTERFACE_DEFINED__ */
1495
1496
1497 /*****************************************************************************
1498 * IEVRFilterConfigEx interface
1499 */
1500 #ifndef __IEVRFilterConfigEx_INTERFACE_DEFINED__
1501 #define __IEVRFilterConfigEx_INTERFACE_DEFINED__
1502
1503 DEFINE_GUID(IID_IEVRFilterConfigEx, 0xaea36028, 0x796d, 0x454f, 0xbe,0xee, 0xb4,0x80,0x71,0xe2,0x43,0x04);
1504 #if defined(__cplusplus) && !defined(CINTERFACE)
1505 MIDL_INTERFACE("aea36028-796d-454f-beee-b48071e24304")
1506 IEVRFilterConfigEx : public IEVRFilterConfig
1507 {
1508 virtual HRESULT STDMETHODCALLTYPE SetConfigPrefs(
1509 DWORD dwConfigFlags) = 0;
1510
1511 virtual HRESULT STDMETHODCALLTYPE GetConfigPrefs(
1512 DWORD *pdwConfigFlags) = 0;
1513
1514 };
1515 #ifdef __CRT_UUID_DECL
1516 __CRT_UUID_DECL(IEVRFilterConfigEx, 0xaea36028, 0x796d, 0x454f, 0xbe,0xee, 0xb4,0x80,0x71,0xe2,0x43,0x04)
1517 #endif
1518 #else
1519 typedef struct IEVRFilterConfigExVtbl {
1520 BEGIN_INTERFACE
1521
1522 /*** IUnknown methods ***/
1523 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1524 IEVRFilterConfigEx *This,
1525 REFIID riid,
1526 void **ppvObject);
1527
1528 ULONG (STDMETHODCALLTYPE *AddRef)(
1529 IEVRFilterConfigEx *This);
1530
1531 ULONG (STDMETHODCALLTYPE *Release)(
1532 IEVRFilterConfigEx *This);
1533
1534 /*** IEVRFilterConfig methods ***/
1535 HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)(
1536 IEVRFilterConfigEx *This,
1537 DWORD dwMaxStreams);
1538
1539 HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)(
1540 IEVRFilterConfigEx *This,
1541 DWORD *pdwMaxStreams);
1542
1543 /*** IEVRFilterConfigEx methods ***/
1544 HRESULT (STDMETHODCALLTYPE *SetConfigPrefs)(
1545 IEVRFilterConfigEx *This,
1546 DWORD dwConfigFlags);
1547
1548 HRESULT (STDMETHODCALLTYPE *GetConfigPrefs)(
1549 IEVRFilterConfigEx *This,
1550 DWORD *pdwConfigFlags);
1551
1552 END_INTERFACE
1553 } IEVRFilterConfigExVtbl;
1554
1555 interface IEVRFilterConfigEx {
1556 CONST_VTBL IEVRFilterConfigExVtbl* lpVtbl;
1557 };
1558
1559 #ifdef COBJMACROS
1560 #ifndef WIDL_C_INLINE_WRAPPERS
1561 /*** IUnknown methods ***/
1562 #define IEVRFilterConfigEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1563 #define IEVRFilterConfigEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1564 #define IEVRFilterConfigEx_Release(This) (This)->lpVtbl->Release(This)
1565 /*** IEVRFilterConfig methods ***/
1566 #define IEVRFilterConfigEx_SetNumberOfStreams(This,dwMaxStreams) (This)->lpVtbl->SetNumberOfStreams(This,dwMaxStreams)
1567 #define IEVRFilterConfigEx_GetNumberOfStreams(This,pdwMaxStreams) (This)->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams)
1568 /*** IEVRFilterConfigEx methods ***/
1569 #define IEVRFilterConfigEx_SetConfigPrefs(This,dwConfigFlags) (This)->lpVtbl->SetConfigPrefs(This,dwConfigFlags)
1570 #define IEVRFilterConfigEx_GetConfigPrefs(This,pdwConfigFlags) (This)->lpVtbl->GetConfigPrefs(This,pdwConfigFlags)
1571 #else
1572 /*** IUnknown methods ***/
1573 static FORCEINLINE HRESULT IEVRFilterConfigEx_QueryInterface(IEVRFilterConfigEx* This,REFIID riid,void **ppvObject) {
1574 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1575 }
1576 static FORCEINLINE ULONG IEVRFilterConfigEx_AddRef(IEVRFilterConfigEx* This) {
1577 return This->lpVtbl->AddRef(This);
1578 }
1579 static FORCEINLINE ULONG IEVRFilterConfigEx_Release(IEVRFilterConfigEx* This) {
1580 return This->lpVtbl->Release(This);
1581 }
1582 /*** IEVRFilterConfig methods ***/
1583 static FORCEINLINE HRESULT IEVRFilterConfigEx_SetNumberOfStreams(IEVRFilterConfigEx* This,DWORD dwMaxStreams) {
1584 return This->lpVtbl->SetNumberOfStreams(This,dwMaxStreams);
1585 }
1586 static FORCEINLINE HRESULT IEVRFilterConfigEx_GetNumberOfStreams(IEVRFilterConfigEx* This,DWORD *pdwMaxStreams) {
1587 return This->lpVtbl->GetNumberOfStreams(This,pdwMaxStreams);
1588 }
1589 /*** IEVRFilterConfigEx methods ***/
1590 static FORCEINLINE HRESULT IEVRFilterConfigEx_SetConfigPrefs(IEVRFilterConfigEx* This,DWORD dwConfigFlags) {
1591 return This->lpVtbl->SetConfigPrefs(This,dwConfigFlags);
1592 }
1593 static FORCEINLINE HRESULT IEVRFilterConfigEx_GetConfigPrefs(IEVRFilterConfigEx* This,DWORD *pdwConfigFlags) {
1594 return This->lpVtbl->GetConfigPrefs(This,pdwConfigFlags);
1595 }
1596 #endif
1597 #endif
1598
1599 #endif
1600
1601
1602 #endif /* __IEVRFilterConfigEx_INTERFACE_DEFINED__ */
1603
1604
1605 /*****************************************************************************
1606 * IMFTopologyServiceLookup interface
1607 */
1608 #ifndef __IMFTopologyServiceLookup_INTERFACE_DEFINED__
1609 #define __IMFTopologyServiceLookup_INTERFACE_DEFINED__
1610
1611 DEFINE_GUID(IID_IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7);
1612 #if defined(__cplusplus) && !defined(CINTERFACE)
1613 MIDL_INTERFACE("fa993889-4383-415a-a930-dd472a8cf6f7")
1614 IMFTopologyServiceLookup : public IUnknown
1615 {
1616 virtual HRESULT STDMETHODCALLTYPE LookupService(
1617 MF_SERVICE_LOOKUP_TYPE Type,
1618 DWORD dwIndex,
1619 REFGUID guidService,
1620 REFIID riid,
1621 LPVOID *ppvObjects,
1622 DWORD *pnObjects) = 0;
1623
1624 };
1625 #ifdef __CRT_UUID_DECL
1626 __CRT_UUID_DECL(IMFTopologyServiceLookup, 0xfa993889, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7)
1627 #endif
1628 #else
1629 typedef struct IMFTopologyServiceLookupVtbl {
1630 BEGIN_INTERFACE
1631
1632 /*** IUnknown methods ***/
1633 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1634 IMFTopologyServiceLookup *This,
1635 REFIID riid,
1636 void **ppvObject);
1637
1638 ULONG (STDMETHODCALLTYPE *AddRef)(
1639 IMFTopologyServiceLookup *This);
1640
1641 ULONG (STDMETHODCALLTYPE *Release)(
1642 IMFTopologyServiceLookup *This);
1643
1644 /*** IMFTopologyServiceLookup methods ***/
1645 HRESULT (STDMETHODCALLTYPE *LookupService)(
1646 IMFTopologyServiceLookup *This,
1647 MF_SERVICE_LOOKUP_TYPE Type,
1648 DWORD dwIndex,
1649 REFGUID guidService,
1650 REFIID riid,
1651 LPVOID *ppvObjects,
1652 DWORD *pnObjects);
1653
1654 END_INTERFACE
1655 } IMFTopologyServiceLookupVtbl;
1656
1657 interface IMFTopologyServiceLookup {
1658 CONST_VTBL IMFTopologyServiceLookupVtbl* lpVtbl;
1659 };
1660
1661 #ifdef COBJMACROS
1662 #ifndef WIDL_C_INLINE_WRAPPERS
1663 /*** IUnknown methods ***/
1664 #define IMFTopologyServiceLookup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1665 #define IMFTopologyServiceLookup_AddRef(This) (This)->lpVtbl->AddRef(This)
1666 #define IMFTopologyServiceLookup_Release(This) (This)->lpVtbl->Release(This)
1667 /*** IMFTopologyServiceLookup methods ***/
1668 #define IMFTopologyServiceLookup_LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects) (This)->lpVtbl->LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects)
1669 #else
1670 /*** IUnknown methods ***/
1671 static FORCEINLINE HRESULT IMFTopologyServiceLookup_QueryInterface(IMFTopologyServiceLookup* This,REFIID riid,void **ppvObject) {
1672 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1673 }
1674 static FORCEINLINE ULONG IMFTopologyServiceLookup_AddRef(IMFTopologyServiceLookup* This) {
1675 return This->lpVtbl->AddRef(This);
1676 }
1677 static FORCEINLINE ULONG IMFTopologyServiceLookup_Release(IMFTopologyServiceLookup* This) {
1678 return This->lpVtbl->Release(This);
1679 }
1680 /*** IMFTopologyServiceLookup methods ***/
1681 static FORCEINLINE HRESULT IMFTopologyServiceLookup_LookupService(IMFTopologyServiceLookup* This,MF_SERVICE_LOOKUP_TYPE Type,DWORD dwIndex,REFGUID guidService,REFIID riid,LPVOID *ppvObjects,DWORD *pnObjects) {
1682 return This->lpVtbl->LookupService(This,Type,dwIndex,guidService,riid,ppvObjects,pnObjects);
1683 }
1684 #endif
1685 #endif
1686
1687 #endif
1688
1689
1690 #endif /* __IMFTopologyServiceLookup_INTERFACE_DEFINED__ */
1691
1692
1693 /*****************************************************************************
1694 * IMFTopologyServiceLookupClient interface
1695 */
1696 #ifndef __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__
1697 #define __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__
1698
1699 DEFINE_GUID(IID_IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7);
1700 #if defined(__cplusplus) && !defined(CINTERFACE)
1701 MIDL_INTERFACE("fa99388a-4383-415a-a930-dd472a8cf6f7")
1702 IMFTopologyServiceLookupClient : public IUnknown
1703 {
1704 virtual HRESULT STDMETHODCALLTYPE InitServicePointers(
1705 IMFTopologyServiceLookup *pLookup) = 0;
1706
1707 virtual HRESULT STDMETHODCALLTYPE ReleaseServicePointers(
1708 ) = 0;
1709
1710 };
1711 #ifdef __CRT_UUID_DECL
1712 __CRT_UUID_DECL(IMFTopologyServiceLookupClient, 0xfa99388a, 0x4383, 0x415a, 0xa9,0x30, 0xdd,0x47,0x2a,0x8c,0xf6,0xf7)
1713 #endif
1714 #else
1715 typedef struct IMFTopologyServiceLookupClientVtbl {
1716 BEGIN_INTERFACE
1717
1718 /*** IUnknown methods ***/
1719 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1720 IMFTopologyServiceLookupClient *This,
1721 REFIID riid,
1722 void **ppvObject);
1723
1724 ULONG (STDMETHODCALLTYPE *AddRef)(
1725 IMFTopologyServiceLookupClient *This);
1726
1727 ULONG (STDMETHODCALLTYPE *Release)(
1728 IMFTopologyServiceLookupClient *This);
1729
1730 /*** IMFTopologyServiceLookupClient methods ***/
1731 HRESULT (STDMETHODCALLTYPE *InitServicePointers)(
1732 IMFTopologyServiceLookupClient *This,
1733 IMFTopologyServiceLookup *pLookup);
1734
1735 HRESULT (STDMETHODCALLTYPE *ReleaseServicePointers)(
1736 IMFTopologyServiceLookupClient *This);
1737
1738 END_INTERFACE
1739 } IMFTopologyServiceLookupClientVtbl;
1740
1741 interface IMFTopologyServiceLookupClient {
1742 CONST_VTBL IMFTopologyServiceLookupClientVtbl* lpVtbl;
1743 };
1744
1745 #ifdef COBJMACROS
1746 #ifndef WIDL_C_INLINE_WRAPPERS
1747 /*** IUnknown methods ***/
1748 #define IMFTopologyServiceLookupClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1749 #define IMFTopologyServiceLookupClient_AddRef(This) (This)->lpVtbl->AddRef(This)
1750 #define IMFTopologyServiceLookupClient_Release(This) (This)->lpVtbl->Release(This)
1751 /*** IMFTopologyServiceLookupClient methods ***/
1752 #define IMFTopologyServiceLookupClient_InitServicePointers(This,pLookup) (This)->lpVtbl->InitServicePointers(This,pLookup)
1753 #define IMFTopologyServiceLookupClient_ReleaseServicePointers(This) (This)->lpVtbl->ReleaseServicePointers(This)
1754 #else
1755 /*** IUnknown methods ***/
1756 static FORCEINLINE HRESULT IMFTopologyServiceLookupClient_QueryInterface(IMFTopologyServiceLookupClient* This,REFIID riid,void **ppvObject) {
1757 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1758 }
1759 static FORCEINLINE ULONG IMFTopologyServiceLookupClient_AddRef(IMFTopologyServiceLookupClient* This) {
1760 return This->lpVtbl->AddRef(This);
1761 }
1762 static FORCEINLINE ULONG IMFTopologyServiceLookupClient_Release(IMFTopologyServiceLookupClient* This) {
1763 return This->lpVtbl->Release(This);
1764 }
1765 /*** IMFTopologyServiceLookupClient methods ***/
1766 static FORCEINLINE HRESULT IMFTopologyServiceLookupClient_InitServicePointers(IMFTopologyServiceLookupClient* This,IMFTopologyServiceLookup *pLookup) {
1767 return This->lpVtbl->InitServicePointers(This,pLookup);
1768 }
1769 static FORCEINLINE HRESULT IMFTopologyServiceLookupClient_ReleaseServicePointers(IMFTopologyServiceLookupClient* This) {
1770 return This->lpVtbl->ReleaseServicePointers(This);
1771 }
1772 #endif
1773 #endif
1774
1775 #endif
1776
1777
1778 #endif /* __IMFTopologyServiceLookupClient_INTERFACE_DEFINED__ */
1779
1780
1781 /*****************************************************************************
1782 * IEVRTrustedVideoPlugin interface
1783 */
1784 #ifndef __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__
1785 #define __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__
1786
1787 DEFINE_GUID(IID_IEVRTrustedVideoPlugin, 0x83a4ce40, 0x7710, 0x494b, 0xa8,0x93, 0xa4,0x72,0x04,0x9a,0xf6,0x30);
1788 #if defined(__cplusplus) && !defined(CINTERFACE)
1789 MIDL_INTERFACE("83a4ce40-7710-494b-a893-a472049af630")
1790 IEVRTrustedVideoPlugin : public IUnknown
1791 {
1792 virtual HRESULT STDMETHODCALLTYPE IsInTrustedVideoMode(
1793 WINBOOL *pYes) = 0;
1794
1795 virtual HRESULT STDMETHODCALLTYPE CanConstrict(
1796 WINBOOL *pYes) = 0;
1797
1798 virtual HRESULT STDMETHODCALLTYPE SetConstriction(
1799 DWORD dwKPix) = 0;
1800
1801 virtual HRESULT STDMETHODCALLTYPE DisableImageExport(
1802 WINBOOL bDisable) = 0;
1803
1804 };
1805 #ifdef __CRT_UUID_DECL
1806 __CRT_UUID_DECL(IEVRTrustedVideoPlugin, 0x83a4ce40, 0x7710, 0x494b, 0xa8,0x93, 0xa4,0x72,0x04,0x9a,0xf6,0x30)
1807 #endif
1808 #else
1809 typedef struct IEVRTrustedVideoPluginVtbl {
1810 BEGIN_INTERFACE
1811
1812 /*** IUnknown methods ***/
1813 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1814 IEVRTrustedVideoPlugin *This,
1815 REFIID riid,
1816 void **ppvObject);
1817
1818 ULONG (STDMETHODCALLTYPE *AddRef)(
1819 IEVRTrustedVideoPlugin *This);
1820
1821 ULONG (STDMETHODCALLTYPE *Release)(
1822 IEVRTrustedVideoPlugin *This);
1823
1824 /*** IEVRTrustedVideoPlugin methods ***/
1825 HRESULT (STDMETHODCALLTYPE *IsInTrustedVideoMode)(
1826 IEVRTrustedVideoPlugin *This,
1827 WINBOOL *pYes);
1828
1829 HRESULT (STDMETHODCALLTYPE *CanConstrict)(
1830 IEVRTrustedVideoPlugin *This,
1831 WINBOOL *pYes);
1832
1833 HRESULT (STDMETHODCALLTYPE *SetConstriction)(
1834 IEVRTrustedVideoPlugin *This,
1835 DWORD dwKPix);
1836
1837 HRESULT (STDMETHODCALLTYPE *DisableImageExport)(
1838 IEVRTrustedVideoPlugin *This,
1839 WINBOOL bDisable);
1840
1841 END_INTERFACE
1842 } IEVRTrustedVideoPluginVtbl;
1843
1844 interface IEVRTrustedVideoPlugin {
1845 CONST_VTBL IEVRTrustedVideoPluginVtbl* lpVtbl;
1846 };
1847
1848 #ifdef COBJMACROS
1849 #ifndef WIDL_C_INLINE_WRAPPERS
1850 /*** IUnknown methods ***/
1851 #define IEVRTrustedVideoPlugin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1852 #define IEVRTrustedVideoPlugin_AddRef(This) (This)->lpVtbl->AddRef(This)
1853 #define IEVRTrustedVideoPlugin_Release(This) (This)->lpVtbl->Release(This)
1854 /*** IEVRTrustedVideoPlugin methods ***/
1855 #define IEVRTrustedVideoPlugin_IsInTrustedVideoMode(This,pYes) (This)->lpVtbl->IsInTrustedVideoMode(This,pYes)
1856 #define IEVRTrustedVideoPlugin_CanConstrict(This,pYes) (This)->lpVtbl->CanConstrict(This,pYes)
1857 #define IEVRTrustedVideoPlugin_SetConstriction(This,dwKPix) (This)->lpVtbl->SetConstriction(This,dwKPix)
1858 #define IEVRTrustedVideoPlugin_DisableImageExport(This,bDisable) (This)->lpVtbl->DisableImageExport(This,bDisable)
1859 #else
1860 /*** IUnknown methods ***/
1861 static FORCEINLINE HRESULT IEVRTrustedVideoPlugin_QueryInterface(IEVRTrustedVideoPlugin* This,REFIID riid,void **ppvObject) {
1862 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1863 }
1864 static FORCEINLINE ULONG IEVRTrustedVideoPlugin_AddRef(IEVRTrustedVideoPlugin* This) {
1865 return This->lpVtbl->AddRef(This);
1866 }
1867 static FORCEINLINE ULONG IEVRTrustedVideoPlugin_Release(IEVRTrustedVideoPlugin* This) {
1868 return This->lpVtbl->Release(This);
1869 }
1870 /*** IEVRTrustedVideoPlugin methods ***/
1871 static FORCEINLINE HRESULT IEVRTrustedVideoPlugin_IsInTrustedVideoMode(IEVRTrustedVideoPlugin* This,WINBOOL *pYes) {
1872 return This->lpVtbl->IsInTrustedVideoMode(This,pYes);
1873 }
1874 static FORCEINLINE HRESULT IEVRTrustedVideoPlugin_CanConstrict(IEVRTrustedVideoPlugin* This,WINBOOL *pYes) {
1875 return This->lpVtbl->CanConstrict(This,pYes);
1876 }
1877 static FORCEINLINE HRESULT IEVRTrustedVideoPlugin_SetConstriction(IEVRTrustedVideoPlugin* This,DWORD dwKPix) {
1878 return This->lpVtbl->SetConstriction(This,dwKPix);
1879 }
1880 static FORCEINLINE HRESULT IEVRTrustedVideoPlugin_DisableImageExport(IEVRTrustedVideoPlugin* This,WINBOOL bDisable) {
1881 return This->lpVtbl->DisableImageExport(This,bDisable);
1882 }
1883 #endif
1884 #endif
1885
1886 #endif
1887
1888
1889 #endif /* __IEVRTrustedVideoPlugin_INTERFACE_DEFINED__ */
1890
1891
1892 HRESULT WINAPI MFCreateVideoPresenter(IUnknown *pOwner, REFIID riidDevice, REFIID riid, void **ppVideoPresenter);
1893 HRESULT WINAPI MFCreateVideoMixer(IUnknown *pOwner, REFIID riidDevice, REFIID riid, void **ppv);
1894 HRESULT WINAPI MFCreateVideoMixerAndPresenter(IUnknown *pMixerOwner, IUnknown *pPresenterOwner, REFIID riidMixer, void **ppvVideoMixer, REFIID riidPresenter, void **ppvVideoPresenter);
1895 HRESULT WINAPI MFCreateVideoRenderer( REFIID riidRenderer, void **ppVideoRenderer );
1896 HRESULT WINAPI MFCreateVideoSampleFromSurface(IUnknown *pUnkSurface, IMFSample **ppSample);
1897 HRESULT WINAPI MFCreateVideoSampleAllocator(REFIID riid, void **ppSampleAllocator);
1898 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
1899
1900 /* Begin additional prototypes for all interfaces */
1901
1902 ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
1903 unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
1904 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
1905 void __RPC_USER HWND_UserFree (ULONG *, HWND *);
1906
1907 /* End additional prototypes */
1908
1909 #ifdef __cplusplus
1910 }
1911 #endif
1912
1913 #endif /* __evr_h__ */