1 /*** Autogenerated by WIDL 4.12.1 from direct-x/include/medparam.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 __medparam_h__ 17 #define __medparam_h__ 18 19 /* Forward declarations */ 20 21 #ifndef __IMediaParams_FWD_DEFINED__ 22 #define __IMediaParams_FWD_DEFINED__ 23 typedef interface IMediaParams IMediaParams; 24 #ifdef __cplusplus 25 interface IMediaParams; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IMediaParamInfo_FWD_DEFINED__ 30 #define __IMediaParamInfo_FWD_DEFINED__ 31 typedef interface IMediaParamInfo IMediaParamInfo; 32 #ifdef __cplusplus 33 interface IMediaParamInfo; 34 #endif /* __cplusplus */ 35 #endif 36 37 /* Headers for imported files */ 38 39 #include <unknwn.h> 40 #include <strmif.h> 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 typedef DWORD MP_TIMEDATA; 47 typedef DWORD MP_CAPS; 48 typedef DWORD MP_FLAGS; 49 typedef float MP_DATA; 50 typedef enum _MP_Type { 51 MPT_INT = 0, 52 MPT_FLOAT = 1, 53 MPT_BOOL = 2, 54 MPT_ENUM = 3, 55 MPT_MAX = 4 56 } MP_TYPE; 57 typedef enum _MP_CURVE_TYPE { 58 MP_CURVE_JUMP = 0x1, 59 MP_CURVE_LINEAR = 0x2, 60 MP_CURVE_SQUARE = 0x4, 61 MP_CURVE_INVSQUARE = 0x8, 62 MP_CURVE_SINE = 0x10 63 } MP_CURVE_TYPE; 64 typedef struct _MP_PARAMINFO { 65 MP_TYPE mpType; 66 MP_CAPS mopCaps; 67 MP_DATA mpdMinValue; 68 MP_DATA mpdMaxValue; 69 MP_DATA mpdNeutralValue; 70 WCHAR szUnitText[32]; 71 WCHAR szLabel[32]; 72 } MP_PARAMINFO; 73 typedef struct _MP_ENVELOPE_SEGMENT { 74 REFERENCE_TIME rtStart; 75 REFERENCE_TIME rtEnd; 76 MP_DATA valStart; 77 MP_DATA valEnd; 78 MP_CURVE_TYPE iCurve; 79 MP_FLAGS flags; 80 } MP_ENVELOPE_SEGMENT; 81 #define MP_CAPS_CURVE_JUMP (MP_CURVE_JUMP) 82 83 #define MP_CAPS_CURVE_LINEAR (MP_CURVE_LINEAR) 84 85 #define MP_CAPS_CURVE_SQUARE (MP_CURVE_SQUARE) 86 87 #define MP_CAPS_CURVE_INVSQUARE (MP_CURVE_INVSQUARE) 88 89 #define MP_CAPS_CURVE_SINE (MP_CURVE_SINE) 90 91 /***************************************************************************** 92 * IMediaParams interface 93 */ 94 #ifndef __IMediaParams_INTERFACE_DEFINED__ 95 #define __IMediaParams_INTERFACE_DEFINED__ 96 97 DEFINE_GUID(IID_IMediaParams, 0x6d6cbb61, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6e); 98 #if defined(__cplusplus) && !defined(CINTERFACE) 99 MIDL_INTERFACE("6d6cbb61-a223-44aa-842f-a2f06750be6e") 100 IMediaParams : public IUnknown 101 { 102 virtual HRESULT STDMETHODCALLTYPE AddEnvelope( 103 DWORD dwParamIndex, 104 DWORD cPoints, 105 MP_ENVELOPE_SEGMENT *pEnvelope) = 0; 106 107 virtual HRESULT STDMETHODCALLTYPE FlushEnvelope( 108 DWORD dwParamIndex, 109 REFERENCE_TIME refTimeStart, 110 REFERENCE_TIME refTimeEnd) = 0; 111 112 virtual HRESULT STDMETHODCALLTYPE GetParam( 113 DWORD dwParamIndex, 114 MP_DATA *pValue) = 0; 115 116 virtual HRESULT STDMETHODCALLTYPE SetParam( 117 DWORD dwParamIndex, 118 MP_DATA value) = 0; 119 120 virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 121 GUID guidTimeFormat, 122 MP_TIMEDATA mpTimeData) = 0; 123 124 }; 125 #ifdef __CRT_UUID_DECL 126 __CRT_UUID_DECL(IMediaParams, 0x6d6cbb61, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6e) 127 #endif 128 #else 129 typedef struct IMediaParamsVtbl { 130 BEGIN_INTERFACE 131 132 /*** IUnknown methods ***/ 133 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 134 IMediaParams *This, 135 REFIID riid, 136 void **ppvObject); 137 138 ULONG (STDMETHODCALLTYPE *AddRef)( 139 IMediaParams *This); 140 141 ULONG (STDMETHODCALLTYPE *Release)( 142 IMediaParams *This); 143 144 /*** IMediaParams methods ***/ 145 HRESULT (STDMETHODCALLTYPE *AddEnvelope)( 146 IMediaParams *This, 147 DWORD dwParamIndex, 148 DWORD cPoints, 149 MP_ENVELOPE_SEGMENT *pEnvelope); 150 151 HRESULT (STDMETHODCALLTYPE *FlushEnvelope)( 152 IMediaParams *This, 153 DWORD dwParamIndex, 154 REFERENCE_TIME refTimeStart, 155 REFERENCE_TIME refTimeEnd); 156 157 HRESULT (STDMETHODCALLTYPE *GetParam)( 158 IMediaParams *This, 159 DWORD dwParamIndex, 160 MP_DATA *pValue); 161 162 HRESULT (STDMETHODCALLTYPE *SetParam)( 163 IMediaParams *This, 164 DWORD dwParamIndex, 165 MP_DATA value); 166 167 HRESULT (STDMETHODCALLTYPE *SetTimeFormat)( 168 IMediaParams *This, 169 GUID guidTimeFormat, 170 MP_TIMEDATA mpTimeData); 171 172 END_INTERFACE 173 } IMediaParamsVtbl; 174 175 interface IMediaParams { 176 CONST_VTBL IMediaParamsVtbl* lpVtbl; 177 }; 178 179 #ifdef COBJMACROS 180 #ifndef WIDL_C_INLINE_WRAPPERS 181 /*** IUnknown methods ***/ 182 #define IMediaParams_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 183 #define IMediaParams_AddRef(This) (This)->lpVtbl->AddRef(This) 184 #define IMediaParams_Release(This) (This)->lpVtbl->Release(This) 185 /*** IMediaParams methods ***/ 186 #define IMediaParams_AddEnvelope(This,dwParamIndex,cPoints,pEnvelope) (This)->lpVtbl->AddEnvelope(This,dwParamIndex,cPoints,pEnvelope) 187 #define IMediaParams_FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd) (This)->lpVtbl->FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd) 188 #define IMediaParams_GetParam(This,dwParamIndex,pValue) (This)->lpVtbl->GetParam(This,dwParamIndex,pValue) 189 #define IMediaParams_SetParam(This,dwParamIndex,value) (This)->lpVtbl->SetParam(This,dwParamIndex,value) 190 #define IMediaParams_SetTimeFormat(This,guidTimeFormat,mpTimeData) (This)->lpVtbl->SetTimeFormat(This,guidTimeFormat,mpTimeData) 191 #else 192 /*** IUnknown methods ***/ 193 static FORCEINLINE HRESULT IMediaParams_QueryInterface(IMediaParams* This,REFIID riid,void **ppvObject) { 194 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 195 } 196 static FORCEINLINE ULONG IMediaParams_AddRef(IMediaParams* This) { 197 return This->lpVtbl->AddRef(This); 198 } 199 static FORCEINLINE ULONG IMediaParams_Release(IMediaParams* This) { 200 return This->lpVtbl->Release(This); 201 } 202 /*** IMediaParams methods ***/ 203 static FORCEINLINE HRESULT IMediaParams_AddEnvelope(IMediaParams* This,DWORD dwParamIndex,DWORD cPoints,MP_ENVELOPE_SEGMENT *pEnvelope) { 204 return This->lpVtbl->AddEnvelope(This,dwParamIndex,cPoints,pEnvelope); 205 } 206 static FORCEINLINE HRESULT IMediaParams_FlushEnvelope(IMediaParams* This,DWORD dwParamIndex,REFERENCE_TIME refTimeStart,REFERENCE_TIME refTimeEnd) { 207 return This->lpVtbl->FlushEnvelope(This,dwParamIndex,refTimeStart,refTimeEnd); 208 } 209 static FORCEINLINE HRESULT IMediaParams_GetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA *pValue) { 210 return This->lpVtbl->GetParam(This,dwParamIndex,pValue); 211 } 212 static FORCEINLINE HRESULT IMediaParams_SetParam(IMediaParams* This,DWORD dwParamIndex,MP_DATA value) { 213 return This->lpVtbl->SetParam(This,dwParamIndex,value); 214 } 215 static FORCEINLINE HRESULT IMediaParams_SetTimeFormat(IMediaParams* This,GUID guidTimeFormat,MP_TIMEDATA mpTimeData) { 216 return This->lpVtbl->SetTimeFormat(This,guidTimeFormat,mpTimeData); 217 } 218 #endif 219 #endif 220 221 #endif 222 223 224 #endif /* __IMediaParams_INTERFACE_DEFINED__ */ 225 226 /***************************************************************************** 227 * IMediaParamInfo interface 228 */ 229 #ifndef __IMediaParamInfo_INTERFACE_DEFINED__ 230 #define __IMediaParamInfo_INTERFACE_DEFINED__ 231 232 DEFINE_GUID(IID_IMediaParamInfo, 0x6d6cbb60, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6d); 233 #if defined(__cplusplus) && !defined(CINTERFACE) 234 MIDL_INTERFACE("6d6cbb60-a223-44aa-842f-a2f06750be6d") 235 IMediaParamInfo : public IUnknown 236 { 237 virtual HRESULT STDMETHODCALLTYPE GetParamCount( 238 DWORD *pdwParams) = 0; 239 240 virtual HRESULT STDMETHODCALLTYPE GetParamInfo( 241 DWORD dwParamIndex, 242 MP_PARAMINFO *pInfo) = 0; 243 244 virtual HRESULT STDMETHODCALLTYPE GetParamText( 245 DWORD dwParamIndex, 246 WCHAR **ppwchText) = 0; 247 248 virtual HRESULT STDMETHODCALLTYPE GetNumTimeFormats( 249 DWORD *pdwNumTimeFormats) = 0; 250 251 virtual HRESULT STDMETHODCALLTYPE GetSupportedTimeFormat( 252 DWORD dwFormatIndex, 253 GUID *pguidTimeFormat) = 0; 254 255 virtual HRESULT STDMETHODCALLTYPE GetCurrentTimeFormat( 256 GUID *pguidTimeFormat, 257 MP_TIMEDATA *pTimeData) = 0; 258 259 }; 260 #ifdef __CRT_UUID_DECL 261 __CRT_UUID_DECL(IMediaParamInfo, 0x6d6cbb60, 0xa223, 0x44aa, 0x84,0x2f, 0xa2,0xf0,0x67,0x50,0xbe,0x6d) 262 #endif 263 #else 264 typedef struct IMediaParamInfoVtbl { 265 BEGIN_INTERFACE 266 267 /*** IUnknown methods ***/ 268 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 269 IMediaParamInfo *This, 270 REFIID riid, 271 void **ppvObject); 272 273 ULONG (STDMETHODCALLTYPE *AddRef)( 274 IMediaParamInfo *This); 275 276 ULONG (STDMETHODCALLTYPE *Release)( 277 IMediaParamInfo *This); 278 279 /*** IMediaParamInfo methods ***/ 280 HRESULT (STDMETHODCALLTYPE *GetParamCount)( 281 IMediaParamInfo *This, 282 DWORD *pdwParams); 283 284 HRESULT (STDMETHODCALLTYPE *GetParamInfo)( 285 IMediaParamInfo *This, 286 DWORD dwParamIndex, 287 MP_PARAMINFO *pInfo); 288 289 HRESULT (STDMETHODCALLTYPE *GetParamText)( 290 IMediaParamInfo *This, 291 DWORD dwParamIndex, 292 WCHAR **ppwchText); 293 294 HRESULT (STDMETHODCALLTYPE *GetNumTimeFormats)( 295 IMediaParamInfo *This, 296 DWORD *pdwNumTimeFormats); 297 298 HRESULT (STDMETHODCALLTYPE *GetSupportedTimeFormat)( 299 IMediaParamInfo *This, 300 DWORD dwFormatIndex, 301 GUID *pguidTimeFormat); 302 303 HRESULT (STDMETHODCALLTYPE *GetCurrentTimeFormat)( 304 IMediaParamInfo *This, 305 GUID *pguidTimeFormat, 306 MP_TIMEDATA *pTimeData); 307 308 END_INTERFACE 309 } IMediaParamInfoVtbl; 310 311 interface IMediaParamInfo { 312 CONST_VTBL IMediaParamInfoVtbl* lpVtbl; 313 }; 314 315 #ifdef COBJMACROS 316 #ifndef WIDL_C_INLINE_WRAPPERS 317 /*** IUnknown methods ***/ 318 #define IMediaParamInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 319 #define IMediaParamInfo_AddRef(This) (This)->lpVtbl->AddRef(This) 320 #define IMediaParamInfo_Release(This) (This)->lpVtbl->Release(This) 321 /*** IMediaParamInfo methods ***/ 322 #define IMediaParamInfo_GetParamCount(This,pdwParams) (This)->lpVtbl->GetParamCount(This,pdwParams) 323 #define IMediaParamInfo_GetParamInfo(This,dwParamIndex,pInfo) (This)->lpVtbl->GetParamInfo(This,dwParamIndex,pInfo) 324 #define IMediaParamInfo_GetParamText(This,dwParamIndex,ppwchText) (This)->lpVtbl->GetParamText(This,dwParamIndex,ppwchText) 325 #define IMediaParamInfo_GetNumTimeFormats(This,pdwNumTimeFormats) (This)->lpVtbl->GetNumTimeFormats(This,pdwNumTimeFormats) 326 #define IMediaParamInfo_GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat) (This)->lpVtbl->GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat) 327 #define IMediaParamInfo_GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData) (This)->lpVtbl->GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData) 328 #else 329 /*** IUnknown methods ***/ 330 static FORCEINLINE HRESULT IMediaParamInfo_QueryInterface(IMediaParamInfo* This,REFIID riid,void **ppvObject) { 331 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 332 } 333 static FORCEINLINE ULONG IMediaParamInfo_AddRef(IMediaParamInfo* This) { 334 return This->lpVtbl->AddRef(This); 335 } 336 static FORCEINLINE ULONG IMediaParamInfo_Release(IMediaParamInfo* This) { 337 return This->lpVtbl->Release(This); 338 } 339 /*** IMediaParamInfo methods ***/ 340 static FORCEINLINE HRESULT IMediaParamInfo_GetParamCount(IMediaParamInfo* This,DWORD *pdwParams) { 341 return This->lpVtbl->GetParamCount(This,pdwParams); 342 } 343 static FORCEINLINE HRESULT IMediaParamInfo_GetParamInfo(IMediaParamInfo* This,DWORD dwParamIndex,MP_PARAMINFO *pInfo) { 344 return This->lpVtbl->GetParamInfo(This,dwParamIndex,pInfo); 345 } 346 static FORCEINLINE HRESULT IMediaParamInfo_GetParamText(IMediaParamInfo* This,DWORD dwParamIndex,WCHAR **ppwchText) { 347 return This->lpVtbl->GetParamText(This,dwParamIndex,ppwchText); 348 } 349 static FORCEINLINE HRESULT IMediaParamInfo_GetNumTimeFormats(IMediaParamInfo* This,DWORD *pdwNumTimeFormats) { 350 return This->lpVtbl->GetNumTimeFormats(This,pdwNumTimeFormats); 351 } 352 static FORCEINLINE HRESULT IMediaParamInfo_GetSupportedTimeFormat(IMediaParamInfo* This,DWORD dwFormatIndex,GUID *pguidTimeFormat) { 353 return This->lpVtbl->GetSupportedTimeFormat(This,dwFormatIndex,pguidTimeFormat); 354 } 355 static FORCEINLINE HRESULT IMediaParamInfo_GetCurrentTimeFormat(IMediaParamInfo* This,GUID *pguidTimeFormat,MP_TIMEDATA *pTimeData) { 356 return This->lpVtbl->GetCurrentTimeFormat(This,pguidTimeFormat,pTimeData); 357 } 358 #endif 359 #endif 360 361 #endif 362 363 364 #endif /* __IMediaParamInfo_INTERFACE_DEFINED__ */ 365 366 /* Begin additional prototypes for all interfaces */ 367 368 369 /* End additional prototypes */ 370 371 #ifdef __cplusplus 372 } 373 #endif 374 375 #endif /* __medparam_h__ */ 376