1 /*** Autogenerated by WIDL 1.6 from include/mfobjects.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 __mfobjects_h__ 16 #define __mfobjects_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IMFAttributes_FWD_DEFINED__ 21 #define __IMFAttributes_FWD_DEFINED__ 22 typedef interface IMFAttributes IMFAttributes; 23 #endif 24 25 #ifndef __IMFMediaBuffer_FWD_DEFINED__ 26 #define __IMFMediaBuffer_FWD_DEFINED__ 27 typedef interface IMFMediaBuffer IMFMediaBuffer; 28 #endif 29 30 #ifndef __IMFSample_FWD_DEFINED__ 31 #define __IMFSample_FWD_DEFINED__ 32 typedef interface IMFSample IMFSample; 33 #endif 34 35 #ifndef __IMF2DBuffer_FWD_DEFINED__ 36 #define __IMF2DBuffer_FWD_DEFINED__ 37 typedef interface IMF2DBuffer IMF2DBuffer; 38 #endif 39 40 #ifndef __IMF2DBuffer2_FWD_DEFINED__ 41 #define __IMF2DBuffer2_FWD_DEFINED__ 42 typedef interface IMF2DBuffer2 IMF2DBuffer2; 43 #endif 44 45 #ifndef __IMFDXGIBuffer_FWD_DEFINED__ 46 #define __IMFDXGIBuffer_FWD_DEFINED__ 47 typedef interface IMFDXGIBuffer IMFDXGIBuffer; 48 #endif 49 50 #ifndef __IMFMediaType_FWD_DEFINED__ 51 #define __IMFMediaType_FWD_DEFINED__ 52 typedef interface IMFMediaType IMFMediaType; 53 #endif 54 55 #ifndef __IMFAudioMediaType_FWD_DEFINED__ 56 #define __IMFAudioMediaType_FWD_DEFINED__ 57 typedef interface IMFAudioMediaType IMFAudioMediaType; 58 #endif 59 60 #ifndef __IMFVideoMediaType_FWD_DEFINED__ 61 #define __IMFVideoMediaType_FWD_DEFINED__ 62 typedef interface IMFVideoMediaType IMFVideoMediaType; 63 #endif 64 65 #ifndef __IMFAsyncResult_FWD_DEFINED__ 66 #define __IMFAsyncResult_FWD_DEFINED__ 67 typedef interface IMFAsyncResult IMFAsyncResult; 68 #endif 69 70 #ifndef __IMFAsyncCallback_FWD_DEFINED__ 71 #define __IMFAsyncCallback_FWD_DEFINED__ 72 typedef interface IMFAsyncCallback IMFAsyncCallback; 73 #endif 74 75 #ifndef __IMFAsyncCallbackLogging_FWD_DEFINED__ 76 #define __IMFAsyncCallbackLogging_FWD_DEFINED__ 77 typedef interface IMFAsyncCallbackLogging IMFAsyncCallbackLogging; 78 #endif 79 80 #ifndef __IMFMediaEvent_FWD_DEFINED__ 81 #define __IMFMediaEvent_FWD_DEFINED__ 82 typedef interface IMFMediaEvent IMFMediaEvent; 83 #endif 84 85 #ifndef __IMFMediaEventGenerator_FWD_DEFINED__ 86 #define __IMFMediaEventGenerator_FWD_DEFINED__ 87 typedef interface IMFMediaEventGenerator IMFMediaEventGenerator; 88 #endif 89 90 #ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ 91 #define __IMFRemoteAsyncCallback_FWD_DEFINED__ 92 typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; 93 #endif 94 95 #ifndef __IMFByteStream_FWD_DEFINED__ 96 #define __IMFByteStream_FWD_DEFINED__ 97 typedef interface IMFByteStream IMFByteStream; 98 #endif 99 100 #ifndef __IMFByteStreamProxyClassFactory_FWD_DEFINED__ 101 #define __IMFByteStreamProxyClassFactory_FWD_DEFINED__ 102 typedef interface IMFByteStreamProxyClassFactory IMFByteStreamProxyClassFactory; 103 #endif 104 105 #ifndef __IMFSampleOutputStream_FWD_DEFINED__ 106 #define __IMFSampleOutputStream_FWD_DEFINED__ 107 typedef interface IMFSampleOutputStream IMFSampleOutputStream; 108 #endif 109 110 #ifndef __IMFCollection_FWD_DEFINED__ 111 #define __IMFCollection_FWD_DEFINED__ 112 typedef interface IMFCollection IMFCollection; 113 #endif 114 115 #ifndef __IMFMediaEventQueue_FWD_DEFINED__ 116 #define __IMFMediaEventQueue_FWD_DEFINED__ 117 typedef interface IMFMediaEventQueue IMFMediaEventQueue; 118 #endif 119 120 #ifndef __IMFActivate_FWD_DEFINED__ 121 #define __IMFActivate_FWD_DEFINED__ 122 typedef interface IMFActivate IMFActivate; 123 #endif 124 125 #ifndef __IMFPluginControl_FWD_DEFINED__ 126 #define __IMFPluginControl_FWD_DEFINED__ 127 typedef interface IMFPluginControl IMFPluginControl; 128 #endif 129 130 #ifndef __IMFPluginControl2_FWD_DEFINED__ 131 #define __IMFPluginControl2_FWD_DEFINED__ 132 typedef interface IMFPluginControl2 IMFPluginControl2; 133 #endif 134 135 #ifndef __IMFDXGIDeviceManager_FWD_DEFINED__ 136 #define __IMFDXGIDeviceManager_FWD_DEFINED__ 137 typedef interface IMFDXGIDeviceManager IMFDXGIDeviceManager; 138 #endif 139 140 /* Headers for imported files */ 141 142 #include <unknwn.h> 143 #include <propsys.h> 144 #include <mediaobj.h> 145 146 #ifdef __cplusplus 147 extern "C" { 148 #endif 149 150 /** 151 * This file is part of the mingw-w64 runtime package. 152 * No warranty is given; refer to the file DISCLAIMER within this package. 153 */ 154 155 #include <winapifamily.h> 156 157 158 typedef ULONGLONG QWORD; 159 160 #include <mmreg.h> 161 #if 0 162 typedef struct tWAVEFORMATEX { 163 WORD wFormatTag; 164 WORD nChannels; 165 DWORD nSamplesPerSec; 166 DWORD nAvgBytesPerSec; 167 WORD nBlockAlign; 168 WORD wBitsPerSample; 169 WORD cbSize; 170 BYTE pExtraBytes[1]; 171 } WAVEFORMATEX; 172 typedef struct tWAVEFORMATEX *PWAVEFORMATEX; 173 typedef struct tWAVEFORMATEX *NPWAVEFORMATEX; 174 typedef struct tWAVEFORMATEX *LPWAVEFORMATEX; 175 typedef struct __WIDL_mfobjects_generated_name_00000013 { 176 WORD wFormatTag; 177 WORD nChannels; 178 DWORD nSamplesPerSec; 179 DWORD nAvgBytesPerSec; 180 WORD nBlockAlign; 181 WORD wBitsPerSample; 182 WORD cbSize; 183 WORD wValidBitsPerSample; 184 DWORD dwChannelMask; 185 GUID SubFormat; 186 } WAVEFORMATEXTENSIBLE; 187 typedef struct __WIDL_mfobjects_generated_name_00000013 *PWAVEFORMATEXTENSIBLE; 188 #endif 189 190 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 191 typedef enum _MF_ATTRIBUTE_TYPE { 192 MF_ATTRIBUTE_UINT32 = VT_UI4, 193 MF_ATTRIBUTE_UINT64 = VT_UI8, 194 MF_ATTRIBUTE_DOUBLE = VT_R8, 195 MF_ATTRIBUTE_GUID = VT_CLSID, 196 MF_ATTRIBUTE_STRING = VT_LPWSTR, 197 MF_ATTRIBUTE_BLOB = VT_VECTOR | VT_UI1, 198 MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN 199 } MF_ATTRIBUTE_TYPE; 200 201 typedef enum _MF_ATTRIBUTES_MATCH_TYPE { 202 MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0, 203 MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1, 204 MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2, 205 MF_ATTRIBUTES_MATCH_INTERSECTION = 3, 206 MF_ATTRIBUTES_MATCH_SMALLER = 4 207 } MF_ATTRIBUTES_MATCH_TYPE; 208 209 /***************************************************************************** 210 * IMFAttributes interface 211 */ 212 #ifndef __IMFAttributes_INTERFACE_DEFINED__ 213 #define __IMFAttributes_INTERFACE_DEFINED__ 214 215 DEFINE_GUID(IID_IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3); 216 #if defined(__cplusplus) && !defined(CINTERFACE) 217 MIDL_INTERFACE("2cd2d921-c447-44a7-a13c-4adabfc247e3") 218 IMFAttributes : public IUnknown 219 { 220 virtual HRESULT STDMETHODCALLTYPE GetItem( 221 REFGUID guidKey, 222 PROPVARIANT *pValue) = 0; 223 224 virtual HRESULT STDMETHODCALLTYPE GetItemType( 225 REFGUID guidKey, 226 MF_ATTRIBUTE_TYPE *pType) = 0; 227 228 virtual HRESULT STDMETHODCALLTYPE CompareItem( 229 REFGUID guidKey, 230 REFPROPVARIANT Value, 231 WINBOOL *pbResult) = 0; 232 233 virtual HRESULT STDMETHODCALLTYPE Compare( 234 IMFAttributes *pTheirs, 235 MF_ATTRIBUTES_MATCH_TYPE MatchType, 236 WINBOOL *pbResult) = 0; 237 238 virtual HRESULT STDMETHODCALLTYPE GetUINT32( 239 REFGUID guidKey, 240 UINT32 *punValue) = 0; 241 242 virtual HRESULT STDMETHODCALLTYPE GetUINT64( 243 REFGUID guidKey, 244 UINT64 *punValue) = 0; 245 246 virtual HRESULT STDMETHODCALLTYPE GetDouble( 247 REFGUID guidKey, 248 double *pfValue) = 0; 249 250 virtual HRESULT STDMETHODCALLTYPE GetGUID( 251 REFGUID guidKey, 252 GUID *pguidValue) = 0; 253 254 virtual HRESULT STDMETHODCALLTYPE GetStringLength( 255 REFGUID guidKey, 256 UINT32 *pcchLength) = 0; 257 258 virtual HRESULT STDMETHODCALLTYPE GetString( 259 REFGUID guidKey, 260 LPWSTR pwszValue, 261 UINT32 cchBufSize, 262 UINT32 *pcchLength) = 0; 263 264 virtual HRESULT STDMETHODCALLTYPE GetAllocatedString( 265 REFGUID guidKey, 266 LPWSTR *ppwszValue, 267 UINT32 *pcchLength) = 0; 268 269 virtual HRESULT STDMETHODCALLTYPE GetBlobSize( 270 REFGUID guidKey, 271 UINT32 *pcbBlobSize) = 0; 272 273 virtual HRESULT STDMETHODCALLTYPE GetBlob( 274 REFGUID guidKey, 275 UINT8 *pBuf, 276 UINT32 cbBufSize, 277 UINT32 *pcbBlobSize) = 0; 278 279 virtual HRESULT STDMETHODCALLTYPE GetAllocatedBlob( 280 REFGUID guidKey, 281 UINT8 **ppBuf, 282 UINT32 *pcbSize) = 0; 283 284 virtual HRESULT STDMETHODCALLTYPE GetUnknown( 285 REFGUID guidKey, 286 REFIID riid, 287 LPVOID *ppv) = 0; 288 289 virtual HRESULT STDMETHODCALLTYPE SetItem( 290 REFGUID guidKey, 291 REFPROPVARIANT Value) = 0; 292 293 virtual HRESULT STDMETHODCALLTYPE DeleteItem( 294 REFGUID guidKey) = 0; 295 296 virtual HRESULT STDMETHODCALLTYPE DeleteAllItems( 297 ) = 0; 298 299 virtual HRESULT STDMETHODCALLTYPE SetUINT32( 300 REFGUID guidKey, 301 UINT32 unValue) = 0; 302 303 virtual HRESULT STDMETHODCALLTYPE SetUINT64( 304 REFGUID guidKey, 305 UINT64 unValue) = 0; 306 307 virtual HRESULT STDMETHODCALLTYPE SetDouble( 308 REFGUID guidKey, 309 double fValue) = 0; 310 311 virtual HRESULT STDMETHODCALLTYPE SetGUID( 312 REFGUID guidKey, 313 REFGUID guidValue) = 0; 314 315 virtual HRESULT STDMETHODCALLTYPE SetString( 316 REFGUID guidKey, 317 LPCWSTR wszValue) = 0; 318 319 virtual HRESULT STDMETHODCALLTYPE SetBlob( 320 REFGUID guidKey, 321 const UINT8 *pBuf, 322 UINT32 cbBufSize) = 0; 323 324 virtual HRESULT STDMETHODCALLTYPE SetUnknown( 325 REFGUID guidKey, 326 IUnknown *pUnknown) = 0; 327 328 virtual HRESULT STDMETHODCALLTYPE LockStore( 329 ) = 0; 330 331 virtual HRESULT STDMETHODCALLTYPE UnlockStore( 332 ) = 0; 333 334 virtual HRESULT STDMETHODCALLTYPE GetCount( 335 UINT32 *pcItems) = 0; 336 337 virtual HRESULT STDMETHODCALLTYPE GetItemByIndex( 338 UINT32 unIndex, 339 GUID *pguidKey, 340 PROPVARIANT *pValue) = 0; 341 342 virtual HRESULT STDMETHODCALLTYPE CopyAllItems( 343 IMFAttributes *pDest) = 0; 344 345 }; 346 #ifdef __CRT_UUID_DECL 347 __CRT_UUID_DECL(IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3) 348 #endif 349 #else 350 typedef struct IMFAttributesVtbl { 351 BEGIN_INTERFACE 352 353 /*** IUnknown methods ***/ 354 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 355 IMFAttributes* This, 356 REFIID riid, 357 void **ppvObject); 358 359 ULONG (STDMETHODCALLTYPE *AddRef)( 360 IMFAttributes* This); 361 362 ULONG (STDMETHODCALLTYPE *Release)( 363 IMFAttributes* This); 364 365 /*** IMFAttributes methods ***/ 366 HRESULT (STDMETHODCALLTYPE *GetItem)( 367 IMFAttributes* This, 368 REFGUID guidKey, 369 PROPVARIANT *pValue); 370 371 HRESULT (STDMETHODCALLTYPE *GetItemType)( 372 IMFAttributes* This, 373 REFGUID guidKey, 374 MF_ATTRIBUTE_TYPE *pType); 375 376 HRESULT (STDMETHODCALLTYPE *CompareItem)( 377 IMFAttributes* This, 378 REFGUID guidKey, 379 REFPROPVARIANT Value, 380 WINBOOL *pbResult); 381 382 HRESULT (STDMETHODCALLTYPE *Compare)( 383 IMFAttributes* This, 384 IMFAttributes *pTheirs, 385 MF_ATTRIBUTES_MATCH_TYPE MatchType, 386 WINBOOL *pbResult); 387 388 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 389 IMFAttributes* This, 390 REFGUID guidKey, 391 UINT32 *punValue); 392 393 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 394 IMFAttributes* This, 395 REFGUID guidKey, 396 UINT64 *punValue); 397 398 HRESULT (STDMETHODCALLTYPE *GetDouble)( 399 IMFAttributes* This, 400 REFGUID guidKey, 401 double *pfValue); 402 403 HRESULT (STDMETHODCALLTYPE *GetGUID)( 404 IMFAttributes* This, 405 REFGUID guidKey, 406 GUID *pguidValue); 407 408 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 409 IMFAttributes* This, 410 REFGUID guidKey, 411 UINT32 *pcchLength); 412 413 HRESULT (STDMETHODCALLTYPE *GetString)( 414 IMFAttributes* This, 415 REFGUID guidKey, 416 LPWSTR pwszValue, 417 UINT32 cchBufSize, 418 UINT32 *pcchLength); 419 420 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 421 IMFAttributes* This, 422 REFGUID guidKey, 423 LPWSTR *ppwszValue, 424 UINT32 *pcchLength); 425 426 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 427 IMFAttributes* This, 428 REFGUID guidKey, 429 UINT32 *pcbBlobSize); 430 431 HRESULT (STDMETHODCALLTYPE *GetBlob)( 432 IMFAttributes* This, 433 REFGUID guidKey, 434 UINT8 *pBuf, 435 UINT32 cbBufSize, 436 UINT32 *pcbBlobSize); 437 438 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 439 IMFAttributes* This, 440 REFGUID guidKey, 441 UINT8 **ppBuf, 442 UINT32 *pcbSize); 443 444 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 445 IMFAttributes* This, 446 REFGUID guidKey, 447 REFIID riid, 448 LPVOID *ppv); 449 450 HRESULT (STDMETHODCALLTYPE *SetItem)( 451 IMFAttributes* This, 452 REFGUID guidKey, 453 REFPROPVARIANT Value); 454 455 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 456 IMFAttributes* This, 457 REFGUID guidKey); 458 459 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 460 IMFAttributes* This); 461 462 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 463 IMFAttributes* This, 464 REFGUID guidKey, 465 UINT32 unValue); 466 467 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 468 IMFAttributes* This, 469 REFGUID guidKey, 470 UINT64 unValue); 471 472 HRESULT (STDMETHODCALLTYPE *SetDouble)( 473 IMFAttributes* This, 474 REFGUID guidKey, 475 double fValue); 476 477 HRESULT (STDMETHODCALLTYPE *SetGUID)( 478 IMFAttributes* This, 479 REFGUID guidKey, 480 REFGUID guidValue); 481 482 HRESULT (STDMETHODCALLTYPE *SetString)( 483 IMFAttributes* This, 484 REFGUID guidKey, 485 LPCWSTR wszValue); 486 487 HRESULT (STDMETHODCALLTYPE *SetBlob)( 488 IMFAttributes* This, 489 REFGUID guidKey, 490 const UINT8 *pBuf, 491 UINT32 cbBufSize); 492 493 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 494 IMFAttributes* This, 495 REFGUID guidKey, 496 IUnknown *pUnknown); 497 498 HRESULT (STDMETHODCALLTYPE *LockStore)( 499 IMFAttributes* This); 500 501 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 502 IMFAttributes* This); 503 504 HRESULT (STDMETHODCALLTYPE *GetCount)( 505 IMFAttributes* This, 506 UINT32 *pcItems); 507 508 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 509 IMFAttributes* This, 510 UINT32 unIndex, 511 GUID *pguidKey, 512 PROPVARIANT *pValue); 513 514 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 515 IMFAttributes* This, 516 IMFAttributes *pDest); 517 518 END_INTERFACE 519 } IMFAttributesVtbl; 520 interface IMFAttributes { 521 CONST_VTBL IMFAttributesVtbl* lpVtbl; 522 }; 523 524 #ifdef COBJMACROS 525 #ifndef WIDL_C_INLINE_WRAPPERS 526 /*** IUnknown methods ***/ 527 #define IMFAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 528 #define IMFAttributes_AddRef(This) (This)->lpVtbl->AddRef(This) 529 #define IMFAttributes_Release(This) (This)->lpVtbl->Release(This) 530 /*** IMFAttributes methods ***/ 531 #define IMFAttributes_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 532 #define IMFAttributes_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 533 #define IMFAttributes_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 534 #define IMFAttributes_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 535 #define IMFAttributes_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 536 #define IMFAttributes_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 537 #define IMFAttributes_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 538 #define IMFAttributes_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 539 #define IMFAttributes_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 540 #define IMFAttributes_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 541 #define IMFAttributes_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 542 #define IMFAttributes_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 543 #define IMFAttributes_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 544 #define IMFAttributes_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 545 #define IMFAttributes_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 546 #define IMFAttributes_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 547 #define IMFAttributes_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 548 #define IMFAttributes_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 549 #define IMFAttributes_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 550 #define IMFAttributes_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 551 #define IMFAttributes_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 552 #define IMFAttributes_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 553 #define IMFAttributes_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 554 #define IMFAttributes_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 555 #define IMFAttributes_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 556 #define IMFAttributes_LockStore(This) (This)->lpVtbl->LockStore(This) 557 #define IMFAttributes_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 558 #define IMFAttributes_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 559 #define IMFAttributes_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 560 #define IMFAttributes_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 561 #else 562 /*** IUnknown methods ***/ 563 static FORCEINLINE HRESULT IMFAttributes_QueryInterface(IMFAttributes* This,REFIID riid,void **ppvObject) { 564 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 565 } 566 static FORCEINLINE ULONG IMFAttributes_AddRef(IMFAttributes* This) { 567 return This->lpVtbl->AddRef(This); 568 } 569 static FORCEINLINE ULONG IMFAttributes_Release(IMFAttributes* This) { 570 return This->lpVtbl->Release(This); 571 } 572 /*** IMFAttributes methods ***/ 573 static FORCEINLINE HRESULT IMFAttributes_GetItem(IMFAttributes* This,REFGUID guidKey,PROPVARIANT *pValue) { 574 return This->lpVtbl->GetItem(This,guidKey,pValue); 575 } 576 static FORCEINLINE HRESULT IMFAttributes_GetItemType(IMFAttributes* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 577 return This->lpVtbl->GetItemType(This,guidKey,pType); 578 } 579 static FORCEINLINE HRESULT IMFAttributes_CompareItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 580 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 581 } 582 static FORCEINLINE HRESULT IMFAttributes_Compare(IMFAttributes* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 583 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 584 } 585 static FORCEINLINE HRESULT IMFAttributes_GetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 *punValue) { 586 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 587 } 588 static FORCEINLINE HRESULT IMFAttributes_GetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 *punValue) { 589 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 590 } 591 static FORCEINLINE HRESULT IMFAttributes_GetDouble(IMFAttributes* This,REFGUID guidKey,double *pfValue) { 592 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 593 } 594 static FORCEINLINE HRESULT IMFAttributes_GetGUID(IMFAttributes* This,REFGUID guidKey,GUID *pguidValue) { 595 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 596 } 597 static FORCEINLINE HRESULT IMFAttributes_GetStringLength(IMFAttributes* This,REFGUID guidKey,UINT32 *pcchLength) { 598 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 599 } 600 static FORCEINLINE HRESULT IMFAttributes_GetString(IMFAttributes* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 601 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 602 } 603 static FORCEINLINE HRESULT IMFAttributes_GetAllocatedString(IMFAttributes* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 604 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 605 } 606 static FORCEINLINE HRESULT IMFAttributes_GetBlobSize(IMFAttributes* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 607 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 608 } 609 static FORCEINLINE HRESULT IMFAttributes_GetBlob(IMFAttributes* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 610 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 611 } 612 static FORCEINLINE HRESULT IMFAttributes_GetAllocatedBlob(IMFAttributes* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 613 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 614 } 615 static FORCEINLINE HRESULT IMFAttributes_GetUnknown(IMFAttributes* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 616 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 617 } 618 static FORCEINLINE HRESULT IMFAttributes_SetItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value) { 619 return This->lpVtbl->SetItem(This,guidKey,Value); 620 } 621 static FORCEINLINE HRESULT IMFAttributes_DeleteItem(IMFAttributes* This,REFGUID guidKey) { 622 return This->lpVtbl->DeleteItem(This,guidKey); 623 } 624 static FORCEINLINE HRESULT IMFAttributes_DeleteAllItems(IMFAttributes* This) { 625 return This->lpVtbl->DeleteAllItems(This); 626 } 627 static FORCEINLINE HRESULT IMFAttributes_SetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 unValue) { 628 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 629 } 630 static FORCEINLINE HRESULT IMFAttributes_SetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 unValue) { 631 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 632 } 633 static FORCEINLINE HRESULT IMFAttributes_SetDouble(IMFAttributes* This,REFGUID guidKey,double fValue) { 634 return This->lpVtbl->SetDouble(This,guidKey,fValue); 635 } 636 static FORCEINLINE HRESULT IMFAttributes_SetGUID(IMFAttributes* This,REFGUID guidKey,REFGUID guidValue) { 637 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 638 } 639 static FORCEINLINE HRESULT IMFAttributes_SetString(IMFAttributes* This,REFGUID guidKey,LPCWSTR wszValue) { 640 return This->lpVtbl->SetString(This,guidKey,wszValue); 641 } 642 static FORCEINLINE HRESULT IMFAttributes_SetBlob(IMFAttributes* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 643 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 644 } 645 static FORCEINLINE HRESULT IMFAttributes_SetUnknown(IMFAttributes* This,REFGUID guidKey,IUnknown *pUnknown) { 646 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 647 } 648 static FORCEINLINE HRESULT IMFAttributes_LockStore(IMFAttributes* This) { 649 return This->lpVtbl->LockStore(This); 650 } 651 static FORCEINLINE HRESULT IMFAttributes_UnlockStore(IMFAttributes* This) { 652 return This->lpVtbl->UnlockStore(This); 653 } 654 static FORCEINLINE HRESULT IMFAttributes_GetCount(IMFAttributes* This,UINT32 *pcItems) { 655 return This->lpVtbl->GetCount(This,pcItems); 656 } 657 static FORCEINLINE HRESULT IMFAttributes_GetItemByIndex(IMFAttributes* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 658 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 659 } 660 static FORCEINLINE HRESULT IMFAttributes_CopyAllItems(IMFAttributes* This,IMFAttributes *pDest) { 661 return This->lpVtbl->CopyAllItems(This,pDest); 662 } 663 #endif 664 #endif 665 666 #endif 667 668 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItem_Proxy( 669 IMFAttributes* This, 670 REFGUID guidKey, 671 PROPVARIANT *pValue); 672 void __RPC_STUB IMFAttributes_GetItem_Stub( 673 IRpcStubBuffer* This, 674 IRpcChannelBuffer* pRpcChannelBuffer, 675 PRPC_MESSAGE pRpcMessage, 676 DWORD* pdwStubPhase); 677 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemType_Proxy( 678 IMFAttributes* This, 679 REFGUID guidKey, 680 MF_ATTRIBUTE_TYPE *pType); 681 void __RPC_STUB IMFAttributes_GetItemType_Stub( 682 IRpcStubBuffer* This, 683 IRpcChannelBuffer* pRpcChannelBuffer, 684 PRPC_MESSAGE pRpcMessage, 685 DWORD* pdwStubPhase); 686 HRESULT STDMETHODCALLTYPE IMFAttributes_CompareItem_Proxy( 687 IMFAttributes* This, 688 REFGUID guidKey, 689 REFPROPVARIANT Value, 690 WINBOOL *pbResult); 691 void __RPC_STUB IMFAttributes_CompareItem_Stub( 692 IRpcStubBuffer* This, 693 IRpcChannelBuffer* pRpcChannelBuffer, 694 PRPC_MESSAGE pRpcMessage, 695 DWORD* pdwStubPhase); 696 HRESULT STDMETHODCALLTYPE IMFAttributes_Compare_Proxy( 697 IMFAttributes* This, 698 IMFAttributes *pTheirs, 699 MF_ATTRIBUTES_MATCH_TYPE MatchType, 700 WINBOOL *pbResult); 701 void __RPC_STUB IMFAttributes_Compare_Stub( 702 IRpcStubBuffer* This, 703 IRpcChannelBuffer* pRpcChannelBuffer, 704 PRPC_MESSAGE pRpcMessage, 705 DWORD* pdwStubPhase); 706 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT32_Proxy( 707 IMFAttributes* This, 708 REFGUID guidKey, 709 UINT32 *punValue); 710 void __RPC_STUB IMFAttributes_GetUINT32_Stub( 711 IRpcStubBuffer* This, 712 IRpcChannelBuffer* pRpcChannelBuffer, 713 PRPC_MESSAGE pRpcMessage, 714 DWORD* pdwStubPhase); 715 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT64_Proxy( 716 IMFAttributes* This, 717 REFGUID guidKey, 718 UINT64 *punValue); 719 void __RPC_STUB IMFAttributes_GetUINT64_Stub( 720 IRpcStubBuffer* This, 721 IRpcChannelBuffer* pRpcChannelBuffer, 722 PRPC_MESSAGE pRpcMessage, 723 DWORD* pdwStubPhase); 724 HRESULT STDMETHODCALLTYPE IMFAttributes_GetDouble_Proxy( 725 IMFAttributes* This, 726 REFGUID guidKey, 727 double *pfValue); 728 void __RPC_STUB IMFAttributes_GetDouble_Stub( 729 IRpcStubBuffer* This, 730 IRpcChannelBuffer* pRpcChannelBuffer, 731 PRPC_MESSAGE pRpcMessage, 732 DWORD* pdwStubPhase); 733 HRESULT STDMETHODCALLTYPE IMFAttributes_GetGUID_Proxy( 734 IMFAttributes* This, 735 REFGUID guidKey, 736 GUID *pguidValue); 737 void __RPC_STUB IMFAttributes_GetGUID_Stub( 738 IRpcStubBuffer* This, 739 IRpcChannelBuffer* pRpcChannelBuffer, 740 PRPC_MESSAGE pRpcMessage, 741 DWORD* pdwStubPhase); 742 HRESULT STDMETHODCALLTYPE IMFAttributes_GetStringLength_Proxy( 743 IMFAttributes* This, 744 REFGUID guidKey, 745 UINT32 *pcchLength); 746 void __RPC_STUB IMFAttributes_GetStringLength_Stub( 747 IRpcStubBuffer* This, 748 IRpcChannelBuffer* pRpcChannelBuffer, 749 PRPC_MESSAGE pRpcMessage, 750 DWORD* pdwStubPhase); 751 HRESULT STDMETHODCALLTYPE IMFAttributes_GetString_Proxy( 752 IMFAttributes* This, 753 REFGUID guidKey, 754 LPWSTR pwszValue, 755 UINT32 cchBufSize, 756 UINT32 *pcchLength); 757 void __RPC_STUB IMFAttributes_GetString_Stub( 758 IRpcStubBuffer* This, 759 IRpcChannelBuffer* pRpcChannelBuffer, 760 PRPC_MESSAGE pRpcMessage, 761 DWORD* pdwStubPhase); 762 HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedString_Proxy( 763 IMFAttributes* This, 764 REFGUID guidKey, 765 LPWSTR *ppwszValue, 766 UINT32 *pcchLength); 767 void __RPC_STUB IMFAttributes_GetAllocatedString_Stub( 768 IRpcStubBuffer* This, 769 IRpcChannelBuffer* pRpcChannelBuffer, 770 PRPC_MESSAGE pRpcMessage, 771 DWORD* pdwStubPhase); 772 HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlobSize_Proxy( 773 IMFAttributes* This, 774 REFGUID guidKey, 775 UINT32 *pcbBlobSize); 776 void __RPC_STUB IMFAttributes_GetBlobSize_Stub( 777 IRpcStubBuffer* This, 778 IRpcChannelBuffer* pRpcChannelBuffer, 779 PRPC_MESSAGE pRpcMessage, 780 DWORD* pdwStubPhase); 781 HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlob_Proxy( 782 IMFAttributes* This, 783 REFGUID guidKey, 784 UINT8 *pBuf, 785 UINT32 cbBufSize, 786 UINT32 *pcbBlobSize); 787 void __RPC_STUB IMFAttributes_GetBlob_Stub( 788 IRpcStubBuffer* This, 789 IRpcChannelBuffer* pRpcChannelBuffer, 790 PRPC_MESSAGE pRpcMessage, 791 DWORD* pdwStubPhase); 792 HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedBlob_Proxy( 793 IMFAttributes* This, 794 REFGUID guidKey, 795 UINT8 **ppBuf, 796 UINT32 *pcbSize); 797 void __RPC_STUB IMFAttributes_GetAllocatedBlob_Stub( 798 IRpcStubBuffer* This, 799 IRpcChannelBuffer* pRpcChannelBuffer, 800 PRPC_MESSAGE pRpcMessage, 801 DWORD* pdwStubPhase); 802 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUnknown_Proxy( 803 IMFAttributes* This, 804 REFGUID guidKey, 805 REFIID riid, 806 LPVOID *ppv); 807 void __RPC_STUB IMFAttributes_GetUnknown_Stub( 808 IRpcStubBuffer* This, 809 IRpcChannelBuffer* pRpcChannelBuffer, 810 PRPC_MESSAGE pRpcMessage, 811 DWORD* pdwStubPhase); 812 HRESULT STDMETHODCALLTYPE IMFAttributes_SetItem_Proxy( 813 IMFAttributes* This, 814 REFGUID guidKey, 815 REFPROPVARIANT Value); 816 void __RPC_STUB IMFAttributes_SetItem_Stub( 817 IRpcStubBuffer* This, 818 IRpcChannelBuffer* pRpcChannelBuffer, 819 PRPC_MESSAGE pRpcMessage, 820 DWORD* pdwStubPhase); 821 HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteItem_Proxy( 822 IMFAttributes* This, 823 REFGUID guidKey); 824 void __RPC_STUB IMFAttributes_DeleteItem_Stub( 825 IRpcStubBuffer* This, 826 IRpcChannelBuffer* pRpcChannelBuffer, 827 PRPC_MESSAGE pRpcMessage, 828 DWORD* pdwStubPhase); 829 HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteAllItems_Proxy( 830 IMFAttributes* This); 831 void __RPC_STUB IMFAttributes_DeleteAllItems_Stub( 832 IRpcStubBuffer* This, 833 IRpcChannelBuffer* pRpcChannelBuffer, 834 PRPC_MESSAGE pRpcMessage, 835 DWORD* pdwStubPhase); 836 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT32_Proxy( 837 IMFAttributes* This, 838 REFGUID guidKey, 839 UINT32 unValue); 840 void __RPC_STUB IMFAttributes_SetUINT32_Stub( 841 IRpcStubBuffer* This, 842 IRpcChannelBuffer* pRpcChannelBuffer, 843 PRPC_MESSAGE pRpcMessage, 844 DWORD* pdwStubPhase); 845 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT64_Proxy( 846 IMFAttributes* This, 847 REFGUID guidKey, 848 UINT64 unValue); 849 void __RPC_STUB IMFAttributes_SetUINT64_Stub( 850 IRpcStubBuffer* This, 851 IRpcChannelBuffer* pRpcChannelBuffer, 852 PRPC_MESSAGE pRpcMessage, 853 DWORD* pdwStubPhase); 854 HRESULT STDMETHODCALLTYPE IMFAttributes_SetDouble_Proxy( 855 IMFAttributes* This, 856 REFGUID guidKey, 857 double fValue); 858 void __RPC_STUB IMFAttributes_SetDouble_Stub( 859 IRpcStubBuffer* This, 860 IRpcChannelBuffer* pRpcChannelBuffer, 861 PRPC_MESSAGE pRpcMessage, 862 DWORD* pdwStubPhase); 863 HRESULT STDMETHODCALLTYPE IMFAttributes_SetGUID_Proxy( 864 IMFAttributes* This, 865 REFGUID guidKey, 866 REFGUID guidValue); 867 void __RPC_STUB IMFAttributes_SetGUID_Stub( 868 IRpcStubBuffer* This, 869 IRpcChannelBuffer* pRpcChannelBuffer, 870 PRPC_MESSAGE pRpcMessage, 871 DWORD* pdwStubPhase); 872 HRESULT STDMETHODCALLTYPE IMFAttributes_SetString_Proxy( 873 IMFAttributes* This, 874 REFGUID guidKey, 875 LPCWSTR wszValue); 876 void __RPC_STUB IMFAttributes_SetString_Stub( 877 IRpcStubBuffer* This, 878 IRpcChannelBuffer* pRpcChannelBuffer, 879 PRPC_MESSAGE pRpcMessage, 880 DWORD* pdwStubPhase); 881 HRESULT STDMETHODCALLTYPE IMFAttributes_SetBlob_Proxy( 882 IMFAttributes* This, 883 REFGUID guidKey, 884 const UINT8 *pBuf, 885 UINT32 cbBufSize); 886 void __RPC_STUB IMFAttributes_SetBlob_Stub( 887 IRpcStubBuffer* This, 888 IRpcChannelBuffer* pRpcChannelBuffer, 889 PRPC_MESSAGE pRpcMessage, 890 DWORD* pdwStubPhase); 891 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUnknown_Proxy( 892 IMFAttributes* This, 893 REFGUID guidKey, 894 IUnknown *pUnknown); 895 void __RPC_STUB IMFAttributes_SetUnknown_Stub( 896 IRpcStubBuffer* This, 897 IRpcChannelBuffer* pRpcChannelBuffer, 898 PRPC_MESSAGE pRpcMessage, 899 DWORD* pdwStubPhase); 900 HRESULT STDMETHODCALLTYPE IMFAttributes_LockStore_Proxy( 901 IMFAttributes* This); 902 void __RPC_STUB IMFAttributes_LockStore_Stub( 903 IRpcStubBuffer* This, 904 IRpcChannelBuffer* pRpcChannelBuffer, 905 PRPC_MESSAGE pRpcMessage, 906 DWORD* pdwStubPhase); 907 HRESULT STDMETHODCALLTYPE IMFAttributes_UnlockStore_Proxy( 908 IMFAttributes* This); 909 void __RPC_STUB IMFAttributes_UnlockStore_Stub( 910 IRpcStubBuffer* This, 911 IRpcChannelBuffer* pRpcChannelBuffer, 912 PRPC_MESSAGE pRpcMessage, 913 DWORD* pdwStubPhase); 914 HRESULT STDMETHODCALLTYPE IMFAttributes_GetCount_Proxy( 915 IMFAttributes* This, 916 UINT32 *pcItems); 917 void __RPC_STUB IMFAttributes_GetCount_Stub( 918 IRpcStubBuffer* This, 919 IRpcChannelBuffer* pRpcChannelBuffer, 920 PRPC_MESSAGE pRpcMessage, 921 DWORD* pdwStubPhase); 922 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemByIndex_Proxy( 923 IMFAttributes* This, 924 UINT32 unIndex, 925 GUID *pguidKey, 926 PROPVARIANT *pValue); 927 void __RPC_STUB IMFAttributes_GetItemByIndex_Stub( 928 IRpcStubBuffer* This, 929 IRpcChannelBuffer* pRpcChannelBuffer, 930 PRPC_MESSAGE pRpcMessage, 931 DWORD* pdwStubPhase); 932 HRESULT STDMETHODCALLTYPE IMFAttributes_CopyAllItems_Proxy( 933 IMFAttributes* This, 934 IMFAttributes *pDest); 935 void __RPC_STUB IMFAttributes_CopyAllItems_Stub( 936 IRpcStubBuffer* This, 937 IRpcChannelBuffer* pRpcChannelBuffer, 938 PRPC_MESSAGE pRpcMessage, 939 DWORD* pdwStubPhase); 940 941 #endif /* __IMFAttributes_INTERFACE_DEFINED__ */ 942 943 944 enum MF_ATTRIBUTE_SERIALIZE_OPTIONS { 945 MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1 946 }; 947 948 949 STDAPI MFSerializeAttributesToStream(IMFAttributes *pAttr, DWORD dwOptions, IStream *pStm); 950 STDAPI MFDeserializeAttributesFromStream(IMFAttributes *pAttr, DWORD dwOptions, IStream *pStm); 951 952 /***************************************************************************** 953 * IMFMediaBuffer interface 954 */ 955 #ifndef __IMFMediaBuffer_INTERFACE_DEFINED__ 956 #define __IMFMediaBuffer_INTERFACE_DEFINED__ 957 958 DEFINE_GUID(IID_IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07); 959 #if defined(__cplusplus) && !defined(CINTERFACE) 960 MIDL_INTERFACE("045fa593-8799-42b8-bc8d-8968c6453507") 961 IMFMediaBuffer : public IUnknown 962 { 963 virtual HRESULT STDMETHODCALLTYPE Lock( 964 BYTE **ppbBuffer, 965 DWORD *pcbMaxLength, 966 DWORD *pcbCurrentLength) = 0; 967 968 virtual HRESULT STDMETHODCALLTYPE Unlock( 969 ) = 0; 970 971 virtual HRESULT STDMETHODCALLTYPE GetCurrentLength( 972 DWORD *pcbCurrentLength) = 0; 973 974 virtual HRESULT STDMETHODCALLTYPE SetCurrentLength( 975 DWORD cbCurrentLength) = 0; 976 977 virtual HRESULT STDMETHODCALLTYPE GetMaxLength( 978 DWORD *pcbMaxLength) = 0; 979 980 }; 981 #ifdef __CRT_UUID_DECL 982 __CRT_UUID_DECL(IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07) 983 #endif 984 #else 985 typedef struct IMFMediaBufferVtbl { 986 BEGIN_INTERFACE 987 988 /*** IUnknown methods ***/ 989 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 990 IMFMediaBuffer* This, 991 REFIID riid, 992 void **ppvObject); 993 994 ULONG (STDMETHODCALLTYPE *AddRef)( 995 IMFMediaBuffer* This); 996 997 ULONG (STDMETHODCALLTYPE *Release)( 998 IMFMediaBuffer* This); 999 1000 /*** IMFMediaBuffer methods ***/ 1001 HRESULT (STDMETHODCALLTYPE *Lock)( 1002 IMFMediaBuffer* This, 1003 BYTE **ppbBuffer, 1004 DWORD *pcbMaxLength, 1005 DWORD *pcbCurrentLength); 1006 1007 HRESULT (STDMETHODCALLTYPE *Unlock)( 1008 IMFMediaBuffer* This); 1009 1010 HRESULT (STDMETHODCALLTYPE *GetCurrentLength)( 1011 IMFMediaBuffer* This, 1012 DWORD *pcbCurrentLength); 1013 1014 HRESULT (STDMETHODCALLTYPE *SetCurrentLength)( 1015 IMFMediaBuffer* This, 1016 DWORD cbCurrentLength); 1017 1018 HRESULT (STDMETHODCALLTYPE *GetMaxLength)( 1019 IMFMediaBuffer* This, 1020 DWORD *pcbMaxLength); 1021 1022 END_INTERFACE 1023 } IMFMediaBufferVtbl; 1024 interface IMFMediaBuffer { 1025 CONST_VTBL IMFMediaBufferVtbl* lpVtbl; 1026 }; 1027 1028 #ifdef COBJMACROS 1029 #ifndef WIDL_C_INLINE_WRAPPERS 1030 /*** IUnknown methods ***/ 1031 #define IMFMediaBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1032 #define IMFMediaBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 1033 #define IMFMediaBuffer_Release(This) (This)->lpVtbl->Release(This) 1034 /*** IMFMediaBuffer methods ***/ 1035 #define IMFMediaBuffer_Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) (This)->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) 1036 #define IMFMediaBuffer_Unlock(This) (This)->lpVtbl->Unlock(This) 1037 #define IMFMediaBuffer_GetCurrentLength(This,pcbCurrentLength) (This)->lpVtbl->GetCurrentLength(This,pcbCurrentLength) 1038 #define IMFMediaBuffer_SetCurrentLength(This,cbCurrentLength) (This)->lpVtbl->SetCurrentLength(This,cbCurrentLength) 1039 #define IMFMediaBuffer_GetMaxLength(This,pcbMaxLength) (This)->lpVtbl->GetMaxLength(This,pcbMaxLength) 1040 #else 1041 /*** IUnknown methods ***/ 1042 static FORCEINLINE HRESULT IMFMediaBuffer_QueryInterface(IMFMediaBuffer* This,REFIID riid,void **ppvObject) { 1043 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1044 } 1045 static FORCEINLINE ULONG IMFMediaBuffer_AddRef(IMFMediaBuffer* This) { 1046 return This->lpVtbl->AddRef(This); 1047 } 1048 static FORCEINLINE ULONG IMFMediaBuffer_Release(IMFMediaBuffer* This) { 1049 return This->lpVtbl->Release(This); 1050 } 1051 /*** IMFMediaBuffer methods ***/ 1052 static FORCEINLINE HRESULT IMFMediaBuffer_Lock(IMFMediaBuffer* This,BYTE **ppbBuffer,DWORD *pcbMaxLength,DWORD *pcbCurrentLength) { 1053 return This->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength); 1054 } 1055 static FORCEINLINE HRESULT IMFMediaBuffer_Unlock(IMFMediaBuffer* This) { 1056 return This->lpVtbl->Unlock(This); 1057 } 1058 static FORCEINLINE HRESULT IMFMediaBuffer_GetCurrentLength(IMFMediaBuffer* This,DWORD *pcbCurrentLength) { 1059 return This->lpVtbl->GetCurrentLength(This,pcbCurrentLength); 1060 } 1061 static FORCEINLINE HRESULT IMFMediaBuffer_SetCurrentLength(IMFMediaBuffer* This,DWORD cbCurrentLength) { 1062 return This->lpVtbl->SetCurrentLength(This,cbCurrentLength); 1063 } 1064 static FORCEINLINE HRESULT IMFMediaBuffer_GetMaxLength(IMFMediaBuffer* This,DWORD *pcbMaxLength) { 1065 return This->lpVtbl->GetMaxLength(This,pcbMaxLength); 1066 } 1067 #endif 1068 #endif 1069 1070 #endif 1071 1072 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Lock_Proxy( 1073 IMFMediaBuffer* This, 1074 BYTE **ppbBuffer, 1075 DWORD *pcbMaxLength, 1076 DWORD *pcbCurrentLength); 1077 void __RPC_STUB IMFMediaBuffer_Lock_Stub( 1078 IRpcStubBuffer* This, 1079 IRpcChannelBuffer* pRpcChannelBuffer, 1080 PRPC_MESSAGE pRpcMessage, 1081 DWORD* pdwStubPhase); 1082 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Unlock_Proxy( 1083 IMFMediaBuffer* This); 1084 void __RPC_STUB IMFMediaBuffer_Unlock_Stub( 1085 IRpcStubBuffer* This, 1086 IRpcChannelBuffer* pRpcChannelBuffer, 1087 PRPC_MESSAGE pRpcMessage, 1088 DWORD* pdwStubPhase); 1089 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetCurrentLength_Proxy( 1090 IMFMediaBuffer* This, 1091 DWORD *pcbCurrentLength); 1092 void __RPC_STUB IMFMediaBuffer_GetCurrentLength_Stub( 1093 IRpcStubBuffer* This, 1094 IRpcChannelBuffer* pRpcChannelBuffer, 1095 PRPC_MESSAGE pRpcMessage, 1096 DWORD* pdwStubPhase); 1097 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_SetCurrentLength_Proxy( 1098 IMFMediaBuffer* This, 1099 DWORD cbCurrentLength); 1100 void __RPC_STUB IMFMediaBuffer_SetCurrentLength_Stub( 1101 IRpcStubBuffer* This, 1102 IRpcChannelBuffer* pRpcChannelBuffer, 1103 PRPC_MESSAGE pRpcMessage, 1104 DWORD* pdwStubPhase); 1105 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetMaxLength_Proxy( 1106 IMFMediaBuffer* This, 1107 DWORD *pcbMaxLength); 1108 void __RPC_STUB IMFMediaBuffer_GetMaxLength_Stub( 1109 IRpcStubBuffer* This, 1110 IRpcChannelBuffer* pRpcChannelBuffer, 1111 PRPC_MESSAGE pRpcMessage, 1112 DWORD* pdwStubPhase); 1113 1114 #endif /* __IMFMediaBuffer_INTERFACE_DEFINED__ */ 1115 1116 1117 /***************************************************************************** 1118 * IMFSample interface 1119 */ 1120 #ifndef __IMFSample_INTERFACE_DEFINED__ 1121 #define __IMFSample_INTERFACE_DEFINED__ 1122 1123 DEFINE_GUID(IID_IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4); 1124 #if defined(__cplusplus) && !defined(CINTERFACE) 1125 MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4") 1126 IMFSample : public IMFAttributes 1127 { 1128 virtual HRESULT STDMETHODCALLTYPE GetSampleFlags( 1129 DWORD *pdwSampleFlags) = 0; 1130 1131 virtual HRESULT STDMETHODCALLTYPE SetSampleFlags( 1132 DWORD dwSampleFlags) = 0; 1133 1134 virtual HRESULT STDMETHODCALLTYPE GetSampleTime( 1135 LONGLONG *phnsSampleTime) = 0; 1136 1137 virtual HRESULT STDMETHODCALLTYPE SetSampleTime( 1138 LONGLONG hnsSampleTime) = 0; 1139 1140 virtual HRESULT STDMETHODCALLTYPE GetSampleDuration( 1141 LONGLONG *phnsSampleDuration) = 0; 1142 1143 virtual HRESULT STDMETHODCALLTYPE SetSampleDuration( 1144 LONGLONG hnsSampleDuration) = 0; 1145 1146 virtual HRESULT STDMETHODCALLTYPE GetBufferCount( 1147 DWORD *pdwBufferCount) = 0; 1148 1149 virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex( 1150 DWORD dwIndex, 1151 IMFMediaBuffer **ppBuffer) = 0; 1152 1153 virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer( 1154 IMFMediaBuffer **ppBuffer) = 0; 1155 1156 virtual HRESULT STDMETHODCALLTYPE AddBuffer( 1157 IMFMediaBuffer *pBuffer) = 0; 1158 1159 virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex( 1160 DWORD dwIndex) = 0; 1161 1162 virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers( 1163 ) = 0; 1164 1165 virtual HRESULT STDMETHODCALLTYPE GetTotalLength( 1166 DWORD *pcbTotalLength) = 0; 1167 1168 virtual HRESULT STDMETHODCALLTYPE CopyToBuffer( 1169 IMFMediaBuffer *pBuffer) = 0; 1170 1171 }; 1172 #ifdef __CRT_UUID_DECL 1173 __CRT_UUID_DECL(IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4) 1174 #endif 1175 #else 1176 typedef struct IMFSampleVtbl { 1177 BEGIN_INTERFACE 1178 1179 /*** IUnknown methods ***/ 1180 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1181 IMFSample* This, 1182 REFIID riid, 1183 void **ppvObject); 1184 1185 ULONG (STDMETHODCALLTYPE *AddRef)( 1186 IMFSample* This); 1187 1188 ULONG (STDMETHODCALLTYPE *Release)( 1189 IMFSample* This); 1190 1191 /*** IMFAttributes methods ***/ 1192 HRESULT (STDMETHODCALLTYPE *GetItem)( 1193 IMFSample* This, 1194 REFGUID guidKey, 1195 PROPVARIANT *pValue); 1196 1197 HRESULT (STDMETHODCALLTYPE *GetItemType)( 1198 IMFSample* This, 1199 REFGUID guidKey, 1200 MF_ATTRIBUTE_TYPE *pType); 1201 1202 HRESULT (STDMETHODCALLTYPE *CompareItem)( 1203 IMFSample* This, 1204 REFGUID guidKey, 1205 REFPROPVARIANT Value, 1206 WINBOOL *pbResult); 1207 1208 HRESULT (STDMETHODCALLTYPE *Compare)( 1209 IMFSample* This, 1210 IMFAttributes *pTheirs, 1211 MF_ATTRIBUTES_MATCH_TYPE MatchType, 1212 WINBOOL *pbResult); 1213 1214 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 1215 IMFSample* This, 1216 REFGUID guidKey, 1217 UINT32 *punValue); 1218 1219 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 1220 IMFSample* This, 1221 REFGUID guidKey, 1222 UINT64 *punValue); 1223 1224 HRESULT (STDMETHODCALLTYPE *GetDouble)( 1225 IMFSample* This, 1226 REFGUID guidKey, 1227 double *pfValue); 1228 1229 HRESULT (STDMETHODCALLTYPE *GetGUID)( 1230 IMFSample* This, 1231 REFGUID guidKey, 1232 GUID *pguidValue); 1233 1234 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 1235 IMFSample* This, 1236 REFGUID guidKey, 1237 UINT32 *pcchLength); 1238 1239 HRESULT (STDMETHODCALLTYPE *GetString)( 1240 IMFSample* This, 1241 REFGUID guidKey, 1242 LPWSTR pwszValue, 1243 UINT32 cchBufSize, 1244 UINT32 *pcchLength); 1245 1246 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 1247 IMFSample* This, 1248 REFGUID guidKey, 1249 LPWSTR *ppwszValue, 1250 UINT32 *pcchLength); 1251 1252 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 1253 IMFSample* This, 1254 REFGUID guidKey, 1255 UINT32 *pcbBlobSize); 1256 1257 HRESULT (STDMETHODCALLTYPE *GetBlob)( 1258 IMFSample* This, 1259 REFGUID guidKey, 1260 UINT8 *pBuf, 1261 UINT32 cbBufSize, 1262 UINT32 *pcbBlobSize); 1263 1264 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 1265 IMFSample* This, 1266 REFGUID guidKey, 1267 UINT8 **ppBuf, 1268 UINT32 *pcbSize); 1269 1270 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 1271 IMFSample* This, 1272 REFGUID guidKey, 1273 REFIID riid, 1274 LPVOID *ppv); 1275 1276 HRESULT (STDMETHODCALLTYPE *SetItem)( 1277 IMFSample* This, 1278 REFGUID guidKey, 1279 REFPROPVARIANT Value); 1280 1281 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 1282 IMFSample* This, 1283 REFGUID guidKey); 1284 1285 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 1286 IMFSample* This); 1287 1288 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 1289 IMFSample* This, 1290 REFGUID guidKey, 1291 UINT32 unValue); 1292 1293 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 1294 IMFSample* This, 1295 REFGUID guidKey, 1296 UINT64 unValue); 1297 1298 HRESULT (STDMETHODCALLTYPE *SetDouble)( 1299 IMFSample* This, 1300 REFGUID guidKey, 1301 double fValue); 1302 1303 HRESULT (STDMETHODCALLTYPE *SetGUID)( 1304 IMFSample* This, 1305 REFGUID guidKey, 1306 REFGUID guidValue); 1307 1308 HRESULT (STDMETHODCALLTYPE *SetString)( 1309 IMFSample* This, 1310 REFGUID guidKey, 1311 LPCWSTR wszValue); 1312 1313 HRESULT (STDMETHODCALLTYPE *SetBlob)( 1314 IMFSample* This, 1315 REFGUID guidKey, 1316 const UINT8 *pBuf, 1317 UINT32 cbBufSize); 1318 1319 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 1320 IMFSample* This, 1321 REFGUID guidKey, 1322 IUnknown *pUnknown); 1323 1324 HRESULT (STDMETHODCALLTYPE *LockStore)( 1325 IMFSample* This); 1326 1327 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 1328 IMFSample* This); 1329 1330 HRESULT (STDMETHODCALLTYPE *GetCount)( 1331 IMFSample* This, 1332 UINT32 *pcItems); 1333 1334 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 1335 IMFSample* This, 1336 UINT32 unIndex, 1337 GUID *pguidKey, 1338 PROPVARIANT *pValue); 1339 1340 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 1341 IMFSample* This, 1342 IMFAttributes *pDest); 1343 1344 /*** IMFSample methods ***/ 1345 HRESULT (STDMETHODCALLTYPE *GetSampleFlags)( 1346 IMFSample* This, 1347 DWORD *pdwSampleFlags); 1348 1349 HRESULT (STDMETHODCALLTYPE *SetSampleFlags)( 1350 IMFSample* This, 1351 DWORD dwSampleFlags); 1352 1353 HRESULT (STDMETHODCALLTYPE *GetSampleTime)( 1354 IMFSample* This, 1355 LONGLONG *phnsSampleTime); 1356 1357 HRESULT (STDMETHODCALLTYPE *SetSampleTime)( 1358 IMFSample* This, 1359 LONGLONG hnsSampleTime); 1360 1361 HRESULT (STDMETHODCALLTYPE *GetSampleDuration)( 1362 IMFSample* This, 1363 LONGLONG *phnsSampleDuration); 1364 1365 HRESULT (STDMETHODCALLTYPE *SetSampleDuration)( 1366 IMFSample* This, 1367 LONGLONG hnsSampleDuration); 1368 1369 HRESULT (STDMETHODCALLTYPE *GetBufferCount)( 1370 IMFSample* This, 1371 DWORD *pdwBufferCount); 1372 1373 HRESULT (STDMETHODCALLTYPE *GetBufferByIndex)( 1374 IMFSample* This, 1375 DWORD dwIndex, 1376 IMFMediaBuffer **ppBuffer); 1377 1378 HRESULT (STDMETHODCALLTYPE *ConvertToContiguousBuffer)( 1379 IMFSample* This, 1380 IMFMediaBuffer **ppBuffer); 1381 1382 HRESULT (STDMETHODCALLTYPE *AddBuffer)( 1383 IMFSample* This, 1384 IMFMediaBuffer *pBuffer); 1385 1386 HRESULT (STDMETHODCALLTYPE *RemoveBufferByIndex)( 1387 IMFSample* This, 1388 DWORD dwIndex); 1389 1390 HRESULT (STDMETHODCALLTYPE *RemoveAllBuffers)( 1391 IMFSample* This); 1392 1393 HRESULT (STDMETHODCALLTYPE *GetTotalLength)( 1394 IMFSample* This, 1395 DWORD *pcbTotalLength); 1396 1397 HRESULT (STDMETHODCALLTYPE *CopyToBuffer)( 1398 IMFSample* This, 1399 IMFMediaBuffer *pBuffer); 1400 1401 END_INTERFACE 1402 } IMFSampleVtbl; 1403 interface IMFSample { 1404 CONST_VTBL IMFSampleVtbl* lpVtbl; 1405 }; 1406 1407 #ifdef COBJMACROS 1408 #ifndef WIDL_C_INLINE_WRAPPERS 1409 /*** IUnknown methods ***/ 1410 #define IMFSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1411 #define IMFSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1412 #define IMFSample_Release(This) (This)->lpVtbl->Release(This) 1413 /*** IMFAttributes methods ***/ 1414 #define IMFSample_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 1415 #define IMFSample_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 1416 #define IMFSample_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 1417 #define IMFSample_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 1418 #define IMFSample_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 1419 #define IMFSample_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 1420 #define IMFSample_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 1421 #define IMFSample_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 1422 #define IMFSample_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 1423 #define IMFSample_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 1424 #define IMFSample_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 1425 #define IMFSample_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 1426 #define IMFSample_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 1427 #define IMFSample_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 1428 #define IMFSample_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 1429 #define IMFSample_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 1430 #define IMFSample_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 1431 #define IMFSample_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 1432 #define IMFSample_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 1433 #define IMFSample_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 1434 #define IMFSample_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 1435 #define IMFSample_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 1436 #define IMFSample_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 1437 #define IMFSample_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 1438 #define IMFSample_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 1439 #define IMFSample_LockStore(This) (This)->lpVtbl->LockStore(This) 1440 #define IMFSample_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 1441 #define IMFSample_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 1442 #define IMFSample_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 1443 #define IMFSample_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 1444 /*** IMFSample methods ***/ 1445 #define IMFSample_GetSampleFlags(This,pdwSampleFlags) (This)->lpVtbl->GetSampleFlags(This,pdwSampleFlags) 1446 #define IMFSample_SetSampleFlags(This,dwSampleFlags) (This)->lpVtbl->SetSampleFlags(This,dwSampleFlags) 1447 #define IMFSample_GetSampleTime(This,phnsSampleTime) (This)->lpVtbl->GetSampleTime(This,phnsSampleTime) 1448 #define IMFSample_SetSampleTime(This,hnsSampleTime) (This)->lpVtbl->SetSampleTime(This,hnsSampleTime) 1449 #define IMFSample_GetSampleDuration(This,phnsSampleDuration) (This)->lpVtbl->GetSampleDuration(This,phnsSampleDuration) 1450 #define IMFSample_SetSampleDuration(This,hnsSampleDuration) (This)->lpVtbl->SetSampleDuration(This,hnsSampleDuration) 1451 #define IMFSample_GetBufferCount(This,pdwBufferCount) (This)->lpVtbl->GetBufferCount(This,pdwBufferCount) 1452 #define IMFSample_GetBufferByIndex(This,dwIndex,ppBuffer) (This)->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer) 1453 #define IMFSample_ConvertToContiguousBuffer(This,ppBuffer) (This)->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer) 1454 #define IMFSample_AddBuffer(This,pBuffer) (This)->lpVtbl->AddBuffer(This,pBuffer) 1455 #define IMFSample_RemoveBufferByIndex(This,dwIndex) (This)->lpVtbl->RemoveBufferByIndex(This,dwIndex) 1456 #define IMFSample_RemoveAllBuffers(This) (This)->lpVtbl->RemoveAllBuffers(This) 1457 #define IMFSample_GetTotalLength(This,pcbTotalLength) (This)->lpVtbl->GetTotalLength(This,pcbTotalLength) 1458 #define IMFSample_CopyToBuffer(This,pBuffer) (This)->lpVtbl->CopyToBuffer(This,pBuffer) 1459 #else 1460 /*** IUnknown methods ***/ 1461 static FORCEINLINE HRESULT IMFSample_QueryInterface(IMFSample* This,REFIID riid,void **ppvObject) { 1462 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1463 } 1464 static FORCEINLINE ULONG IMFSample_AddRef(IMFSample* This) { 1465 return This->lpVtbl->AddRef(This); 1466 } 1467 static FORCEINLINE ULONG IMFSample_Release(IMFSample* This) { 1468 return This->lpVtbl->Release(This); 1469 } 1470 /*** IMFAttributes methods ***/ 1471 static FORCEINLINE HRESULT IMFSample_GetItem(IMFSample* This,REFGUID guidKey,PROPVARIANT *pValue) { 1472 return This->lpVtbl->GetItem(This,guidKey,pValue); 1473 } 1474 static FORCEINLINE HRESULT IMFSample_GetItemType(IMFSample* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 1475 return This->lpVtbl->GetItemType(This,guidKey,pType); 1476 } 1477 static FORCEINLINE HRESULT IMFSample_CompareItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 1478 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 1479 } 1480 static FORCEINLINE HRESULT IMFSample_Compare(IMFSample* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 1481 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 1482 } 1483 static FORCEINLINE HRESULT IMFSample_GetUINT32(IMFSample* This,REFGUID guidKey,UINT32 *punValue) { 1484 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 1485 } 1486 static FORCEINLINE HRESULT IMFSample_GetUINT64(IMFSample* This,REFGUID guidKey,UINT64 *punValue) { 1487 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 1488 } 1489 static FORCEINLINE HRESULT IMFSample_GetDouble(IMFSample* This,REFGUID guidKey,double *pfValue) { 1490 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 1491 } 1492 static FORCEINLINE HRESULT IMFSample_GetGUID(IMFSample* This,REFGUID guidKey,GUID *pguidValue) { 1493 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 1494 } 1495 static FORCEINLINE HRESULT IMFSample_GetStringLength(IMFSample* This,REFGUID guidKey,UINT32 *pcchLength) { 1496 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 1497 } 1498 static FORCEINLINE HRESULT IMFSample_GetString(IMFSample* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 1499 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 1500 } 1501 static FORCEINLINE HRESULT IMFSample_GetAllocatedString(IMFSample* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 1502 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 1503 } 1504 static FORCEINLINE HRESULT IMFSample_GetBlobSize(IMFSample* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 1505 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 1506 } 1507 static FORCEINLINE HRESULT IMFSample_GetBlob(IMFSample* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 1508 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 1509 } 1510 static FORCEINLINE HRESULT IMFSample_GetAllocatedBlob(IMFSample* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 1511 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 1512 } 1513 static FORCEINLINE HRESULT IMFSample_GetUnknown(IMFSample* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 1514 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 1515 } 1516 static FORCEINLINE HRESULT IMFSample_SetItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value) { 1517 return This->lpVtbl->SetItem(This,guidKey,Value); 1518 } 1519 static FORCEINLINE HRESULT IMFSample_DeleteItem(IMFSample* This,REFGUID guidKey) { 1520 return This->lpVtbl->DeleteItem(This,guidKey); 1521 } 1522 static FORCEINLINE HRESULT IMFSample_DeleteAllItems(IMFSample* This) { 1523 return This->lpVtbl->DeleteAllItems(This); 1524 } 1525 static FORCEINLINE HRESULT IMFSample_SetUINT32(IMFSample* This,REFGUID guidKey,UINT32 unValue) { 1526 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 1527 } 1528 static FORCEINLINE HRESULT IMFSample_SetUINT64(IMFSample* This,REFGUID guidKey,UINT64 unValue) { 1529 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 1530 } 1531 static FORCEINLINE HRESULT IMFSample_SetDouble(IMFSample* This,REFGUID guidKey,double fValue) { 1532 return This->lpVtbl->SetDouble(This,guidKey,fValue); 1533 } 1534 static FORCEINLINE HRESULT IMFSample_SetGUID(IMFSample* This,REFGUID guidKey,REFGUID guidValue) { 1535 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 1536 } 1537 static FORCEINLINE HRESULT IMFSample_SetString(IMFSample* This,REFGUID guidKey,LPCWSTR wszValue) { 1538 return This->lpVtbl->SetString(This,guidKey,wszValue); 1539 } 1540 static FORCEINLINE HRESULT IMFSample_SetBlob(IMFSample* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 1541 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 1542 } 1543 static FORCEINLINE HRESULT IMFSample_SetUnknown(IMFSample* This,REFGUID guidKey,IUnknown *pUnknown) { 1544 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 1545 } 1546 static FORCEINLINE HRESULT IMFSample_LockStore(IMFSample* This) { 1547 return This->lpVtbl->LockStore(This); 1548 } 1549 static FORCEINLINE HRESULT IMFSample_UnlockStore(IMFSample* This) { 1550 return This->lpVtbl->UnlockStore(This); 1551 } 1552 static FORCEINLINE HRESULT IMFSample_GetCount(IMFSample* This,UINT32 *pcItems) { 1553 return This->lpVtbl->GetCount(This,pcItems); 1554 } 1555 static FORCEINLINE HRESULT IMFSample_GetItemByIndex(IMFSample* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 1556 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 1557 } 1558 static FORCEINLINE HRESULT IMFSample_CopyAllItems(IMFSample* This,IMFAttributes *pDest) { 1559 return This->lpVtbl->CopyAllItems(This,pDest); 1560 } 1561 /*** IMFSample methods ***/ 1562 static FORCEINLINE HRESULT IMFSample_GetSampleFlags(IMFSample* This,DWORD *pdwSampleFlags) { 1563 return This->lpVtbl->GetSampleFlags(This,pdwSampleFlags); 1564 } 1565 static FORCEINLINE HRESULT IMFSample_SetSampleFlags(IMFSample* This,DWORD dwSampleFlags) { 1566 return This->lpVtbl->SetSampleFlags(This,dwSampleFlags); 1567 } 1568 static FORCEINLINE HRESULT IMFSample_GetSampleTime(IMFSample* This,LONGLONG *phnsSampleTime) { 1569 return This->lpVtbl->GetSampleTime(This,phnsSampleTime); 1570 } 1571 static FORCEINLINE HRESULT IMFSample_SetSampleTime(IMFSample* This,LONGLONG hnsSampleTime) { 1572 return This->lpVtbl->SetSampleTime(This,hnsSampleTime); 1573 } 1574 static FORCEINLINE HRESULT IMFSample_GetSampleDuration(IMFSample* This,LONGLONG *phnsSampleDuration) { 1575 return This->lpVtbl->GetSampleDuration(This,phnsSampleDuration); 1576 } 1577 static FORCEINLINE HRESULT IMFSample_SetSampleDuration(IMFSample* This,LONGLONG hnsSampleDuration) { 1578 return This->lpVtbl->SetSampleDuration(This,hnsSampleDuration); 1579 } 1580 static FORCEINLINE HRESULT IMFSample_GetBufferCount(IMFSample* This,DWORD *pdwBufferCount) { 1581 return This->lpVtbl->GetBufferCount(This,pdwBufferCount); 1582 } 1583 static FORCEINLINE HRESULT IMFSample_GetBufferByIndex(IMFSample* This,DWORD dwIndex,IMFMediaBuffer **ppBuffer) { 1584 return This->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer); 1585 } 1586 static FORCEINLINE HRESULT IMFSample_ConvertToContiguousBuffer(IMFSample* This,IMFMediaBuffer **ppBuffer) { 1587 return This->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer); 1588 } 1589 static FORCEINLINE HRESULT IMFSample_AddBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1590 return This->lpVtbl->AddBuffer(This,pBuffer); 1591 } 1592 static FORCEINLINE HRESULT IMFSample_RemoveBufferByIndex(IMFSample* This,DWORD dwIndex) { 1593 return This->lpVtbl->RemoveBufferByIndex(This,dwIndex); 1594 } 1595 static FORCEINLINE HRESULT IMFSample_RemoveAllBuffers(IMFSample* This) { 1596 return This->lpVtbl->RemoveAllBuffers(This); 1597 } 1598 static FORCEINLINE HRESULT IMFSample_GetTotalLength(IMFSample* This,DWORD *pcbTotalLength) { 1599 return This->lpVtbl->GetTotalLength(This,pcbTotalLength); 1600 } 1601 static FORCEINLINE HRESULT IMFSample_CopyToBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1602 return This->lpVtbl->CopyToBuffer(This,pBuffer); 1603 } 1604 #endif 1605 #endif 1606 1607 #endif 1608 1609 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleFlags_Proxy( 1610 IMFSample* This, 1611 DWORD *pdwSampleFlags); 1612 void __RPC_STUB IMFSample_GetSampleFlags_Stub( 1613 IRpcStubBuffer* This, 1614 IRpcChannelBuffer* pRpcChannelBuffer, 1615 PRPC_MESSAGE pRpcMessage, 1616 DWORD* pdwStubPhase); 1617 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleFlags_Proxy( 1618 IMFSample* This, 1619 DWORD dwSampleFlags); 1620 void __RPC_STUB IMFSample_SetSampleFlags_Stub( 1621 IRpcStubBuffer* This, 1622 IRpcChannelBuffer* pRpcChannelBuffer, 1623 PRPC_MESSAGE pRpcMessage, 1624 DWORD* pdwStubPhase); 1625 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleTime_Proxy( 1626 IMFSample* This, 1627 LONGLONG *phnsSampleTime); 1628 void __RPC_STUB IMFSample_GetSampleTime_Stub( 1629 IRpcStubBuffer* This, 1630 IRpcChannelBuffer* pRpcChannelBuffer, 1631 PRPC_MESSAGE pRpcMessage, 1632 DWORD* pdwStubPhase); 1633 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleTime_Proxy( 1634 IMFSample* This, 1635 LONGLONG hnsSampleTime); 1636 void __RPC_STUB IMFSample_SetSampleTime_Stub( 1637 IRpcStubBuffer* This, 1638 IRpcChannelBuffer* pRpcChannelBuffer, 1639 PRPC_MESSAGE pRpcMessage, 1640 DWORD* pdwStubPhase); 1641 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleDuration_Proxy( 1642 IMFSample* This, 1643 LONGLONG *phnsSampleDuration); 1644 void __RPC_STUB IMFSample_GetSampleDuration_Stub( 1645 IRpcStubBuffer* This, 1646 IRpcChannelBuffer* pRpcChannelBuffer, 1647 PRPC_MESSAGE pRpcMessage, 1648 DWORD* pdwStubPhase); 1649 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleDuration_Proxy( 1650 IMFSample* This, 1651 LONGLONG hnsSampleDuration); 1652 void __RPC_STUB IMFSample_SetSampleDuration_Stub( 1653 IRpcStubBuffer* This, 1654 IRpcChannelBuffer* pRpcChannelBuffer, 1655 PRPC_MESSAGE pRpcMessage, 1656 DWORD* pdwStubPhase); 1657 HRESULT STDMETHODCALLTYPE IMFSample_GetBufferCount_Proxy( 1658 IMFSample* This, 1659 DWORD *pdwBufferCount); 1660 void __RPC_STUB IMFSample_GetBufferCount_Stub( 1661 IRpcStubBuffer* This, 1662 IRpcChannelBuffer* pRpcChannelBuffer, 1663 PRPC_MESSAGE pRpcMessage, 1664 DWORD* pdwStubPhase); 1665 HRESULT STDMETHODCALLTYPE IMFSample_GetBufferByIndex_Proxy( 1666 IMFSample* This, 1667 DWORD dwIndex, 1668 IMFMediaBuffer **ppBuffer); 1669 void __RPC_STUB IMFSample_GetBufferByIndex_Stub( 1670 IRpcStubBuffer* This, 1671 IRpcChannelBuffer* pRpcChannelBuffer, 1672 PRPC_MESSAGE pRpcMessage, 1673 DWORD* pdwStubPhase); 1674 HRESULT STDMETHODCALLTYPE IMFSample_ConvertToContiguousBuffer_Proxy( 1675 IMFSample* This, 1676 IMFMediaBuffer **ppBuffer); 1677 void __RPC_STUB IMFSample_ConvertToContiguousBuffer_Stub( 1678 IRpcStubBuffer* This, 1679 IRpcChannelBuffer* pRpcChannelBuffer, 1680 PRPC_MESSAGE pRpcMessage, 1681 DWORD* pdwStubPhase); 1682 HRESULT STDMETHODCALLTYPE IMFSample_AddBuffer_Proxy( 1683 IMFSample* This, 1684 IMFMediaBuffer *pBuffer); 1685 void __RPC_STUB IMFSample_AddBuffer_Stub( 1686 IRpcStubBuffer* This, 1687 IRpcChannelBuffer* pRpcChannelBuffer, 1688 PRPC_MESSAGE pRpcMessage, 1689 DWORD* pdwStubPhase); 1690 HRESULT STDMETHODCALLTYPE IMFSample_RemoveBufferByIndex_Proxy( 1691 IMFSample* This, 1692 DWORD dwIndex); 1693 void __RPC_STUB IMFSample_RemoveBufferByIndex_Stub( 1694 IRpcStubBuffer* This, 1695 IRpcChannelBuffer* pRpcChannelBuffer, 1696 PRPC_MESSAGE pRpcMessage, 1697 DWORD* pdwStubPhase); 1698 HRESULT STDMETHODCALLTYPE IMFSample_RemoveAllBuffers_Proxy( 1699 IMFSample* This); 1700 void __RPC_STUB IMFSample_RemoveAllBuffers_Stub( 1701 IRpcStubBuffer* This, 1702 IRpcChannelBuffer* pRpcChannelBuffer, 1703 PRPC_MESSAGE pRpcMessage, 1704 DWORD* pdwStubPhase); 1705 HRESULT STDMETHODCALLTYPE IMFSample_GetTotalLength_Proxy( 1706 IMFSample* This, 1707 DWORD *pcbTotalLength); 1708 void __RPC_STUB IMFSample_GetTotalLength_Stub( 1709 IRpcStubBuffer* This, 1710 IRpcChannelBuffer* pRpcChannelBuffer, 1711 PRPC_MESSAGE pRpcMessage, 1712 DWORD* pdwStubPhase); 1713 HRESULT STDMETHODCALLTYPE IMFSample_CopyToBuffer_Proxy( 1714 IMFSample* This, 1715 IMFMediaBuffer *pBuffer); 1716 void __RPC_STUB IMFSample_CopyToBuffer_Stub( 1717 IRpcStubBuffer* This, 1718 IRpcChannelBuffer* pRpcChannelBuffer, 1719 PRPC_MESSAGE pRpcMessage, 1720 DWORD* pdwStubPhase); 1721 1722 #endif /* __IMFSample_INTERFACE_DEFINED__ */ 1723 1724 1725 /***************************************************************************** 1726 * IMF2DBuffer interface 1727 */ 1728 #ifndef __IMF2DBuffer_INTERFACE_DEFINED__ 1729 #define __IMF2DBuffer_INTERFACE_DEFINED__ 1730 1731 DEFINE_GUID(IID_IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb); 1732 #if defined(__cplusplus) && !defined(CINTERFACE) 1733 MIDL_INTERFACE("7dc9d5f9-9ed9-44ec-9bbf-0600bb589fbb") 1734 IMF2DBuffer : public IUnknown 1735 { 1736 virtual HRESULT STDMETHODCALLTYPE Lock2D( 1737 BYTE **ppbScanline0, 1738 LONG *plPitch) = 0; 1739 1740 virtual HRESULT STDMETHODCALLTYPE Unlock2D( 1741 ) = 0; 1742 1743 virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch( 1744 BYTE **pbScanline0, 1745 LONG *plPitch) = 0; 1746 1747 virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat( 1748 WINBOOL *pfIsContiguous) = 0; 1749 1750 virtual HRESULT STDMETHODCALLTYPE GetContiguousLength( 1751 DWORD *pcbLength) = 0; 1752 1753 virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo( 1754 BYTE *pbDestBuffer, 1755 DWORD cbDestBuffer) = 0; 1756 1757 virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom( 1758 const BYTE *pbSrcBuffer, 1759 DWORD cbSrcBuffer) = 0; 1760 1761 }; 1762 #ifdef __CRT_UUID_DECL 1763 __CRT_UUID_DECL(IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb) 1764 #endif 1765 #else 1766 typedef struct IMF2DBufferVtbl { 1767 BEGIN_INTERFACE 1768 1769 /*** IUnknown methods ***/ 1770 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1771 IMF2DBuffer* This, 1772 REFIID riid, 1773 void **ppvObject); 1774 1775 ULONG (STDMETHODCALLTYPE *AddRef)( 1776 IMF2DBuffer* This); 1777 1778 ULONG (STDMETHODCALLTYPE *Release)( 1779 IMF2DBuffer* This); 1780 1781 /*** IMF2DBuffer methods ***/ 1782 HRESULT (STDMETHODCALLTYPE *Lock2D)( 1783 IMF2DBuffer* This, 1784 BYTE **ppbScanline0, 1785 LONG *plPitch); 1786 1787 HRESULT (STDMETHODCALLTYPE *Unlock2D)( 1788 IMF2DBuffer* This); 1789 1790 HRESULT (STDMETHODCALLTYPE *GetScanline0AndPitch)( 1791 IMF2DBuffer* This, 1792 BYTE **pbScanline0, 1793 LONG *plPitch); 1794 1795 HRESULT (STDMETHODCALLTYPE *IsContiguousFormat)( 1796 IMF2DBuffer* This, 1797 WINBOOL *pfIsContiguous); 1798 1799 HRESULT (STDMETHODCALLTYPE *GetContiguousLength)( 1800 IMF2DBuffer* This, 1801 DWORD *pcbLength); 1802 1803 HRESULT (STDMETHODCALLTYPE *ContiguousCopyTo)( 1804 IMF2DBuffer* This, 1805 BYTE *pbDestBuffer, 1806 DWORD cbDestBuffer); 1807 1808 HRESULT (STDMETHODCALLTYPE *ContiguousCopyFrom)( 1809 IMF2DBuffer* This, 1810 const BYTE *pbSrcBuffer, 1811 DWORD cbSrcBuffer); 1812 1813 END_INTERFACE 1814 } IMF2DBufferVtbl; 1815 interface IMF2DBuffer { 1816 CONST_VTBL IMF2DBufferVtbl* lpVtbl; 1817 }; 1818 1819 #ifdef COBJMACROS 1820 #ifndef WIDL_C_INLINE_WRAPPERS 1821 /*** IUnknown methods ***/ 1822 #define IMF2DBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1823 #define IMF2DBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 1824 #define IMF2DBuffer_Release(This) (This)->lpVtbl->Release(This) 1825 /*** IMF2DBuffer methods ***/ 1826 #define IMF2DBuffer_Lock2D(This,ppbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,ppbScanline0,plPitch) 1827 #define IMF2DBuffer_Unlock2D(This) (This)->lpVtbl->Unlock2D(This) 1828 #define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch) 1829 #define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous) 1830 #define IMF2DBuffer_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength) 1831 #define IMF2DBuffer_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) 1832 #define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) 1833 #else 1834 /*** IUnknown methods ***/ 1835 static FORCEINLINE HRESULT IMF2DBuffer_QueryInterface(IMF2DBuffer* This,REFIID riid,void **ppvObject) { 1836 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1837 } 1838 static FORCEINLINE ULONG IMF2DBuffer_AddRef(IMF2DBuffer* This) { 1839 return This->lpVtbl->AddRef(This); 1840 } 1841 static FORCEINLINE ULONG IMF2DBuffer_Release(IMF2DBuffer* This) { 1842 return This->lpVtbl->Release(This); 1843 } 1844 /*** IMF2DBuffer methods ***/ 1845 static FORCEINLINE HRESULT IMF2DBuffer_Lock2D(IMF2DBuffer* This,BYTE **ppbScanline0,LONG *plPitch) { 1846 return This->lpVtbl->Lock2D(This,ppbScanline0,plPitch); 1847 } 1848 static FORCEINLINE HRESULT IMF2DBuffer_Unlock2D(IMF2DBuffer* This) { 1849 return This->lpVtbl->Unlock2D(This); 1850 } 1851 static FORCEINLINE HRESULT IMF2DBuffer_GetScanline0AndPitch(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) { 1852 return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch); 1853 } 1854 static FORCEINLINE HRESULT IMF2DBuffer_IsContiguousFormat(IMF2DBuffer* This,WINBOOL *pfIsContiguous) { 1855 return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous); 1856 } 1857 static FORCEINLINE HRESULT IMF2DBuffer_GetContiguousLength(IMF2DBuffer* This,DWORD *pcbLength) { 1858 return This->lpVtbl->GetContiguousLength(This,pcbLength); 1859 } 1860 static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyTo(IMF2DBuffer* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) { 1861 return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer); 1862 } 1863 static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyFrom(IMF2DBuffer* This,const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) { 1864 return This->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer); 1865 } 1866 #endif 1867 #endif 1868 1869 #endif 1870 1871 HRESULT STDMETHODCALLTYPE IMF2DBuffer_Lock2D_Proxy( 1872 IMF2DBuffer* This, 1873 BYTE **ppbScanline0, 1874 LONG *plPitch); 1875 void __RPC_STUB IMF2DBuffer_Lock2D_Stub( 1876 IRpcStubBuffer* This, 1877 IRpcChannelBuffer* pRpcChannelBuffer, 1878 PRPC_MESSAGE pRpcMessage, 1879 DWORD* pdwStubPhase); 1880 HRESULT STDMETHODCALLTYPE IMF2DBuffer_Unlock2D_Proxy( 1881 IMF2DBuffer* This); 1882 void __RPC_STUB IMF2DBuffer_Unlock2D_Stub( 1883 IRpcStubBuffer* This, 1884 IRpcChannelBuffer* pRpcChannelBuffer, 1885 PRPC_MESSAGE pRpcMessage, 1886 DWORD* pdwStubPhase); 1887 HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetScanline0AndPitch_Proxy( 1888 IMF2DBuffer* This, 1889 BYTE **pbScanline0, 1890 LONG *plPitch); 1891 void __RPC_STUB IMF2DBuffer_GetScanline0AndPitch_Stub( 1892 IRpcStubBuffer* This, 1893 IRpcChannelBuffer* pRpcChannelBuffer, 1894 PRPC_MESSAGE pRpcMessage, 1895 DWORD* pdwStubPhase); 1896 HRESULT STDMETHODCALLTYPE IMF2DBuffer_IsContiguousFormat_Proxy( 1897 IMF2DBuffer* This, 1898 WINBOOL *pfIsContiguous); 1899 void __RPC_STUB IMF2DBuffer_IsContiguousFormat_Stub( 1900 IRpcStubBuffer* This, 1901 IRpcChannelBuffer* pRpcChannelBuffer, 1902 PRPC_MESSAGE pRpcMessage, 1903 DWORD* pdwStubPhase); 1904 HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetContiguousLength_Proxy( 1905 IMF2DBuffer* This, 1906 DWORD *pcbLength); 1907 void __RPC_STUB IMF2DBuffer_GetContiguousLength_Stub( 1908 IRpcStubBuffer* This, 1909 IRpcChannelBuffer* pRpcChannelBuffer, 1910 PRPC_MESSAGE pRpcMessage, 1911 DWORD* pdwStubPhase); 1912 HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyTo_Proxy( 1913 IMF2DBuffer* This, 1914 BYTE *pbDestBuffer, 1915 DWORD cbDestBuffer); 1916 void __RPC_STUB IMF2DBuffer_ContiguousCopyTo_Stub( 1917 IRpcStubBuffer* This, 1918 IRpcChannelBuffer* pRpcChannelBuffer, 1919 PRPC_MESSAGE pRpcMessage, 1920 DWORD* pdwStubPhase); 1921 HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyFrom_Proxy( 1922 IMF2DBuffer* This, 1923 const BYTE *pbSrcBuffer, 1924 DWORD cbSrcBuffer); 1925 void __RPC_STUB IMF2DBuffer_ContiguousCopyFrom_Stub( 1926 IRpcStubBuffer* This, 1927 IRpcChannelBuffer* pRpcChannelBuffer, 1928 PRPC_MESSAGE pRpcMessage, 1929 DWORD* pdwStubPhase); 1930 1931 #endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */ 1932 1933 1934 typedef enum _MF2DBuffer_LockFlags { 1935 MF2DBuffer_LockFlags_LockTypeMask = (0x1 | 0x2) | 0x3, 1936 MF2DBuffer_LockFlags_Read = 0x1, 1937 MF2DBuffer_LockFlags_Write = 0x2, 1938 MF2DBuffer_LockFlags_ReadWrite = 0x3, 1939 MF2DBuffer_LockFlags_ForceDWORD = 0x7fffffff 1940 } MF2DBuffer_LockFlags; 1941 1942 /***************************************************************************** 1943 * IMF2DBuffer2 interface 1944 */ 1945 #ifndef __IMF2DBuffer2_INTERFACE_DEFINED__ 1946 #define __IMF2DBuffer2_INTERFACE_DEFINED__ 1947 1948 DEFINE_GUID(IID_IMF2DBuffer2, 0x33ae5ea6, 0x4316, 0x436f, 0x8d,0xdd, 0xd7,0x3d,0x22,0xf8,0x29,0xec); 1949 #if defined(__cplusplus) && !defined(CINTERFACE) 1950 MIDL_INTERFACE("33ae5ea6-4316-436f-8ddd-d73d22f829ec") 1951 IMF2DBuffer2 : public IMF2DBuffer 1952 { 1953 virtual HRESULT STDMETHODCALLTYPE Lock2DSize( 1954 MF2DBuffer_LockFlags lockFlags, 1955 BYTE **ppbScanline0, 1956 LONG *plPitch, 1957 BYTE **ppbBufferStart, 1958 DWORD *pcbBufferLength) = 0; 1959 1960 virtual HRESULT STDMETHODCALLTYPE Copy2DTo( 1961 IMF2DBuffer2 *pDestBuffer) = 0; 1962 1963 }; 1964 #ifdef __CRT_UUID_DECL 1965 __CRT_UUID_DECL(IMF2DBuffer2, 0x33ae5ea6, 0x4316, 0x436f, 0x8d,0xdd, 0xd7,0x3d,0x22,0xf8,0x29,0xec) 1966 #endif 1967 #else 1968 typedef struct IMF2DBuffer2Vtbl { 1969 BEGIN_INTERFACE 1970 1971 /*** IUnknown methods ***/ 1972 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1973 IMF2DBuffer2* This, 1974 REFIID riid, 1975 void **ppvObject); 1976 1977 ULONG (STDMETHODCALLTYPE *AddRef)( 1978 IMF2DBuffer2* This); 1979 1980 ULONG (STDMETHODCALLTYPE *Release)( 1981 IMF2DBuffer2* This); 1982 1983 /*** IMF2DBuffer methods ***/ 1984 HRESULT (STDMETHODCALLTYPE *Lock2D)( 1985 IMF2DBuffer2* This, 1986 BYTE **ppbScanline0, 1987 LONG *plPitch); 1988 1989 HRESULT (STDMETHODCALLTYPE *Unlock2D)( 1990 IMF2DBuffer2* This); 1991 1992 HRESULT (STDMETHODCALLTYPE *GetScanline0AndPitch)( 1993 IMF2DBuffer2* This, 1994 BYTE **pbScanline0, 1995 LONG *plPitch); 1996 1997 HRESULT (STDMETHODCALLTYPE *IsContiguousFormat)( 1998 IMF2DBuffer2* This, 1999 WINBOOL *pfIsContiguous); 2000 2001 HRESULT (STDMETHODCALLTYPE *GetContiguousLength)( 2002 IMF2DBuffer2* This, 2003 DWORD *pcbLength); 2004 2005 HRESULT (STDMETHODCALLTYPE *ContiguousCopyTo)( 2006 IMF2DBuffer2* This, 2007 BYTE *pbDestBuffer, 2008 DWORD cbDestBuffer); 2009 2010 HRESULT (STDMETHODCALLTYPE *ContiguousCopyFrom)( 2011 IMF2DBuffer2* This, 2012 const BYTE *pbSrcBuffer, 2013 DWORD cbSrcBuffer); 2014 2015 /*** IMF2DBuffer2 methods ***/ 2016 HRESULT (STDMETHODCALLTYPE *Lock2DSize)( 2017 IMF2DBuffer2* This, 2018 MF2DBuffer_LockFlags lockFlags, 2019 BYTE **ppbScanline0, 2020 LONG *plPitch, 2021 BYTE **ppbBufferStart, 2022 DWORD *pcbBufferLength); 2023 2024 HRESULT (STDMETHODCALLTYPE *Copy2DTo)( 2025 IMF2DBuffer2* This, 2026 IMF2DBuffer2 *pDestBuffer); 2027 2028 END_INTERFACE 2029 } IMF2DBuffer2Vtbl; 2030 interface IMF2DBuffer2 { 2031 CONST_VTBL IMF2DBuffer2Vtbl* lpVtbl; 2032 }; 2033 2034 #ifdef COBJMACROS 2035 #ifndef WIDL_C_INLINE_WRAPPERS 2036 /*** IUnknown methods ***/ 2037 #define IMF2DBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2038 #define IMF2DBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This) 2039 #define IMF2DBuffer2_Release(This) (This)->lpVtbl->Release(This) 2040 /*** IMF2DBuffer methods ***/ 2041 #define IMF2DBuffer2_Lock2D(This,ppbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,ppbScanline0,plPitch) 2042 #define IMF2DBuffer2_Unlock2D(This) (This)->lpVtbl->Unlock2D(This) 2043 #define IMF2DBuffer2_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch) 2044 #define IMF2DBuffer2_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous) 2045 #define IMF2DBuffer2_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength) 2046 #define IMF2DBuffer2_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) 2047 #define IMF2DBuffer2_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) 2048 /*** IMF2DBuffer2 methods ***/ 2049 #define IMF2DBuffer2_Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength) (This)->lpVtbl->Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength) 2050 #define IMF2DBuffer2_Copy2DTo(This,pDestBuffer) (This)->lpVtbl->Copy2DTo(This,pDestBuffer) 2051 #else 2052 /*** IUnknown methods ***/ 2053 static FORCEINLINE HRESULT IMF2DBuffer2_QueryInterface(IMF2DBuffer2* This,REFIID riid,void **ppvObject) { 2054 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2055 } 2056 static FORCEINLINE ULONG IMF2DBuffer2_AddRef(IMF2DBuffer2* This) { 2057 return This->lpVtbl->AddRef(This); 2058 } 2059 static FORCEINLINE ULONG IMF2DBuffer2_Release(IMF2DBuffer2* This) { 2060 return This->lpVtbl->Release(This); 2061 } 2062 /*** IMF2DBuffer methods ***/ 2063 static FORCEINLINE HRESULT IMF2DBuffer2_Lock2D(IMF2DBuffer2* This,BYTE **ppbScanline0,LONG *plPitch) { 2064 return This->lpVtbl->Lock2D(This,ppbScanline0,plPitch); 2065 } 2066 static FORCEINLINE HRESULT IMF2DBuffer2_Unlock2D(IMF2DBuffer2* This) { 2067 return This->lpVtbl->Unlock2D(This); 2068 } 2069 static FORCEINLINE HRESULT IMF2DBuffer2_GetScanline0AndPitch(IMF2DBuffer2* This,BYTE **pbScanline0,LONG *plPitch) { 2070 return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch); 2071 } 2072 static FORCEINLINE HRESULT IMF2DBuffer2_IsContiguousFormat(IMF2DBuffer2* This,WINBOOL *pfIsContiguous) { 2073 return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous); 2074 } 2075 static FORCEINLINE HRESULT IMF2DBuffer2_GetContiguousLength(IMF2DBuffer2* This,DWORD *pcbLength) { 2076 return This->lpVtbl->GetContiguousLength(This,pcbLength); 2077 } 2078 static FORCEINLINE HRESULT IMF2DBuffer2_ContiguousCopyTo(IMF2DBuffer2* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) { 2079 return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer); 2080 } 2081 static FORCEINLINE HRESULT IMF2DBuffer2_ContiguousCopyFrom(IMF2DBuffer2* This,const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) { 2082 return This->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer); 2083 } 2084 /*** IMF2DBuffer2 methods ***/ 2085 static FORCEINLINE HRESULT IMF2DBuffer2_Lock2DSize(IMF2DBuffer2* This,MF2DBuffer_LockFlags lockFlags,BYTE **ppbScanline0,LONG *plPitch,BYTE **ppbBufferStart,DWORD *pcbBufferLength) { 2086 return This->lpVtbl->Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferStart,pcbBufferLength); 2087 } 2088 static FORCEINLINE HRESULT IMF2DBuffer2_Copy2DTo(IMF2DBuffer2* This,IMF2DBuffer2 *pDestBuffer) { 2089 return This->lpVtbl->Copy2DTo(This,pDestBuffer); 2090 } 2091 #endif 2092 #endif 2093 2094 #endif 2095 2096 HRESULT STDMETHODCALLTYPE IMF2DBuffer2_Lock2DSize_Proxy( 2097 IMF2DBuffer2* This, 2098 MF2DBuffer_LockFlags lockFlags, 2099 BYTE **ppbScanline0, 2100 LONG *plPitch, 2101 BYTE **ppbBufferStart, 2102 DWORD *pcbBufferLength); 2103 void __RPC_STUB IMF2DBuffer2_Lock2DSize_Stub( 2104 IRpcStubBuffer* This, 2105 IRpcChannelBuffer* pRpcChannelBuffer, 2106 PRPC_MESSAGE pRpcMessage, 2107 DWORD* pdwStubPhase); 2108 HRESULT STDMETHODCALLTYPE IMF2DBuffer2_Copy2DTo_Proxy( 2109 IMF2DBuffer2* This, 2110 IMF2DBuffer2 *pDestBuffer); 2111 void __RPC_STUB IMF2DBuffer2_Copy2DTo_Stub( 2112 IRpcStubBuffer* This, 2113 IRpcChannelBuffer* pRpcChannelBuffer, 2114 PRPC_MESSAGE pRpcMessage, 2115 DWORD* pdwStubPhase); 2116 2117 #endif /* __IMF2DBuffer2_INTERFACE_DEFINED__ */ 2118 2119 2120 /***************************************************************************** 2121 * IMFDXGIBuffer interface 2122 */ 2123 #ifndef __IMFDXGIBuffer_INTERFACE_DEFINED__ 2124 #define __IMFDXGIBuffer_INTERFACE_DEFINED__ 2125 2126 DEFINE_GUID(IID_IMFDXGIBuffer, 0xe7174cfa, 0x1c9e, 0x48b1, 0x88,0x66, 0x62,0x62,0x26,0xbf,0xc2,0x58); 2127 #if defined(__cplusplus) && !defined(CINTERFACE) 2128 MIDL_INTERFACE("e7174cfa-1c9e-48b1-8866-626226bfc258") 2129 IMFDXGIBuffer : public IUnknown 2130 { 2131 virtual HRESULT STDMETHODCALLTYPE GetResource( 2132 REFIID riid, 2133 LPVOID *ppvObject) = 0; 2134 2135 virtual HRESULT STDMETHODCALLTYPE GetSubresourceIndex( 2136 UINT *puSubresource) = 0; 2137 2138 virtual HRESULT STDMETHODCALLTYPE GetUnknown( 2139 REFIID guid, 2140 REFIID riid, 2141 LPVOID *ppvObject) = 0; 2142 2143 virtual HRESULT STDMETHODCALLTYPE SetUnknown( 2144 REFIID guid, 2145 IUnknown *pUnkData) = 0; 2146 2147 }; 2148 #ifdef __CRT_UUID_DECL 2149 __CRT_UUID_DECL(IMFDXGIBuffer, 0xe7174cfa, 0x1c9e, 0x48b1, 0x88,0x66, 0x62,0x62,0x26,0xbf,0xc2,0x58) 2150 #endif 2151 #else 2152 typedef struct IMFDXGIBufferVtbl { 2153 BEGIN_INTERFACE 2154 2155 /*** IUnknown methods ***/ 2156 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2157 IMFDXGIBuffer* This, 2158 REFIID riid, 2159 void **ppvObject); 2160 2161 ULONG (STDMETHODCALLTYPE *AddRef)( 2162 IMFDXGIBuffer* This); 2163 2164 ULONG (STDMETHODCALLTYPE *Release)( 2165 IMFDXGIBuffer* This); 2166 2167 /*** IMFDXGIBuffer methods ***/ 2168 HRESULT (STDMETHODCALLTYPE *GetResource)( 2169 IMFDXGIBuffer* This, 2170 REFIID riid, 2171 LPVOID *ppvObject); 2172 2173 HRESULT (STDMETHODCALLTYPE *GetSubresourceIndex)( 2174 IMFDXGIBuffer* This, 2175 UINT *puSubresource); 2176 2177 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2178 IMFDXGIBuffer* This, 2179 REFIID guid, 2180 REFIID riid, 2181 LPVOID *ppvObject); 2182 2183 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2184 IMFDXGIBuffer* This, 2185 REFIID guid, 2186 IUnknown *pUnkData); 2187 2188 END_INTERFACE 2189 } IMFDXGIBufferVtbl; 2190 interface IMFDXGIBuffer { 2191 CONST_VTBL IMFDXGIBufferVtbl* lpVtbl; 2192 }; 2193 2194 #ifdef COBJMACROS 2195 #ifndef WIDL_C_INLINE_WRAPPERS 2196 /*** IUnknown methods ***/ 2197 #define IMFDXGIBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2198 #define IMFDXGIBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 2199 #define IMFDXGIBuffer_Release(This) (This)->lpVtbl->Release(This) 2200 /*** IMFDXGIBuffer methods ***/ 2201 #define IMFDXGIBuffer_GetResource(This,riid,ppvObject) (This)->lpVtbl->GetResource(This,riid,ppvObject) 2202 #define IMFDXGIBuffer_GetSubresourceIndex(This,puSubresource) (This)->lpVtbl->GetSubresourceIndex(This,puSubresource) 2203 #define IMFDXGIBuffer_GetUnknown(This,guid,riid,ppvObject) (This)->lpVtbl->GetUnknown(This,guid,riid,ppvObject) 2204 #define IMFDXGIBuffer_SetUnknown(This,guid,pUnkData) (This)->lpVtbl->SetUnknown(This,guid,pUnkData) 2205 #else 2206 /*** IUnknown methods ***/ 2207 static FORCEINLINE HRESULT IMFDXGIBuffer_QueryInterface(IMFDXGIBuffer* This,REFIID riid,void **ppvObject) { 2208 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2209 } 2210 static FORCEINLINE ULONG IMFDXGIBuffer_AddRef(IMFDXGIBuffer* This) { 2211 return This->lpVtbl->AddRef(This); 2212 } 2213 static FORCEINLINE ULONG IMFDXGIBuffer_Release(IMFDXGIBuffer* This) { 2214 return This->lpVtbl->Release(This); 2215 } 2216 /*** IMFDXGIBuffer methods ***/ 2217 static FORCEINLINE HRESULT IMFDXGIBuffer_GetResource(IMFDXGIBuffer* This,REFIID riid,LPVOID *ppvObject) { 2218 return This->lpVtbl->GetResource(This,riid,ppvObject); 2219 } 2220 static FORCEINLINE HRESULT IMFDXGIBuffer_GetSubresourceIndex(IMFDXGIBuffer* This,UINT *puSubresource) { 2221 return This->lpVtbl->GetSubresourceIndex(This,puSubresource); 2222 } 2223 static FORCEINLINE HRESULT IMFDXGIBuffer_GetUnknown(IMFDXGIBuffer* This,REFIID guid,REFIID riid,LPVOID *ppvObject) { 2224 return This->lpVtbl->GetUnknown(This,guid,riid,ppvObject); 2225 } 2226 static FORCEINLINE HRESULT IMFDXGIBuffer_SetUnknown(IMFDXGIBuffer* This,REFIID guid,IUnknown *pUnkData) { 2227 return This->lpVtbl->SetUnknown(This,guid,pUnkData); 2228 } 2229 #endif 2230 #endif 2231 2232 #endif 2233 2234 HRESULT STDMETHODCALLTYPE IMFDXGIBuffer_GetResource_Proxy( 2235 IMFDXGIBuffer* This, 2236 REFIID riid, 2237 LPVOID *ppvObject); 2238 void __RPC_STUB IMFDXGIBuffer_GetResource_Stub( 2239 IRpcStubBuffer* This, 2240 IRpcChannelBuffer* pRpcChannelBuffer, 2241 PRPC_MESSAGE pRpcMessage, 2242 DWORD* pdwStubPhase); 2243 HRESULT STDMETHODCALLTYPE IMFDXGIBuffer_GetSubresourceIndex_Proxy( 2244 IMFDXGIBuffer* This, 2245 UINT *puSubresource); 2246 void __RPC_STUB IMFDXGIBuffer_GetSubresourceIndex_Stub( 2247 IRpcStubBuffer* This, 2248 IRpcChannelBuffer* pRpcChannelBuffer, 2249 PRPC_MESSAGE pRpcMessage, 2250 DWORD* pdwStubPhase); 2251 HRESULT STDMETHODCALLTYPE IMFDXGIBuffer_GetUnknown_Proxy( 2252 IMFDXGIBuffer* This, 2253 REFIID guid, 2254 REFIID riid, 2255 LPVOID *ppvObject); 2256 void __RPC_STUB IMFDXGIBuffer_GetUnknown_Stub( 2257 IRpcStubBuffer* This, 2258 IRpcChannelBuffer* pRpcChannelBuffer, 2259 PRPC_MESSAGE pRpcMessage, 2260 DWORD* pdwStubPhase); 2261 HRESULT STDMETHODCALLTYPE IMFDXGIBuffer_SetUnknown_Proxy( 2262 IMFDXGIBuffer* This, 2263 REFIID guid, 2264 IUnknown *pUnkData); 2265 void __RPC_STUB IMFDXGIBuffer_SetUnknown_Stub( 2266 IRpcStubBuffer* This, 2267 IRpcChannelBuffer* pRpcChannelBuffer, 2268 PRPC_MESSAGE pRpcMessage, 2269 DWORD* pdwStubPhase); 2270 2271 #endif /* __IMFDXGIBuffer_INTERFACE_DEFINED__ */ 2272 2273 2274 /***************************************************************************** 2275 * IMFMediaType interface 2276 */ 2277 #ifndef __IMFMediaType_INTERFACE_DEFINED__ 2278 #define __IMFMediaType_INTERFACE_DEFINED__ 2279 2280 DEFINE_GUID(IID_IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55); 2281 #if defined(__cplusplus) && !defined(CINTERFACE) 2282 MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555") 2283 IMFMediaType : public IMFAttributes 2284 { 2285 virtual HRESULT STDMETHODCALLTYPE GetMajorType( 2286 GUID *pguidMajorType) = 0; 2287 2288 virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat( 2289 WINBOOL *pfCompressed) = 0; 2290 2291 virtual HRESULT STDMETHODCALLTYPE IsEqual( 2292 IMFMediaType *pIMediaType, 2293 DWORD *pdwFlags) = 0; 2294 2295 virtual HRESULT STDMETHODCALLTYPE GetRepresentation( 2296 GUID guidRepresentation, 2297 LPVOID *ppvRepresentation) = 0; 2298 2299 virtual HRESULT STDMETHODCALLTYPE FreeRepresentation( 2300 GUID guidRepresentation, 2301 LPVOID pvRepresentation) = 0; 2302 2303 }; 2304 #ifdef __CRT_UUID_DECL 2305 __CRT_UUID_DECL(IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55) 2306 #endif 2307 #else 2308 typedef struct IMFMediaTypeVtbl { 2309 BEGIN_INTERFACE 2310 2311 /*** IUnknown methods ***/ 2312 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2313 IMFMediaType* This, 2314 REFIID riid, 2315 void **ppvObject); 2316 2317 ULONG (STDMETHODCALLTYPE *AddRef)( 2318 IMFMediaType* This); 2319 2320 ULONG (STDMETHODCALLTYPE *Release)( 2321 IMFMediaType* This); 2322 2323 /*** IMFAttributes methods ***/ 2324 HRESULT (STDMETHODCALLTYPE *GetItem)( 2325 IMFMediaType* This, 2326 REFGUID guidKey, 2327 PROPVARIANT *pValue); 2328 2329 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2330 IMFMediaType* This, 2331 REFGUID guidKey, 2332 MF_ATTRIBUTE_TYPE *pType); 2333 2334 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2335 IMFMediaType* This, 2336 REFGUID guidKey, 2337 REFPROPVARIANT Value, 2338 WINBOOL *pbResult); 2339 2340 HRESULT (STDMETHODCALLTYPE *Compare)( 2341 IMFMediaType* This, 2342 IMFAttributes *pTheirs, 2343 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2344 WINBOOL *pbResult); 2345 2346 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2347 IMFMediaType* This, 2348 REFGUID guidKey, 2349 UINT32 *punValue); 2350 2351 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2352 IMFMediaType* This, 2353 REFGUID guidKey, 2354 UINT64 *punValue); 2355 2356 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2357 IMFMediaType* This, 2358 REFGUID guidKey, 2359 double *pfValue); 2360 2361 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2362 IMFMediaType* This, 2363 REFGUID guidKey, 2364 GUID *pguidValue); 2365 2366 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2367 IMFMediaType* This, 2368 REFGUID guidKey, 2369 UINT32 *pcchLength); 2370 2371 HRESULT (STDMETHODCALLTYPE *GetString)( 2372 IMFMediaType* This, 2373 REFGUID guidKey, 2374 LPWSTR pwszValue, 2375 UINT32 cchBufSize, 2376 UINT32 *pcchLength); 2377 2378 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2379 IMFMediaType* This, 2380 REFGUID guidKey, 2381 LPWSTR *ppwszValue, 2382 UINT32 *pcchLength); 2383 2384 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 2385 IMFMediaType* This, 2386 REFGUID guidKey, 2387 UINT32 *pcbBlobSize); 2388 2389 HRESULT (STDMETHODCALLTYPE *GetBlob)( 2390 IMFMediaType* This, 2391 REFGUID guidKey, 2392 UINT8 *pBuf, 2393 UINT32 cbBufSize, 2394 UINT32 *pcbBlobSize); 2395 2396 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 2397 IMFMediaType* This, 2398 REFGUID guidKey, 2399 UINT8 **ppBuf, 2400 UINT32 *pcbSize); 2401 2402 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2403 IMFMediaType* This, 2404 REFGUID guidKey, 2405 REFIID riid, 2406 LPVOID *ppv); 2407 2408 HRESULT (STDMETHODCALLTYPE *SetItem)( 2409 IMFMediaType* This, 2410 REFGUID guidKey, 2411 REFPROPVARIANT Value); 2412 2413 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 2414 IMFMediaType* This, 2415 REFGUID guidKey); 2416 2417 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 2418 IMFMediaType* This); 2419 2420 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 2421 IMFMediaType* This, 2422 REFGUID guidKey, 2423 UINT32 unValue); 2424 2425 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 2426 IMFMediaType* This, 2427 REFGUID guidKey, 2428 UINT64 unValue); 2429 2430 HRESULT (STDMETHODCALLTYPE *SetDouble)( 2431 IMFMediaType* This, 2432 REFGUID guidKey, 2433 double fValue); 2434 2435 HRESULT (STDMETHODCALLTYPE *SetGUID)( 2436 IMFMediaType* This, 2437 REFGUID guidKey, 2438 REFGUID guidValue); 2439 2440 HRESULT (STDMETHODCALLTYPE *SetString)( 2441 IMFMediaType* This, 2442 REFGUID guidKey, 2443 LPCWSTR wszValue); 2444 2445 HRESULT (STDMETHODCALLTYPE *SetBlob)( 2446 IMFMediaType* This, 2447 REFGUID guidKey, 2448 const UINT8 *pBuf, 2449 UINT32 cbBufSize); 2450 2451 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2452 IMFMediaType* This, 2453 REFGUID guidKey, 2454 IUnknown *pUnknown); 2455 2456 HRESULT (STDMETHODCALLTYPE *LockStore)( 2457 IMFMediaType* This); 2458 2459 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 2460 IMFMediaType* This); 2461 2462 HRESULT (STDMETHODCALLTYPE *GetCount)( 2463 IMFMediaType* This, 2464 UINT32 *pcItems); 2465 2466 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 2467 IMFMediaType* This, 2468 UINT32 unIndex, 2469 GUID *pguidKey, 2470 PROPVARIANT *pValue); 2471 2472 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 2473 IMFMediaType* This, 2474 IMFAttributes *pDest); 2475 2476 /*** IMFMediaType methods ***/ 2477 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 2478 IMFMediaType* This, 2479 GUID *pguidMajorType); 2480 2481 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 2482 IMFMediaType* This, 2483 WINBOOL *pfCompressed); 2484 2485 HRESULT (STDMETHODCALLTYPE *IsEqual)( 2486 IMFMediaType* This, 2487 IMFMediaType *pIMediaType, 2488 DWORD *pdwFlags); 2489 2490 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 2491 IMFMediaType* This, 2492 GUID guidRepresentation, 2493 LPVOID *ppvRepresentation); 2494 2495 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 2496 IMFMediaType* This, 2497 GUID guidRepresentation, 2498 LPVOID pvRepresentation); 2499 2500 END_INTERFACE 2501 } IMFMediaTypeVtbl; 2502 interface IMFMediaType { 2503 CONST_VTBL IMFMediaTypeVtbl* lpVtbl; 2504 }; 2505 2506 #ifdef COBJMACROS 2507 #ifndef WIDL_C_INLINE_WRAPPERS 2508 /*** IUnknown methods ***/ 2509 #define IMFMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2510 #define IMFMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 2511 #define IMFMediaType_Release(This) (This)->lpVtbl->Release(This) 2512 /*** IMFAttributes methods ***/ 2513 #define IMFMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 2514 #define IMFMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 2515 #define IMFMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 2516 #define IMFMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 2517 #define IMFMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 2518 #define IMFMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 2519 #define IMFMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 2520 #define IMFMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 2521 #define IMFMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 2522 #define IMFMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 2523 #define IMFMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 2524 #define IMFMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 2525 #define IMFMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 2526 #define IMFMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 2527 #define IMFMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 2528 #define IMFMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 2529 #define IMFMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 2530 #define IMFMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 2531 #define IMFMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 2532 #define IMFMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 2533 #define IMFMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 2534 #define IMFMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 2535 #define IMFMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 2536 #define IMFMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 2537 #define IMFMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 2538 #define IMFMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 2539 #define IMFMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 2540 #define IMFMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 2541 #define IMFMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 2542 #define IMFMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 2543 /*** IMFMediaType methods ***/ 2544 #define IMFMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 2545 #define IMFMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 2546 #define IMFMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 2547 #define IMFMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 2548 #define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 2549 #else 2550 /*** IUnknown methods ***/ 2551 static FORCEINLINE HRESULT IMFMediaType_QueryInterface(IMFMediaType* This,REFIID riid,void **ppvObject) { 2552 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2553 } 2554 static FORCEINLINE ULONG IMFMediaType_AddRef(IMFMediaType* This) { 2555 return This->lpVtbl->AddRef(This); 2556 } 2557 static FORCEINLINE ULONG IMFMediaType_Release(IMFMediaType* This) { 2558 return This->lpVtbl->Release(This); 2559 } 2560 /*** IMFAttributes methods ***/ 2561 static FORCEINLINE HRESULT IMFMediaType_GetItem(IMFMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 2562 return This->lpVtbl->GetItem(This,guidKey,pValue); 2563 } 2564 static FORCEINLINE HRESULT IMFMediaType_GetItemType(IMFMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2565 return This->lpVtbl->GetItemType(This,guidKey,pType); 2566 } 2567 static FORCEINLINE HRESULT IMFMediaType_CompareItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2568 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2569 } 2570 static FORCEINLINE HRESULT IMFMediaType_Compare(IMFMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 2571 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 2572 } 2573 static FORCEINLINE HRESULT IMFMediaType_GetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 *punValue) { 2574 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2575 } 2576 static FORCEINLINE HRESULT IMFMediaType_GetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 *punValue) { 2577 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2578 } 2579 static FORCEINLINE HRESULT IMFMediaType_GetDouble(IMFMediaType* This,REFGUID guidKey,double *pfValue) { 2580 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2581 } 2582 static FORCEINLINE HRESULT IMFMediaType_GetGUID(IMFMediaType* This,REFGUID guidKey,GUID *pguidValue) { 2583 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2584 } 2585 static FORCEINLINE HRESULT IMFMediaType_GetStringLength(IMFMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 2586 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2587 } 2588 static FORCEINLINE HRESULT IMFMediaType_GetString(IMFMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 2589 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 2590 } 2591 static FORCEINLINE HRESULT IMFMediaType_GetAllocatedString(IMFMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2592 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2593 } 2594 static FORCEINLINE HRESULT IMFMediaType_GetBlobSize(IMFMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2595 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2596 } 2597 static FORCEINLINE HRESULT IMFMediaType_GetBlob(IMFMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 2598 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 2599 } 2600 static FORCEINLINE HRESULT IMFMediaType_GetAllocatedBlob(IMFMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2601 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2602 } 2603 static FORCEINLINE HRESULT IMFMediaType_GetUnknown(IMFMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2604 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2605 } 2606 static FORCEINLINE HRESULT IMFMediaType_SetItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 2607 return This->lpVtbl->SetItem(This,guidKey,Value); 2608 } 2609 static FORCEINLINE HRESULT IMFMediaType_DeleteItem(IMFMediaType* This,REFGUID guidKey) { 2610 return This->lpVtbl->DeleteItem(This,guidKey); 2611 } 2612 static FORCEINLINE HRESULT IMFMediaType_DeleteAllItems(IMFMediaType* This) { 2613 return This->lpVtbl->DeleteAllItems(This); 2614 } 2615 static FORCEINLINE HRESULT IMFMediaType_SetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 unValue) { 2616 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2617 } 2618 static FORCEINLINE HRESULT IMFMediaType_SetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 unValue) { 2619 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2620 } 2621 static FORCEINLINE HRESULT IMFMediaType_SetDouble(IMFMediaType* This,REFGUID guidKey,double fValue) { 2622 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2623 } 2624 static FORCEINLINE HRESULT IMFMediaType_SetGUID(IMFMediaType* This,REFGUID guidKey,REFGUID guidValue) { 2625 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2626 } 2627 static FORCEINLINE HRESULT IMFMediaType_SetString(IMFMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 2628 return This->lpVtbl->SetString(This,guidKey,wszValue); 2629 } 2630 static FORCEINLINE HRESULT IMFMediaType_SetBlob(IMFMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2631 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2632 } 2633 static FORCEINLINE HRESULT IMFMediaType_SetUnknown(IMFMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 2634 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2635 } 2636 static FORCEINLINE HRESULT IMFMediaType_LockStore(IMFMediaType* This) { 2637 return This->lpVtbl->LockStore(This); 2638 } 2639 static FORCEINLINE HRESULT IMFMediaType_UnlockStore(IMFMediaType* This) { 2640 return This->lpVtbl->UnlockStore(This); 2641 } 2642 static FORCEINLINE HRESULT IMFMediaType_GetCount(IMFMediaType* This,UINT32 *pcItems) { 2643 return This->lpVtbl->GetCount(This,pcItems); 2644 } 2645 static FORCEINLINE HRESULT IMFMediaType_GetItemByIndex(IMFMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2646 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2647 } 2648 static FORCEINLINE HRESULT IMFMediaType_CopyAllItems(IMFMediaType* This,IMFAttributes *pDest) { 2649 return This->lpVtbl->CopyAllItems(This,pDest); 2650 } 2651 /*** IMFMediaType methods ***/ 2652 static FORCEINLINE HRESULT IMFMediaType_GetMajorType(IMFMediaType* This,GUID *pguidMajorType) { 2653 return This->lpVtbl->GetMajorType(This,pguidMajorType); 2654 } 2655 static FORCEINLINE HRESULT IMFMediaType_IsCompressedFormat(IMFMediaType* This,WINBOOL *pfCompressed) { 2656 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 2657 } 2658 static FORCEINLINE HRESULT IMFMediaType_IsEqual(IMFMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 2659 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 2660 } 2661 static FORCEINLINE HRESULT IMFMediaType_GetRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 2662 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 2663 } 2664 static FORCEINLINE HRESULT IMFMediaType_FreeRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 2665 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 2666 } 2667 #endif 2668 #endif 2669 2670 #endif 2671 2672 HRESULT STDMETHODCALLTYPE IMFMediaType_GetMajorType_Proxy( 2673 IMFMediaType* This, 2674 GUID *pguidMajorType); 2675 void __RPC_STUB IMFMediaType_GetMajorType_Stub( 2676 IRpcStubBuffer* This, 2677 IRpcChannelBuffer* pRpcChannelBuffer, 2678 PRPC_MESSAGE pRpcMessage, 2679 DWORD* pdwStubPhase); 2680 HRESULT STDMETHODCALLTYPE IMFMediaType_IsCompressedFormat_Proxy( 2681 IMFMediaType* This, 2682 WINBOOL *pfCompressed); 2683 void __RPC_STUB IMFMediaType_IsCompressedFormat_Stub( 2684 IRpcStubBuffer* This, 2685 IRpcChannelBuffer* pRpcChannelBuffer, 2686 PRPC_MESSAGE pRpcMessage, 2687 DWORD* pdwStubPhase); 2688 HRESULT STDMETHODCALLTYPE IMFMediaType_IsEqual_Proxy( 2689 IMFMediaType* This, 2690 IMFMediaType *pIMediaType, 2691 DWORD *pdwFlags); 2692 void __RPC_STUB IMFMediaType_IsEqual_Stub( 2693 IRpcStubBuffer* This, 2694 IRpcChannelBuffer* pRpcChannelBuffer, 2695 PRPC_MESSAGE pRpcMessage, 2696 DWORD* pdwStubPhase); 2697 HRESULT STDMETHODCALLTYPE IMFMediaType_GetRepresentation_Proxy( 2698 IMFMediaType* This, 2699 GUID guidRepresentation, 2700 LPVOID *ppvRepresentation); 2701 void __RPC_STUB IMFMediaType_GetRepresentation_Stub( 2702 IRpcStubBuffer* This, 2703 IRpcChannelBuffer* pRpcChannelBuffer, 2704 PRPC_MESSAGE pRpcMessage, 2705 DWORD* pdwStubPhase); 2706 HRESULT STDMETHODCALLTYPE IMFMediaType_FreeRepresentation_Proxy( 2707 IMFMediaType* This, 2708 GUID guidRepresentation, 2709 LPVOID pvRepresentation); 2710 void __RPC_STUB IMFMediaType_FreeRepresentation_Stub( 2711 IRpcStubBuffer* This, 2712 IRpcChannelBuffer* pRpcChannelBuffer, 2713 PRPC_MESSAGE pRpcMessage, 2714 DWORD* pdwStubPhase); 2715 2716 #endif /* __IMFMediaType_INTERFACE_DEFINED__ */ 2717 2718 2719 #define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001 2720 #define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002 2721 #define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004 2722 #define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008 2723 #endif 2724 2725 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 2726 /***************************************************************************** 2727 * IMFAudioMediaType interface 2728 */ 2729 #ifndef __IMFAudioMediaType_INTERFACE_DEFINED__ 2730 #define __IMFAudioMediaType_INTERFACE_DEFINED__ 2731 2732 DEFINE_GUID(IID_IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf); 2733 #if defined(__cplusplus) && !defined(CINTERFACE) 2734 MIDL_INTERFACE("26a0adc3-ce26-4672-9304-69552edd3faf") 2735 IMFAudioMediaType : public IMFMediaType 2736 { 2737 virtual const WAVEFORMATEX * STDMETHODCALLTYPE GetAudioFormat( 2738 ) = 0; 2739 2740 }; 2741 #ifdef __CRT_UUID_DECL 2742 __CRT_UUID_DECL(IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf) 2743 #endif 2744 #else 2745 typedef struct IMFAudioMediaTypeVtbl { 2746 BEGIN_INTERFACE 2747 2748 /*** IUnknown methods ***/ 2749 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2750 IMFAudioMediaType* This, 2751 REFIID riid, 2752 void **ppvObject); 2753 2754 ULONG (STDMETHODCALLTYPE *AddRef)( 2755 IMFAudioMediaType* This); 2756 2757 ULONG (STDMETHODCALLTYPE *Release)( 2758 IMFAudioMediaType* This); 2759 2760 /*** IMFAttributes methods ***/ 2761 HRESULT (STDMETHODCALLTYPE *GetItem)( 2762 IMFAudioMediaType* This, 2763 REFGUID guidKey, 2764 PROPVARIANT *pValue); 2765 2766 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2767 IMFAudioMediaType* This, 2768 REFGUID guidKey, 2769 MF_ATTRIBUTE_TYPE *pType); 2770 2771 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2772 IMFAudioMediaType* This, 2773 REFGUID guidKey, 2774 REFPROPVARIANT Value, 2775 WINBOOL *pbResult); 2776 2777 HRESULT (STDMETHODCALLTYPE *Compare)( 2778 IMFAudioMediaType* This, 2779 IMFAttributes *pTheirs, 2780 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2781 WINBOOL *pbResult); 2782 2783 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2784 IMFAudioMediaType* This, 2785 REFGUID guidKey, 2786 UINT32 *punValue); 2787 2788 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2789 IMFAudioMediaType* This, 2790 REFGUID guidKey, 2791 UINT64 *punValue); 2792 2793 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2794 IMFAudioMediaType* This, 2795 REFGUID guidKey, 2796 double *pfValue); 2797 2798 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2799 IMFAudioMediaType* This, 2800 REFGUID guidKey, 2801 GUID *pguidValue); 2802 2803 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2804 IMFAudioMediaType* This, 2805 REFGUID guidKey, 2806 UINT32 *pcchLength); 2807 2808 HRESULT (STDMETHODCALLTYPE *GetString)( 2809 IMFAudioMediaType* This, 2810 REFGUID guidKey, 2811 LPWSTR pwszValue, 2812 UINT32 cchBufSize, 2813 UINT32 *pcchLength); 2814 2815 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2816 IMFAudioMediaType* This, 2817 REFGUID guidKey, 2818 LPWSTR *ppwszValue, 2819 UINT32 *pcchLength); 2820 2821 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 2822 IMFAudioMediaType* This, 2823 REFGUID guidKey, 2824 UINT32 *pcbBlobSize); 2825 2826 HRESULT (STDMETHODCALLTYPE *GetBlob)( 2827 IMFAudioMediaType* This, 2828 REFGUID guidKey, 2829 UINT8 *pBuf, 2830 UINT32 cbBufSize, 2831 UINT32 *pcbBlobSize); 2832 2833 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 2834 IMFAudioMediaType* This, 2835 REFGUID guidKey, 2836 UINT8 **ppBuf, 2837 UINT32 *pcbSize); 2838 2839 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2840 IMFAudioMediaType* This, 2841 REFGUID guidKey, 2842 REFIID riid, 2843 LPVOID *ppv); 2844 2845 HRESULT (STDMETHODCALLTYPE *SetItem)( 2846 IMFAudioMediaType* This, 2847 REFGUID guidKey, 2848 REFPROPVARIANT Value); 2849 2850 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 2851 IMFAudioMediaType* This, 2852 REFGUID guidKey); 2853 2854 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 2855 IMFAudioMediaType* This); 2856 2857 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 2858 IMFAudioMediaType* This, 2859 REFGUID guidKey, 2860 UINT32 unValue); 2861 2862 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 2863 IMFAudioMediaType* This, 2864 REFGUID guidKey, 2865 UINT64 unValue); 2866 2867 HRESULT (STDMETHODCALLTYPE *SetDouble)( 2868 IMFAudioMediaType* This, 2869 REFGUID guidKey, 2870 double fValue); 2871 2872 HRESULT (STDMETHODCALLTYPE *SetGUID)( 2873 IMFAudioMediaType* This, 2874 REFGUID guidKey, 2875 REFGUID guidValue); 2876 2877 HRESULT (STDMETHODCALLTYPE *SetString)( 2878 IMFAudioMediaType* This, 2879 REFGUID guidKey, 2880 LPCWSTR wszValue); 2881 2882 HRESULT (STDMETHODCALLTYPE *SetBlob)( 2883 IMFAudioMediaType* This, 2884 REFGUID guidKey, 2885 const UINT8 *pBuf, 2886 UINT32 cbBufSize); 2887 2888 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2889 IMFAudioMediaType* This, 2890 REFGUID guidKey, 2891 IUnknown *pUnknown); 2892 2893 HRESULT (STDMETHODCALLTYPE *LockStore)( 2894 IMFAudioMediaType* This); 2895 2896 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 2897 IMFAudioMediaType* This); 2898 2899 HRESULT (STDMETHODCALLTYPE *GetCount)( 2900 IMFAudioMediaType* This, 2901 UINT32 *pcItems); 2902 2903 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 2904 IMFAudioMediaType* This, 2905 UINT32 unIndex, 2906 GUID *pguidKey, 2907 PROPVARIANT *pValue); 2908 2909 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 2910 IMFAudioMediaType* This, 2911 IMFAttributes *pDest); 2912 2913 /*** IMFMediaType methods ***/ 2914 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 2915 IMFAudioMediaType* This, 2916 GUID *pguidMajorType); 2917 2918 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 2919 IMFAudioMediaType* This, 2920 WINBOOL *pfCompressed); 2921 2922 HRESULT (STDMETHODCALLTYPE *IsEqual)( 2923 IMFAudioMediaType* This, 2924 IMFMediaType *pIMediaType, 2925 DWORD *pdwFlags); 2926 2927 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 2928 IMFAudioMediaType* This, 2929 GUID guidRepresentation, 2930 LPVOID *ppvRepresentation); 2931 2932 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 2933 IMFAudioMediaType* This, 2934 GUID guidRepresentation, 2935 LPVOID pvRepresentation); 2936 2937 /*** IMFAudioMediaType methods ***/ 2938 const WAVEFORMATEX * (STDMETHODCALLTYPE *GetAudioFormat)( 2939 IMFAudioMediaType* This); 2940 2941 END_INTERFACE 2942 } IMFAudioMediaTypeVtbl; 2943 interface IMFAudioMediaType { 2944 CONST_VTBL IMFAudioMediaTypeVtbl* lpVtbl; 2945 }; 2946 2947 #ifdef COBJMACROS 2948 #ifndef WIDL_C_INLINE_WRAPPERS 2949 /*** IUnknown methods ***/ 2950 #define IMFAudioMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2951 #define IMFAudioMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 2952 #define IMFAudioMediaType_Release(This) (This)->lpVtbl->Release(This) 2953 /*** IMFAttributes methods ***/ 2954 #define IMFAudioMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 2955 #define IMFAudioMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 2956 #define IMFAudioMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 2957 #define IMFAudioMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 2958 #define IMFAudioMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 2959 #define IMFAudioMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 2960 #define IMFAudioMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 2961 #define IMFAudioMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 2962 #define IMFAudioMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 2963 #define IMFAudioMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 2964 #define IMFAudioMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 2965 #define IMFAudioMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 2966 #define IMFAudioMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 2967 #define IMFAudioMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 2968 #define IMFAudioMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 2969 #define IMFAudioMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 2970 #define IMFAudioMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 2971 #define IMFAudioMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 2972 #define IMFAudioMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 2973 #define IMFAudioMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 2974 #define IMFAudioMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 2975 #define IMFAudioMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 2976 #define IMFAudioMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 2977 #define IMFAudioMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 2978 #define IMFAudioMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 2979 #define IMFAudioMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 2980 #define IMFAudioMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 2981 #define IMFAudioMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 2982 #define IMFAudioMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 2983 #define IMFAudioMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 2984 /*** IMFMediaType methods ***/ 2985 #define IMFAudioMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 2986 #define IMFAudioMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 2987 #define IMFAudioMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 2988 #define IMFAudioMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 2989 #define IMFAudioMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 2990 /*** IMFAudioMediaType methods ***/ 2991 #define IMFAudioMediaType_GetAudioFormat(This) (This)->lpVtbl->GetAudioFormat(This) 2992 #else 2993 /*** IUnknown methods ***/ 2994 static FORCEINLINE HRESULT IMFAudioMediaType_QueryInterface(IMFAudioMediaType* This,REFIID riid,void **ppvObject) { 2995 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2996 } 2997 static FORCEINLINE ULONG IMFAudioMediaType_AddRef(IMFAudioMediaType* This) { 2998 return This->lpVtbl->AddRef(This); 2999 } 3000 static FORCEINLINE ULONG IMFAudioMediaType_Release(IMFAudioMediaType* This) { 3001 return This->lpVtbl->Release(This); 3002 } 3003 /*** IMFAttributes methods ***/ 3004 static FORCEINLINE HRESULT IMFAudioMediaType_GetItem(IMFAudioMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 3005 return This->lpVtbl->GetItem(This,guidKey,pValue); 3006 } 3007 static FORCEINLINE HRESULT IMFAudioMediaType_GetItemType(IMFAudioMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3008 return This->lpVtbl->GetItemType(This,guidKey,pType); 3009 } 3010 static FORCEINLINE HRESULT IMFAudioMediaType_CompareItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3011 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3012 } 3013 static FORCEINLINE HRESULT IMFAudioMediaType_Compare(IMFAudioMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 3014 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 3015 } 3016 static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *punValue) { 3017 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3018 } 3019 static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 *punValue) { 3020 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3021 } 3022 static FORCEINLINE HRESULT IMFAudioMediaType_GetDouble(IMFAudioMediaType* This,REFGUID guidKey,double *pfValue) { 3023 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3024 } 3025 static FORCEINLINE HRESULT IMFAudioMediaType_GetGUID(IMFAudioMediaType* This,REFGUID guidKey,GUID *pguidValue) { 3026 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3027 } 3028 static FORCEINLINE HRESULT IMFAudioMediaType_GetStringLength(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 3029 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3030 } 3031 static FORCEINLINE HRESULT IMFAudioMediaType_GetString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 3032 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 3033 } 3034 static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3035 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3036 } 3037 static FORCEINLINE HRESULT IMFAudioMediaType_GetBlobSize(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3038 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3039 } 3040 static FORCEINLINE HRESULT IMFAudioMediaType_GetBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 3041 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 3042 } 3043 static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3044 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3045 } 3046 static FORCEINLINE HRESULT IMFAudioMediaType_GetUnknown(IMFAudioMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 3047 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 3048 } 3049 static FORCEINLINE HRESULT IMFAudioMediaType_SetItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 3050 return This->lpVtbl->SetItem(This,guidKey,Value); 3051 } 3052 static FORCEINLINE HRESULT IMFAudioMediaType_DeleteItem(IMFAudioMediaType* This,REFGUID guidKey) { 3053 return This->lpVtbl->DeleteItem(This,guidKey); 3054 } 3055 static FORCEINLINE HRESULT IMFAudioMediaType_DeleteAllItems(IMFAudioMediaType* This) { 3056 return This->lpVtbl->DeleteAllItems(This); 3057 } 3058 static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 unValue) { 3059 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 3060 } 3061 static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 unValue) { 3062 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 3063 } 3064 static FORCEINLINE HRESULT IMFAudioMediaType_SetDouble(IMFAudioMediaType* This,REFGUID guidKey,double fValue) { 3065 return This->lpVtbl->SetDouble(This,guidKey,fValue); 3066 } 3067 static FORCEINLINE HRESULT IMFAudioMediaType_SetGUID(IMFAudioMediaType* This,REFGUID guidKey,REFGUID guidValue) { 3068 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 3069 } 3070 static FORCEINLINE HRESULT IMFAudioMediaType_SetString(IMFAudioMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 3071 return This->lpVtbl->SetString(This,guidKey,wszValue); 3072 } 3073 static FORCEINLINE HRESULT IMFAudioMediaType_SetBlob(IMFAudioMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 3074 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 3075 } 3076 static FORCEINLINE HRESULT IMFAudioMediaType_SetUnknown(IMFAudioMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 3077 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 3078 } 3079 static FORCEINLINE HRESULT IMFAudioMediaType_LockStore(IMFAudioMediaType* This) { 3080 return This->lpVtbl->LockStore(This); 3081 } 3082 static FORCEINLINE HRESULT IMFAudioMediaType_UnlockStore(IMFAudioMediaType* This) { 3083 return This->lpVtbl->UnlockStore(This); 3084 } 3085 static FORCEINLINE HRESULT IMFAudioMediaType_GetCount(IMFAudioMediaType* This,UINT32 *pcItems) { 3086 return This->lpVtbl->GetCount(This,pcItems); 3087 } 3088 static FORCEINLINE HRESULT IMFAudioMediaType_GetItemByIndex(IMFAudioMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 3089 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 3090 } 3091 static FORCEINLINE HRESULT IMFAudioMediaType_CopyAllItems(IMFAudioMediaType* This,IMFAttributes *pDest) { 3092 return This->lpVtbl->CopyAllItems(This,pDest); 3093 } 3094 /*** IMFMediaType methods ***/ 3095 static FORCEINLINE HRESULT IMFAudioMediaType_GetMajorType(IMFAudioMediaType* This,GUID *pguidMajorType) { 3096 return This->lpVtbl->GetMajorType(This,pguidMajorType); 3097 } 3098 static FORCEINLINE HRESULT IMFAudioMediaType_IsCompressedFormat(IMFAudioMediaType* This,WINBOOL *pfCompressed) { 3099 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 3100 } 3101 static FORCEINLINE HRESULT IMFAudioMediaType_IsEqual(IMFAudioMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 3102 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 3103 } 3104 static FORCEINLINE HRESULT IMFAudioMediaType_GetRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 3105 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 3106 } 3107 static FORCEINLINE HRESULT IMFAudioMediaType_FreeRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 3108 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 3109 } 3110 /*** IMFAudioMediaType methods ***/ 3111 static FORCEINLINE const WAVEFORMATEX * IMFAudioMediaType_GetAudioFormat(IMFAudioMediaType* This) { 3112 return This->lpVtbl->GetAudioFormat(This); 3113 } 3114 #endif 3115 #endif 3116 3117 #endif 3118 3119 const WAVEFORMATEX * STDMETHODCALLTYPE IMFAudioMediaType_GetAudioFormat_Proxy( 3120 IMFAudioMediaType* This); 3121 void __RPC_STUB IMFAudioMediaType_GetAudioFormat_Stub( 3122 IRpcStubBuffer* This, 3123 IRpcChannelBuffer* pRpcChannelBuffer, 3124 PRPC_MESSAGE pRpcMessage, 3125 DWORD* pdwStubPhase); 3126 3127 #endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */ 3128 3129 3130 #ifndef _WINGDI_ 3131 typedef DWORD RGBQUAD; 3132 3133 typedef struct __WIDL_mfobjects_generated_name_00000014 { 3134 DWORD biSize; 3135 LONG biWidth; 3136 LONG biHeight; 3137 WORD biPlanes; 3138 WORD biBitCount; 3139 DWORD biCompression; 3140 DWORD biSizeImage; 3141 LONG biXPelsPerMeter; 3142 LONG biYPelsPerMeter; 3143 DWORD biClrUsed; 3144 DWORD biClrImportant; 3145 } BITMAPINFOHEADER; 3146 3147 typedef struct __WIDL_mfobjects_generated_name_00000015 { 3148 BITMAPINFOHEADER bmiHeader; 3149 RGBQUAD bmiColors[1]; 3150 } BITMAPINFO; 3151 #endif 3152 3153 typedef struct __WIDL_mfobjects_generated_name_00000016 { 3154 GUID guidMajorType; 3155 GUID guidSubtype; 3156 } MFT_REGISTER_TYPE_INFO; 3157 #endif 3158 #ifndef _MFVIDEOFORMAT_ 3159 #define _MFVIDEOFORMAT_ 3160 3161 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3162 typedef enum _MFVideoInterlaceMode { 3163 MFVideoInterlace_Unknown = 0, 3164 MFVideoInterlace_Progressive = 2, 3165 MFVideoInterlace_FieldInterleavedUpperFirst = 3, 3166 MFVideoInterlace_FieldInterleavedLowerFirst = 4, 3167 MFVideoInterlace_FieldSingleUpper = 5, 3168 MFVideoInterlace_FieldSingleLower = 6, 3169 MFVideoInterlace_MixedInterlaceOrProgressive = 7, 3170 MFVideoInterlace_Last = 8, 3171 MFVideoInterlace_ForceDWORD = 0x7fffffff 3172 } MFVideoInterlaceMode; 3173 3174 #define MFVideoInterlace_FieldSingleUpperFirst MFVideoInterlace_FieldSingleUpper 3175 #define MFVideoInterlace_FieldSingleLowerFirst MFVideoInterlace_FieldSingleLower 3176 3177 typedef enum _MFVideoTransferFunction { 3178 MFVideoTransFunc_Unknown = 0, 3179 MFVideoTransFunc_10 = 1, 3180 MFVideoTransFunc_18 = 2, 3181 MFVideoTransFunc_20 = 3, 3182 MFVideoTransFunc_22 = 4, 3183 MFVideoTransFunc_709 = 5, 3184 MFVideoTransFunc_240M = 6, 3185 MFVideoTransFunc_sRGB = 7, 3186 MFVideoTransFunc_28 = 8, 3187 MFVideoTransFunc_Last = 9, 3188 MFVideoTransFunc_ForceDWORD = 0x7fffffff 3189 } MFVideoTransferFunction; 3190 3191 typedef enum _MFVideoPrimaries { 3192 MFVideoPrimaries_Unknown = 0, 3193 MFVideoPrimaries_reserved = 1, 3194 MFVideoPrimaries_BT709 = 2, 3195 MFVideoPrimaries_BT470_2_SysM = 3, 3196 MFVideoPrimaries_BT470_2_SysBG = 4, 3197 MFVideoPrimaries_SMPTE170M = 5, 3198 MFVideoPrimaries_SMPTE240M = 6, 3199 MFVideoPrimaries_EBU3213 = 7, 3200 MFVideoPrimaries_SMPTE_C = 8, 3201 MFVideoPrimaries_Last = 9, 3202 MFVideoPrimaries_ForceDWORD = 0x7fffffff 3203 } MFVideoPrimaries; 3204 3205 typedef enum _MFVideoLighting { 3206 MFVideoLighting_Unknown = 0, 3207 MFVideoLighting_bright = 1, 3208 MFVideoLighting_office = 2, 3209 MFVideoLighting_dim = 3, 3210 MFVideoLighting_dark = 4, 3211 MFVideoLighting_Last = 5, 3212 MFVideoLighting_ForceDWORD = 0x7fffffff 3213 } MFVideoLighting; 3214 3215 typedef enum _MFVideoTransferMatrix { 3216 MFVideoTransferMatrix_Unknown = 0, 3217 MFVideoTransferMatrix_BT709 = 1, 3218 MFVideoTransferMatrix_BT601 = 2, 3219 MFVideoTransferMatrix_SMPTE240M = 3, 3220 MFVideoTransferMatrix_Last = 4, 3221 MFVideoTransferMatrix_ForceDWORD = 0x7fffffff 3222 } MFVideoTransferMatrix; 3223 3224 typedef enum _MFVideoChromaSubsampling { 3225 MFVideoChromaSubsampling_Unknown = 0, 3226 MFVideoChromaSubsampling_ProgressiveChroma = 0x8, 3227 MFVideoChromaSubsampling_Horizontally_Cosited = 0x4, 3228 MFVideoChromaSubsampling_Vertically_Cosited = 0x2, 3229 MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, 3230 MFVideoChromaSubsampling_MPEG2 = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 3231 MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 3232 MFVideoChromaSubsampling_DV_PAL = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited, 3233 MFVideoChromaSubsampling_Cosited = (MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited) | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 3234 MFVideoChromaSubsampling_Last = MFVideoChromaSubsampling_Cosited + 1, 3235 MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff 3236 } MFVideoChromaSubsampling; 3237 3238 typedef enum _MFNominalRange { 3239 MFNominalRange_Unknown = 0, 3240 MFNominalRange_Normal = 1, 3241 MFNominalRange_Wide = 2, 3242 MFNominalRange_0_255 = 1, 3243 MFNominalRange_16_235 = 2, 3244 MFNominalRange_48_208 = 3, 3245 MFNominalRange_Last = 4, 3246 MFNominalRange_ForceDWORD = 0x7fffffff 3247 } MFNominalRange; 3248 #endif 3249 3250 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3251 typedef enum _MFVideoFlags { 3252 MFVideoFlag_PAD_TO_Mask = 0x1 | 0x2, 3253 MFVideoFlag_PAD_TO_None = 0 * 0x1, 3254 MFVideoFlag_PAD_TO_4x3 = 1 * 0x1, 3255 MFVideoFlag_PAD_TO_16x9 = 2 * 0x1, 3256 MFVideoFlag_SrcContentHintMask = (0x4 | 0x8) | 0x10, 3257 MFVideoFlag_SrcContentHintNone = 0 * 0x4, 3258 MFVideoFlag_SrcContentHint16x9 = 1 * 0x4, 3259 MFVideoFlag_SrcContentHint235_1 = 2 * 0x4, 3260 MFVideoFlag_AnalogProtected = 0x20, 3261 MFVideoFlag_DigitallyProtected = 0x40, 3262 MFVideoFlag_ProgressiveContent = 0x80, 3263 MFVideoFlag_FieldRepeatCountMask = (0x100 | 0x200) | 0x400, 3264 MFVideoFlag_FieldRepeatCountShift = 8, 3265 MFVideoFlag_ProgressiveSeqReset = 0x800, 3266 MFVideoFlag_PanScanEnabled = 0x20000, 3267 MFVideoFlag_LowerFieldFirst = 0x40000, 3268 MFVideoFlag_BottomUpLinearRep = 0x80000, 3269 MFVideoFlags_DXVASurface = 0x100000, 3270 MFVideoFlags_RenderTargetSurface = 0x400000, 3271 MFVideoFlags_ForceQWORD = 0x7fffffff 3272 } MFVideoFlags; 3273 #endif 3274 3275 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3276 typedef struct _MFRatio { 3277 DWORD Numerator; 3278 DWORD Denominator; 3279 } MFRatio; 3280 3281 typedef struct _MFOffset { 3282 WORD fract; 3283 short value; 3284 } MFOffset; 3285 typedef struct _MFVideoArea { 3286 MFOffset OffsetX; 3287 MFOffset OffsetY; 3288 SIZE Area; 3289 } MFVideoArea; 3290 #endif 3291 3292 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3293 typedef struct _MFVideoInfo { 3294 DWORD dwWidth; 3295 DWORD dwHeight; 3296 MFRatio PixelAspectRatio; 3297 MFVideoChromaSubsampling SourceChromaSubsampling; 3298 MFVideoInterlaceMode InterlaceMode; 3299 MFVideoTransferFunction TransferFunction; 3300 MFVideoPrimaries ColorPrimaries; 3301 MFVideoTransferMatrix TransferMatrix; 3302 MFVideoLighting SourceLighting; 3303 MFRatio FramesPerSecond; 3304 MFNominalRange NominalRange; 3305 MFVideoArea GeometricAperture; 3306 MFVideoArea MinimumDisplayAperture; 3307 MFVideoArea PanScanAperture; 3308 UINT64 VideoFlags; 3309 } MFVideoInfo; 3310 #endif 3311 3312 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3313 typedef struct __MFAYUVSample { 3314 BYTE bCrValue; 3315 BYTE bCbValue; 3316 BYTE bYValue; 3317 BYTE bSampleAlpha8; 3318 } MFAYUVSample; 3319 3320 typedef struct _MFARGB { 3321 BYTE rgbBlue; 3322 BYTE rgbGreen; 3323 BYTE rgbRed; 3324 BYTE rgbAlpha; 3325 } MFARGB; 3326 3327 typedef union _MFPaletteEntry { 3328 MFARGB ARGB; 3329 MFAYUVSample AYCbCr; 3330 } MFPaletteEntry; 3331 #endif 3332 3333 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3334 typedef struct _MFVideoSurfaceInfo { 3335 DWORD Format; 3336 DWORD PaletteEntries; 3337 MFPaletteEntry Palette[1]; 3338 } MFVideoSurfaceInfo; 3339 3340 typedef struct _MFVideoCompressedInfo { 3341 LONGLONG AvgBitrate; 3342 LONGLONG AvgBitErrorRate; 3343 DWORD MaxKeyFrameSpacing; 3344 } MFVideoCompressedInfo; 3345 3346 typedef struct _MFVIDEOFORMAT { 3347 DWORD dwSize; 3348 MFVideoInfo videoInfo; 3349 GUID guidFormat; 3350 MFVideoCompressedInfo compressedInfo; 3351 MFVideoSurfaceInfo surfaceInfo; 3352 } MFVIDEOFORMAT; 3353 3354 typedef enum _MFStandardVideoFormat { 3355 MFStdVideoFormat_reserved = 0, 3356 MFStdVideoFormat_NTSC = 1, 3357 MFStdVideoFormat_PAL = 2, 3358 MFStdVideoFormat_DVD_NTSC = 3, 3359 MFStdVideoFormat_DVD_PAL = 4, 3360 MFStdVideoFormat_DV_PAL = 5, 3361 MFStdVideoFormat_DV_NTSC = 6, 3362 MFStdVideoFormat_ATSC_SD480i = 7, 3363 MFStdVideoFormat_ATSC_HD1080i = 8, 3364 MFStdVideoFormat_ATSC_HD720p = 9 3365 } MFStandardVideoFormat; 3366 #endif 3367 #endif 3368 3369 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 3370 /***************************************************************************** 3371 * IMFVideoMediaType interface 3372 */ 3373 #ifndef __IMFVideoMediaType_INTERFACE_DEFINED__ 3374 #define __IMFVideoMediaType_INTERFACE_DEFINED__ 3375 3376 DEFINE_GUID(IID_IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90); 3377 #if defined(__cplusplus) && !defined(CINTERFACE) 3378 MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890") 3379 IMFVideoMediaType : public IMFMediaType 3380 { 3381 virtual const MFVIDEOFORMAT * STDMETHODCALLTYPE GetVideoFormat( 3382 ) = 0; 3383 3384 virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation( 3385 GUID guidRepresentation, 3386 LPVOID *ppvRepresentation, 3387 LONG lStride) = 0; 3388 3389 }; 3390 #ifdef __CRT_UUID_DECL 3391 __CRT_UUID_DECL(IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90) 3392 #endif 3393 #else 3394 typedef struct IMFVideoMediaTypeVtbl { 3395 BEGIN_INTERFACE 3396 3397 /*** IUnknown methods ***/ 3398 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3399 IMFVideoMediaType* This, 3400 REFIID riid, 3401 void **ppvObject); 3402 3403 ULONG (STDMETHODCALLTYPE *AddRef)( 3404 IMFVideoMediaType* This); 3405 3406 ULONG (STDMETHODCALLTYPE *Release)( 3407 IMFVideoMediaType* This); 3408 3409 /*** IMFAttributes methods ***/ 3410 HRESULT (STDMETHODCALLTYPE *GetItem)( 3411 IMFVideoMediaType* This, 3412 REFGUID guidKey, 3413 PROPVARIANT *pValue); 3414 3415 HRESULT (STDMETHODCALLTYPE *GetItemType)( 3416 IMFVideoMediaType* This, 3417 REFGUID guidKey, 3418 MF_ATTRIBUTE_TYPE *pType); 3419 3420 HRESULT (STDMETHODCALLTYPE *CompareItem)( 3421 IMFVideoMediaType* This, 3422 REFGUID guidKey, 3423 REFPROPVARIANT Value, 3424 WINBOOL *pbResult); 3425 3426 HRESULT (STDMETHODCALLTYPE *Compare)( 3427 IMFVideoMediaType* This, 3428 IMFAttributes *pTheirs, 3429 MF_ATTRIBUTES_MATCH_TYPE MatchType, 3430 WINBOOL *pbResult); 3431 3432 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 3433 IMFVideoMediaType* This, 3434 REFGUID guidKey, 3435 UINT32 *punValue); 3436 3437 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 3438 IMFVideoMediaType* This, 3439 REFGUID guidKey, 3440 UINT64 *punValue); 3441 3442 HRESULT (STDMETHODCALLTYPE *GetDouble)( 3443 IMFVideoMediaType* This, 3444 REFGUID guidKey, 3445 double *pfValue); 3446 3447 HRESULT (STDMETHODCALLTYPE *GetGUID)( 3448 IMFVideoMediaType* This, 3449 REFGUID guidKey, 3450 GUID *pguidValue); 3451 3452 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 3453 IMFVideoMediaType* This, 3454 REFGUID guidKey, 3455 UINT32 *pcchLength); 3456 3457 HRESULT (STDMETHODCALLTYPE *GetString)( 3458 IMFVideoMediaType* This, 3459 REFGUID guidKey, 3460 LPWSTR pwszValue, 3461 UINT32 cchBufSize, 3462 UINT32 *pcchLength); 3463 3464 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 3465 IMFVideoMediaType* This, 3466 REFGUID guidKey, 3467 LPWSTR *ppwszValue, 3468 UINT32 *pcchLength); 3469 3470 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 3471 IMFVideoMediaType* This, 3472 REFGUID guidKey, 3473 UINT32 *pcbBlobSize); 3474 3475 HRESULT (STDMETHODCALLTYPE *GetBlob)( 3476 IMFVideoMediaType* This, 3477 REFGUID guidKey, 3478 UINT8 *pBuf, 3479 UINT32 cbBufSize, 3480 UINT32 *pcbBlobSize); 3481 3482 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 3483 IMFVideoMediaType* This, 3484 REFGUID guidKey, 3485 UINT8 **ppBuf, 3486 UINT32 *pcbSize); 3487 3488 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 3489 IMFVideoMediaType* This, 3490 REFGUID guidKey, 3491 REFIID riid, 3492 LPVOID *ppv); 3493 3494 HRESULT (STDMETHODCALLTYPE *SetItem)( 3495 IMFVideoMediaType* This, 3496 REFGUID guidKey, 3497 REFPROPVARIANT Value); 3498 3499 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 3500 IMFVideoMediaType* This, 3501 REFGUID guidKey); 3502 3503 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 3504 IMFVideoMediaType* This); 3505 3506 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 3507 IMFVideoMediaType* This, 3508 REFGUID guidKey, 3509 UINT32 unValue); 3510 3511 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 3512 IMFVideoMediaType* This, 3513 REFGUID guidKey, 3514 UINT64 unValue); 3515 3516 HRESULT (STDMETHODCALLTYPE *SetDouble)( 3517 IMFVideoMediaType* This, 3518 REFGUID guidKey, 3519 double fValue); 3520 3521 HRESULT (STDMETHODCALLTYPE *SetGUID)( 3522 IMFVideoMediaType* This, 3523 REFGUID guidKey, 3524 REFGUID guidValue); 3525 3526 HRESULT (STDMETHODCALLTYPE *SetString)( 3527 IMFVideoMediaType* This, 3528 REFGUID guidKey, 3529 LPCWSTR wszValue); 3530 3531 HRESULT (STDMETHODCALLTYPE *SetBlob)( 3532 IMFVideoMediaType* This, 3533 REFGUID guidKey, 3534 const UINT8 *pBuf, 3535 UINT32 cbBufSize); 3536 3537 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 3538 IMFVideoMediaType* This, 3539 REFGUID guidKey, 3540 IUnknown *pUnknown); 3541 3542 HRESULT (STDMETHODCALLTYPE *LockStore)( 3543 IMFVideoMediaType* This); 3544 3545 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 3546 IMFVideoMediaType* This); 3547 3548 HRESULT (STDMETHODCALLTYPE *GetCount)( 3549 IMFVideoMediaType* This, 3550 UINT32 *pcItems); 3551 3552 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 3553 IMFVideoMediaType* This, 3554 UINT32 unIndex, 3555 GUID *pguidKey, 3556 PROPVARIANT *pValue); 3557 3558 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 3559 IMFVideoMediaType* This, 3560 IMFAttributes *pDest); 3561 3562 /*** IMFMediaType methods ***/ 3563 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 3564 IMFVideoMediaType* This, 3565 GUID *pguidMajorType); 3566 3567 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 3568 IMFVideoMediaType* This, 3569 WINBOOL *pfCompressed); 3570 3571 HRESULT (STDMETHODCALLTYPE *IsEqual)( 3572 IMFVideoMediaType* This, 3573 IMFMediaType *pIMediaType, 3574 DWORD *pdwFlags); 3575 3576 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 3577 IMFVideoMediaType* This, 3578 GUID guidRepresentation, 3579 LPVOID *ppvRepresentation); 3580 3581 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 3582 IMFVideoMediaType* This, 3583 GUID guidRepresentation, 3584 LPVOID pvRepresentation); 3585 3586 /*** IMFVideoMediaType methods ***/ 3587 const MFVIDEOFORMAT * (STDMETHODCALLTYPE *GetVideoFormat)( 3588 IMFVideoMediaType* This); 3589 3590 HRESULT (STDMETHODCALLTYPE *GetVideoRepresentation)( 3591 IMFVideoMediaType* This, 3592 GUID guidRepresentation, 3593 LPVOID *ppvRepresentation, 3594 LONG lStride); 3595 3596 END_INTERFACE 3597 } IMFVideoMediaTypeVtbl; 3598 interface IMFVideoMediaType { 3599 CONST_VTBL IMFVideoMediaTypeVtbl* lpVtbl; 3600 }; 3601 3602 #ifdef COBJMACROS 3603 #ifndef WIDL_C_INLINE_WRAPPERS 3604 /*** IUnknown methods ***/ 3605 #define IMFVideoMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3606 #define IMFVideoMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 3607 #define IMFVideoMediaType_Release(This) (This)->lpVtbl->Release(This) 3608 /*** IMFAttributes methods ***/ 3609 #define IMFVideoMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 3610 #define IMFVideoMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 3611 #define IMFVideoMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 3612 #define IMFVideoMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 3613 #define IMFVideoMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 3614 #define IMFVideoMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 3615 #define IMFVideoMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 3616 #define IMFVideoMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 3617 #define IMFVideoMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 3618 #define IMFVideoMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 3619 #define IMFVideoMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 3620 #define IMFVideoMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 3621 #define IMFVideoMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 3622 #define IMFVideoMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 3623 #define IMFVideoMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 3624 #define IMFVideoMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 3625 #define IMFVideoMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 3626 #define IMFVideoMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 3627 #define IMFVideoMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 3628 #define IMFVideoMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 3629 #define IMFVideoMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 3630 #define IMFVideoMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 3631 #define IMFVideoMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 3632 #define IMFVideoMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 3633 #define IMFVideoMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 3634 #define IMFVideoMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 3635 #define IMFVideoMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 3636 #define IMFVideoMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 3637 #define IMFVideoMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 3638 #define IMFVideoMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 3639 /*** IMFMediaType methods ***/ 3640 #define IMFVideoMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 3641 #define IMFVideoMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 3642 #define IMFVideoMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 3643 #define IMFVideoMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 3644 #define IMFVideoMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 3645 /*** IMFVideoMediaType methods ***/ 3646 #define IMFVideoMediaType_GetVideoFormat(This) (This)->lpVtbl->GetVideoFormat(This) 3647 #define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) (This)->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) 3648 #else 3649 /*** IUnknown methods ***/ 3650 static FORCEINLINE HRESULT IMFVideoMediaType_QueryInterface(IMFVideoMediaType* This,REFIID riid,void **ppvObject) { 3651 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3652 } 3653 static FORCEINLINE ULONG IMFVideoMediaType_AddRef(IMFVideoMediaType* This) { 3654 return This->lpVtbl->AddRef(This); 3655 } 3656 static FORCEINLINE ULONG IMFVideoMediaType_Release(IMFVideoMediaType* This) { 3657 return This->lpVtbl->Release(This); 3658 } 3659 /*** IMFAttributes methods ***/ 3660 static FORCEINLINE HRESULT IMFVideoMediaType_GetItem(IMFVideoMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 3661 return This->lpVtbl->GetItem(This,guidKey,pValue); 3662 } 3663 static FORCEINLINE HRESULT IMFVideoMediaType_GetItemType(IMFVideoMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3664 return This->lpVtbl->GetItemType(This,guidKey,pType); 3665 } 3666 static FORCEINLINE HRESULT IMFVideoMediaType_CompareItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3667 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3668 } 3669 static FORCEINLINE HRESULT IMFVideoMediaType_Compare(IMFVideoMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 3670 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 3671 } 3672 static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *punValue) { 3673 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3674 } 3675 static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 *punValue) { 3676 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3677 } 3678 static FORCEINLINE HRESULT IMFVideoMediaType_GetDouble(IMFVideoMediaType* This,REFGUID guidKey,double *pfValue) { 3679 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3680 } 3681 static FORCEINLINE HRESULT IMFVideoMediaType_GetGUID(IMFVideoMediaType* This,REFGUID guidKey,GUID *pguidValue) { 3682 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3683 } 3684 static FORCEINLINE HRESULT IMFVideoMediaType_GetStringLength(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 3685 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3686 } 3687 static FORCEINLINE HRESULT IMFVideoMediaType_GetString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 3688 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 3689 } 3690 static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3691 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3692 } 3693 static FORCEINLINE HRESULT IMFVideoMediaType_GetBlobSize(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3694 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3695 } 3696 static FORCEINLINE HRESULT IMFVideoMediaType_GetBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 3697 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 3698 } 3699 static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3700 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3701 } 3702 static FORCEINLINE HRESULT IMFVideoMediaType_GetUnknown(IMFVideoMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 3703 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 3704 } 3705 static FORCEINLINE HRESULT IMFVideoMediaType_SetItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 3706 return This->lpVtbl->SetItem(This,guidKey,Value); 3707 } 3708 static FORCEINLINE HRESULT IMFVideoMediaType_DeleteItem(IMFVideoMediaType* This,REFGUID guidKey) { 3709 return This->lpVtbl->DeleteItem(This,guidKey); 3710 } 3711 static FORCEINLINE HRESULT IMFVideoMediaType_DeleteAllItems(IMFVideoMediaType* This) { 3712 return This->lpVtbl->DeleteAllItems(This); 3713 } 3714 static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 unValue) { 3715 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 3716 } 3717 static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 unValue) { 3718 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 3719 } 3720 static FORCEINLINE HRESULT IMFVideoMediaType_SetDouble(IMFVideoMediaType* This,REFGUID guidKey,double fValue) { 3721 return This->lpVtbl->SetDouble(This,guidKey,fValue); 3722 } 3723 static FORCEINLINE HRESULT IMFVideoMediaType_SetGUID(IMFVideoMediaType* This,REFGUID guidKey,REFGUID guidValue) { 3724 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 3725 } 3726 static FORCEINLINE HRESULT IMFVideoMediaType_SetString(IMFVideoMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 3727 return This->lpVtbl->SetString(This,guidKey,wszValue); 3728 } 3729 static FORCEINLINE HRESULT IMFVideoMediaType_SetBlob(IMFVideoMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 3730 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 3731 } 3732 static FORCEINLINE HRESULT IMFVideoMediaType_SetUnknown(IMFVideoMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 3733 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 3734 } 3735 static FORCEINLINE HRESULT IMFVideoMediaType_LockStore(IMFVideoMediaType* This) { 3736 return This->lpVtbl->LockStore(This); 3737 } 3738 static FORCEINLINE HRESULT IMFVideoMediaType_UnlockStore(IMFVideoMediaType* This) { 3739 return This->lpVtbl->UnlockStore(This); 3740 } 3741 static FORCEINLINE HRESULT IMFVideoMediaType_GetCount(IMFVideoMediaType* This,UINT32 *pcItems) { 3742 return This->lpVtbl->GetCount(This,pcItems); 3743 } 3744 static FORCEINLINE HRESULT IMFVideoMediaType_GetItemByIndex(IMFVideoMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 3745 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 3746 } 3747 static FORCEINLINE HRESULT IMFVideoMediaType_CopyAllItems(IMFVideoMediaType* This,IMFAttributes *pDest) { 3748 return This->lpVtbl->CopyAllItems(This,pDest); 3749 } 3750 /*** IMFMediaType methods ***/ 3751 static FORCEINLINE HRESULT IMFVideoMediaType_GetMajorType(IMFVideoMediaType* This,GUID *pguidMajorType) { 3752 return This->lpVtbl->GetMajorType(This,pguidMajorType); 3753 } 3754 static FORCEINLINE HRESULT IMFVideoMediaType_IsCompressedFormat(IMFVideoMediaType* This,WINBOOL *pfCompressed) { 3755 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 3756 } 3757 static FORCEINLINE HRESULT IMFVideoMediaType_IsEqual(IMFVideoMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 3758 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 3759 } 3760 static FORCEINLINE HRESULT IMFVideoMediaType_GetRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 3761 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 3762 } 3763 static FORCEINLINE HRESULT IMFVideoMediaType_FreeRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 3764 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 3765 } 3766 /*** IMFVideoMediaType methods ***/ 3767 static FORCEINLINE const MFVIDEOFORMAT * IMFVideoMediaType_GetVideoFormat(IMFVideoMediaType* This) { 3768 return This->lpVtbl->GetVideoFormat(This); 3769 } 3770 static FORCEINLINE HRESULT IMFVideoMediaType_GetVideoRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation,LONG lStride) { 3771 return This->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride); 3772 } 3773 #endif 3774 #endif 3775 3776 #endif 3777 3778 const MFVIDEOFORMAT * STDMETHODCALLTYPE IMFVideoMediaType_GetVideoFormat_Proxy( 3779 IMFVideoMediaType* This); 3780 void __RPC_STUB IMFVideoMediaType_GetVideoFormat_Stub( 3781 IRpcStubBuffer* This, 3782 IRpcChannelBuffer* pRpcChannelBuffer, 3783 PRPC_MESSAGE pRpcMessage, 3784 DWORD* pdwStubPhase); 3785 HRESULT STDMETHODCALLTYPE IMFVideoMediaType_GetVideoRepresentation_Proxy( 3786 IMFVideoMediaType* This, 3787 GUID guidRepresentation, 3788 LPVOID *ppvRepresentation, 3789 LONG lStride); 3790 void __RPC_STUB IMFVideoMediaType_GetVideoRepresentation_Stub( 3791 IRpcStubBuffer* This, 3792 IRpcChannelBuffer* pRpcChannelBuffer, 3793 PRPC_MESSAGE pRpcMessage, 3794 DWORD* pdwStubPhase); 3795 3796 #endif /* __IMFVideoMediaType_INTERFACE_DEFINED__ */ 3797 3798 #endif 3799 3800 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 3801 /***************************************************************************** 3802 * IMFAsyncResult interface 3803 */ 3804 #ifndef __IMFAsyncResult_INTERFACE_DEFINED__ 3805 #define __IMFAsyncResult_INTERFACE_DEFINED__ 3806 3807 DEFINE_GUID(IID_IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6); 3808 #if defined(__cplusplus) && !defined(CINTERFACE) 3809 MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6") 3810 IMFAsyncResult : public IUnknown 3811 { 3812 virtual HRESULT STDMETHODCALLTYPE GetState( 3813 IUnknown **ppunkState) = 0; 3814 3815 virtual HRESULT STDMETHODCALLTYPE GetStatus( 3816 ) = 0; 3817 3818 virtual HRESULT STDMETHODCALLTYPE SetStatus( 3819 HRESULT hrStatus) = 0; 3820 3821 virtual HRESULT STDMETHODCALLTYPE GetObject( 3822 IUnknown **ppObject) = 0; 3823 3824 virtual IUnknown * STDMETHODCALLTYPE GetStateNoAddRef( 3825 ) = 0; 3826 3827 }; 3828 #ifdef __CRT_UUID_DECL 3829 __CRT_UUID_DECL(IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6) 3830 #endif 3831 #else 3832 typedef struct IMFAsyncResultVtbl { 3833 BEGIN_INTERFACE 3834 3835 /*** IUnknown methods ***/ 3836 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3837 IMFAsyncResult* This, 3838 REFIID riid, 3839 void **ppvObject); 3840 3841 ULONG (STDMETHODCALLTYPE *AddRef)( 3842 IMFAsyncResult* This); 3843 3844 ULONG (STDMETHODCALLTYPE *Release)( 3845 IMFAsyncResult* This); 3846 3847 /*** IMFAsyncResult methods ***/ 3848 HRESULT (STDMETHODCALLTYPE *GetState)( 3849 IMFAsyncResult* This, 3850 IUnknown **ppunkState); 3851 3852 HRESULT (STDMETHODCALLTYPE *GetStatus)( 3853 IMFAsyncResult* This); 3854 3855 HRESULT (STDMETHODCALLTYPE *SetStatus)( 3856 IMFAsyncResult* This, 3857 HRESULT hrStatus); 3858 3859 HRESULT (STDMETHODCALLTYPE *GetObject)( 3860 IMFAsyncResult* This, 3861 IUnknown **ppObject); 3862 3863 IUnknown * (STDMETHODCALLTYPE *GetStateNoAddRef)( 3864 IMFAsyncResult* This); 3865 3866 END_INTERFACE 3867 } IMFAsyncResultVtbl; 3868 interface IMFAsyncResult { 3869 CONST_VTBL IMFAsyncResultVtbl* lpVtbl; 3870 }; 3871 3872 #ifdef COBJMACROS 3873 #ifndef WIDL_C_INLINE_WRAPPERS 3874 /*** IUnknown methods ***/ 3875 #define IMFAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3876 #define IMFAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) 3877 #define IMFAsyncResult_Release(This) (This)->lpVtbl->Release(This) 3878 /*** IMFAsyncResult methods ***/ 3879 #define IMFAsyncResult_GetState(This,ppunkState) (This)->lpVtbl->GetState(This,ppunkState) 3880 #define IMFAsyncResult_GetStatus(This) (This)->lpVtbl->GetStatus(This) 3881 #define IMFAsyncResult_SetStatus(This,hrStatus) (This)->lpVtbl->SetStatus(This,hrStatus) 3882 #define IMFAsyncResult_GetObject(This,ppObject) (This)->lpVtbl->GetObject(This,ppObject) 3883 #define IMFAsyncResult_GetStateNoAddRef(This) (This)->lpVtbl->GetStateNoAddRef(This) 3884 #else 3885 /*** IUnknown methods ***/ 3886 static FORCEINLINE HRESULT IMFAsyncResult_QueryInterface(IMFAsyncResult* This,REFIID riid,void **ppvObject) { 3887 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3888 } 3889 static FORCEINLINE ULONG IMFAsyncResult_AddRef(IMFAsyncResult* This) { 3890 return This->lpVtbl->AddRef(This); 3891 } 3892 static FORCEINLINE ULONG IMFAsyncResult_Release(IMFAsyncResult* This) { 3893 return This->lpVtbl->Release(This); 3894 } 3895 /*** IMFAsyncResult methods ***/ 3896 static FORCEINLINE HRESULT IMFAsyncResult_GetState(IMFAsyncResult* This,IUnknown **ppunkState) { 3897 return This->lpVtbl->GetState(This,ppunkState); 3898 } 3899 static FORCEINLINE HRESULT IMFAsyncResult_GetStatus(IMFAsyncResult* This) { 3900 return This->lpVtbl->GetStatus(This); 3901 } 3902 static FORCEINLINE HRESULT IMFAsyncResult_SetStatus(IMFAsyncResult* This,HRESULT hrStatus) { 3903 return This->lpVtbl->SetStatus(This,hrStatus); 3904 } 3905 static FORCEINLINE HRESULT IMFAsyncResult_GetObject(IMFAsyncResult* This,IUnknown **ppObject) { 3906 return This->lpVtbl->GetObject(This,ppObject); 3907 } 3908 static FORCEINLINE IUnknown * IMFAsyncResult_GetStateNoAddRef(IMFAsyncResult* This) { 3909 return This->lpVtbl->GetStateNoAddRef(This); 3910 } 3911 #endif 3912 #endif 3913 3914 #endif 3915 3916 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetState_Proxy( 3917 IMFAsyncResult* This, 3918 IUnknown **ppunkState); 3919 void __RPC_STUB IMFAsyncResult_GetState_Stub( 3920 IRpcStubBuffer* This, 3921 IRpcChannelBuffer* pRpcChannelBuffer, 3922 PRPC_MESSAGE pRpcMessage, 3923 DWORD* pdwStubPhase); 3924 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetStatus_Proxy( 3925 IMFAsyncResult* This); 3926 void __RPC_STUB IMFAsyncResult_GetStatus_Stub( 3927 IRpcStubBuffer* This, 3928 IRpcChannelBuffer* pRpcChannelBuffer, 3929 PRPC_MESSAGE pRpcMessage, 3930 DWORD* pdwStubPhase); 3931 HRESULT STDMETHODCALLTYPE IMFAsyncResult_SetStatus_Proxy( 3932 IMFAsyncResult* This, 3933 HRESULT hrStatus); 3934 void __RPC_STUB IMFAsyncResult_SetStatus_Stub( 3935 IRpcStubBuffer* This, 3936 IRpcChannelBuffer* pRpcChannelBuffer, 3937 PRPC_MESSAGE pRpcMessage, 3938 DWORD* pdwStubPhase); 3939 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetObject_Proxy( 3940 IMFAsyncResult* This, 3941 IUnknown **ppObject); 3942 void __RPC_STUB IMFAsyncResult_GetObject_Stub( 3943 IRpcStubBuffer* This, 3944 IRpcChannelBuffer* pRpcChannelBuffer, 3945 PRPC_MESSAGE pRpcMessage, 3946 DWORD* pdwStubPhase); 3947 3948 #endif /* __IMFAsyncResult_INTERFACE_DEFINED__ */ 3949 3950 3951 /***************************************************************************** 3952 * IMFAsyncCallback interface 3953 */ 3954 #ifndef __IMFAsyncCallback_INTERFACE_DEFINED__ 3955 #define __IMFAsyncCallback_INTERFACE_DEFINED__ 3956 3957 DEFINE_GUID(IID_IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 3958 #if defined(__cplusplus) && !defined(CINTERFACE) 3959 MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e") 3960 IMFAsyncCallback : public IUnknown 3961 { 3962 virtual HRESULT STDMETHODCALLTYPE GetParameters( 3963 DWORD *pdwFlags, 3964 DWORD *pdwQueue) = 0; 3965 3966 virtual HRESULT STDMETHODCALLTYPE Invoke( 3967 IMFAsyncResult *pAsyncResult) = 0; 3968 3969 }; 3970 #ifdef __CRT_UUID_DECL 3971 __CRT_UUID_DECL(IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) 3972 #endif 3973 #else 3974 typedef struct IMFAsyncCallbackVtbl { 3975 BEGIN_INTERFACE 3976 3977 /*** IUnknown methods ***/ 3978 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3979 IMFAsyncCallback* This, 3980 REFIID riid, 3981 void **ppvObject); 3982 3983 ULONG (STDMETHODCALLTYPE *AddRef)( 3984 IMFAsyncCallback* This); 3985 3986 ULONG (STDMETHODCALLTYPE *Release)( 3987 IMFAsyncCallback* This); 3988 3989 /*** IMFAsyncCallback methods ***/ 3990 HRESULT (STDMETHODCALLTYPE *GetParameters)( 3991 IMFAsyncCallback* This, 3992 DWORD *pdwFlags, 3993 DWORD *pdwQueue); 3994 3995 HRESULT (STDMETHODCALLTYPE *Invoke)( 3996 IMFAsyncCallback* This, 3997 IMFAsyncResult *pAsyncResult); 3998 3999 END_INTERFACE 4000 } IMFAsyncCallbackVtbl; 4001 interface IMFAsyncCallback { 4002 CONST_VTBL IMFAsyncCallbackVtbl* lpVtbl; 4003 }; 4004 4005 #ifdef COBJMACROS 4006 #ifndef WIDL_C_INLINE_WRAPPERS 4007 /*** IUnknown methods ***/ 4008 #define IMFAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4009 #define IMFAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 4010 #define IMFAsyncCallback_Release(This) (This)->lpVtbl->Release(This) 4011 /*** IMFAsyncCallback methods ***/ 4012 #define IMFAsyncCallback_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) 4013 #define IMFAsyncCallback_Invoke(This,pAsyncResult) (This)->lpVtbl->Invoke(This,pAsyncResult) 4014 #else 4015 /*** IUnknown methods ***/ 4016 static FORCEINLINE HRESULT IMFAsyncCallback_QueryInterface(IMFAsyncCallback* This,REFIID riid,void **ppvObject) { 4017 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4018 } 4019 static FORCEINLINE ULONG IMFAsyncCallback_AddRef(IMFAsyncCallback* This) { 4020 return This->lpVtbl->AddRef(This); 4021 } 4022 static FORCEINLINE ULONG IMFAsyncCallback_Release(IMFAsyncCallback* This) { 4023 return This->lpVtbl->Release(This); 4024 } 4025 /*** IMFAsyncCallback methods ***/ 4026 static FORCEINLINE HRESULT IMFAsyncCallback_GetParameters(IMFAsyncCallback* This,DWORD *pdwFlags,DWORD *pdwQueue) { 4027 return This->lpVtbl->GetParameters(This,pdwFlags,pdwQueue); 4028 } 4029 static FORCEINLINE HRESULT IMFAsyncCallback_Invoke(IMFAsyncCallback* This,IMFAsyncResult *pAsyncResult) { 4030 return This->lpVtbl->Invoke(This,pAsyncResult); 4031 } 4032 #endif 4033 #endif 4034 4035 #endif 4036 4037 HRESULT STDMETHODCALLTYPE IMFAsyncCallback_GetParameters_Proxy( 4038 IMFAsyncCallback* This, 4039 DWORD *pdwFlags, 4040 DWORD *pdwQueue); 4041 void __RPC_STUB IMFAsyncCallback_GetParameters_Stub( 4042 IRpcStubBuffer* This, 4043 IRpcChannelBuffer* pRpcChannelBuffer, 4044 PRPC_MESSAGE pRpcMessage, 4045 DWORD* pdwStubPhase); 4046 HRESULT STDMETHODCALLTYPE IMFAsyncCallback_Invoke_Proxy( 4047 IMFAsyncCallback* This, 4048 IMFAsyncResult *pAsyncResult); 4049 void __RPC_STUB IMFAsyncCallback_Invoke_Stub( 4050 IRpcStubBuffer* This, 4051 IRpcChannelBuffer* pRpcChannelBuffer, 4052 PRPC_MESSAGE pRpcMessage, 4053 DWORD* pdwStubPhase); 4054 4055 #endif /* __IMFAsyncCallback_INTERFACE_DEFINED__ */ 4056 4057 #endif 4058 4059 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 4060 /***************************************************************************** 4061 * IMFAsyncCallbackLogging interface 4062 */ 4063 #ifndef __IMFAsyncCallbackLogging_INTERFACE_DEFINED__ 4064 #define __IMFAsyncCallbackLogging_INTERFACE_DEFINED__ 4065 4066 DEFINE_GUID(IID_IMFAsyncCallbackLogging, 0xc7a4dca1, 0xf5f0, 0x47b6, 0xb9,0x2b, 0xbf,0x01,0x06,0xd2,0x57,0x91); 4067 #if defined(__cplusplus) && !defined(CINTERFACE) 4068 MIDL_INTERFACE("c7a4dca1-f5f0-47b6-b92b-bf0106d25791") 4069 IMFAsyncCallbackLogging : public IMFAsyncCallback 4070 { 4071 virtual void * STDMETHODCALLTYPE GetObjectPointer( 4072 ) = 0; 4073 4074 virtual DWORD STDMETHODCALLTYPE GetObjectTag( 4075 ) = 0; 4076 4077 }; 4078 #ifdef __CRT_UUID_DECL 4079 __CRT_UUID_DECL(IMFAsyncCallbackLogging, 0xc7a4dca1, 0xf5f0, 0x47b6, 0xb9,0x2b, 0xbf,0x01,0x06,0xd2,0x57,0x91) 4080 #endif 4081 #else 4082 typedef struct IMFAsyncCallbackLoggingVtbl { 4083 BEGIN_INTERFACE 4084 4085 /*** IUnknown methods ***/ 4086 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4087 IMFAsyncCallbackLogging* This, 4088 REFIID riid, 4089 void **ppvObject); 4090 4091 ULONG (STDMETHODCALLTYPE *AddRef)( 4092 IMFAsyncCallbackLogging* This); 4093 4094 ULONG (STDMETHODCALLTYPE *Release)( 4095 IMFAsyncCallbackLogging* This); 4096 4097 /*** IMFAsyncCallback methods ***/ 4098 HRESULT (STDMETHODCALLTYPE *GetParameters)( 4099 IMFAsyncCallbackLogging* This, 4100 DWORD *pdwFlags, 4101 DWORD *pdwQueue); 4102 4103 HRESULT (STDMETHODCALLTYPE *Invoke)( 4104 IMFAsyncCallbackLogging* This, 4105 IMFAsyncResult *pAsyncResult); 4106 4107 /*** IMFAsyncCallbackLogging methods ***/ 4108 void * (STDMETHODCALLTYPE *GetObjectPointer)( 4109 IMFAsyncCallbackLogging* This); 4110 4111 DWORD (STDMETHODCALLTYPE *GetObjectTag)( 4112 IMFAsyncCallbackLogging* This); 4113 4114 END_INTERFACE 4115 } IMFAsyncCallbackLoggingVtbl; 4116 interface IMFAsyncCallbackLogging { 4117 CONST_VTBL IMFAsyncCallbackLoggingVtbl* lpVtbl; 4118 }; 4119 4120 #ifdef COBJMACROS 4121 #ifndef WIDL_C_INLINE_WRAPPERS 4122 /*** IUnknown methods ***/ 4123 #define IMFAsyncCallbackLogging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4124 #define IMFAsyncCallbackLogging_AddRef(This) (This)->lpVtbl->AddRef(This) 4125 #define IMFAsyncCallbackLogging_Release(This) (This)->lpVtbl->Release(This) 4126 /*** IMFAsyncCallback methods ***/ 4127 #define IMFAsyncCallbackLogging_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) 4128 #define IMFAsyncCallbackLogging_Invoke(This,pAsyncResult) (This)->lpVtbl->Invoke(This,pAsyncResult) 4129 /*** IMFAsyncCallbackLogging methods ***/ 4130 #define IMFAsyncCallbackLogging_GetObjectPointer(This) (This)->lpVtbl->GetObjectPointer(This) 4131 #define IMFAsyncCallbackLogging_GetObjectTag(This) (This)->lpVtbl->GetObjectTag(This) 4132 #else 4133 /*** IUnknown methods ***/ 4134 static FORCEINLINE HRESULT IMFAsyncCallbackLogging_QueryInterface(IMFAsyncCallbackLogging* This,REFIID riid,void **ppvObject) { 4135 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4136 } 4137 static FORCEINLINE ULONG IMFAsyncCallbackLogging_AddRef(IMFAsyncCallbackLogging* This) { 4138 return This->lpVtbl->AddRef(This); 4139 } 4140 static FORCEINLINE ULONG IMFAsyncCallbackLogging_Release(IMFAsyncCallbackLogging* This) { 4141 return This->lpVtbl->Release(This); 4142 } 4143 /*** IMFAsyncCallback methods ***/ 4144 static FORCEINLINE HRESULT IMFAsyncCallbackLogging_GetParameters(IMFAsyncCallbackLogging* This,DWORD *pdwFlags,DWORD *pdwQueue) { 4145 return This->lpVtbl->GetParameters(This,pdwFlags,pdwQueue); 4146 } 4147 static FORCEINLINE HRESULT IMFAsyncCallbackLogging_Invoke(IMFAsyncCallbackLogging* This,IMFAsyncResult *pAsyncResult) { 4148 return This->lpVtbl->Invoke(This,pAsyncResult); 4149 } 4150 /*** IMFAsyncCallbackLogging methods ***/ 4151 static FORCEINLINE void * IMFAsyncCallbackLogging_GetObjectPointer(IMFAsyncCallbackLogging* This) { 4152 return This->lpVtbl->GetObjectPointer(This); 4153 } 4154 static FORCEINLINE DWORD IMFAsyncCallbackLogging_GetObjectTag(IMFAsyncCallbackLogging* This) { 4155 return This->lpVtbl->GetObjectTag(This); 4156 } 4157 #endif 4158 #endif 4159 4160 #endif 4161 4162 void * STDMETHODCALLTYPE IMFAsyncCallbackLogging_GetObjectPointer_Proxy( 4163 IMFAsyncCallbackLogging* This); 4164 void __RPC_STUB IMFAsyncCallbackLogging_GetObjectPointer_Stub( 4165 IRpcStubBuffer* This, 4166 IRpcChannelBuffer* pRpcChannelBuffer, 4167 PRPC_MESSAGE pRpcMessage, 4168 DWORD* pdwStubPhase); 4169 DWORD STDMETHODCALLTYPE IMFAsyncCallbackLogging_GetObjectTag_Proxy( 4170 IMFAsyncCallbackLogging* This); 4171 void __RPC_STUB IMFAsyncCallbackLogging_GetObjectTag_Stub( 4172 IRpcStubBuffer* This, 4173 IRpcChannelBuffer* pRpcChannelBuffer, 4174 PRPC_MESSAGE pRpcMessage, 4175 DWORD* pdwStubPhase); 4176 4177 #endif /* __IMFAsyncCallbackLogging_INTERFACE_DEFINED__ */ 4178 4179 #endif 4180 4181 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 4182 #define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x00000001 4183 #define MFASYNC_SIGNAL_CALLBACK 0x00000002 4184 #define MFASYNC_BLOCKING_CALLBACK 0x00000004 4185 #define MFASYNC_REPLY_CALLBACK 0x00000008 4186 #define MFASYNC_LOCALIZE_REMOTE_CALLBACK 0x00000010 4187 4188 #define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000 4189 #define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001 4190 #define MFASYNC_CALLBACK_QUEUE_RT 0x00000002 4191 #define MFASYNC_CALLBACK_QUEUE_IO 0x00000003 4192 #define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004 4193 #define MFASYNC_CALLBACK_QUEUE_MULTITHREADED 0x00000005 4194 #define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007 4195 #define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xFFFF0000 4196 #define MFASYNC_CALLBACK_QUEUE_ALL 0xFFFFFFFF 4197 4198 enum { 4199 MEUnknown = 0, 4200 MEError = 1, 4201 MEExtendedType = 2, 4202 MENonFatalError = 3, 4203 MEGenericV1Anchor = MENonFatalError, 4204 MESessionUnknown = 100, 4205 MESessionTopologySet = 101, 4206 MESessionTopologiesCleared = 102, 4207 MESessionStarted = 103, 4208 MESessionPaused = 104, 4209 MESessionStopped = 105, 4210 MESessionClosed = 106, 4211 MESessionEnded = 107, 4212 MESessionRateChanged = 108, 4213 MESessionScrubSampleComplete = 109, 4214 MESessionCapabilitiesChanged = 110, 4215 MESessionTopologyStatus = 111, 4216 MESessionNotifyPresentationTime = 112, 4217 MENewPresentation = 113, 4218 MELicenseAcquisitionStart = 114, 4219 MELicenseAcquisitionCompleted = 115, 4220 MEIndividualizationStart = 116, 4221 MEIndividualizationCompleted = 117, 4222 MEEnablerProgress = 118, 4223 MEEnablerCompleted = 119, 4224 MEPolicyError = 120, 4225 MEPolicyReport = 121, 4226 MEBufferingStarted = 122, 4227 MEBufferingStopped = 123, 4228 MEConnectStart = 124, 4229 MEConnectEnd = 125, 4230 MEReconnectStart = 126, 4231 MEReconnectEnd = 127, 4232 MERendererEvent = 128, 4233 MESessionStreamSinkFormatChanged = 129, 4234 MESessionV1Anchor = MESessionStreamSinkFormatChanged, 4235 MESourceUnknown = 200, 4236 MESourceStarted = 201, 4237 MEStreamStarted = 202, 4238 MESourceSeeked = 203, 4239 MEStreamSeeked = 204, 4240 MENewStream = 205, 4241 MEUpdatedStream = 206, 4242 MESourceStopped = 207, 4243 MEStreamStopped = 208, 4244 MESourcePaused = 209, 4245 MEStreamPaused = 210, 4246 MEEndOfPresentation = 211, 4247 MEEndOfStream = 212, 4248 MEMediaSample = 213, 4249 MEStreamTick = 214, 4250 MEStreamThinMode = 215, 4251 MEStreamFormatChanged = 216, 4252 MESourceRateChanged = 217, 4253 MEEndOfPresentationSegment = 218, 4254 MESourceCharacteristicsChanged = 219, 4255 MESourceRateChangeRequested = 220, 4256 MESourceMetadataChanged = 221, 4257 MESequencerSourceTopologyUpdated = 222, 4258 MESourceV1Anchor = MESequencerSourceTopologyUpdated, 4259 MESinkUnknown = 300, 4260 MEStreamSinkStarted = 301, 4261 MEStreamSinkStopped = 302, 4262 MEStreamSinkPaused = 303, 4263 MEStreamSinkRateChanged = 304, 4264 MEStreamSinkRequestSample = 305, 4265 MEStreamSinkMarker = 306, 4266 MEStreamSinkPrerolled = 307, 4267 MEStreamSinkScrubSampleComplete = 308, 4268 MEStreamSinkFormatChanged = 309, 4269 MEStreamSinkDeviceChanged = 310, 4270 MEQualityNotify = 311, 4271 MESinkInvalidated = 312, 4272 MEAudioSessionNameChanged = 313, 4273 MEAudioSessionVolumeChanged = 314, 4274 MEAudioSessionDeviceRemoved = 315, 4275 MEAudioSessionServerShutdown = 316, 4276 MEAudioSessionGroupingParamChanged = 317, 4277 MEAudioSessionIconChanged = 318, 4278 MEAudioSessionFormatChanged = 319, 4279 MEAudioSessionDisconnected = 320, 4280 MEAudioSessionExclusiveModeOverride = 321, 4281 MESinkV1Anchor = MEAudioSessionExclusiveModeOverride, 4282 METrustUnknown = 400, 4283 MEPolicyChanged = 401, 4284 MEContentProtectionMessage = 402, 4285 MEPolicySet = 403, 4286 METrustV1Anchor = MEPolicySet, 4287 MEWMDRMLicenseBackupCompleted = 500, 4288 MEWMDRMLicenseBackupProgress = 501, 4289 MEWMDRMLicenseRestoreCompleted = 502, 4290 MEWMDRMLicenseRestoreProgress = 503, 4291 MEWMDRMLicenseAcquisitionCompleted = 506, 4292 MEWMDRMIndividualizationCompleted = 508, 4293 MEWMDRMIndividualizationProgress = 513, 4294 MEWMDRMProximityCompleted = 514, 4295 MEWMDRMLicenseStoreCleaned = 515, 4296 MEWMDRMRevocationDownloadCompleted = 516, 4297 MEWMDRMV1Anchor = MEWMDRMRevocationDownloadCompleted, 4298 MEReservedMax = 10000 4299 }; 4300 4301 4302 typedef DWORD MediaEventType; 4303 4304 /***************************************************************************** 4305 * IMFMediaEvent interface 4306 */ 4307 #ifndef __IMFMediaEvent_INTERFACE_DEFINED__ 4308 #define __IMFMediaEvent_INTERFACE_DEFINED__ 4309 4310 DEFINE_GUID(IID_IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3); 4311 #if defined(__cplusplus) && !defined(CINTERFACE) 4312 MIDL_INTERFACE("df598932-f10c-4e39-bba2-c308f101daa3") 4313 IMFMediaEvent : public IMFAttributes 4314 { 4315 virtual HRESULT STDMETHODCALLTYPE GetType( 4316 MediaEventType *pmet) = 0; 4317 4318 virtual HRESULT STDMETHODCALLTYPE GetExtendedType( 4319 GUID *pguidExtendedType) = 0; 4320 4321 virtual HRESULT STDMETHODCALLTYPE GetStatus( 4322 HRESULT *phrStatus) = 0; 4323 4324 virtual HRESULT STDMETHODCALLTYPE GetValue( 4325 PROPVARIANT *pvValue) = 0; 4326 4327 }; 4328 #ifdef __CRT_UUID_DECL 4329 __CRT_UUID_DECL(IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3) 4330 #endif 4331 #else 4332 typedef struct IMFMediaEventVtbl { 4333 BEGIN_INTERFACE 4334 4335 /*** IUnknown methods ***/ 4336 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4337 IMFMediaEvent* This, 4338 REFIID riid, 4339 void **ppvObject); 4340 4341 ULONG (STDMETHODCALLTYPE *AddRef)( 4342 IMFMediaEvent* This); 4343 4344 ULONG (STDMETHODCALLTYPE *Release)( 4345 IMFMediaEvent* This); 4346 4347 /*** IMFAttributes methods ***/ 4348 HRESULT (STDMETHODCALLTYPE *GetItem)( 4349 IMFMediaEvent* This, 4350 REFGUID guidKey, 4351 PROPVARIANT *pValue); 4352 4353 HRESULT (STDMETHODCALLTYPE *GetItemType)( 4354 IMFMediaEvent* This, 4355 REFGUID guidKey, 4356 MF_ATTRIBUTE_TYPE *pType); 4357 4358 HRESULT (STDMETHODCALLTYPE *CompareItem)( 4359 IMFMediaEvent* This, 4360 REFGUID guidKey, 4361 REFPROPVARIANT Value, 4362 WINBOOL *pbResult); 4363 4364 HRESULT (STDMETHODCALLTYPE *Compare)( 4365 IMFMediaEvent* This, 4366 IMFAttributes *pTheirs, 4367 MF_ATTRIBUTES_MATCH_TYPE MatchType, 4368 WINBOOL *pbResult); 4369 4370 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 4371 IMFMediaEvent* This, 4372 REFGUID guidKey, 4373 UINT32 *punValue); 4374 4375 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 4376 IMFMediaEvent* This, 4377 REFGUID guidKey, 4378 UINT64 *punValue); 4379 4380 HRESULT (STDMETHODCALLTYPE *GetDouble)( 4381 IMFMediaEvent* This, 4382 REFGUID guidKey, 4383 double *pfValue); 4384 4385 HRESULT (STDMETHODCALLTYPE *GetGUID)( 4386 IMFMediaEvent* This, 4387 REFGUID guidKey, 4388 GUID *pguidValue); 4389 4390 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 4391 IMFMediaEvent* This, 4392 REFGUID guidKey, 4393 UINT32 *pcchLength); 4394 4395 HRESULT (STDMETHODCALLTYPE *GetString)( 4396 IMFMediaEvent* This, 4397 REFGUID guidKey, 4398 LPWSTR pwszValue, 4399 UINT32 cchBufSize, 4400 UINT32 *pcchLength); 4401 4402 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 4403 IMFMediaEvent* This, 4404 REFGUID guidKey, 4405 LPWSTR *ppwszValue, 4406 UINT32 *pcchLength); 4407 4408 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 4409 IMFMediaEvent* This, 4410 REFGUID guidKey, 4411 UINT32 *pcbBlobSize); 4412 4413 HRESULT (STDMETHODCALLTYPE *GetBlob)( 4414 IMFMediaEvent* This, 4415 REFGUID guidKey, 4416 UINT8 *pBuf, 4417 UINT32 cbBufSize, 4418 UINT32 *pcbBlobSize); 4419 4420 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 4421 IMFMediaEvent* This, 4422 REFGUID guidKey, 4423 UINT8 **ppBuf, 4424 UINT32 *pcbSize); 4425 4426 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 4427 IMFMediaEvent* This, 4428 REFGUID guidKey, 4429 REFIID riid, 4430 LPVOID *ppv); 4431 4432 HRESULT (STDMETHODCALLTYPE *SetItem)( 4433 IMFMediaEvent* This, 4434 REFGUID guidKey, 4435 REFPROPVARIANT Value); 4436 4437 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 4438 IMFMediaEvent* This, 4439 REFGUID guidKey); 4440 4441 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 4442 IMFMediaEvent* This); 4443 4444 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 4445 IMFMediaEvent* This, 4446 REFGUID guidKey, 4447 UINT32 unValue); 4448 4449 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 4450 IMFMediaEvent* This, 4451 REFGUID guidKey, 4452 UINT64 unValue); 4453 4454 HRESULT (STDMETHODCALLTYPE *SetDouble)( 4455 IMFMediaEvent* This, 4456 REFGUID guidKey, 4457 double fValue); 4458 4459 HRESULT (STDMETHODCALLTYPE *SetGUID)( 4460 IMFMediaEvent* This, 4461 REFGUID guidKey, 4462 REFGUID guidValue); 4463 4464 HRESULT (STDMETHODCALLTYPE *SetString)( 4465 IMFMediaEvent* This, 4466 REFGUID guidKey, 4467 LPCWSTR wszValue); 4468 4469 HRESULT (STDMETHODCALLTYPE *SetBlob)( 4470 IMFMediaEvent* This, 4471 REFGUID guidKey, 4472 const UINT8 *pBuf, 4473 UINT32 cbBufSize); 4474 4475 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 4476 IMFMediaEvent* This, 4477 REFGUID guidKey, 4478 IUnknown *pUnknown); 4479 4480 HRESULT (STDMETHODCALLTYPE *LockStore)( 4481 IMFMediaEvent* This); 4482 4483 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 4484 IMFMediaEvent* This); 4485 4486 HRESULT (STDMETHODCALLTYPE *GetCount)( 4487 IMFMediaEvent* This, 4488 UINT32 *pcItems); 4489 4490 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 4491 IMFMediaEvent* This, 4492 UINT32 unIndex, 4493 GUID *pguidKey, 4494 PROPVARIANT *pValue); 4495 4496 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 4497 IMFMediaEvent* This, 4498 IMFAttributes *pDest); 4499 4500 /*** IMFMediaEvent methods ***/ 4501 HRESULT (STDMETHODCALLTYPE *GetType)( 4502 IMFMediaEvent* This, 4503 MediaEventType *pmet); 4504 4505 HRESULT (STDMETHODCALLTYPE *GetExtendedType)( 4506 IMFMediaEvent* This, 4507 GUID *pguidExtendedType); 4508 4509 HRESULT (STDMETHODCALLTYPE *GetStatus)( 4510 IMFMediaEvent* This, 4511 HRESULT *phrStatus); 4512 4513 HRESULT (STDMETHODCALLTYPE *GetValue)( 4514 IMFMediaEvent* This, 4515 PROPVARIANT *pvValue); 4516 4517 END_INTERFACE 4518 } IMFMediaEventVtbl; 4519 interface IMFMediaEvent { 4520 CONST_VTBL IMFMediaEventVtbl* lpVtbl; 4521 }; 4522 4523 #ifdef COBJMACROS 4524 #ifndef WIDL_C_INLINE_WRAPPERS 4525 /*** IUnknown methods ***/ 4526 #define IMFMediaEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4527 #define IMFMediaEvent_AddRef(This) (This)->lpVtbl->AddRef(This) 4528 #define IMFMediaEvent_Release(This) (This)->lpVtbl->Release(This) 4529 /*** IMFAttributes methods ***/ 4530 #define IMFMediaEvent_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 4531 #define IMFMediaEvent_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 4532 #define IMFMediaEvent_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 4533 #define IMFMediaEvent_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 4534 #define IMFMediaEvent_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 4535 #define IMFMediaEvent_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 4536 #define IMFMediaEvent_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 4537 #define IMFMediaEvent_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 4538 #define IMFMediaEvent_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 4539 #define IMFMediaEvent_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 4540 #define IMFMediaEvent_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 4541 #define IMFMediaEvent_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 4542 #define IMFMediaEvent_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 4543 #define IMFMediaEvent_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 4544 #define IMFMediaEvent_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 4545 #define IMFMediaEvent_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 4546 #define IMFMediaEvent_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 4547 #define IMFMediaEvent_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 4548 #define IMFMediaEvent_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 4549 #define IMFMediaEvent_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 4550 #define IMFMediaEvent_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 4551 #define IMFMediaEvent_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 4552 #define IMFMediaEvent_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 4553 #define IMFMediaEvent_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 4554 #define IMFMediaEvent_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 4555 #define IMFMediaEvent_LockStore(This) (This)->lpVtbl->LockStore(This) 4556 #define IMFMediaEvent_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 4557 #define IMFMediaEvent_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 4558 #define IMFMediaEvent_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 4559 #define IMFMediaEvent_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 4560 /*** IMFMediaEvent methods ***/ 4561 #define IMFMediaEvent_GetType(This,pmet) (This)->lpVtbl->GetType(This,pmet) 4562 #define IMFMediaEvent_GetExtendedType(This,pguidExtendedType) (This)->lpVtbl->GetExtendedType(This,pguidExtendedType) 4563 #define IMFMediaEvent_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus) 4564 #define IMFMediaEvent_GetValue(This,pvValue) (This)->lpVtbl->GetValue(This,pvValue) 4565 #else 4566 /*** IUnknown methods ***/ 4567 static FORCEINLINE HRESULT IMFMediaEvent_QueryInterface(IMFMediaEvent* This,REFIID riid,void **ppvObject) { 4568 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4569 } 4570 static FORCEINLINE ULONG IMFMediaEvent_AddRef(IMFMediaEvent* This) { 4571 return This->lpVtbl->AddRef(This); 4572 } 4573 static FORCEINLINE ULONG IMFMediaEvent_Release(IMFMediaEvent* This) { 4574 return This->lpVtbl->Release(This); 4575 } 4576 /*** IMFAttributes methods ***/ 4577 static FORCEINLINE HRESULT IMFMediaEvent_GetItem(IMFMediaEvent* This,REFGUID guidKey,PROPVARIANT *pValue) { 4578 return This->lpVtbl->GetItem(This,guidKey,pValue); 4579 } 4580 static FORCEINLINE HRESULT IMFMediaEvent_GetItemType(IMFMediaEvent* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 4581 return This->lpVtbl->GetItemType(This,guidKey,pType); 4582 } 4583 static FORCEINLINE HRESULT IMFMediaEvent_CompareItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 4584 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 4585 } 4586 static FORCEINLINE HRESULT IMFMediaEvent_Compare(IMFMediaEvent* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 4587 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 4588 } 4589 static FORCEINLINE HRESULT IMFMediaEvent_GetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 *punValue) { 4590 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 4591 } 4592 static FORCEINLINE HRESULT IMFMediaEvent_GetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 *punValue) { 4593 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 4594 } 4595 static FORCEINLINE HRESULT IMFMediaEvent_GetDouble(IMFMediaEvent* This,REFGUID guidKey,double *pfValue) { 4596 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 4597 } 4598 static FORCEINLINE HRESULT IMFMediaEvent_GetGUID(IMFMediaEvent* This,REFGUID guidKey,GUID *pguidValue) { 4599 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 4600 } 4601 static FORCEINLINE HRESULT IMFMediaEvent_GetStringLength(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcchLength) { 4602 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 4603 } 4604 static FORCEINLINE HRESULT IMFMediaEvent_GetString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 4605 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 4606 } 4607 static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 4608 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 4609 } 4610 static FORCEINLINE HRESULT IMFMediaEvent_GetBlobSize(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 4611 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 4612 } 4613 static FORCEINLINE HRESULT IMFMediaEvent_GetBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 4614 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 4615 } 4616 static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 4617 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 4618 } 4619 static FORCEINLINE HRESULT IMFMediaEvent_GetUnknown(IMFMediaEvent* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 4620 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 4621 } 4622 static FORCEINLINE HRESULT IMFMediaEvent_SetItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value) { 4623 return This->lpVtbl->SetItem(This,guidKey,Value); 4624 } 4625 static FORCEINLINE HRESULT IMFMediaEvent_DeleteItem(IMFMediaEvent* This,REFGUID guidKey) { 4626 return This->lpVtbl->DeleteItem(This,guidKey); 4627 } 4628 static FORCEINLINE HRESULT IMFMediaEvent_DeleteAllItems(IMFMediaEvent* This) { 4629 return This->lpVtbl->DeleteAllItems(This); 4630 } 4631 static FORCEINLINE HRESULT IMFMediaEvent_SetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 unValue) { 4632 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 4633 } 4634 static FORCEINLINE HRESULT IMFMediaEvent_SetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 unValue) { 4635 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 4636 } 4637 static FORCEINLINE HRESULT IMFMediaEvent_SetDouble(IMFMediaEvent* This,REFGUID guidKey,double fValue) { 4638 return This->lpVtbl->SetDouble(This,guidKey,fValue); 4639 } 4640 static FORCEINLINE HRESULT IMFMediaEvent_SetGUID(IMFMediaEvent* This,REFGUID guidKey,REFGUID guidValue) { 4641 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 4642 } 4643 static FORCEINLINE HRESULT IMFMediaEvent_SetString(IMFMediaEvent* This,REFGUID guidKey,LPCWSTR wszValue) { 4644 return This->lpVtbl->SetString(This,guidKey,wszValue); 4645 } 4646 static FORCEINLINE HRESULT IMFMediaEvent_SetBlob(IMFMediaEvent* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 4647 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 4648 } 4649 static FORCEINLINE HRESULT IMFMediaEvent_SetUnknown(IMFMediaEvent* This,REFGUID guidKey,IUnknown *pUnknown) { 4650 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 4651 } 4652 static FORCEINLINE HRESULT IMFMediaEvent_LockStore(IMFMediaEvent* This) { 4653 return This->lpVtbl->LockStore(This); 4654 } 4655 static FORCEINLINE HRESULT IMFMediaEvent_UnlockStore(IMFMediaEvent* This) { 4656 return This->lpVtbl->UnlockStore(This); 4657 } 4658 static FORCEINLINE HRESULT IMFMediaEvent_GetCount(IMFMediaEvent* This,UINT32 *pcItems) { 4659 return This->lpVtbl->GetCount(This,pcItems); 4660 } 4661 static FORCEINLINE HRESULT IMFMediaEvent_GetItemByIndex(IMFMediaEvent* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 4662 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 4663 } 4664 static FORCEINLINE HRESULT IMFMediaEvent_CopyAllItems(IMFMediaEvent* This,IMFAttributes *pDest) { 4665 return This->lpVtbl->CopyAllItems(This,pDest); 4666 } 4667 /*** IMFMediaEvent methods ***/ 4668 static FORCEINLINE HRESULT IMFMediaEvent_GetType(IMFMediaEvent* This,MediaEventType *pmet) { 4669 return This->lpVtbl->GetType(This,pmet); 4670 } 4671 static FORCEINLINE HRESULT IMFMediaEvent_GetExtendedType(IMFMediaEvent* This,GUID *pguidExtendedType) { 4672 return This->lpVtbl->GetExtendedType(This,pguidExtendedType); 4673 } 4674 static FORCEINLINE HRESULT IMFMediaEvent_GetStatus(IMFMediaEvent* This,HRESULT *phrStatus) { 4675 return This->lpVtbl->GetStatus(This,phrStatus); 4676 } 4677 static FORCEINLINE HRESULT IMFMediaEvent_GetValue(IMFMediaEvent* This,PROPVARIANT *pvValue) { 4678 return This->lpVtbl->GetValue(This,pvValue); 4679 } 4680 #endif 4681 #endif 4682 4683 #endif 4684 4685 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetType_Proxy( 4686 IMFMediaEvent* This, 4687 MediaEventType *pmet); 4688 void __RPC_STUB IMFMediaEvent_GetType_Stub( 4689 IRpcStubBuffer* This, 4690 IRpcChannelBuffer* pRpcChannelBuffer, 4691 PRPC_MESSAGE pRpcMessage, 4692 DWORD* pdwStubPhase); 4693 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetExtendedType_Proxy( 4694 IMFMediaEvent* This, 4695 GUID *pguidExtendedType); 4696 void __RPC_STUB IMFMediaEvent_GetExtendedType_Stub( 4697 IRpcStubBuffer* This, 4698 IRpcChannelBuffer* pRpcChannelBuffer, 4699 PRPC_MESSAGE pRpcMessage, 4700 DWORD* pdwStubPhase); 4701 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetStatus_Proxy( 4702 IMFMediaEvent* This, 4703 HRESULT *phrStatus); 4704 void __RPC_STUB IMFMediaEvent_GetStatus_Stub( 4705 IRpcStubBuffer* This, 4706 IRpcChannelBuffer* pRpcChannelBuffer, 4707 PRPC_MESSAGE pRpcMessage, 4708 DWORD* pdwStubPhase); 4709 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetValue_Proxy( 4710 IMFMediaEvent* This, 4711 PROPVARIANT *pvValue); 4712 void __RPC_STUB IMFMediaEvent_GetValue_Stub( 4713 IRpcStubBuffer* This, 4714 IRpcChannelBuffer* pRpcChannelBuffer, 4715 PRPC_MESSAGE pRpcMessage, 4716 DWORD* pdwStubPhase); 4717 4718 #endif /* __IMFMediaEvent_INTERFACE_DEFINED__ */ 4719 4720 4721 #define MF_EVENT_FLAG_NO_WAIT 0x00000001 4722 4723 #ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ 4724 #define __IMFRemoteAsyncCallback_FWD_DEFINED__ 4725 typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; 4726 #endif 4727 4728 4729 /***************************************************************************** 4730 * IMFMediaEventGenerator interface 4731 */ 4732 #ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__ 4733 #define __IMFMediaEventGenerator_INTERFACE_DEFINED__ 4734 4735 DEFINE_GUID(IID_IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d); 4736 #if defined(__cplusplus) && !defined(CINTERFACE) 4737 MIDL_INTERFACE("2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d") 4738 IMFMediaEventGenerator : public IUnknown 4739 { 4740 virtual HRESULT STDMETHODCALLTYPE GetEvent( 4741 DWORD dwFlags, 4742 IMFMediaEvent **ppEvent) = 0; 4743 4744 virtual HRESULT STDMETHODCALLTYPE BeginGetEvent( 4745 IMFAsyncCallback *pCallback, 4746 IUnknown *punkState) = 0; 4747 4748 virtual HRESULT STDMETHODCALLTYPE EndGetEvent( 4749 IMFAsyncResult *pResult, 4750 IMFMediaEvent **ppEvent) = 0; 4751 4752 virtual HRESULT STDMETHODCALLTYPE QueueEvent( 4753 MediaEventType met, 4754 REFGUID guidExtendedType, 4755 HRESULT hrStatus, 4756 const PROPVARIANT *pvValue) = 0; 4757 4758 }; 4759 #ifdef __CRT_UUID_DECL 4760 __CRT_UUID_DECL(IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d) 4761 #endif 4762 #else 4763 typedef struct IMFMediaEventGeneratorVtbl { 4764 BEGIN_INTERFACE 4765 4766 /*** IUnknown methods ***/ 4767 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4768 IMFMediaEventGenerator* This, 4769 REFIID riid, 4770 void **ppvObject); 4771 4772 ULONG (STDMETHODCALLTYPE *AddRef)( 4773 IMFMediaEventGenerator* This); 4774 4775 ULONG (STDMETHODCALLTYPE *Release)( 4776 IMFMediaEventGenerator* This); 4777 4778 /*** IMFMediaEventGenerator methods ***/ 4779 HRESULT (STDMETHODCALLTYPE *GetEvent)( 4780 IMFMediaEventGenerator* This, 4781 DWORD dwFlags, 4782 IMFMediaEvent **ppEvent); 4783 4784 HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( 4785 IMFMediaEventGenerator* This, 4786 IMFAsyncCallback *pCallback, 4787 IUnknown *punkState); 4788 4789 HRESULT (STDMETHODCALLTYPE *EndGetEvent)( 4790 IMFMediaEventGenerator* This, 4791 IMFAsyncResult *pResult, 4792 IMFMediaEvent **ppEvent); 4793 4794 HRESULT (STDMETHODCALLTYPE *QueueEvent)( 4795 IMFMediaEventGenerator* This, 4796 MediaEventType met, 4797 REFGUID guidExtendedType, 4798 HRESULT hrStatus, 4799 const PROPVARIANT *pvValue); 4800 4801 END_INTERFACE 4802 } IMFMediaEventGeneratorVtbl; 4803 interface IMFMediaEventGenerator { 4804 CONST_VTBL IMFMediaEventGeneratorVtbl* lpVtbl; 4805 }; 4806 4807 #ifdef COBJMACROS 4808 #ifndef WIDL_C_INLINE_WRAPPERS 4809 /*** IUnknown methods ***/ 4810 #define IMFMediaEventGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4811 #define IMFMediaEventGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) 4812 #define IMFMediaEventGenerator_Release(This) (This)->lpVtbl->Release(This) 4813 /*** IMFMediaEventGenerator methods ***/ 4814 #define IMFMediaEventGenerator_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) 4815 #define IMFMediaEventGenerator_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) 4816 #define IMFMediaEventGenerator_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) 4817 #define IMFMediaEventGenerator_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) 4818 #else 4819 /*** IUnknown methods ***/ 4820 static FORCEINLINE HRESULT IMFMediaEventGenerator_QueryInterface(IMFMediaEventGenerator* This,REFIID riid,void **ppvObject) { 4821 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4822 } 4823 static FORCEINLINE ULONG IMFMediaEventGenerator_AddRef(IMFMediaEventGenerator* This) { 4824 return This->lpVtbl->AddRef(This); 4825 } 4826 static FORCEINLINE ULONG IMFMediaEventGenerator_Release(IMFMediaEventGenerator* This) { 4827 return This->lpVtbl->Release(This); 4828 } 4829 /*** IMFMediaEventGenerator methods ***/ 4830 static FORCEINLINE HRESULT IMFMediaEventGenerator_GetEvent(IMFMediaEventGenerator* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { 4831 return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); 4832 } 4833 static FORCEINLINE HRESULT IMFMediaEventGenerator_BeginGetEvent(IMFMediaEventGenerator* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { 4834 return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); 4835 } 4836 static FORCEINLINE HRESULT IMFMediaEventGenerator_EndGetEvent(IMFMediaEventGenerator* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { 4837 return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); 4838 } 4839 static FORCEINLINE HRESULT IMFMediaEventGenerator_QueueEvent(IMFMediaEventGenerator* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { 4840 return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); 4841 } 4842 #endif 4843 #endif 4844 4845 #endif 4846 4847 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_GetEvent_Proxy( 4848 IMFMediaEventGenerator* This, 4849 DWORD dwFlags, 4850 IMFMediaEvent **ppEvent); 4851 void __RPC_STUB IMFMediaEventGenerator_GetEvent_Stub( 4852 IRpcStubBuffer* This, 4853 IRpcChannelBuffer* pRpcChannelBuffer, 4854 PRPC_MESSAGE pRpcMessage, 4855 DWORD* pdwStubPhase); 4856 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteBeginGetEvent_Proxy( 4857 IMFMediaEventGenerator* This, 4858 IMFRemoteAsyncCallback *pCallback); 4859 void __RPC_STUB IMFMediaEventGenerator_RemoteBeginGetEvent_Stub( 4860 IRpcStubBuffer* This, 4861 IRpcChannelBuffer* pRpcChannelBuffer, 4862 PRPC_MESSAGE pRpcMessage, 4863 DWORD* pdwStubPhase); 4864 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteEndGetEvent_Proxy( 4865 IMFMediaEventGenerator* This, 4866 IUnknown *pResult, 4867 DWORD *pcbEvent, 4868 BYTE **ppbEvent); 4869 void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub( 4870 IRpcStubBuffer* This, 4871 IRpcChannelBuffer* pRpcChannelBuffer, 4872 PRPC_MESSAGE pRpcMessage, 4873 DWORD* pdwStubPhase); 4874 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_QueueEvent_Proxy( 4875 IMFMediaEventGenerator* This, 4876 MediaEventType met, 4877 REFGUID guidExtendedType, 4878 HRESULT hrStatus, 4879 const PROPVARIANT *pvValue); 4880 void __RPC_STUB IMFMediaEventGenerator_QueueEvent_Stub( 4881 IRpcStubBuffer* This, 4882 IRpcChannelBuffer* pRpcChannelBuffer, 4883 PRPC_MESSAGE pRpcMessage, 4884 DWORD* pdwStubPhase); 4885 HRESULT CALLBACK IMFMediaEventGenerator_BeginGetEvent_Proxy( 4886 IMFMediaEventGenerator* This, 4887 IMFAsyncCallback *pCallback, 4888 IUnknown *punkState); 4889 HRESULT __RPC_STUB IMFMediaEventGenerator_BeginGetEvent_Stub( 4890 IMFMediaEventGenerator* This, 4891 IMFRemoteAsyncCallback *pCallback); 4892 HRESULT CALLBACK IMFMediaEventGenerator_EndGetEvent_Proxy( 4893 IMFMediaEventGenerator* This, 4894 IMFAsyncResult *pResult, 4895 IMFMediaEvent **ppEvent); 4896 HRESULT __RPC_STUB IMFMediaEventGenerator_EndGetEvent_Stub( 4897 IMFMediaEventGenerator* This, 4898 IUnknown *pResult, 4899 DWORD *pcbEvent, 4900 BYTE **ppbEvent); 4901 4902 #endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */ 4903 4904 #endif 4905 4906 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 4907 /***************************************************************************** 4908 * IMFRemoteAsyncCallback interface 4909 */ 4910 #ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ 4911 #define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ 4912 4913 DEFINE_GUID(IID_IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 4914 #if defined(__cplusplus) && !defined(CINTERFACE) 4915 MIDL_INTERFACE("a27003d0-2354-4f2a-8d6a-ab7cff15437e") 4916 IMFRemoteAsyncCallback : public IUnknown 4917 { 4918 virtual HRESULT STDMETHODCALLTYPE Invoke( 4919 HRESULT hr, 4920 IUnknown *pRemoteResult) = 0; 4921 4922 }; 4923 #ifdef __CRT_UUID_DECL 4924 __CRT_UUID_DECL(IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) 4925 #endif 4926 #else 4927 typedef struct IMFRemoteAsyncCallbackVtbl { 4928 BEGIN_INTERFACE 4929 4930 /*** IUnknown methods ***/ 4931 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4932 IMFRemoteAsyncCallback* This, 4933 REFIID riid, 4934 void **ppvObject); 4935 4936 ULONG (STDMETHODCALLTYPE *AddRef)( 4937 IMFRemoteAsyncCallback* This); 4938 4939 ULONG (STDMETHODCALLTYPE *Release)( 4940 IMFRemoteAsyncCallback* This); 4941 4942 /*** IMFRemoteAsyncCallback methods ***/ 4943 HRESULT (STDMETHODCALLTYPE *Invoke)( 4944 IMFRemoteAsyncCallback* This, 4945 HRESULT hr, 4946 IUnknown *pRemoteResult); 4947 4948 END_INTERFACE 4949 } IMFRemoteAsyncCallbackVtbl; 4950 interface IMFRemoteAsyncCallback { 4951 CONST_VTBL IMFRemoteAsyncCallbackVtbl* lpVtbl; 4952 }; 4953 4954 #ifdef COBJMACROS 4955 #ifndef WIDL_C_INLINE_WRAPPERS 4956 /*** IUnknown methods ***/ 4957 #define IMFRemoteAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4958 #define IMFRemoteAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 4959 #define IMFRemoteAsyncCallback_Release(This) (This)->lpVtbl->Release(This) 4960 /*** IMFRemoteAsyncCallback methods ***/ 4961 #define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) (This)->lpVtbl->Invoke(This,hr,pRemoteResult) 4962 #else 4963 /*** IUnknown methods ***/ 4964 static FORCEINLINE HRESULT IMFRemoteAsyncCallback_QueryInterface(IMFRemoteAsyncCallback* This,REFIID riid,void **ppvObject) { 4965 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4966 } 4967 static FORCEINLINE ULONG IMFRemoteAsyncCallback_AddRef(IMFRemoteAsyncCallback* This) { 4968 return This->lpVtbl->AddRef(This); 4969 } 4970 static FORCEINLINE ULONG IMFRemoteAsyncCallback_Release(IMFRemoteAsyncCallback* This) { 4971 return This->lpVtbl->Release(This); 4972 } 4973 /*** IMFRemoteAsyncCallback methods ***/ 4974 static FORCEINLINE HRESULT IMFRemoteAsyncCallback_Invoke(IMFRemoteAsyncCallback* This,HRESULT hr,IUnknown *pRemoteResult) { 4975 return This->lpVtbl->Invoke(This,hr,pRemoteResult); 4976 } 4977 #endif 4978 #endif 4979 4980 #endif 4981 4982 HRESULT STDMETHODCALLTYPE IMFRemoteAsyncCallback_Invoke_Proxy( 4983 IMFRemoteAsyncCallback* This, 4984 HRESULT hr, 4985 IUnknown *pRemoteResult); 4986 void __RPC_STUB IMFRemoteAsyncCallback_Invoke_Stub( 4987 IRpcStubBuffer* This, 4988 IRpcChannelBuffer* pRpcChannelBuffer, 4989 PRPC_MESSAGE pRpcMessage, 4990 DWORD* pdwStubPhase); 4991 4992 #endif /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */ 4993 4994 #endif 4995 4996 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 4997 4998 typedef enum _MFBYTESTREAM_SEEK_ORIGIN { 4999 msoBegin = 0, 5000 msoCurrent = 1 5001 } MFBYTESTREAM_SEEK_ORIGIN; 5002 5003 /***************************************************************************** 5004 * IMFByteStream interface 5005 */ 5006 #ifndef __IMFByteStream_INTERFACE_DEFINED__ 5007 #define __IMFByteStream_INTERFACE_DEFINED__ 5008 5009 DEFINE_GUID(IID_IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d); 5010 #if defined(__cplusplus) && !defined(CINTERFACE) 5011 MIDL_INTERFACE("ad4c1b00-4bf7-422f-9175-756693d9130d") 5012 IMFByteStream : public IUnknown 5013 { 5014 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 5015 DWORD *pdwCapabilities) = 0; 5016 5017 virtual HRESULT STDMETHODCALLTYPE GetLength( 5018 QWORD *pqwLength) = 0; 5019 5020 virtual HRESULT STDMETHODCALLTYPE SetLength( 5021 QWORD qwLength) = 0; 5022 5023 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 5024 QWORD *pqwPosition) = 0; 5025 5026 virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition( 5027 QWORD qwPosition) = 0; 5028 5029 virtual HRESULT STDMETHODCALLTYPE IsEndOfStream( 5030 WINBOOL *pfEndOfStream) = 0; 5031 5032 virtual HRESULT STDMETHODCALLTYPE Read( 5033 BYTE *pb, 5034 ULONG cb, 5035 ULONG *pcbRead) = 0; 5036 5037 virtual HRESULT STDMETHODCALLTYPE BeginRead( 5038 BYTE *pb, 5039 ULONG cb, 5040 IMFAsyncCallback *pCallback, 5041 IUnknown *punkState) = 0; 5042 5043 virtual HRESULT STDMETHODCALLTYPE EndRead( 5044 IMFAsyncResult *pResult, 5045 ULONG *pcbRead) = 0; 5046 5047 virtual HRESULT STDMETHODCALLTYPE Write( 5048 const BYTE *pb, 5049 ULONG cb, 5050 ULONG *pcbWritten) = 0; 5051 5052 virtual HRESULT STDMETHODCALLTYPE BeginWrite( 5053 const BYTE *pb, 5054 ULONG cb, 5055 IMFAsyncCallback *pCallback, 5056 IUnknown *punkState) = 0; 5057 5058 virtual HRESULT STDMETHODCALLTYPE EndWrite( 5059 IMFAsyncResult *pResult, 5060 ULONG *pcbWritten) = 0; 5061 5062 virtual HRESULT STDMETHODCALLTYPE Seek( 5063 MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, 5064 LONGLONG llSeekOffset, 5065 DWORD dwSeekFlags, 5066 QWORD *pqwCurrentPosition) = 0; 5067 5068 virtual HRESULT STDMETHODCALLTYPE Flush( 5069 ) = 0; 5070 5071 virtual HRESULT STDMETHODCALLTYPE Close( 5072 ) = 0; 5073 5074 }; 5075 #ifdef __CRT_UUID_DECL 5076 __CRT_UUID_DECL(IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d) 5077 #endif 5078 #else 5079 typedef struct IMFByteStreamVtbl { 5080 BEGIN_INTERFACE 5081 5082 /*** IUnknown methods ***/ 5083 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5084 IMFByteStream* This, 5085 REFIID riid, 5086 void **ppvObject); 5087 5088 ULONG (STDMETHODCALLTYPE *AddRef)( 5089 IMFByteStream* This); 5090 5091 ULONG (STDMETHODCALLTYPE *Release)( 5092 IMFByteStream* This); 5093 5094 /*** IMFByteStream methods ***/ 5095 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 5096 IMFByteStream* This, 5097 DWORD *pdwCapabilities); 5098 5099 HRESULT (STDMETHODCALLTYPE *GetLength)( 5100 IMFByteStream* This, 5101 QWORD *pqwLength); 5102 5103 HRESULT (STDMETHODCALLTYPE *SetLength)( 5104 IMFByteStream* This, 5105 QWORD qwLength); 5106 5107 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 5108 IMFByteStream* This, 5109 QWORD *pqwPosition); 5110 5111 HRESULT (STDMETHODCALLTYPE *SetCurrentPosition)( 5112 IMFByteStream* This, 5113 QWORD qwPosition); 5114 5115 HRESULT (STDMETHODCALLTYPE *IsEndOfStream)( 5116 IMFByteStream* This, 5117 WINBOOL *pfEndOfStream); 5118 5119 HRESULT (STDMETHODCALLTYPE *Read)( 5120 IMFByteStream* This, 5121 BYTE *pb, 5122 ULONG cb, 5123 ULONG *pcbRead); 5124 5125 HRESULT (STDMETHODCALLTYPE *BeginRead)( 5126 IMFByteStream* This, 5127 BYTE *pb, 5128 ULONG cb, 5129 IMFAsyncCallback *pCallback, 5130 IUnknown *punkState); 5131 5132 HRESULT (STDMETHODCALLTYPE *EndRead)( 5133 IMFByteStream* This, 5134 IMFAsyncResult *pResult, 5135 ULONG *pcbRead); 5136 5137 HRESULT (STDMETHODCALLTYPE *Write)( 5138 IMFByteStream* This, 5139 const BYTE *pb, 5140 ULONG cb, 5141 ULONG *pcbWritten); 5142 5143 HRESULT (STDMETHODCALLTYPE *BeginWrite)( 5144 IMFByteStream* This, 5145 const BYTE *pb, 5146 ULONG cb, 5147 IMFAsyncCallback *pCallback, 5148 IUnknown *punkState); 5149 5150 HRESULT (STDMETHODCALLTYPE *EndWrite)( 5151 IMFByteStream* This, 5152 IMFAsyncResult *pResult, 5153 ULONG *pcbWritten); 5154 5155 HRESULT (STDMETHODCALLTYPE *Seek)( 5156 IMFByteStream* This, 5157 MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, 5158 LONGLONG llSeekOffset, 5159 DWORD dwSeekFlags, 5160 QWORD *pqwCurrentPosition); 5161 5162 HRESULT (STDMETHODCALLTYPE *Flush)( 5163 IMFByteStream* This); 5164 5165 HRESULT (STDMETHODCALLTYPE *Close)( 5166 IMFByteStream* This); 5167 5168 END_INTERFACE 5169 } IMFByteStreamVtbl; 5170 interface IMFByteStream { 5171 CONST_VTBL IMFByteStreamVtbl* lpVtbl; 5172 }; 5173 5174 #ifdef COBJMACROS 5175 #ifndef WIDL_C_INLINE_WRAPPERS 5176 /*** IUnknown methods ***/ 5177 #define IMFByteStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5178 #define IMFByteStream_AddRef(This) (This)->lpVtbl->AddRef(This) 5179 #define IMFByteStream_Release(This) (This)->lpVtbl->Release(This) 5180 /*** IMFByteStream methods ***/ 5181 #define IMFByteStream_GetCapabilities(This,pdwCapabilities) (This)->lpVtbl->GetCapabilities(This,pdwCapabilities) 5182 #define IMFByteStream_GetLength(This,pqwLength) (This)->lpVtbl->GetLength(This,pqwLength) 5183 #define IMFByteStream_SetLength(This,qwLength) (This)->lpVtbl->SetLength(This,qwLength) 5184 #define IMFByteStream_GetCurrentPosition(This,pqwPosition) (This)->lpVtbl->GetCurrentPosition(This,pqwPosition) 5185 #define IMFByteStream_SetCurrentPosition(This,qwPosition) (This)->lpVtbl->SetCurrentPosition(This,qwPosition) 5186 #define IMFByteStream_IsEndOfStream(This,pfEndOfStream) (This)->lpVtbl->IsEndOfStream(This,pfEndOfStream) 5187 #define IMFByteStream_Read(This,pb,cb,pcbRead) (This)->lpVtbl->Read(This,pb,cb,pcbRead) 5188 #define IMFByteStream_BeginRead(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState) 5189 #define IMFByteStream_EndRead(This,pResult,pcbRead) (This)->lpVtbl->EndRead(This,pResult,pcbRead) 5190 #define IMFByteStream_Write(This,pb,cb,pcbWritten) (This)->lpVtbl->Write(This,pb,cb,pcbWritten) 5191 #define IMFByteStream_BeginWrite(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState) 5192 #define IMFByteStream_EndWrite(This,pResult,pcbWritten) (This)->lpVtbl->EndWrite(This,pResult,pcbWritten) 5193 #define IMFByteStream_Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) (This)->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) 5194 #define IMFByteStream_Flush(This) (This)->lpVtbl->Flush(This) 5195 #define IMFByteStream_Close(This) (This)->lpVtbl->Close(This) 5196 #else 5197 /*** IUnknown methods ***/ 5198 static FORCEINLINE HRESULT IMFByteStream_QueryInterface(IMFByteStream* This,REFIID riid,void **ppvObject) { 5199 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5200 } 5201 static FORCEINLINE ULONG IMFByteStream_AddRef(IMFByteStream* This) { 5202 return This->lpVtbl->AddRef(This); 5203 } 5204 static FORCEINLINE ULONG IMFByteStream_Release(IMFByteStream* This) { 5205 return This->lpVtbl->Release(This); 5206 } 5207 /*** IMFByteStream methods ***/ 5208 static FORCEINLINE HRESULT IMFByteStream_GetCapabilities(IMFByteStream* This,DWORD *pdwCapabilities) { 5209 return This->lpVtbl->GetCapabilities(This,pdwCapabilities); 5210 } 5211 static FORCEINLINE HRESULT IMFByteStream_GetLength(IMFByteStream* This,QWORD *pqwLength) { 5212 return This->lpVtbl->GetLength(This,pqwLength); 5213 } 5214 static FORCEINLINE HRESULT IMFByteStream_SetLength(IMFByteStream* This,QWORD qwLength) { 5215 return This->lpVtbl->SetLength(This,qwLength); 5216 } 5217 static FORCEINLINE HRESULT IMFByteStream_GetCurrentPosition(IMFByteStream* This,QWORD *pqwPosition) { 5218 return This->lpVtbl->GetCurrentPosition(This,pqwPosition); 5219 } 5220 static FORCEINLINE HRESULT IMFByteStream_SetCurrentPosition(IMFByteStream* This,QWORD qwPosition) { 5221 return This->lpVtbl->SetCurrentPosition(This,qwPosition); 5222 } 5223 static FORCEINLINE HRESULT IMFByteStream_IsEndOfStream(IMFByteStream* This,WINBOOL *pfEndOfStream) { 5224 return This->lpVtbl->IsEndOfStream(This,pfEndOfStream); 5225 } 5226 static FORCEINLINE HRESULT IMFByteStream_Read(IMFByteStream* This,BYTE *pb,ULONG cb,ULONG *pcbRead) { 5227 return This->lpVtbl->Read(This,pb,cb,pcbRead); 5228 } 5229 static FORCEINLINE HRESULT IMFByteStream_BeginRead(IMFByteStream* This,BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { 5230 return This->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState); 5231 } 5232 static FORCEINLINE HRESULT IMFByteStream_EndRead(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbRead) { 5233 return This->lpVtbl->EndRead(This,pResult,pcbRead); 5234 } 5235 static FORCEINLINE HRESULT IMFByteStream_Write(IMFByteStream* This,const BYTE *pb,ULONG cb,ULONG *pcbWritten) { 5236 return This->lpVtbl->Write(This,pb,cb,pcbWritten); 5237 } 5238 static FORCEINLINE HRESULT IMFByteStream_BeginWrite(IMFByteStream* This,const BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { 5239 return This->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState); 5240 } 5241 static FORCEINLINE HRESULT IMFByteStream_EndWrite(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbWritten) { 5242 return This->lpVtbl->EndWrite(This,pResult,pcbWritten); 5243 } 5244 static FORCEINLINE HRESULT IMFByteStream_Seek(IMFByteStream* This,MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,LONGLONG llSeekOffset,DWORD dwSeekFlags,QWORD *pqwCurrentPosition) { 5245 return This->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition); 5246 } 5247 static FORCEINLINE HRESULT IMFByteStream_Flush(IMFByteStream* This) { 5248 return This->lpVtbl->Flush(This); 5249 } 5250 static FORCEINLINE HRESULT IMFByteStream_Close(IMFByteStream* This) { 5251 return This->lpVtbl->Close(This); 5252 } 5253 #endif 5254 #endif 5255 5256 #endif 5257 5258 HRESULT STDMETHODCALLTYPE IMFByteStream_GetCapabilities_Proxy( 5259 IMFByteStream* This, 5260 DWORD *pdwCapabilities); 5261 void __RPC_STUB IMFByteStream_GetCapabilities_Stub( 5262 IRpcStubBuffer* This, 5263 IRpcChannelBuffer* pRpcChannelBuffer, 5264 PRPC_MESSAGE pRpcMessage, 5265 DWORD* pdwStubPhase); 5266 HRESULT STDMETHODCALLTYPE IMFByteStream_GetLength_Proxy( 5267 IMFByteStream* This, 5268 QWORD *pqwLength); 5269 void __RPC_STUB IMFByteStream_GetLength_Stub( 5270 IRpcStubBuffer* This, 5271 IRpcChannelBuffer* pRpcChannelBuffer, 5272 PRPC_MESSAGE pRpcMessage, 5273 DWORD* pdwStubPhase); 5274 HRESULT STDMETHODCALLTYPE IMFByteStream_SetLength_Proxy( 5275 IMFByteStream* This, 5276 QWORD qwLength); 5277 void __RPC_STUB IMFByteStream_SetLength_Stub( 5278 IRpcStubBuffer* This, 5279 IRpcChannelBuffer* pRpcChannelBuffer, 5280 PRPC_MESSAGE pRpcMessage, 5281 DWORD* pdwStubPhase); 5282 HRESULT STDMETHODCALLTYPE IMFByteStream_GetCurrentPosition_Proxy( 5283 IMFByteStream* This, 5284 QWORD *pqwPosition); 5285 void __RPC_STUB IMFByteStream_GetCurrentPosition_Stub( 5286 IRpcStubBuffer* This, 5287 IRpcChannelBuffer* pRpcChannelBuffer, 5288 PRPC_MESSAGE pRpcMessage, 5289 DWORD* pdwStubPhase); 5290 HRESULT STDMETHODCALLTYPE IMFByteStream_SetCurrentPosition_Proxy( 5291 IMFByteStream* This, 5292 QWORD qwPosition); 5293 void __RPC_STUB IMFByteStream_SetCurrentPosition_Stub( 5294 IRpcStubBuffer* This, 5295 IRpcChannelBuffer* pRpcChannelBuffer, 5296 PRPC_MESSAGE pRpcMessage, 5297 DWORD* pdwStubPhase); 5298 HRESULT STDMETHODCALLTYPE IMFByteStream_IsEndOfStream_Proxy( 5299 IMFByteStream* This, 5300 WINBOOL *pfEndOfStream); 5301 void __RPC_STUB IMFByteStream_IsEndOfStream_Stub( 5302 IRpcStubBuffer* This, 5303 IRpcChannelBuffer* pRpcChannelBuffer, 5304 PRPC_MESSAGE pRpcMessage, 5305 DWORD* pdwStubPhase); 5306 HRESULT STDMETHODCALLTYPE IMFByteStream_Read_Proxy( 5307 IMFByteStream* This, 5308 BYTE *pb, 5309 ULONG cb, 5310 ULONG *pcbRead); 5311 void __RPC_STUB IMFByteStream_Read_Stub( 5312 IRpcStubBuffer* This, 5313 IRpcChannelBuffer* pRpcChannelBuffer, 5314 PRPC_MESSAGE pRpcMessage, 5315 DWORD* pdwStubPhase); 5316 HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteBeginRead_Proxy( 5317 IMFByteStream* This, 5318 ULONG cb, 5319 IMFRemoteAsyncCallback *pCallback); 5320 void __RPC_STUB IMFByteStream_RemoteBeginRead_Stub( 5321 IRpcStubBuffer* This, 5322 IRpcChannelBuffer* pRpcChannelBuffer, 5323 PRPC_MESSAGE pRpcMessage, 5324 DWORD* pdwStubPhase); 5325 HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteEndRead_Proxy( 5326 IMFByteStream* This, 5327 IUnknown *punkResult, 5328 BYTE *pb, 5329 ULONG cb, 5330 ULONG *pcbRead); 5331 void __RPC_STUB IMFByteStream_RemoteEndRead_Stub( 5332 IRpcStubBuffer* This, 5333 IRpcChannelBuffer* pRpcChannelBuffer, 5334 PRPC_MESSAGE pRpcMessage, 5335 DWORD* pdwStubPhase); 5336 HRESULT STDMETHODCALLTYPE IMFByteStream_Write_Proxy( 5337 IMFByteStream* This, 5338 const BYTE *pb, 5339 ULONG cb, 5340 ULONG *pcbWritten); 5341 void __RPC_STUB IMFByteStream_Write_Stub( 5342 IRpcStubBuffer* This, 5343 IRpcChannelBuffer* pRpcChannelBuffer, 5344 PRPC_MESSAGE pRpcMessage, 5345 DWORD* pdwStubPhase); 5346 HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteBeginWrite_Proxy( 5347 IMFByteStream* This, 5348 const BYTE *pb, 5349 ULONG cb, 5350 IMFRemoteAsyncCallback *pCallback); 5351 void __RPC_STUB IMFByteStream_RemoteBeginWrite_Stub( 5352 IRpcStubBuffer* This, 5353 IRpcChannelBuffer* pRpcChannelBuffer, 5354 PRPC_MESSAGE pRpcMessage, 5355 DWORD* pdwStubPhase); 5356 HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteEndWrite_Proxy( 5357 IMFByteStream* This, 5358 IUnknown *punkResult, 5359 ULONG *pcbWritten); 5360 void __RPC_STUB IMFByteStream_RemoteEndWrite_Stub( 5361 IRpcStubBuffer* This, 5362 IRpcChannelBuffer* pRpcChannelBuffer, 5363 PRPC_MESSAGE pRpcMessage, 5364 DWORD* pdwStubPhase); 5365 HRESULT STDMETHODCALLTYPE IMFByteStream_Seek_Proxy( 5366 IMFByteStream* This, 5367 MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, 5368 LONGLONG llSeekOffset, 5369 DWORD dwSeekFlags, 5370 QWORD *pqwCurrentPosition); 5371 void __RPC_STUB IMFByteStream_Seek_Stub( 5372 IRpcStubBuffer* This, 5373 IRpcChannelBuffer* pRpcChannelBuffer, 5374 PRPC_MESSAGE pRpcMessage, 5375 DWORD* pdwStubPhase); 5376 HRESULT STDMETHODCALLTYPE IMFByteStream_Flush_Proxy( 5377 IMFByteStream* This); 5378 void __RPC_STUB IMFByteStream_Flush_Stub( 5379 IRpcStubBuffer* This, 5380 IRpcChannelBuffer* pRpcChannelBuffer, 5381 PRPC_MESSAGE pRpcMessage, 5382 DWORD* pdwStubPhase); 5383 HRESULT STDMETHODCALLTYPE IMFByteStream_Close_Proxy( 5384 IMFByteStream* This); 5385 void __RPC_STUB IMFByteStream_Close_Stub( 5386 IRpcStubBuffer* This, 5387 IRpcChannelBuffer* pRpcChannelBuffer, 5388 PRPC_MESSAGE pRpcMessage, 5389 DWORD* pdwStubPhase); 5390 HRESULT CALLBACK IMFByteStream_BeginRead_Proxy( 5391 IMFByteStream* This, 5392 BYTE *pb, 5393 ULONG cb, 5394 IMFAsyncCallback *pCallback, 5395 IUnknown *punkState); 5396 HRESULT __RPC_STUB IMFByteStream_BeginRead_Stub( 5397 IMFByteStream* This, 5398 ULONG cb, 5399 IMFRemoteAsyncCallback *pCallback); 5400 HRESULT CALLBACK IMFByteStream_EndRead_Proxy( 5401 IMFByteStream* This, 5402 IMFAsyncResult *pResult, 5403 ULONG *pcbRead); 5404 HRESULT __RPC_STUB IMFByteStream_EndRead_Stub( 5405 IMFByteStream* This, 5406 IUnknown *punkResult, 5407 BYTE *pb, 5408 ULONG cb, 5409 ULONG *pcbRead); 5410 HRESULT CALLBACK IMFByteStream_BeginWrite_Proxy( 5411 IMFByteStream* This, 5412 const BYTE *pb, 5413 ULONG cb, 5414 IMFAsyncCallback *pCallback, 5415 IUnknown *punkState); 5416 HRESULT __RPC_STUB IMFByteStream_BeginWrite_Stub( 5417 IMFByteStream* This, 5418 const BYTE *pb, 5419 ULONG cb, 5420 IMFRemoteAsyncCallback *pCallback); 5421 HRESULT CALLBACK IMFByteStream_EndWrite_Proxy( 5422 IMFByteStream* This, 5423 IMFAsyncResult *pResult, 5424 ULONG *pcbWritten); 5425 HRESULT __RPC_STUB IMFByteStream_EndWrite_Stub( 5426 IMFByteStream* This, 5427 IUnknown *punkResult, 5428 ULONG *pcbWritten); 5429 5430 #endif /* __IMFByteStream_INTERFACE_DEFINED__ */ 5431 5432 5433 #define MFBYTESTREAM_IS_READABLE 0x00000001 5434 #define MFBYTESTREAM_IS_WRITABLE 0x00000002 5435 #define MFBYTESTREAM_IS_SEEKABLE 0x00000004 5436 #define MFBYTESTREAM_IS_REMOTE 0x00000008 5437 #define MFBYTESTREAM_IS_DIRECTORY 0x00000080 5438 #define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100 5439 #define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200 5440 #if WINVER >= _WIN32_WINNT_WIN7 5441 #define MFBYTESTREAM_SHARE_WRITE 0x00000400 5442 #endif 5443 #if WINVER >= _WIN32_WINNT_WIN8 5444 #define MFBYTESTREAM_DOES_NOT_USE_NETWORK 0x00000800 5445 #endif 5446 5447 #define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001 5448 5449 EXTERN_GUID( MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5450 EXTERN_GUID( MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5451 EXTERN_GUID( MF_BYTESTREAM_DURATION, 0xfc35828a, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5452 EXTERN_GUID( MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5453 #if (WINVER >= _WIN32_WINNT_WIN7) 5454 EXTERN_GUID( MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5455 EXTERN_GUID( MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); 5456 EXTERN_GUID( MF_BYTESTREAM_EFFECTIVE_URL, 0x9afa0209, 0x89d1, 0x42af, 0x84, 0x56, 0x1d, 0xe6, 0xb5, 0x62, 0xd6, 0x91); 5457 EXTERN_GUID( MF_BYTESTREAM_TRANSCODED, 0xb6c5c282, 0x4dc9, 0x4db9, 0xab, 0x48, 0xcf, 0x3b, 0x6d, 0x8b, 0xc5, 0xe0 ); 5458 #endif 5459 #endif 5460 5461 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 5462 EXTERN_GUID(CLSID_MFByteStreamProxyClassFactory, 0x770e8e77, 0x4916, 0x441c, 0xa9, 0xa7, 0xb3, 0x42, 0xd0, 0xee, 0xbc, 0x71 ); 5463 5464 /***************************************************************************** 5465 * IMFByteStreamProxyClassFactory interface 5466 */ 5467 #ifndef __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__ 5468 #define __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__ 5469 5470 DEFINE_GUID(IID_IMFByteStreamProxyClassFactory, 0xa6b43f84, 0x5c0a, 0x42e8, 0xa4,0x4d, 0xb1,0x85,0x7a,0x76,0x99,0x2f); 5471 #if defined(__cplusplus) && !defined(CINTERFACE) 5472 MIDL_INTERFACE("a6b43f84-5c0a-42e8-a44d-b1857a76992f") 5473 IMFByteStreamProxyClassFactory : public IUnknown 5474 { 5475 virtual HRESULT STDMETHODCALLTYPE CreateByteStreamProxy( 5476 IMFByteStream *pByteStream, 5477 IMFAttributes *pAttributes, 5478 REFIID riid, 5479 LPVOID *ppvObject) = 0; 5480 5481 }; 5482 #ifdef __CRT_UUID_DECL 5483 __CRT_UUID_DECL(IMFByteStreamProxyClassFactory, 0xa6b43f84, 0x5c0a, 0x42e8, 0xa4,0x4d, 0xb1,0x85,0x7a,0x76,0x99,0x2f) 5484 #endif 5485 #else 5486 typedef struct IMFByteStreamProxyClassFactoryVtbl { 5487 BEGIN_INTERFACE 5488 5489 /*** IUnknown methods ***/ 5490 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5491 IMFByteStreamProxyClassFactory* This, 5492 REFIID riid, 5493 void **ppvObject); 5494 5495 ULONG (STDMETHODCALLTYPE *AddRef)( 5496 IMFByteStreamProxyClassFactory* This); 5497 5498 ULONG (STDMETHODCALLTYPE *Release)( 5499 IMFByteStreamProxyClassFactory* This); 5500 5501 /*** IMFByteStreamProxyClassFactory methods ***/ 5502 HRESULT (STDMETHODCALLTYPE *CreateByteStreamProxy)( 5503 IMFByteStreamProxyClassFactory* This, 5504 IMFByteStream *pByteStream, 5505 IMFAttributes *pAttributes, 5506 REFIID riid, 5507 LPVOID *ppvObject); 5508 5509 END_INTERFACE 5510 } IMFByteStreamProxyClassFactoryVtbl; 5511 interface IMFByteStreamProxyClassFactory { 5512 CONST_VTBL IMFByteStreamProxyClassFactoryVtbl* lpVtbl; 5513 }; 5514 5515 #ifdef COBJMACROS 5516 #ifndef WIDL_C_INLINE_WRAPPERS 5517 /*** IUnknown methods ***/ 5518 #define IMFByteStreamProxyClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5519 #define IMFByteStreamProxyClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This) 5520 #define IMFByteStreamProxyClassFactory_Release(This) (This)->lpVtbl->Release(This) 5521 /*** IMFByteStreamProxyClassFactory methods ***/ 5522 #define IMFByteStreamProxyClassFactory_CreateByteStreamProxy(This,pByteStream,pAttributes,riid,ppvObject) (This)->lpVtbl->CreateByteStreamProxy(This,pByteStream,pAttributes,riid,ppvObject) 5523 #else 5524 /*** IUnknown methods ***/ 5525 static FORCEINLINE HRESULT IMFByteStreamProxyClassFactory_QueryInterface(IMFByteStreamProxyClassFactory* This,REFIID riid,void **ppvObject) { 5526 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5527 } 5528 static FORCEINLINE ULONG IMFByteStreamProxyClassFactory_AddRef(IMFByteStreamProxyClassFactory* This) { 5529 return This->lpVtbl->AddRef(This); 5530 } 5531 static FORCEINLINE ULONG IMFByteStreamProxyClassFactory_Release(IMFByteStreamProxyClassFactory* This) { 5532 return This->lpVtbl->Release(This); 5533 } 5534 /*** IMFByteStreamProxyClassFactory methods ***/ 5535 static FORCEINLINE HRESULT IMFByteStreamProxyClassFactory_CreateByteStreamProxy(IMFByteStreamProxyClassFactory* This,IMFByteStream *pByteStream,IMFAttributes *pAttributes,REFIID riid,LPVOID *ppvObject) { 5536 return This->lpVtbl->CreateByteStreamProxy(This,pByteStream,pAttributes,riid,ppvObject); 5537 } 5538 #endif 5539 #endif 5540 5541 #endif 5542 5543 HRESULT STDMETHODCALLTYPE IMFByteStreamProxyClassFactory_CreateByteStreamProxy_Proxy( 5544 IMFByteStreamProxyClassFactory* This, 5545 IMFByteStream *pByteStream, 5546 IMFAttributes *pAttributes, 5547 REFIID riid, 5548 LPVOID *ppvObject); 5549 void __RPC_STUB IMFByteStreamProxyClassFactory_CreateByteStreamProxy_Stub( 5550 IRpcStubBuffer* This, 5551 IRpcChannelBuffer* pRpcChannelBuffer, 5552 PRPC_MESSAGE pRpcMessage, 5553 DWORD* pdwStubPhase); 5554 5555 #endif /* __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__ */ 5556 5557 5558 typedef enum __WIDL_mfobjects_generated_name_00000017 { 5559 MF_ACCESSMODE_READ = 1, 5560 MF_ACCESSMODE_WRITE = 2, 5561 MF_ACCESSMODE_READWRITE = 3 5562 } MF_FILE_ACCESSMODE; 5563 5564 typedef enum __WIDL_mfobjects_generated_name_00000018 { 5565 MF_OPENMODE_FAIL_IF_NOT_EXIST = 0, 5566 MF_OPENMODE_FAIL_IF_EXIST = 1, 5567 MF_OPENMODE_RESET_IF_EXIST = 2, 5568 MF_OPENMODE_APPEND_IF_EXIST = 3, 5569 MF_OPENMODE_DELETE_IF_EXIST = 4 5570 } MF_FILE_OPENMODE; 5571 5572 typedef enum __WIDL_mfobjects_generated_name_00000019 { 5573 MF_FILEFLAGS_NONE = 0x0, 5574 MF_FILEFLAGS_NOBUFFERING = 0x1 5575 } MF_FILE_FLAGS; 5576 #endif 5577 5578 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 5579 /***************************************************************************** 5580 * IMFSampleOutputStream interface 5581 */ 5582 #ifndef __IMFSampleOutputStream_INTERFACE_DEFINED__ 5583 #define __IMFSampleOutputStream_INTERFACE_DEFINED__ 5584 5585 DEFINE_GUID(IID_IMFSampleOutputStream, 0x8feed468, 0x6f7e, 0x440d, 0x86,0x9a, 0x49,0xbd,0xd2,0x83,0xad,0x0d); 5586 #if defined(__cplusplus) && !defined(CINTERFACE) 5587 MIDL_INTERFACE("8feed468-6f7e-440d-869a-49bdd283ad0d") 5588 IMFSampleOutputStream : public IUnknown 5589 { 5590 virtual HRESULT STDMETHODCALLTYPE BeginWriteSample( 5591 IMFSample *pSample, 5592 IMFAsyncCallback *pCallback, 5593 IUnknown *punkState) = 0; 5594 5595 virtual HRESULT STDMETHODCALLTYPE EndWriteSample( 5596 IMFAsyncResult *pResult) = 0; 5597 5598 virtual HRESULT STDMETHODCALLTYPE Close( 5599 ) = 0; 5600 5601 }; 5602 #ifdef __CRT_UUID_DECL 5603 __CRT_UUID_DECL(IMFSampleOutputStream, 0x8feed468, 0x6f7e, 0x440d, 0x86,0x9a, 0x49,0xbd,0xd2,0x83,0xad,0x0d) 5604 #endif 5605 #else 5606 typedef struct IMFSampleOutputStreamVtbl { 5607 BEGIN_INTERFACE 5608 5609 /*** IUnknown methods ***/ 5610 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5611 IMFSampleOutputStream* This, 5612 REFIID riid, 5613 void **ppvObject); 5614 5615 ULONG (STDMETHODCALLTYPE *AddRef)( 5616 IMFSampleOutputStream* This); 5617 5618 ULONG (STDMETHODCALLTYPE *Release)( 5619 IMFSampleOutputStream* This); 5620 5621 /*** IMFSampleOutputStream methods ***/ 5622 HRESULT (STDMETHODCALLTYPE *BeginWriteSample)( 5623 IMFSampleOutputStream* This, 5624 IMFSample *pSample, 5625 IMFAsyncCallback *pCallback, 5626 IUnknown *punkState); 5627 5628 HRESULT (STDMETHODCALLTYPE *EndWriteSample)( 5629 IMFSampleOutputStream* This, 5630 IMFAsyncResult *pResult); 5631 5632 HRESULT (STDMETHODCALLTYPE *Close)( 5633 IMFSampleOutputStream* This); 5634 5635 END_INTERFACE 5636 } IMFSampleOutputStreamVtbl; 5637 interface IMFSampleOutputStream { 5638 CONST_VTBL IMFSampleOutputStreamVtbl* lpVtbl; 5639 }; 5640 5641 #ifdef COBJMACROS 5642 #ifndef WIDL_C_INLINE_WRAPPERS 5643 /*** IUnknown methods ***/ 5644 #define IMFSampleOutputStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5645 #define IMFSampleOutputStream_AddRef(This) (This)->lpVtbl->AddRef(This) 5646 #define IMFSampleOutputStream_Release(This) (This)->lpVtbl->Release(This) 5647 /*** IMFSampleOutputStream methods ***/ 5648 #define IMFSampleOutputStream_BeginWriteSample(This,pSample,pCallback,punkState) (This)->lpVtbl->BeginWriteSample(This,pSample,pCallback,punkState) 5649 #define IMFSampleOutputStream_EndWriteSample(This,pResult) (This)->lpVtbl->EndWriteSample(This,pResult) 5650 #define IMFSampleOutputStream_Close(This) (This)->lpVtbl->Close(This) 5651 #else 5652 /*** IUnknown methods ***/ 5653 static FORCEINLINE HRESULT IMFSampleOutputStream_QueryInterface(IMFSampleOutputStream* This,REFIID riid,void **ppvObject) { 5654 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5655 } 5656 static FORCEINLINE ULONG IMFSampleOutputStream_AddRef(IMFSampleOutputStream* This) { 5657 return This->lpVtbl->AddRef(This); 5658 } 5659 static FORCEINLINE ULONG IMFSampleOutputStream_Release(IMFSampleOutputStream* This) { 5660 return This->lpVtbl->Release(This); 5661 } 5662 /*** IMFSampleOutputStream methods ***/ 5663 static FORCEINLINE HRESULT IMFSampleOutputStream_BeginWriteSample(IMFSampleOutputStream* This,IMFSample *pSample,IMFAsyncCallback *pCallback,IUnknown *punkState) { 5664 return This->lpVtbl->BeginWriteSample(This,pSample,pCallback,punkState); 5665 } 5666 static FORCEINLINE HRESULT IMFSampleOutputStream_EndWriteSample(IMFSampleOutputStream* This,IMFAsyncResult *pResult) { 5667 return This->lpVtbl->EndWriteSample(This,pResult); 5668 } 5669 static FORCEINLINE HRESULT IMFSampleOutputStream_Close(IMFSampleOutputStream* This) { 5670 return This->lpVtbl->Close(This); 5671 } 5672 #endif 5673 #endif 5674 5675 #endif 5676 5677 HRESULT STDMETHODCALLTYPE IMFSampleOutputStream_BeginWriteSample_Proxy( 5678 IMFSampleOutputStream* This, 5679 IMFSample *pSample, 5680 IMFAsyncCallback *pCallback, 5681 IUnknown *punkState); 5682 void __RPC_STUB IMFSampleOutputStream_BeginWriteSample_Stub( 5683 IRpcStubBuffer* This, 5684 IRpcChannelBuffer* pRpcChannelBuffer, 5685 PRPC_MESSAGE pRpcMessage, 5686 DWORD* pdwStubPhase); 5687 HRESULT STDMETHODCALLTYPE IMFSampleOutputStream_EndWriteSample_Proxy( 5688 IMFSampleOutputStream* This, 5689 IMFAsyncResult *pResult); 5690 void __RPC_STUB IMFSampleOutputStream_EndWriteSample_Stub( 5691 IRpcStubBuffer* This, 5692 IRpcChannelBuffer* pRpcChannelBuffer, 5693 PRPC_MESSAGE pRpcMessage, 5694 DWORD* pdwStubPhase); 5695 HRESULT STDMETHODCALLTYPE IMFSampleOutputStream_Close_Proxy( 5696 IMFSampleOutputStream* This); 5697 void __RPC_STUB IMFSampleOutputStream_Close_Stub( 5698 IRpcStubBuffer* This, 5699 IRpcChannelBuffer* pRpcChannelBuffer, 5700 PRPC_MESSAGE pRpcMessage, 5701 DWORD* pdwStubPhase); 5702 5703 #endif /* __IMFSampleOutputStream_INTERFACE_DEFINED__ */ 5704 5705 5706 /***************************************************************************** 5707 * IMFCollection interface 5708 */ 5709 #ifndef __IMFCollection_INTERFACE_DEFINED__ 5710 #define __IMFCollection_INTERFACE_DEFINED__ 5711 5712 DEFINE_GUID(IID_IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe); 5713 #if defined(__cplusplus) && !defined(CINTERFACE) 5714 MIDL_INTERFACE("5bc8a76b-869a-46a3-9b03-fa218a66aebe") 5715 IMFCollection : public IUnknown 5716 { 5717 virtual HRESULT STDMETHODCALLTYPE GetElementCount( 5718 DWORD *pcElements) = 0; 5719 5720 virtual HRESULT STDMETHODCALLTYPE GetElement( 5721 DWORD dwElementIndex, 5722 IUnknown **ppUnkElement) = 0; 5723 5724 virtual HRESULT STDMETHODCALLTYPE AddElement( 5725 IUnknown *pUnkElement) = 0; 5726 5727 virtual HRESULT STDMETHODCALLTYPE RemoveElement( 5728 DWORD dwElementIndex, 5729 IUnknown **ppUnkElement) = 0; 5730 5731 virtual HRESULT STDMETHODCALLTYPE InsertElementAt( 5732 DWORD dwIndex, 5733 IUnknown *pUnknown) = 0; 5734 5735 virtual HRESULT STDMETHODCALLTYPE RemoveAllElements( 5736 ) = 0; 5737 5738 }; 5739 #ifdef __CRT_UUID_DECL 5740 __CRT_UUID_DECL(IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe) 5741 #endif 5742 #else 5743 typedef struct IMFCollectionVtbl { 5744 BEGIN_INTERFACE 5745 5746 /*** IUnknown methods ***/ 5747 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5748 IMFCollection* This, 5749 REFIID riid, 5750 void **ppvObject); 5751 5752 ULONG (STDMETHODCALLTYPE *AddRef)( 5753 IMFCollection* This); 5754 5755 ULONG (STDMETHODCALLTYPE *Release)( 5756 IMFCollection* This); 5757 5758 /*** IMFCollection methods ***/ 5759 HRESULT (STDMETHODCALLTYPE *GetElementCount)( 5760 IMFCollection* This, 5761 DWORD *pcElements); 5762 5763 HRESULT (STDMETHODCALLTYPE *GetElement)( 5764 IMFCollection* This, 5765 DWORD dwElementIndex, 5766 IUnknown **ppUnkElement); 5767 5768 HRESULT (STDMETHODCALLTYPE *AddElement)( 5769 IMFCollection* This, 5770 IUnknown *pUnkElement); 5771 5772 HRESULT (STDMETHODCALLTYPE *RemoveElement)( 5773 IMFCollection* This, 5774 DWORD dwElementIndex, 5775 IUnknown **ppUnkElement); 5776 5777 HRESULT (STDMETHODCALLTYPE *InsertElementAt)( 5778 IMFCollection* This, 5779 DWORD dwIndex, 5780 IUnknown *pUnknown); 5781 5782 HRESULT (STDMETHODCALLTYPE *RemoveAllElements)( 5783 IMFCollection* This); 5784 5785 END_INTERFACE 5786 } IMFCollectionVtbl; 5787 interface IMFCollection { 5788 CONST_VTBL IMFCollectionVtbl* lpVtbl; 5789 }; 5790 5791 #ifdef COBJMACROS 5792 #ifndef WIDL_C_INLINE_WRAPPERS 5793 /*** IUnknown methods ***/ 5794 #define IMFCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5795 #define IMFCollection_AddRef(This) (This)->lpVtbl->AddRef(This) 5796 #define IMFCollection_Release(This) (This)->lpVtbl->Release(This) 5797 /*** IMFCollection methods ***/ 5798 #define IMFCollection_GetElementCount(This,pcElements) (This)->lpVtbl->GetElementCount(This,pcElements) 5799 #define IMFCollection_GetElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement) 5800 #define IMFCollection_AddElement(This,pUnkElement) (This)->lpVtbl->AddElement(This,pUnkElement) 5801 #define IMFCollection_RemoveElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement) 5802 #define IMFCollection_InsertElementAt(This,dwIndex,pUnknown) (This)->lpVtbl->InsertElementAt(This,dwIndex,pUnknown) 5803 #define IMFCollection_RemoveAllElements(This) (This)->lpVtbl->RemoveAllElements(This) 5804 #else 5805 /*** IUnknown methods ***/ 5806 static FORCEINLINE HRESULT IMFCollection_QueryInterface(IMFCollection* This,REFIID riid,void **ppvObject) { 5807 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5808 } 5809 static FORCEINLINE ULONG IMFCollection_AddRef(IMFCollection* This) { 5810 return This->lpVtbl->AddRef(This); 5811 } 5812 static FORCEINLINE ULONG IMFCollection_Release(IMFCollection* This) { 5813 return This->lpVtbl->Release(This); 5814 } 5815 /*** IMFCollection methods ***/ 5816 static FORCEINLINE HRESULT IMFCollection_GetElementCount(IMFCollection* This,DWORD *pcElements) { 5817 return This->lpVtbl->GetElementCount(This,pcElements); 5818 } 5819 static FORCEINLINE HRESULT IMFCollection_GetElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 5820 return This->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement); 5821 } 5822 static FORCEINLINE HRESULT IMFCollection_AddElement(IMFCollection* This,IUnknown *pUnkElement) { 5823 return This->lpVtbl->AddElement(This,pUnkElement); 5824 } 5825 static FORCEINLINE HRESULT IMFCollection_RemoveElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 5826 return This->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement); 5827 } 5828 static FORCEINLINE HRESULT IMFCollection_InsertElementAt(IMFCollection* This,DWORD dwIndex,IUnknown *pUnknown) { 5829 return This->lpVtbl->InsertElementAt(This,dwIndex,pUnknown); 5830 } 5831 static FORCEINLINE HRESULT IMFCollection_RemoveAllElements(IMFCollection* This) { 5832 return This->lpVtbl->RemoveAllElements(This); 5833 } 5834 #endif 5835 #endif 5836 5837 #endif 5838 5839 HRESULT STDMETHODCALLTYPE IMFCollection_GetElementCount_Proxy( 5840 IMFCollection* This, 5841 DWORD *pcElements); 5842 void __RPC_STUB IMFCollection_GetElementCount_Stub( 5843 IRpcStubBuffer* This, 5844 IRpcChannelBuffer* pRpcChannelBuffer, 5845 PRPC_MESSAGE pRpcMessage, 5846 DWORD* pdwStubPhase); 5847 HRESULT STDMETHODCALLTYPE IMFCollection_GetElement_Proxy( 5848 IMFCollection* This, 5849 DWORD dwElementIndex, 5850 IUnknown **ppUnkElement); 5851 void __RPC_STUB IMFCollection_GetElement_Stub( 5852 IRpcStubBuffer* This, 5853 IRpcChannelBuffer* pRpcChannelBuffer, 5854 PRPC_MESSAGE pRpcMessage, 5855 DWORD* pdwStubPhase); 5856 HRESULT STDMETHODCALLTYPE IMFCollection_AddElement_Proxy( 5857 IMFCollection* This, 5858 IUnknown *pUnkElement); 5859 void __RPC_STUB IMFCollection_AddElement_Stub( 5860 IRpcStubBuffer* This, 5861 IRpcChannelBuffer* pRpcChannelBuffer, 5862 PRPC_MESSAGE pRpcMessage, 5863 DWORD* pdwStubPhase); 5864 HRESULT STDMETHODCALLTYPE IMFCollection_RemoveElement_Proxy( 5865 IMFCollection* This, 5866 DWORD dwElementIndex, 5867 IUnknown **ppUnkElement); 5868 void __RPC_STUB IMFCollection_RemoveElement_Stub( 5869 IRpcStubBuffer* This, 5870 IRpcChannelBuffer* pRpcChannelBuffer, 5871 PRPC_MESSAGE pRpcMessage, 5872 DWORD* pdwStubPhase); 5873 HRESULT STDMETHODCALLTYPE IMFCollection_InsertElementAt_Proxy( 5874 IMFCollection* This, 5875 DWORD dwIndex, 5876 IUnknown *pUnknown); 5877 void __RPC_STUB IMFCollection_InsertElementAt_Stub( 5878 IRpcStubBuffer* This, 5879 IRpcChannelBuffer* pRpcChannelBuffer, 5880 PRPC_MESSAGE pRpcMessage, 5881 DWORD* pdwStubPhase); 5882 HRESULT STDMETHODCALLTYPE IMFCollection_RemoveAllElements_Proxy( 5883 IMFCollection* This); 5884 void __RPC_STUB IMFCollection_RemoveAllElements_Stub( 5885 IRpcStubBuffer* This, 5886 IRpcChannelBuffer* pRpcChannelBuffer, 5887 PRPC_MESSAGE pRpcMessage, 5888 DWORD* pdwStubPhase); 5889 5890 #endif /* __IMFCollection_INTERFACE_DEFINED__ */ 5891 5892 5893 /***************************************************************************** 5894 * IMFMediaEventQueue interface 5895 */ 5896 #ifndef __IMFMediaEventQueue_INTERFACE_DEFINED__ 5897 #define __IMFMediaEventQueue_INTERFACE_DEFINED__ 5898 5899 DEFINE_GUID(IID_IMFMediaEventQueue, 0x36f846fc, 0x2256, 0x48b6, 0xb5,0x8e, 0xe2,0xb6,0x38,0x31,0x65,0x81); 5900 #if defined(__cplusplus) && !defined(CINTERFACE) 5901 MIDL_INTERFACE("36f846fc-2256-48b6-b58e-e2b638316581") 5902 IMFMediaEventQueue : public IUnknown 5903 { 5904 virtual HRESULT STDMETHODCALLTYPE GetEvent( 5905 DWORD dwFlags, 5906 IMFMediaEvent **ppEvent) = 0; 5907 5908 virtual HRESULT STDMETHODCALLTYPE BeginGetEvent( 5909 IMFAsyncCallback *pCallback, 5910 IUnknown *punkState) = 0; 5911 5912 virtual HRESULT STDMETHODCALLTYPE EndGetEvent( 5913 IMFAsyncResult *pResult, 5914 IMFMediaEvent **ppEvent) = 0; 5915 5916 virtual HRESULT STDMETHODCALLTYPE QueueEvent( 5917 IMFMediaEvent *pEvent) = 0; 5918 5919 virtual HRESULT STDMETHODCALLTYPE QueueEventParamVar( 5920 MediaEventType met, 5921 REFGUID guidExtendedType, 5922 HRESULT hrStatus, 5923 const PROPVARIANT *pvValue) = 0; 5924 5925 virtual HRESULT STDMETHODCALLTYPE QueueEventParamUnk( 5926 MediaEventType met, 5927 REFGUID guidExtendedType, 5928 HRESULT hrStatus, 5929 IUnknown *pUnk) = 0; 5930 5931 virtual HRESULT STDMETHODCALLTYPE Shutdown( 5932 ) = 0; 5933 5934 }; 5935 #ifdef __CRT_UUID_DECL 5936 __CRT_UUID_DECL(IMFMediaEventQueue, 0x36f846fc, 0x2256, 0x48b6, 0xb5,0x8e, 0xe2,0xb6,0x38,0x31,0x65,0x81) 5937 #endif 5938 #else 5939 typedef struct IMFMediaEventQueueVtbl { 5940 BEGIN_INTERFACE 5941 5942 /*** IUnknown methods ***/ 5943 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5944 IMFMediaEventQueue* This, 5945 REFIID riid, 5946 void **ppvObject); 5947 5948 ULONG (STDMETHODCALLTYPE *AddRef)( 5949 IMFMediaEventQueue* This); 5950 5951 ULONG (STDMETHODCALLTYPE *Release)( 5952 IMFMediaEventQueue* This); 5953 5954 /*** IMFMediaEventQueue methods ***/ 5955 HRESULT (STDMETHODCALLTYPE *GetEvent)( 5956 IMFMediaEventQueue* This, 5957 DWORD dwFlags, 5958 IMFMediaEvent **ppEvent); 5959 5960 HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( 5961 IMFMediaEventQueue* This, 5962 IMFAsyncCallback *pCallback, 5963 IUnknown *punkState); 5964 5965 HRESULT (STDMETHODCALLTYPE *EndGetEvent)( 5966 IMFMediaEventQueue* This, 5967 IMFAsyncResult *pResult, 5968 IMFMediaEvent **ppEvent); 5969 5970 HRESULT (STDMETHODCALLTYPE *QueueEvent)( 5971 IMFMediaEventQueue* This, 5972 IMFMediaEvent *pEvent); 5973 5974 HRESULT (STDMETHODCALLTYPE *QueueEventParamVar)( 5975 IMFMediaEventQueue* This, 5976 MediaEventType met, 5977 REFGUID guidExtendedType, 5978 HRESULT hrStatus, 5979 const PROPVARIANT *pvValue); 5980 5981 HRESULT (STDMETHODCALLTYPE *QueueEventParamUnk)( 5982 IMFMediaEventQueue* This, 5983 MediaEventType met, 5984 REFGUID guidExtendedType, 5985 HRESULT hrStatus, 5986 IUnknown *pUnk); 5987 5988 HRESULT (STDMETHODCALLTYPE *Shutdown)( 5989 IMFMediaEventQueue* This); 5990 5991 END_INTERFACE 5992 } IMFMediaEventQueueVtbl; 5993 interface IMFMediaEventQueue { 5994 CONST_VTBL IMFMediaEventQueueVtbl* lpVtbl; 5995 }; 5996 5997 #ifdef COBJMACROS 5998 #ifndef WIDL_C_INLINE_WRAPPERS 5999 /*** IUnknown methods ***/ 6000 #define IMFMediaEventQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6001 #define IMFMediaEventQueue_AddRef(This) (This)->lpVtbl->AddRef(This) 6002 #define IMFMediaEventQueue_Release(This) (This)->lpVtbl->Release(This) 6003 /*** IMFMediaEventQueue methods ***/ 6004 #define IMFMediaEventQueue_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) 6005 #define IMFMediaEventQueue_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) 6006 #define IMFMediaEventQueue_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) 6007 #define IMFMediaEventQueue_QueueEvent(This,pEvent) (This)->lpVtbl->QueueEvent(This,pEvent) 6008 #define IMFMediaEventQueue_QueueEventParamVar(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEventParamVar(This,met,guidExtendedType,hrStatus,pvValue) 6009 #define IMFMediaEventQueue_QueueEventParamUnk(This,met,guidExtendedType,hrStatus,pUnk) (This)->lpVtbl->QueueEventParamUnk(This,met,guidExtendedType,hrStatus,pUnk) 6010 #define IMFMediaEventQueue_Shutdown(This) (This)->lpVtbl->Shutdown(This) 6011 #else 6012 /*** IUnknown methods ***/ 6013 static FORCEINLINE HRESULT IMFMediaEventQueue_QueryInterface(IMFMediaEventQueue* This,REFIID riid,void **ppvObject) { 6014 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6015 } 6016 static FORCEINLINE ULONG IMFMediaEventQueue_AddRef(IMFMediaEventQueue* This) { 6017 return This->lpVtbl->AddRef(This); 6018 } 6019 static FORCEINLINE ULONG IMFMediaEventQueue_Release(IMFMediaEventQueue* This) { 6020 return This->lpVtbl->Release(This); 6021 } 6022 /*** IMFMediaEventQueue methods ***/ 6023 static FORCEINLINE HRESULT IMFMediaEventQueue_GetEvent(IMFMediaEventQueue* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { 6024 return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); 6025 } 6026 static FORCEINLINE HRESULT IMFMediaEventQueue_BeginGetEvent(IMFMediaEventQueue* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { 6027 return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); 6028 } 6029 static FORCEINLINE HRESULT IMFMediaEventQueue_EndGetEvent(IMFMediaEventQueue* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { 6030 return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); 6031 } 6032 static FORCEINLINE HRESULT IMFMediaEventQueue_QueueEvent(IMFMediaEventQueue* This,IMFMediaEvent *pEvent) { 6033 return This->lpVtbl->QueueEvent(This,pEvent); 6034 } 6035 static FORCEINLINE HRESULT IMFMediaEventQueue_QueueEventParamVar(IMFMediaEventQueue* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { 6036 return This->lpVtbl->QueueEventParamVar(This,met,guidExtendedType,hrStatus,pvValue); 6037 } 6038 static FORCEINLINE HRESULT IMFMediaEventQueue_QueueEventParamUnk(IMFMediaEventQueue* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,IUnknown *pUnk) { 6039 return This->lpVtbl->QueueEventParamUnk(This,met,guidExtendedType,hrStatus,pUnk); 6040 } 6041 static FORCEINLINE HRESULT IMFMediaEventQueue_Shutdown(IMFMediaEventQueue* This) { 6042 return This->lpVtbl->Shutdown(This); 6043 } 6044 #endif 6045 #endif 6046 6047 #endif 6048 6049 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_GetEvent_Proxy( 6050 IMFMediaEventQueue* This, 6051 DWORD dwFlags, 6052 IMFMediaEvent **ppEvent); 6053 void __RPC_STUB IMFMediaEventQueue_GetEvent_Stub( 6054 IRpcStubBuffer* This, 6055 IRpcChannelBuffer* pRpcChannelBuffer, 6056 PRPC_MESSAGE pRpcMessage, 6057 DWORD* pdwStubPhase); 6058 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_BeginGetEvent_Proxy( 6059 IMFMediaEventQueue* This, 6060 IMFAsyncCallback *pCallback, 6061 IUnknown *punkState); 6062 void __RPC_STUB IMFMediaEventQueue_BeginGetEvent_Stub( 6063 IRpcStubBuffer* This, 6064 IRpcChannelBuffer* pRpcChannelBuffer, 6065 PRPC_MESSAGE pRpcMessage, 6066 DWORD* pdwStubPhase); 6067 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_EndGetEvent_Proxy( 6068 IMFMediaEventQueue* This, 6069 IMFAsyncResult *pResult, 6070 IMFMediaEvent **ppEvent); 6071 void __RPC_STUB IMFMediaEventQueue_EndGetEvent_Stub( 6072 IRpcStubBuffer* This, 6073 IRpcChannelBuffer* pRpcChannelBuffer, 6074 PRPC_MESSAGE pRpcMessage, 6075 DWORD* pdwStubPhase); 6076 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_QueueEvent_Proxy( 6077 IMFMediaEventQueue* This, 6078 IMFMediaEvent *pEvent); 6079 void __RPC_STUB IMFMediaEventQueue_QueueEvent_Stub( 6080 IRpcStubBuffer* This, 6081 IRpcChannelBuffer* pRpcChannelBuffer, 6082 PRPC_MESSAGE pRpcMessage, 6083 DWORD* pdwStubPhase); 6084 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_QueueEventParamVar_Proxy( 6085 IMFMediaEventQueue* This, 6086 MediaEventType met, 6087 REFGUID guidExtendedType, 6088 HRESULT hrStatus, 6089 const PROPVARIANT *pvValue); 6090 void __RPC_STUB IMFMediaEventQueue_QueueEventParamVar_Stub( 6091 IRpcStubBuffer* This, 6092 IRpcChannelBuffer* pRpcChannelBuffer, 6093 PRPC_MESSAGE pRpcMessage, 6094 DWORD* pdwStubPhase); 6095 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_QueueEventParamUnk_Proxy( 6096 IMFMediaEventQueue* This, 6097 MediaEventType met, 6098 REFGUID guidExtendedType, 6099 HRESULT hrStatus, 6100 IUnknown *pUnk); 6101 void __RPC_STUB IMFMediaEventQueue_QueueEventParamUnk_Stub( 6102 IRpcStubBuffer* This, 6103 IRpcChannelBuffer* pRpcChannelBuffer, 6104 PRPC_MESSAGE pRpcMessage, 6105 DWORD* pdwStubPhase); 6106 HRESULT STDMETHODCALLTYPE IMFMediaEventQueue_Shutdown_Proxy( 6107 IMFMediaEventQueue* This); 6108 void __RPC_STUB IMFMediaEventQueue_Shutdown_Stub( 6109 IRpcStubBuffer* This, 6110 IRpcChannelBuffer* pRpcChannelBuffer, 6111 PRPC_MESSAGE pRpcMessage, 6112 DWORD* pdwStubPhase); 6113 6114 #endif /* __IMFMediaEventQueue_INTERFACE_DEFINED__ */ 6115 6116 6117 /***************************************************************************** 6118 * IMFActivate interface 6119 */ 6120 #ifndef __IMFActivate_INTERFACE_DEFINED__ 6121 #define __IMFActivate_INTERFACE_DEFINED__ 6122 6123 DEFINE_GUID(IID_IMFActivate, 0x7fee9e9a, 0x4a89, 0x47a6, 0x89,0x9c, 0xb6,0xa5,0x3a,0x70,0xfb,0x67); 6124 #if defined(__cplusplus) && !defined(CINTERFACE) 6125 MIDL_INTERFACE("7fee9e9a-4a89-47a6-899c-b6a53a70fb67") 6126 IMFActivate : public IMFAttributes 6127 { 6128 virtual HRESULT STDMETHODCALLTYPE ActivateObject( 6129 REFIID riid, 6130 void **ppv) = 0; 6131 6132 virtual HRESULT STDMETHODCALLTYPE ShutdownObject( 6133 ) = 0; 6134 6135 virtual HRESULT STDMETHODCALLTYPE DetachObject( 6136 ) = 0; 6137 6138 }; 6139 #ifdef __CRT_UUID_DECL 6140 __CRT_UUID_DECL(IMFActivate, 0x7fee9e9a, 0x4a89, 0x47a6, 0x89,0x9c, 0xb6,0xa5,0x3a,0x70,0xfb,0x67) 6141 #endif 6142 #else 6143 typedef struct IMFActivateVtbl { 6144 BEGIN_INTERFACE 6145 6146 /*** IUnknown methods ***/ 6147 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6148 IMFActivate* This, 6149 REFIID riid, 6150 void **ppvObject); 6151 6152 ULONG (STDMETHODCALLTYPE *AddRef)( 6153 IMFActivate* This); 6154 6155 ULONG (STDMETHODCALLTYPE *Release)( 6156 IMFActivate* This); 6157 6158 /*** IMFAttributes methods ***/ 6159 HRESULT (STDMETHODCALLTYPE *GetItem)( 6160 IMFActivate* This, 6161 REFGUID guidKey, 6162 PROPVARIANT *pValue); 6163 6164 HRESULT (STDMETHODCALLTYPE *GetItemType)( 6165 IMFActivate* This, 6166 REFGUID guidKey, 6167 MF_ATTRIBUTE_TYPE *pType); 6168 6169 HRESULT (STDMETHODCALLTYPE *CompareItem)( 6170 IMFActivate* This, 6171 REFGUID guidKey, 6172 REFPROPVARIANT Value, 6173 WINBOOL *pbResult); 6174 6175 HRESULT (STDMETHODCALLTYPE *Compare)( 6176 IMFActivate* This, 6177 IMFAttributes *pTheirs, 6178 MF_ATTRIBUTES_MATCH_TYPE MatchType, 6179 WINBOOL *pbResult); 6180 6181 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 6182 IMFActivate* This, 6183 REFGUID guidKey, 6184 UINT32 *punValue); 6185 6186 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 6187 IMFActivate* This, 6188 REFGUID guidKey, 6189 UINT64 *punValue); 6190 6191 HRESULT (STDMETHODCALLTYPE *GetDouble)( 6192 IMFActivate* This, 6193 REFGUID guidKey, 6194 double *pfValue); 6195 6196 HRESULT (STDMETHODCALLTYPE *GetGUID)( 6197 IMFActivate* This, 6198 REFGUID guidKey, 6199 GUID *pguidValue); 6200 6201 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 6202 IMFActivate* This, 6203 REFGUID guidKey, 6204 UINT32 *pcchLength); 6205 6206 HRESULT (STDMETHODCALLTYPE *GetString)( 6207 IMFActivate* This, 6208 REFGUID guidKey, 6209 LPWSTR pwszValue, 6210 UINT32 cchBufSize, 6211 UINT32 *pcchLength); 6212 6213 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 6214 IMFActivate* This, 6215 REFGUID guidKey, 6216 LPWSTR *ppwszValue, 6217 UINT32 *pcchLength); 6218 6219 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 6220 IMFActivate* This, 6221 REFGUID guidKey, 6222 UINT32 *pcbBlobSize); 6223 6224 HRESULT (STDMETHODCALLTYPE *GetBlob)( 6225 IMFActivate* This, 6226 REFGUID guidKey, 6227 UINT8 *pBuf, 6228 UINT32 cbBufSize, 6229 UINT32 *pcbBlobSize); 6230 6231 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 6232 IMFActivate* This, 6233 REFGUID guidKey, 6234 UINT8 **ppBuf, 6235 UINT32 *pcbSize); 6236 6237 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 6238 IMFActivate* This, 6239 REFGUID guidKey, 6240 REFIID riid, 6241 LPVOID *ppv); 6242 6243 HRESULT (STDMETHODCALLTYPE *SetItem)( 6244 IMFActivate* This, 6245 REFGUID guidKey, 6246 REFPROPVARIANT Value); 6247 6248 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 6249 IMFActivate* This, 6250 REFGUID guidKey); 6251 6252 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 6253 IMFActivate* This); 6254 6255 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 6256 IMFActivate* This, 6257 REFGUID guidKey, 6258 UINT32 unValue); 6259 6260 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 6261 IMFActivate* This, 6262 REFGUID guidKey, 6263 UINT64 unValue); 6264 6265 HRESULT (STDMETHODCALLTYPE *SetDouble)( 6266 IMFActivate* This, 6267 REFGUID guidKey, 6268 double fValue); 6269 6270 HRESULT (STDMETHODCALLTYPE *SetGUID)( 6271 IMFActivate* This, 6272 REFGUID guidKey, 6273 REFGUID guidValue); 6274 6275 HRESULT (STDMETHODCALLTYPE *SetString)( 6276 IMFActivate* This, 6277 REFGUID guidKey, 6278 LPCWSTR wszValue); 6279 6280 HRESULT (STDMETHODCALLTYPE *SetBlob)( 6281 IMFActivate* This, 6282 REFGUID guidKey, 6283 const UINT8 *pBuf, 6284 UINT32 cbBufSize); 6285 6286 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 6287 IMFActivate* This, 6288 REFGUID guidKey, 6289 IUnknown *pUnknown); 6290 6291 HRESULT (STDMETHODCALLTYPE *LockStore)( 6292 IMFActivate* This); 6293 6294 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 6295 IMFActivate* This); 6296 6297 HRESULT (STDMETHODCALLTYPE *GetCount)( 6298 IMFActivate* This, 6299 UINT32 *pcItems); 6300 6301 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 6302 IMFActivate* This, 6303 UINT32 unIndex, 6304 GUID *pguidKey, 6305 PROPVARIANT *pValue); 6306 6307 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 6308 IMFActivate* This, 6309 IMFAttributes *pDest); 6310 6311 /*** IMFActivate methods ***/ 6312 HRESULT (STDMETHODCALLTYPE *ActivateObject)( 6313 IMFActivate* This, 6314 REFIID riid, 6315 void **ppv); 6316 6317 HRESULT (STDMETHODCALLTYPE *ShutdownObject)( 6318 IMFActivate* This); 6319 6320 HRESULT (STDMETHODCALLTYPE *DetachObject)( 6321 IMFActivate* This); 6322 6323 END_INTERFACE 6324 } IMFActivateVtbl; 6325 interface IMFActivate { 6326 CONST_VTBL IMFActivateVtbl* lpVtbl; 6327 }; 6328 6329 #ifdef COBJMACROS 6330 #ifndef WIDL_C_INLINE_WRAPPERS 6331 /*** IUnknown methods ***/ 6332 #define IMFActivate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6333 #define IMFActivate_AddRef(This) (This)->lpVtbl->AddRef(This) 6334 #define IMFActivate_Release(This) (This)->lpVtbl->Release(This) 6335 /*** IMFAttributes methods ***/ 6336 #define IMFActivate_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 6337 #define IMFActivate_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 6338 #define IMFActivate_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 6339 #define IMFActivate_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 6340 #define IMFActivate_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 6341 #define IMFActivate_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 6342 #define IMFActivate_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 6343 #define IMFActivate_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 6344 #define IMFActivate_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 6345 #define IMFActivate_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 6346 #define IMFActivate_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 6347 #define IMFActivate_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 6348 #define IMFActivate_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 6349 #define IMFActivate_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 6350 #define IMFActivate_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 6351 #define IMFActivate_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 6352 #define IMFActivate_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 6353 #define IMFActivate_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 6354 #define IMFActivate_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 6355 #define IMFActivate_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 6356 #define IMFActivate_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 6357 #define IMFActivate_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 6358 #define IMFActivate_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 6359 #define IMFActivate_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 6360 #define IMFActivate_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 6361 #define IMFActivate_LockStore(This) (This)->lpVtbl->LockStore(This) 6362 #define IMFActivate_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 6363 #define IMFActivate_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 6364 #define IMFActivate_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 6365 #define IMFActivate_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 6366 /*** IMFActivate methods ***/ 6367 #define IMFActivate_ActivateObject(This,riid,ppv) (This)->lpVtbl->ActivateObject(This,riid,ppv) 6368 #define IMFActivate_ShutdownObject(This) (This)->lpVtbl->ShutdownObject(This) 6369 #define IMFActivate_DetachObject(This) (This)->lpVtbl->DetachObject(This) 6370 #else 6371 /*** IUnknown methods ***/ 6372 static FORCEINLINE HRESULT IMFActivate_QueryInterface(IMFActivate* This,REFIID riid,void **ppvObject) { 6373 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6374 } 6375 static FORCEINLINE ULONG IMFActivate_AddRef(IMFActivate* This) { 6376 return This->lpVtbl->AddRef(This); 6377 } 6378 static FORCEINLINE ULONG IMFActivate_Release(IMFActivate* This) { 6379 return This->lpVtbl->Release(This); 6380 } 6381 /*** IMFAttributes methods ***/ 6382 static FORCEINLINE HRESULT IMFActivate_GetItem(IMFActivate* This,REFGUID guidKey,PROPVARIANT *pValue) { 6383 return This->lpVtbl->GetItem(This,guidKey,pValue); 6384 } 6385 static FORCEINLINE HRESULT IMFActivate_GetItemType(IMFActivate* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 6386 return This->lpVtbl->GetItemType(This,guidKey,pType); 6387 } 6388 static FORCEINLINE HRESULT IMFActivate_CompareItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 6389 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 6390 } 6391 static FORCEINLINE HRESULT IMFActivate_Compare(IMFActivate* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 6392 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 6393 } 6394 static FORCEINLINE HRESULT IMFActivate_GetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 *punValue) { 6395 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 6396 } 6397 static FORCEINLINE HRESULT IMFActivate_GetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 *punValue) { 6398 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 6399 } 6400 static FORCEINLINE HRESULT IMFActivate_GetDouble(IMFActivate* This,REFGUID guidKey,double *pfValue) { 6401 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 6402 } 6403 static FORCEINLINE HRESULT IMFActivate_GetGUID(IMFActivate* This,REFGUID guidKey,GUID *pguidValue) { 6404 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 6405 } 6406 static FORCEINLINE HRESULT IMFActivate_GetStringLength(IMFActivate* This,REFGUID guidKey,UINT32 *pcchLength) { 6407 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 6408 } 6409 static FORCEINLINE HRESULT IMFActivate_GetString(IMFActivate* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 6410 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 6411 } 6412 static FORCEINLINE HRESULT IMFActivate_GetAllocatedString(IMFActivate* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 6413 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 6414 } 6415 static FORCEINLINE HRESULT IMFActivate_GetBlobSize(IMFActivate* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 6416 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 6417 } 6418 static FORCEINLINE HRESULT IMFActivate_GetBlob(IMFActivate* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 6419 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 6420 } 6421 static FORCEINLINE HRESULT IMFActivate_GetAllocatedBlob(IMFActivate* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 6422 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 6423 } 6424 static FORCEINLINE HRESULT IMFActivate_GetUnknown(IMFActivate* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 6425 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 6426 } 6427 static FORCEINLINE HRESULT IMFActivate_SetItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value) { 6428 return This->lpVtbl->SetItem(This,guidKey,Value); 6429 } 6430 static FORCEINLINE HRESULT IMFActivate_DeleteItem(IMFActivate* This,REFGUID guidKey) { 6431 return This->lpVtbl->DeleteItem(This,guidKey); 6432 } 6433 static FORCEINLINE HRESULT IMFActivate_DeleteAllItems(IMFActivate* This) { 6434 return This->lpVtbl->DeleteAllItems(This); 6435 } 6436 static FORCEINLINE HRESULT IMFActivate_SetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 unValue) { 6437 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 6438 } 6439 static FORCEINLINE HRESULT IMFActivate_SetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 unValue) { 6440 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 6441 } 6442 static FORCEINLINE HRESULT IMFActivate_SetDouble(IMFActivate* This,REFGUID guidKey,double fValue) { 6443 return This->lpVtbl->SetDouble(This,guidKey,fValue); 6444 } 6445 static FORCEINLINE HRESULT IMFActivate_SetGUID(IMFActivate* This,REFGUID guidKey,REFGUID guidValue) { 6446 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 6447 } 6448 static FORCEINLINE HRESULT IMFActivate_SetString(IMFActivate* This,REFGUID guidKey,LPCWSTR wszValue) { 6449 return This->lpVtbl->SetString(This,guidKey,wszValue); 6450 } 6451 static FORCEINLINE HRESULT IMFActivate_SetBlob(IMFActivate* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 6452 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 6453 } 6454 static FORCEINLINE HRESULT IMFActivate_SetUnknown(IMFActivate* This,REFGUID guidKey,IUnknown *pUnknown) { 6455 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 6456 } 6457 static FORCEINLINE HRESULT IMFActivate_LockStore(IMFActivate* This) { 6458 return This->lpVtbl->LockStore(This); 6459 } 6460 static FORCEINLINE HRESULT IMFActivate_UnlockStore(IMFActivate* This) { 6461 return This->lpVtbl->UnlockStore(This); 6462 } 6463 static FORCEINLINE HRESULT IMFActivate_GetCount(IMFActivate* This,UINT32 *pcItems) { 6464 return This->lpVtbl->GetCount(This,pcItems); 6465 } 6466 static FORCEINLINE HRESULT IMFActivate_GetItemByIndex(IMFActivate* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 6467 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 6468 } 6469 static FORCEINLINE HRESULT IMFActivate_CopyAllItems(IMFActivate* This,IMFAttributes *pDest) { 6470 return This->lpVtbl->CopyAllItems(This,pDest); 6471 } 6472 /*** IMFActivate methods ***/ 6473 static FORCEINLINE HRESULT IMFActivate_ActivateObject(IMFActivate* This,REFIID riid,void **ppv) { 6474 return This->lpVtbl->ActivateObject(This,riid,ppv); 6475 } 6476 static FORCEINLINE HRESULT IMFActivate_ShutdownObject(IMFActivate* This) { 6477 return This->lpVtbl->ShutdownObject(This); 6478 } 6479 static FORCEINLINE HRESULT IMFActivate_DetachObject(IMFActivate* This) { 6480 return This->lpVtbl->DetachObject(This); 6481 } 6482 #endif 6483 #endif 6484 6485 #endif 6486 6487 HRESULT STDMETHODCALLTYPE IMFActivate_ActivateObject_Proxy( 6488 IMFActivate* This, 6489 REFIID riid, 6490 void **ppv); 6491 void __RPC_STUB IMFActivate_ActivateObject_Stub( 6492 IRpcStubBuffer* This, 6493 IRpcChannelBuffer* pRpcChannelBuffer, 6494 PRPC_MESSAGE pRpcMessage, 6495 DWORD* pdwStubPhase); 6496 HRESULT STDMETHODCALLTYPE IMFActivate_ShutdownObject_Proxy( 6497 IMFActivate* This); 6498 void __RPC_STUB IMFActivate_ShutdownObject_Stub( 6499 IRpcStubBuffer* This, 6500 IRpcChannelBuffer* pRpcChannelBuffer, 6501 PRPC_MESSAGE pRpcMessage, 6502 DWORD* pdwStubPhase); 6503 HRESULT STDMETHODCALLTYPE IMFActivate_DetachObject_Proxy( 6504 IMFActivate* This); 6505 void __RPC_STUB IMFActivate_DetachObject_Stub( 6506 IRpcStubBuffer* This, 6507 IRpcChannelBuffer* pRpcChannelBuffer, 6508 PRPC_MESSAGE pRpcMessage, 6509 DWORD* pdwStubPhase); 6510 6511 #endif /* __IMFActivate_INTERFACE_DEFINED__ */ 6512 6513 #endif 6514 6515 #if WINVER >= _WIN32_WINNT_WIN7 6516 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 6517 typedef enum _MF_Plugin_Type { 6518 MF_Plugin_Type_MFT = 0, 6519 MF_Plugin_Type_MediaSource = 1, 6520 MF_Plugin_Type_MFT_MatchOutputType = 2, 6521 MF_Plugin_Type_Other = (DWORD)-1 6522 } MF_Plugin_Type; 6523 6524 /***************************************************************************** 6525 * IMFPluginControl interface 6526 */ 6527 #ifndef __IMFPluginControl_INTERFACE_DEFINED__ 6528 #define __IMFPluginControl_INTERFACE_DEFINED__ 6529 6530 DEFINE_GUID(IID_IMFPluginControl, 0x5c6c44bf, 0x1db6, 0x435b, 0x92,0x49, 0xe8,0xcd,0x10,0xfd,0xec,0x96); 6531 #if defined(__cplusplus) && !defined(CINTERFACE) 6532 MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96") 6533 IMFPluginControl : public IUnknown 6534 { 6535 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( 6536 DWORD pluginType, 6537 LPCWSTR selector, 6538 CLSID *clsid) = 0; 6539 6540 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( 6541 DWORD pluginType, 6542 DWORD index, 6543 LPWSTR *selector, 6544 CLSID *clsid) = 0; 6545 6546 virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( 6547 DWORD pluginType, 6548 LPCWSTR selector, 6549 const CLSID *clsid) = 0; 6550 6551 virtual HRESULT STDMETHODCALLTYPE IsDisabled( 6552 DWORD pluginType, 6553 REFCLSID clsid) = 0; 6554 6555 virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( 6556 DWORD pluginType, 6557 DWORD index, 6558 CLSID *clsid) = 0; 6559 6560 virtual HRESULT STDMETHODCALLTYPE SetDisabled( 6561 DWORD pluginType, 6562 REFCLSID clsid, 6563 WINBOOL disabled) = 0; 6564 6565 }; 6566 #ifdef __CRT_UUID_DECL 6567 __CRT_UUID_DECL(IMFPluginControl, 0x5c6c44bf, 0x1db6, 0x435b, 0x92,0x49, 0xe8,0xcd,0x10,0xfd,0xec,0x96) 6568 #endif 6569 #else 6570 typedef struct IMFPluginControlVtbl { 6571 BEGIN_INTERFACE 6572 6573 /*** IUnknown methods ***/ 6574 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6575 IMFPluginControl* This, 6576 REFIID riid, 6577 void **ppvObject); 6578 6579 ULONG (STDMETHODCALLTYPE *AddRef)( 6580 IMFPluginControl* This); 6581 6582 ULONG (STDMETHODCALLTYPE *Release)( 6583 IMFPluginControl* This); 6584 6585 /*** IMFPluginControl methods ***/ 6586 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( 6587 IMFPluginControl* This, 6588 DWORD pluginType, 6589 LPCWSTR selector, 6590 CLSID *clsid); 6591 6592 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( 6593 IMFPluginControl* This, 6594 DWORD pluginType, 6595 DWORD index, 6596 LPWSTR *selector, 6597 CLSID *clsid); 6598 6599 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( 6600 IMFPluginControl* This, 6601 DWORD pluginType, 6602 LPCWSTR selector, 6603 const CLSID *clsid); 6604 6605 HRESULT (STDMETHODCALLTYPE *IsDisabled)( 6606 IMFPluginControl* This, 6607 DWORD pluginType, 6608 REFCLSID clsid); 6609 6610 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( 6611 IMFPluginControl* This, 6612 DWORD pluginType, 6613 DWORD index, 6614 CLSID *clsid); 6615 6616 HRESULT (STDMETHODCALLTYPE *SetDisabled)( 6617 IMFPluginControl* This, 6618 DWORD pluginType, 6619 REFCLSID clsid, 6620 WINBOOL disabled); 6621 6622 END_INTERFACE 6623 } IMFPluginControlVtbl; 6624 interface IMFPluginControl { 6625 CONST_VTBL IMFPluginControlVtbl* lpVtbl; 6626 }; 6627 6628 #ifdef COBJMACROS 6629 #ifndef WIDL_C_INLINE_WRAPPERS 6630 /*** IUnknown methods ***/ 6631 #define IMFPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6632 #define IMFPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This) 6633 #define IMFPluginControl_Release(This) (This)->lpVtbl->Release(This) 6634 /*** IMFPluginControl methods ***/ 6635 #define IMFPluginControl_GetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid) 6636 #define IMFPluginControl_GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) 6637 #define IMFPluginControl_SetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid) 6638 #define IMFPluginControl_IsDisabled(This,pluginType,clsid) (This)->lpVtbl->IsDisabled(This,pluginType,clsid) 6639 #define IMFPluginControl_GetDisabledByIndex(This,pluginType,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid) 6640 #define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) (This)->lpVtbl->SetDisabled(This,pluginType,clsid,disabled) 6641 #else 6642 /*** IUnknown methods ***/ 6643 static FORCEINLINE HRESULT IMFPluginControl_QueryInterface(IMFPluginControl* This,REFIID riid,void **ppvObject) { 6644 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6645 } 6646 static FORCEINLINE ULONG IMFPluginControl_AddRef(IMFPluginControl* This) { 6647 return This->lpVtbl->AddRef(This); 6648 } 6649 static FORCEINLINE ULONG IMFPluginControl_Release(IMFPluginControl* This) { 6650 return This->lpVtbl->Release(This); 6651 } 6652 /*** IMFPluginControl methods ***/ 6653 static FORCEINLINE HRESULT IMFPluginControl_GetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,CLSID *clsid) { 6654 return This->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid); 6655 } 6656 static FORCEINLINE HRESULT IMFPluginControl_GetPreferredClsidByIndex(IMFPluginControl* This,DWORD pluginType,DWORD index,LPWSTR *selector,CLSID *clsid) { 6657 return This->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid); 6658 } 6659 static FORCEINLINE HRESULT IMFPluginControl_SetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,const CLSID *clsid) { 6660 return This->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid); 6661 } 6662 static FORCEINLINE HRESULT IMFPluginControl_IsDisabled(IMFPluginControl* This,DWORD pluginType,REFCLSID clsid) { 6663 return This->lpVtbl->IsDisabled(This,pluginType,clsid); 6664 } 6665 static FORCEINLINE HRESULT IMFPluginControl_GetDisabledByIndex(IMFPluginControl* This,DWORD pluginType,DWORD index,CLSID *clsid) { 6666 return This->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid); 6667 } 6668 static FORCEINLINE HRESULT IMFPluginControl_SetDisabled(IMFPluginControl* This,DWORD pluginType,REFCLSID clsid,WINBOOL disabled) { 6669 return This->lpVtbl->SetDisabled(This,pluginType,clsid,disabled); 6670 } 6671 #endif 6672 #endif 6673 6674 #endif 6675 6676 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsid_Proxy( 6677 IMFPluginControl* This, 6678 DWORD pluginType, 6679 LPCWSTR selector, 6680 CLSID *clsid); 6681 void __RPC_STUB IMFPluginControl_GetPreferredClsid_Stub( 6682 IRpcStubBuffer* This, 6683 IRpcChannelBuffer* pRpcChannelBuffer, 6684 PRPC_MESSAGE pRpcMessage, 6685 DWORD* pdwStubPhase); 6686 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsidByIndex_Proxy( 6687 IMFPluginControl* This, 6688 DWORD pluginType, 6689 DWORD index, 6690 LPWSTR *selector, 6691 CLSID *clsid); 6692 void __RPC_STUB IMFPluginControl_GetPreferredClsidByIndex_Stub( 6693 IRpcStubBuffer* This, 6694 IRpcChannelBuffer* pRpcChannelBuffer, 6695 PRPC_MESSAGE pRpcMessage, 6696 DWORD* pdwStubPhase); 6697 HRESULT STDMETHODCALLTYPE IMFPluginControl_SetPreferredClsid_Proxy( 6698 IMFPluginControl* This, 6699 DWORD pluginType, 6700 LPCWSTR selector, 6701 const CLSID *clsid); 6702 void __RPC_STUB IMFPluginControl_SetPreferredClsid_Stub( 6703 IRpcStubBuffer* This, 6704 IRpcChannelBuffer* pRpcChannelBuffer, 6705 PRPC_MESSAGE pRpcMessage, 6706 DWORD* pdwStubPhase); 6707 HRESULT STDMETHODCALLTYPE IMFPluginControl_IsDisabled_Proxy( 6708 IMFPluginControl* This, 6709 DWORD pluginType, 6710 REFCLSID clsid); 6711 void __RPC_STUB IMFPluginControl_IsDisabled_Stub( 6712 IRpcStubBuffer* This, 6713 IRpcChannelBuffer* pRpcChannelBuffer, 6714 PRPC_MESSAGE pRpcMessage, 6715 DWORD* pdwStubPhase); 6716 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetDisabledByIndex_Proxy( 6717 IMFPluginControl* This, 6718 DWORD pluginType, 6719 DWORD index, 6720 CLSID *clsid); 6721 void __RPC_STUB IMFPluginControl_GetDisabledByIndex_Stub( 6722 IRpcStubBuffer* This, 6723 IRpcChannelBuffer* pRpcChannelBuffer, 6724 PRPC_MESSAGE pRpcMessage, 6725 DWORD* pdwStubPhase); 6726 HRESULT STDMETHODCALLTYPE IMFPluginControl_SetDisabled_Proxy( 6727 IMFPluginControl* This, 6728 DWORD pluginType, 6729 REFCLSID clsid, 6730 WINBOOL disabled); 6731 void __RPC_STUB IMFPluginControl_SetDisabled_Stub( 6732 IRpcStubBuffer* This, 6733 IRpcChannelBuffer* pRpcChannelBuffer, 6734 PRPC_MESSAGE pRpcMessage, 6735 DWORD* pdwStubPhase); 6736 6737 #endif /* __IMFPluginControl_INTERFACE_DEFINED__ */ 6738 6739 6740 typedef enum MF_PLUGIN_CONTROL_POLICY { 6741 MF_PLUGIN_CONTROL_POLICY_USE_ALL_PLUGINS = 0, 6742 MF_PLUGIN_CONTROL_POLICY_USE_APPROVED_PLUGINS = 1, 6743 MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS = 2 6744 } MF_PLUGIN_CONTROL_POLICY; 6745 6746 /***************************************************************************** 6747 * IMFPluginControl2 interface 6748 */ 6749 #ifndef __IMFPluginControl2_INTERFACE_DEFINED__ 6750 #define __IMFPluginControl2_INTERFACE_DEFINED__ 6751 6752 DEFINE_GUID(IID_IMFPluginControl2, 0xc6982083, 0x3ddc, 0x45cb, 0xaf,0x5e, 0x0f,0x7a,0x8c,0xe4,0xde,0x77); 6753 #if defined(__cplusplus) && !defined(CINTERFACE) 6754 MIDL_INTERFACE("c6982083-3ddc-45cb-af5e-0f7a8ce4de77") 6755 IMFPluginControl2 : public IMFPluginControl 6756 { 6757 virtual HRESULT STDMETHODCALLTYPE SetPolicy( 6758 MF_PLUGIN_CONTROL_POLICY policy) = 0; 6759 6760 }; 6761 #ifdef __CRT_UUID_DECL 6762 __CRT_UUID_DECL(IMFPluginControl2, 0xc6982083, 0x3ddc, 0x45cb, 0xaf,0x5e, 0x0f,0x7a,0x8c,0xe4,0xde,0x77) 6763 #endif 6764 #else 6765 typedef struct IMFPluginControl2Vtbl { 6766 BEGIN_INTERFACE 6767 6768 /*** IUnknown methods ***/ 6769 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6770 IMFPluginControl2* This, 6771 REFIID riid, 6772 void **ppvObject); 6773 6774 ULONG (STDMETHODCALLTYPE *AddRef)( 6775 IMFPluginControl2* This); 6776 6777 ULONG (STDMETHODCALLTYPE *Release)( 6778 IMFPluginControl2* This); 6779 6780 /*** IMFPluginControl methods ***/ 6781 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( 6782 IMFPluginControl2* This, 6783 DWORD pluginType, 6784 LPCWSTR selector, 6785 CLSID *clsid); 6786 6787 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( 6788 IMFPluginControl2* This, 6789 DWORD pluginType, 6790 DWORD index, 6791 LPWSTR *selector, 6792 CLSID *clsid); 6793 6794 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( 6795 IMFPluginControl2* This, 6796 DWORD pluginType, 6797 LPCWSTR selector, 6798 const CLSID *clsid); 6799 6800 HRESULT (STDMETHODCALLTYPE *IsDisabled)( 6801 IMFPluginControl2* This, 6802 DWORD pluginType, 6803 REFCLSID clsid); 6804 6805 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( 6806 IMFPluginControl2* This, 6807 DWORD pluginType, 6808 DWORD index, 6809 CLSID *clsid); 6810 6811 HRESULT (STDMETHODCALLTYPE *SetDisabled)( 6812 IMFPluginControl2* This, 6813 DWORD pluginType, 6814 REFCLSID clsid, 6815 WINBOOL disabled); 6816 6817 /*** IMFPluginControl2 methods ***/ 6818 HRESULT (STDMETHODCALLTYPE *SetPolicy)( 6819 IMFPluginControl2* This, 6820 MF_PLUGIN_CONTROL_POLICY policy); 6821 6822 END_INTERFACE 6823 } IMFPluginControl2Vtbl; 6824 interface IMFPluginControl2 { 6825 CONST_VTBL IMFPluginControl2Vtbl* lpVtbl; 6826 }; 6827 6828 #ifdef COBJMACROS 6829 #ifndef WIDL_C_INLINE_WRAPPERS 6830 /*** IUnknown methods ***/ 6831 #define IMFPluginControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 6832 #define IMFPluginControl2_AddRef(This) (This)->lpVtbl->AddRef(This) 6833 #define IMFPluginControl2_Release(This) (This)->lpVtbl->Release(This) 6834 /*** IMFPluginControl methods ***/ 6835 #define IMFPluginControl2_GetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid) 6836 #define IMFPluginControl2_GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) 6837 #define IMFPluginControl2_SetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid) 6838 #define IMFPluginControl2_IsDisabled(This,pluginType,clsid) (This)->lpVtbl->IsDisabled(This,pluginType,clsid) 6839 #define IMFPluginControl2_GetDisabledByIndex(This,pluginType,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid) 6840 #define IMFPluginControl2_SetDisabled(This,pluginType,clsid,disabled) (This)->lpVtbl->SetDisabled(This,pluginType,clsid,disabled) 6841 /*** IMFPluginControl2 methods ***/ 6842 #define IMFPluginControl2_SetPolicy(This,policy) (This)->lpVtbl->SetPolicy(This,policy) 6843 #else 6844 /*** IUnknown methods ***/ 6845 static FORCEINLINE HRESULT IMFPluginControl2_QueryInterface(IMFPluginControl2* This,REFIID riid,void **ppvObject) { 6846 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 6847 } 6848 static FORCEINLINE ULONG IMFPluginControl2_AddRef(IMFPluginControl2* This) { 6849 return This->lpVtbl->AddRef(This); 6850 } 6851 static FORCEINLINE ULONG IMFPluginControl2_Release(IMFPluginControl2* This) { 6852 return This->lpVtbl->Release(This); 6853 } 6854 /*** IMFPluginControl methods ***/ 6855 static FORCEINLINE HRESULT IMFPluginControl2_GetPreferredClsid(IMFPluginControl2* This,DWORD pluginType,LPCWSTR selector,CLSID *clsid) { 6856 return This->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid); 6857 } 6858 static FORCEINLINE HRESULT IMFPluginControl2_GetPreferredClsidByIndex(IMFPluginControl2* This,DWORD pluginType,DWORD index,LPWSTR *selector,CLSID *clsid) { 6859 return This->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid); 6860 } 6861 static FORCEINLINE HRESULT IMFPluginControl2_SetPreferredClsid(IMFPluginControl2* This,DWORD pluginType,LPCWSTR selector,const CLSID *clsid) { 6862 return This->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid); 6863 } 6864 static FORCEINLINE HRESULT IMFPluginControl2_IsDisabled(IMFPluginControl2* This,DWORD pluginType,REFCLSID clsid) { 6865 return This->lpVtbl->IsDisabled(This,pluginType,clsid); 6866 } 6867 static FORCEINLINE HRESULT IMFPluginControl2_GetDisabledByIndex(IMFPluginControl2* This,DWORD pluginType,DWORD index,CLSID *clsid) { 6868 return This->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid); 6869 } 6870 static FORCEINLINE HRESULT IMFPluginControl2_SetDisabled(IMFPluginControl2* This,DWORD pluginType,REFCLSID clsid,WINBOOL disabled) { 6871 return This->lpVtbl->SetDisabled(This,pluginType,clsid,disabled); 6872 } 6873 /*** IMFPluginControl2 methods ***/ 6874 static FORCEINLINE HRESULT IMFPluginControl2_SetPolicy(IMFPluginControl2* This,MF_PLUGIN_CONTROL_POLICY policy) { 6875 return This->lpVtbl->SetPolicy(This,policy); 6876 } 6877 #endif 6878 #endif 6879 6880 #endif 6881 6882 HRESULT STDMETHODCALLTYPE IMFPluginControl2_SetPolicy_Proxy( 6883 IMFPluginControl2* This, 6884 MF_PLUGIN_CONTROL_POLICY policy); 6885 void __RPC_STUB IMFPluginControl2_SetPolicy_Stub( 6886 IRpcStubBuffer* This, 6887 IRpcChannelBuffer* pRpcChannelBuffer, 6888 PRPC_MESSAGE pRpcMessage, 6889 DWORD* pdwStubPhase); 6890 6891 #endif /* __IMFPluginControl2_INTERFACE_DEFINED__ */ 6892 6893 #endif 6894 6895 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 6896 /***************************************************************************** 6897 * IMFDXGIDeviceManager interface 6898 */ 6899 #ifndef __IMFDXGIDeviceManager_INTERFACE_DEFINED__ 6900 #define __IMFDXGIDeviceManager_INTERFACE_DEFINED__ 6901 6902 DEFINE_GUID(IID_IMFDXGIDeviceManager, 0xeb533d5d, 0x2db6, 0x40f8, 0x97,0xa9, 0x49,0x46,0x92,0x01,0x4f,0x07); 6903 #if defined(__cplusplus) && !defined(CINTERFACE) 6904 MIDL_INTERFACE("eb533d5d-2db6-40f8-97a9-494692014f07") 6905 IMFDXGIDeviceManager : public IUnknown 6906 { 6907 virtual HRESULT STDMETHODCALLTYPE CloseDeviceHandle( 6908 HANDLE hDevice) = 0; 6909 6910 virtual HRESULT STDMETHODCALLTYPE GetVideoService( 6911 HANDLE hDevice, 6912 REFIID riid, 6913 void **ppService) = 0; 6914 6915 virtual HRESULT STDMETHODCALLTYPE LockDevice( 6916 HANDLE hDevice, 6917 REFIID riid, 6918 void **ppUnkDevice, 6919 WINBOOL fBlock) = 0; 6920 6921 virtual HRESULT STDMETHODCALLTYPE OpenDeviceHandle( 6922 HANDLE *phDevice) = 0; 6923 6924 virtual HRESULT STDMETHODCALLTYPE ResetDevice( 6925 IUnknown *pUnkDevice, 6926 UINT resetToken) = 0; 6927 6928 virtual HRESULT STDMETHODCALLTYPE TestDevice( 6929 HANDLE hDevice) = 0; 6930 6931 virtual HRESULT STDMETHODCALLTYPE UnlockDevice( 6932 HANDLE hDevice, 6933 WINBOOL fSaveState) = 0; 6934 6935 }; 6936 #ifdef __CRT_UUID_DECL 6937 __CRT_UUID_DECL(IMFDXGIDeviceManager, 0xeb533d5d, 0x2db6, 0x40f8, 0x97,0xa9, 0x49,0x46,0x92,0x01,0x4f,0x07) 6938 #endif 6939 #else 6940 typedef struct IMFDXGIDeviceManagerVtbl { 6941 BEGIN_INTERFACE 6942 6943 /*** IUnknown methods ***/ 6944 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 6945 IMFDXGIDeviceManager* This, 6946 REFIID riid, 6947 void **ppvObject); 6948 6949 ULONG (STDMETHODCALLTYPE *AddRef)( 6950 IMFDXGIDeviceManager* This); 6951 6952 ULONG (STDMETHODCALLTYPE *Release)( 6953 IMFDXGIDeviceManager* This); 6954 6955 /*** IMFDXGIDeviceManager methods ***/ 6956 HRESULT (STDMETHODCALLTYPE *CloseDeviceHandle)( 6957 IMFDXGIDeviceManager* This, 6958 HANDLE hDevice); 6959 6960 HRESULT (STDMETHODCALLTYPE *GetVideoService)( 6961 IMFDXGIDeviceManager* This, 6962 HANDLE hDevice, 6963 REFIID riid, 6964 void **ppService); 6965 6966 HRESULT (STDMETHODCALLTYPE *LockDevice)( 6967 IMFDXGIDeviceManager* This, 6968 HANDLE hDevice, 6969 REFIID riid, 6970 void **ppUnkDevice, 6971 WINBOOL fBlock); 6972 6973 HRESULT (STDMETHODCALLTYPE *OpenDeviceHandle)( 6974 IMFDXGIDeviceManager* This, 6975 HANDLE *phDevice); 6976 6977 HRESULT (STDMETHODCALLTYPE *ResetDevice)( 6978 IMFDXGIDeviceManager* This, 6979 IUnknown *pUnkDevice, 6980 UINT resetToken); 6981 6982 HRESULT (STDMETHODCALLTYPE *TestDevice)( 6983 IMFDXGIDeviceManager* This, 6984 HANDLE hDevice); 6985 6986 HRESULT (STDMETHODCALLTYPE *UnlockDevice)( 6987 IMFDXGIDeviceManager* This, 6988 HANDLE hDevice, 6989 WINBOOL fSaveState); 6990 6991 END_INTERFACE 6992 } IMFDXGIDeviceManagerVtbl; 6993 interface IMFDXGIDeviceManager { 6994 CONST_VTBL IMFDXGIDeviceManagerVtbl* lpVtbl; 6995 }; 6996 6997 #ifdef COBJMACROS 6998 #ifndef WIDL_C_INLINE_WRAPPERS 6999 /*** IUnknown methods ***/ 7000 #define IMFDXGIDeviceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 7001 #define IMFDXGIDeviceManager_AddRef(This) (This)->lpVtbl->AddRef(This) 7002 #define IMFDXGIDeviceManager_Release(This) (This)->lpVtbl->Release(This) 7003 /*** IMFDXGIDeviceManager methods ***/ 7004 #define IMFDXGIDeviceManager_CloseDeviceHandle(This,hDevice) (This)->lpVtbl->CloseDeviceHandle(This,hDevice) 7005 #define IMFDXGIDeviceManager_GetVideoService(This,hDevice,riid,ppService) (This)->lpVtbl->GetVideoService(This,hDevice,riid,ppService) 7006 #define IMFDXGIDeviceManager_LockDevice(This,hDevice,riid,ppUnkDevice,fBlock) (This)->lpVtbl->LockDevice(This,hDevice,riid,ppUnkDevice,fBlock) 7007 #define IMFDXGIDeviceManager_OpenDeviceHandle(This,phDevice) (This)->lpVtbl->OpenDeviceHandle(This,phDevice) 7008 #define IMFDXGIDeviceManager_ResetDevice(This,pUnkDevice,resetToken) (This)->lpVtbl->ResetDevice(This,pUnkDevice,resetToken) 7009 #define IMFDXGIDeviceManager_TestDevice(This,hDevice) (This)->lpVtbl->TestDevice(This,hDevice) 7010 #define IMFDXGIDeviceManager_UnlockDevice(This,hDevice,fSaveState) (This)->lpVtbl->UnlockDevice(This,hDevice,fSaveState) 7011 #else 7012 /*** IUnknown methods ***/ 7013 static FORCEINLINE HRESULT IMFDXGIDeviceManager_QueryInterface(IMFDXGIDeviceManager* This,REFIID riid,void **ppvObject) { 7014 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 7015 } 7016 static FORCEINLINE ULONG IMFDXGIDeviceManager_AddRef(IMFDXGIDeviceManager* This) { 7017 return This->lpVtbl->AddRef(This); 7018 } 7019 static FORCEINLINE ULONG IMFDXGIDeviceManager_Release(IMFDXGIDeviceManager* This) { 7020 return This->lpVtbl->Release(This); 7021 } 7022 /*** IMFDXGIDeviceManager methods ***/ 7023 static FORCEINLINE HRESULT IMFDXGIDeviceManager_CloseDeviceHandle(IMFDXGIDeviceManager* This,HANDLE hDevice) { 7024 return This->lpVtbl->CloseDeviceHandle(This,hDevice); 7025 } 7026 static FORCEINLINE HRESULT IMFDXGIDeviceManager_GetVideoService(IMFDXGIDeviceManager* This,HANDLE hDevice,REFIID riid,void **ppService) { 7027 return This->lpVtbl->GetVideoService(This,hDevice,riid,ppService); 7028 } 7029 static FORCEINLINE HRESULT IMFDXGIDeviceManager_LockDevice(IMFDXGIDeviceManager* This,HANDLE hDevice,REFIID riid,void **ppUnkDevice,WINBOOL fBlock) { 7030 return This->lpVtbl->LockDevice(This,hDevice,riid,ppUnkDevice,fBlock); 7031 } 7032 static FORCEINLINE HRESULT IMFDXGIDeviceManager_OpenDeviceHandle(IMFDXGIDeviceManager* This,HANDLE *phDevice) { 7033 return This->lpVtbl->OpenDeviceHandle(This,phDevice); 7034 } 7035 static FORCEINLINE HRESULT IMFDXGIDeviceManager_ResetDevice(IMFDXGIDeviceManager* This,IUnknown *pUnkDevice,UINT resetToken) { 7036 return This->lpVtbl->ResetDevice(This,pUnkDevice,resetToken); 7037 } 7038 static FORCEINLINE HRESULT IMFDXGIDeviceManager_TestDevice(IMFDXGIDeviceManager* This,HANDLE hDevice) { 7039 return This->lpVtbl->TestDevice(This,hDevice); 7040 } 7041 static FORCEINLINE HRESULT IMFDXGIDeviceManager_UnlockDevice(IMFDXGIDeviceManager* This,HANDLE hDevice,WINBOOL fSaveState) { 7042 return This->lpVtbl->UnlockDevice(This,hDevice,fSaveState); 7043 } 7044 #endif 7045 #endif 7046 7047 #endif 7048 7049 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_CloseDeviceHandle_Proxy( 7050 IMFDXGIDeviceManager* This, 7051 HANDLE hDevice); 7052 void __RPC_STUB IMFDXGIDeviceManager_CloseDeviceHandle_Stub( 7053 IRpcStubBuffer* This, 7054 IRpcChannelBuffer* pRpcChannelBuffer, 7055 PRPC_MESSAGE pRpcMessage, 7056 DWORD* pdwStubPhase); 7057 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_GetVideoService_Proxy( 7058 IMFDXGIDeviceManager* This, 7059 HANDLE hDevice, 7060 REFIID riid, 7061 void **ppService); 7062 void __RPC_STUB IMFDXGIDeviceManager_GetVideoService_Stub( 7063 IRpcStubBuffer* This, 7064 IRpcChannelBuffer* pRpcChannelBuffer, 7065 PRPC_MESSAGE pRpcMessage, 7066 DWORD* pdwStubPhase); 7067 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_LockDevice_Proxy( 7068 IMFDXGIDeviceManager* This, 7069 HANDLE hDevice, 7070 REFIID riid, 7071 void **ppUnkDevice, 7072 WINBOOL fBlock); 7073 void __RPC_STUB IMFDXGIDeviceManager_LockDevice_Stub( 7074 IRpcStubBuffer* This, 7075 IRpcChannelBuffer* pRpcChannelBuffer, 7076 PRPC_MESSAGE pRpcMessage, 7077 DWORD* pdwStubPhase); 7078 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_OpenDeviceHandle_Proxy( 7079 IMFDXGIDeviceManager* This, 7080 HANDLE *phDevice); 7081 void __RPC_STUB IMFDXGIDeviceManager_OpenDeviceHandle_Stub( 7082 IRpcStubBuffer* This, 7083 IRpcChannelBuffer* pRpcChannelBuffer, 7084 PRPC_MESSAGE pRpcMessage, 7085 DWORD* pdwStubPhase); 7086 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_ResetDevice_Proxy( 7087 IMFDXGIDeviceManager* This, 7088 IUnknown *pUnkDevice, 7089 UINT resetToken); 7090 void __RPC_STUB IMFDXGIDeviceManager_ResetDevice_Stub( 7091 IRpcStubBuffer* This, 7092 IRpcChannelBuffer* pRpcChannelBuffer, 7093 PRPC_MESSAGE pRpcMessage, 7094 DWORD* pdwStubPhase); 7095 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_TestDevice_Proxy( 7096 IMFDXGIDeviceManager* This, 7097 HANDLE hDevice); 7098 void __RPC_STUB IMFDXGIDeviceManager_TestDevice_Stub( 7099 IRpcStubBuffer* This, 7100 IRpcChannelBuffer* pRpcChannelBuffer, 7101 PRPC_MESSAGE pRpcMessage, 7102 DWORD* pdwStubPhase); 7103 HRESULT STDMETHODCALLTYPE IMFDXGIDeviceManager_UnlockDevice_Proxy( 7104 IMFDXGIDeviceManager* This, 7105 HANDLE hDevice, 7106 WINBOOL fSaveState); 7107 void __RPC_STUB IMFDXGIDeviceManager_UnlockDevice_Stub( 7108 IRpcStubBuffer* This, 7109 IRpcChannelBuffer* pRpcChannelBuffer, 7110 PRPC_MESSAGE pRpcMessage, 7111 DWORD* pdwStubPhase); 7112 7113 #endif /* __IMFDXGIDeviceManager_INTERFACE_DEFINED__ */ 7114 7115 #endif 7116 7117 #endif 7118 /* Begin additional prototypes for all interfaces */ 7119 7120 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 7121 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 7122 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 7123 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 7124 ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); 7125 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); 7126 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); 7127 void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); 7128 7129 /* End additional prototypes */ 7130 7131 #ifdef __cplusplus 7132 } 7133 #endif 7134 7135 #endif /* __mfobjects_h__ */ 7136