1/*** Autogenerated by WIDL 1.5.25 from direct-x/include/mediaobj.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __mediaobj_h__
16#define __mediaobj_h__
17
18/* Forward declarations */
19
20#ifndef __IEnumDMO_FWD_DEFINED__
21#define __IEnumDMO_FWD_DEFINED__
22typedef interface IEnumDMO IEnumDMO;
23#endif
24
25/* Headers for imported files */
26
27#include <unknwn.h>
28#include <objidl.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#ifndef __IDMOQualityControl_FWD_DEFINED__
35#define __IDMOQualityControl_FWD_DEFINED__
36typedef interface IDMOQualityControl IDMOQualityControl;
37#endif
38
39#ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__
40#define __IDMOVideoOutputOptimizations_FWD_DEFINED__
41typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
42#endif
43
44#ifndef __IMediaBuffer_FWD_DEFINED__
45#define __IMediaBuffer_FWD_DEFINED__
46typedef interface IMediaBuffer IMediaBuffer;
47#endif
48
49#ifndef __IMediaObject_FWD_DEFINED__
50#define __IMediaObject_FWD_DEFINED__
51typedef interface IMediaObject IMediaObject;
52#endif
53
54#ifndef __IMediaObjectInPlace_FWD_DEFINED__
55#define __IMediaObjectInPlace_FWD_DEFINED__
56typedef interface IMediaObjectInPlace IMediaObjectInPlace;
57#endif
58
59typedef struct _DMOMediaType {
60    GUID majortype;
61    GUID subtype;
62    WINBOOL bFixedSizeSamples;
63    WINBOOL bTemporalCompression;
64    ULONG lSampleSize;
65    GUID formattype;
66    IUnknown *pUnk;
67    ULONG cbFormat;
68    BYTE *pbFormat;
69} DMO_MEDIA_TYPE;
70/*****************************************************************************
71 * IEnumDMO interface
72 */
73#ifndef __IEnumDMO_INTERFACE_DEFINED__
74#define __IEnumDMO_INTERFACE_DEFINED__
75
76DEFINE_GUID(IID_IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f);
77#if defined(__cplusplus) && !defined(CINTERFACE)
78MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f")
79IEnumDMO : public IUnknown
80{
81    virtual HRESULT STDMETHODCALLTYPE Next(
82        DWORD cItemsToFetch,
83        CLSID *pCLSID,
84        WCHAR **Names,
85        DWORD *pcItemsFetched) = 0;
86
87    virtual HRESULT STDMETHODCALLTYPE Skip(
88        DWORD cItemsToSkip) = 0;
89
90    virtual HRESULT STDMETHODCALLTYPE Reset(
91        ) = 0;
92
93    virtual HRESULT STDMETHODCALLTYPE Clone(
94        IEnumDMO **ppEnum) = 0;
95
96};
97#ifdef __CRT_UUID_DECL
98__CRT_UUID_DECL(IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f)
99#endif
100#else
101typedef struct IEnumDMOVtbl {
102    BEGIN_INTERFACE
103
104    /*** IUnknown methods ***/
105    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
106        IEnumDMO* This,
107        REFIID riid,
108        void **ppvObject);
109
110    ULONG (STDMETHODCALLTYPE *AddRef)(
111        IEnumDMO* This);
112
113    ULONG (STDMETHODCALLTYPE *Release)(
114        IEnumDMO* This);
115
116    /*** IEnumDMO methods ***/
117    HRESULT (STDMETHODCALLTYPE *Next)(
118        IEnumDMO* This,
119        DWORD cItemsToFetch,
120        CLSID *pCLSID,
121        WCHAR **Names,
122        DWORD *pcItemsFetched);
123
124    HRESULT (STDMETHODCALLTYPE *Skip)(
125        IEnumDMO* This,
126        DWORD cItemsToSkip);
127
128    HRESULT (STDMETHODCALLTYPE *Reset)(
129        IEnumDMO* This);
130
131    HRESULT (STDMETHODCALLTYPE *Clone)(
132        IEnumDMO* This,
133        IEnumDMO **ppEnum);
134
135    END_INTERFACE
136} IEnumDMOVtbl;
137interface IEnumDMO {
138    CONST_VTBL IEnumDMOVtbl* lpVtbl;
139};
140
141#ifdef COBJMACROS
142#ifndef WIDL_C_INLINE_WRAPPERS
143/*** IUnknown methods ***/
144#define IEnumDMO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
145#define IEnumDMO_AddRef(This) (This)->lpVtbl->AddRef(This)
146#define IEnumDMO_Release(This) (This)->lpVtbl->Release(This)
147/*** IEnumDMO methods ***/
148#define IEnumDMO_Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) (This)->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched)
149#define IEnumDMO_Skip(This,cItemsToSkip) (This)->lpVtbl->Skip(This,cItemsToSkip)
150#define IEnumDMO_Reset(This) (This)->lpVtbl->Reset(This)
151#define IEnumDMO_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
152#else
153/*** IUnknown methods ***/
154static FORCEINLINE HRESULT IEnumDMO_QueryInterface(IEnumDMO* This,REFIID riid,void **ppvObject) {
155    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
156}
157static FORCEINLINE ULONG IEnumDMO_AddRef(IEnumDMO* This) {
158    return This->lpVtbl->AddRef(This);
159}
160static FORCEINLINE ULONG IEnumDMO_Release(IEnumDMO* This) {
161    return This->lpVtbl->Release(This);
162}
163/*** IEnumDMO methods ***/
164static FORCEINLINE HRESULT IEnumDMO_Next(IEnumDMO* This,DWORD cItemsToFetch,CLSID *pCLSID,WCHAR **Names,DWORD *pcItemsFetched) {
165    return This->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched);
166}
167static FORCEINLINE HRESULT IEnumDMO_Skip(IEnumDMO* This,DWORD cItemsToSkip) {
168    return This->lpVtbl->Skip(This,cItemsToSkip);
169}
170static FORCEINLINE HRESULT IEnumDMO_Reset(IEnumDMO* This) {
171    return This->lpVtbl->Reset(This);
172}
173static FORCEINLINE HRESULT IEnumDMO_Clone(IEnumDMO* This,IEnumDMO **ppEnum) {
174    return This->lpVtbl->Clone(This,ppEnum);
175}
176#endif
177#endif
178
179#endif
180
181HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy(
182    IEnumDMO* This,
183    DWORD cItemsToSkip);
184void __RPC_STUB IEnumDMO_Skip_Stub(
185    IRpcStubBuffer* This,
186    IRpcChannelBuffer* pRpcChannelBuffer,
187    PRPC_MESSAGE pRpcMessage,
188    DWORD* pdwStubPhase);
189HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy(
190    IEnumDMO* This);
191void __RPC_STUB IEnumDMO_Reset_Stub(
192    IRpcStubBuffer* This,
193    IRpcChannelBuffer* pRpcChannelBuffer,
194    PRPC_MESSAGE pRpcMessage,
195    DWORD* pdwStubPhase);
196HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy(
197    IEnumDMO* This,
198    IEnumDMO **ppEnum);
199void __RPC_STUB IEnumDMO_Clone_Stub(
200    IRpcStubBuffer* This,
201    IRpcChannelBuffer* pRpcChannelBuffer,
202    PRPC_MESSAGE pRpcMessage,
203    DWORD* pdwStubPhase);
204
205#endif  /* __IEnumDMO_INTERFACE_DEFINED__ */
206
207/* Begin additional prototypes for all interfaces */
208
209
210/* End additional prototypes */
211
212#ifdef __cplusplus
213}
214#endif
215
216#endif /* __mediaobj_h__ */
217