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__ 22 typedef interface IEnumDMO IEnumDMO; 23 #endif 24 25 /* Headers for imported files */ 26 27 #include <unknwn.h> 28 #include <objidl.h> 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 #ifndef __IDMOQualityControl_FWD_DEFINED__ 35 #define __IDMOQualityControl_FWD_DEFINED__ 36 typedef interface IDMOQualityControl IDMOQualityControl; 37 #endif 38 39 #ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__ 40 #define __IDMOVideoOutputOptimizations_FWD_DEFINED__ 41 typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations; 42 #endif 43 44 #ifndef __IMediaBuffer_FWD_DEFINED__ 45 #define __IMediaBuffer_FWD_DEFINED__ 46 typedef interface IMediaBuffer IMediaBuffer; 47 #endif 48 49 #ifndef __IMediaObject_FWD_DEFINED__ 50 #define __IMediaObject_FWD_DEFINED__ 51 typedef interface IMediaObject IMediaObject; 52 #endif 53 54 #ifndef __IMediaObjectInPlace_FWD_DEFINED__ 55 #define __IMediaObjectInPlace_FWD_DEFINED__ 56 typedef interface IMediaObjectInPlace IMediaObjectInPlace; 57 #endif 58 59 typedef 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 76 DEFINE_GUID(IID_IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f); 77 #if defined(__cplusplus) && !defined(CINTERFACE) 78 MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f") 79 IEnumDMO : 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 101 typedef 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; 137 interface 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 ***/ 154 static FORCEINLINE HRESULT IEnumDMO_QueryInterface(IEnumDMO* This,REFIID riid,void **ppvObject) { 155 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 156 } 157 static FORCEINLINE ULONG IEnumDMO_AddRef(IEnumDMO* This) { 158 return This->lpVtbl->AddRef(This); 159 } 160 static FORCEINLINE ULONG IEnumDMO_Release(IEnumDMO* This) { 161 return This->lpVtbl->Release(This); 162 } 163 /*** IEnumDMO methods ***/ 164 static 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 } 167 static FORCEINLINE HRESULT IEnumDMO_Skip(IEnumDMO* This,DWORD cItemsToSkip) { 168 return This->lpVtbl->Skip(This,cItemsToSkip); 169 } 170 static FORCEINLINE HRESULT IEnumDMO_Reset(IEnumDMO* This) { 171 return This->lpVtbl->Reset(This); 172 } 173 static FORCEINLINE HRESULT IEnumDMO_Clone(IEnumDMO* This,IEnumDMO **ppEnum) { 174 return This->lpVtbl->Clone(This,ppEnum); 175 } 176 #endif 177 #endif 178 179 #endif 180 181 HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy( 182 IEnumDMO* This, 183 DWORD cItemsToSkip); 184 void __RPC_STUB IEnumDMO_Skip_Stub( 185 IRpcStubBuffer* This, 186 IRpcChannelBuffer* pRpcChannelBuffer, 187 PRPC_MESSAGE pRpcMessage, 188 DWORD* pdwStubPhase); 189 HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy( 190 IEnumDMO* This); 191 void __RPC_STUB IEnumDMO_Reset_Stub( 192 IRpcStubBuffer* This, 193 IRpcChannelBuffer* pRpcChannelBuffer, 194 PRPC_MESSAGE pRpcMessage, 195 DWORD* pdwStubPhase); 196 HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy( 197 IEnumDMO* This, 198 IEnumDMO **ppEnum); 199 void __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