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