1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/src/mingw-w64-svn-r5861/mingw-w64-headers/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 __IMFMediaType_FWD_DEFINED__ 41 #define __IMFMediaType_FWD_DEFINED__ 42 typedef interface IMFMediaType IMFMediaType; 43 #endif 44 45 #ifndef __IMFAudioMediaType_FWD_DEFINED__ 46 #define __IMFAudioMediaType_FWD_DEFINED__ 47 typedef interface IMFAudioMediaType IMFAudioMediaType; 48 #endif 49 50 #ifndef __IMFVideoMediaType_FWD_DEFINED__ 51 #define __IMFVideoMediaType_FWD_DEFINED__ 52 typedef interface IMFVideoMediaType IMFVideoMediaType; 53 #endif 54 55 #ifndef __IMFAsyncResult_FWD_DEFINED__ 56 #define __IMFAsyncResult_FWD_DEFINED__ 57 typedef interface IMFAsyncResult IMFAsyncResult; 58 #endif 59 60 #ifndef __IMFAsyncCallback_FWD_DEFINED__ 61 #define __IMFAsyncCallback_FWD_DEFINED__ 62 typedef interface IMFAsyncCallback IMFAsyncCallback; 63 #endif 64 65 #ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ 66 #define __IMFRemoteAsyncCallback_FWD_DEFINED__ 67 typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; 68 #endif 69 70 #ifndef __IMFMediaEvent_FWD_DEFINED__ 71 #define __IMFMediaEvent_FWD_DEFINED__ 72 typedef interface IMFMediaEvent IMFMediaEvent; 73 #endif 74 75 #ifndef __IMFMediaEventGenerator_FWD_DEFINED__ 76 #define __IMFMediaEventGenerator_FWD_DEFINED__ 77 typedef interface IMFMediaEventGenerator IMFMediaEventGenerator; 78 #endif 79 80 #ifndef __IMFByteStream_FWD_DEFINED__ 81 #define __IMFByteStream_FWD_DEFINED__ 82 typedef interface IMFByteStream IMFByteStream; 83 #endif 84 85 #ifndef __IMFCollection_FWD_DEFINED__ 86 #define __IMFCollection_FWD_DEFINED__ 87 typedef interface IMFCollection IMFCollection; 88 #endif 89 90 #ifndef __IMFActivate_FWD_DEFINED__ 91 #define __IMFActivate_FWD_DEFINED__ 92 typedef interface IMFActivate IMFActivate; 93 #endif 94 95 #ifndef __IMFPluginControl_FWD_DEFINED__ 96 #define __IMFPluginControl_FWD_DEFINED__ 97 typedef interface IMFPluginControl IMFPluginControl; 98 #endif 99 100 /* Headers for imported files */ 101 102 #include <unknwn.h> 103 #include <propsys.h> 104 #include <mediaobj.h> 105 106 #ifdef __cplusplus 107 extern "C" { 108 #endif 109 110 #include <mmreg.h> 111 #if 0 112 typedef struct tWAVEFORMATEX { 113 WORD wFormatTag; 114 WORD nChannels; 115 DWORD nSamplesPerSec; 116 DWORD nAvgBytesPerSec; 117 WORD nBlockAlign; 118 WORD wBitsPerSample; 119 WORD cbSize; 120 BYTE pExtraBytes[1]; 121 } WAVEFORMATEX; 122 typedef struct tWAVEFORMATEX *PWAVEFORMATEX; 123 typedef struct tWAVEFORMATEX *NPWAVEFORMATEX; 124 typedef struct tWAVEFORMATEX *LPWAVEFORMATEX; 125 typedef struct __WIDL_mmreg_h_generated_name_00000000 { 126 WORD wFormatTag; 127 WORD nChannels; 128 DWORD nSamplesPerSec; 129 DWORD nAvgBytesPerSec; 130 WORD nBlockAlign; 131 WORD wBitsPerSample; 132 WORD cbSize; 133 WORD wValidBitsPerSample; 134 DWORD dwChannelMask; 135 GUID SubFormat; 136 } WAVEFORMATEXTENSIBLE; 137 typedef struct __WIDL_mmreg_h_generated_name_00000000 *PWAVEFORMATEXTENSIBLE; 138 #endif 139 typedef ULONGLONG QWORD; 140 typedef enum _MF_ATTRIBUTE_TYPE { 141 MF_ATTRIBUTE_UINT32 = VT_UI4, 142 MF_ATTRIBUTE_UINT64 = VT_UI8, 143 MF_ATTRIBUTE_DOUBLE = VT_R8, 144 MF_ATTRIBUTE_GUID = VT_CLSID, 145 MF_ATTRIBUTE_STRING = VT_LPWSTR, 146 MF_ATTRIBUTE_BLOB = VT_VECTOR | VT_UI1, 147 MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN 148 } MF_ATTRIBUTE_TYPE; 149 typedef enum _MF_ATTRIBUTES_MATCH_TYPE { 150 MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0, 151 MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1, 152 MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2, 153 MF_ATTRIBUTES_MATCH_INTERSECTION = 3, 154 MF_ATTRIBUTES_MATCH_SMALLER = 4 155 } MF_ATTRIBUTES_MATCH_TYPE; 156 /***************************************************************************** 157 * IMFAttributes interface 158 */ 159 #ifndef __IMFAttributes_INTERFACE_DEFINED__ 160 #define __IMFAttributes_INTERFACE_DEFINED__ 161 162 DEFINE_GUID(IID_IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3); 163 #if defined(__cplusplus) && !defined(CINTERFACE) 164 MIDL_INTERFACE("2cd2d921-c447-44a7-a13c-4adabfc247e3") 165 IMFAttributes : public IUnknown 166 { 167 virtual HRESULT STDMETHODCALLTYPE GetItem( 168 REFGUID guidKey, 169 PROPVARIANT *pValue) = 0; 170 171 virtual HRESULT STDMETHODCALLTYPE GetItemType( 172 REFGUID guidKey, 173 MF_ATTRIBUTE_TYPE *pType) = 0; 174 175 virtual HRESULT STDMETHODCALLTYPE CompareItem( 176 REFGUID guidKey, 177 REFPROPVARIANT Value, 178 WINBOOL *pbResult) = 0; 179 180 virtual HRESULT STDMETHODCALLTYPE Compare( 181 IMFAttributes *pTheirs, 182 MF_ATTRIBUTES_MATCH_TYPE MatchType, 183 WINBOOL *pbResult) = 0; 184 185 virtual HRESULT STDMETHODCALLTYPE GetUINT32( 186 REFGUID guidKey, 187 UINT32 *punValue) = 0; 188 189 virtual HRESULT STDMETHODCALLTYPE GetUINT64( 190 REFGUID guidKey, 191 UINT64 *punValue) = 0; 192 193 virtual HRESULT STDMETHODCALLTYPE GetDouble( 194 REFGUID guidKey, 195 double *pfValue) = 0; 196 197 virtual HRESULT STDMETHODCALLTYPE GetGUID( 198 REFGUID guidKey, 199 GUID *pguidValue) = 0; 200 201 virtual HRESULT STDMETHODCALLTYPE GetStringLength( 202 REFGUID guidKey, 203 UINT32 *pcchLength) = 0; 204 205 virtual HRESULT STDMETHODCALLTYPE GetString( 206 REFGUID guidKey, 207 LPWSTR pwszValue, 208 UINT32 cchBufSize, 209 UINT32 *pcchLength) = 0; 210 211 virtual HRESULT STDMETHODCALLTYPE GetAllocatedString( 212 REFGUID guidKey, 213 LPWSTR *ppwszValue, 214 UINT32 *pcchLength) = 0; 215 216 virtual HRESULT STDMETHODCALLTYPE GetBlobSize( 217 REFGUID guidKey, 218 UINT32 *pcbBlobSize) = 0; 219 220 virtual HRESULT STDMETHODCALLTYPE GetBlob( 221 REFGUID guidKey, 222 UINT8 *pBuf, 223 UINT32 cbBufSize, 224 UINT32 *pcbBlobSize) = 0; 225 226 virtual HRESULT STDMETHODCALLTYPE GetAllocatedBlob( 227 REFGUID guidKey, 228 UINT8 **ppBuf, 229 UINT32 *pcbSize) = 0; 230 231 virtual HRESULT STDMETHODCALLTYPE GetUnknown( 232 REFGUID guidKey, 233 REFIID riid, 234 LPVOID *ppv) = 0; 235 236 virtual HRESULT STDMETHODCALLTYPE SetItem( 237 REFGUID guidKey, 238 REFPROPVARIANT Value) = 0; 239 240 virtual HRESULT STDMETHODCALLTYPE DeleteItem( 241 REFGUID guidKey) = 0; 242 243 virtual HRESULT STDMETHODCALLTYPE DeleteAllItems( 244 ) = 0; 245 246 virtual HRESULT STDMETHODCALLTYPE SetUINT32( 247 REFGUID guidKey, 248 UINT32 unValue) = 0; 249 250 virtual HRESULT STDMETHODCALLTYPE SetUINT64( 251 REFGUID guidKey, 252 UINT64 unValue) = 0; 253 254 virtual HRESULT STDMETHODCALLTYPE SetDouble( 255 REFGUID guidKey, 256 double fValue) = 0; 257 258 virtual HRESULT STDMETHODCALLTYPE SetGUID( 259 REFGUID guidKey, 260 REFGUID guidValue) = 0; 261 262 virtual HRESULT STDMETHODCALLTYPE SetString( 263 REFGUID guidKey, 264 LPCWSTR wszValue) = 0; 265 266 virtual HRESULT STDMETHODCALLTYPE SetBlob( 267 REFGUID guidKey, 268 const UINT8 *pBuf, 269 UINT32 cbBufSize) = 0; 270 271 virtual HRESULT STDMETHODCALLTYPE SetUnknown( 272 REFGUID guidKey, 273 IUnknown *pUnknown) = 0; 274 275 virtual HRESULT STDMETHODCALLTYPE LockStore( 276 ) = 0; 277 278 virtual HRESULT STDMETHODCALLTYPE UnlockStore( 279 ) = 0; 280 281 virtual HRESULT STDMETHODCALLTYPE GetCount( 282 UINT32 *pcItems) = 0; 283 284 virtual HRESULT STDMETHODCALLTYPE GetItemByIndex( 285 UINT32 unIndex, 286 GUID *pguidKey, 287 PROPVARIANT *pValue) = 0; 288 289 virtual HRESULT STDMETHODCALLTYPE CopyAllItems( 290 IMFAttributes *pDest) = 0; 291 292 }; 293 #ifdef __CRT_UUID_DECL 294 __CRT_UUID_DECL(IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3) 295 #endif 296 #else 297 typedef struct IMFAttributesVtbl { 298 BEGIN_INTERFACE 299 300 /*** IUnknown methods ***/ 301 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 302 IMFAttributes* This, 303 REFIID riid, 304 void **ppvObject); 305 306 ULONG (STDMETHODCALLTYPE *AddRef)( 307 IMFAttributes* This); 308 309 ULONG (STDMETHODCALLTYPE *Release)( 310 IMFAttributes* This); 311 312 /*** IMFAttributes methods ***/ 313 HRESULT (STDMETHODCALLTYPE *GetItem)( 314 IMFAttributes* This, 315 REFGUID guidKey, 316 PROPVARIANT *pValue); 317 318 HRESULT (STDMETHODCALLTYPE *GetItemType)( 319 IMFAttributes* This, 320 REFGUID guidKey, 321 MF_ATTRIBUTE_TYPE *pType); 322 323 HRESULT (STDMETHODCALLTYPE *CompareItem)( 324 IMFAttributes* This, 325 REFGUID guidKey, 326 REFPROPVARIANT Value, 327 WINBOOL *pbResult); 328 329 HRESULT (STDMETHODCALLTYPE *Compare)( 330 IMFAttributes* This, 331 IMFAttributes *pTheirs, 332 MF_ATTRIBUTES_MATCH_TYPE MatchType, 333 WINBOOL *pbResult); 334 335 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 336 IMFAttributes* This, 337 REFGUID guidKey, 338 UINT32 *punValue); 339 340 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 341 IMFAttributes* This, 342 REFGUID guidKey, 343 UINT64 *punValue); 344 345 HRESULT (STDMETHODCALLTYPE *GetDouble)( 346 IMFAttributes* This, 347 REFGUID guidKey, 348 double *pfValue); 349 350 HRESULT (STDMETHODCALLTYPE *GetGUID)( 351 IMFAttributes* This, 352 REFGUID guidKey, 353 GUID *pguidValue); 354 355 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 356 IMFAttributes* This, 357 REFGUID guidKey, 358 UINT32 *pcchLength); 359 360 HRESULT (STDMETHODCALLTYPE *GetString)( 361 IMFAttributes* This, 362 REFGUID guidKey, 363 LPWSTR pwszValue, 364 UINT32 cchBufSize, 365 UINT32 *pcchLength); 366 367 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 368 IMFAttributes* This, 369 REFGUID guidKey, 370 LPWSTR *ppwszValue, 371 UINT32 *pcchLength); 372 373 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 374 IMFAttributes* This, 375 REFGUID guidKey, 376 UINT32 *pcbBlobSize); 377 378 HRESULT (STDMETHODCALLTYPE *GetBlob)( 379 IMFAttributes* This, 380 REFGUID guidKey, 381 UINT8 *pBuf, 382 UINT32 cbBufSize, 383 UINT32 *pcbBlobSize); 384 385 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 386 IMFAttributes* This, 387 REFGUID guidKey, 388 UINT8 **ppBuf, 389 UINT32 *pcbSize); 390 391 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 392 IMFAttributes* This, 393 REFGUID guidKey, 394 REFIID riid, 395 LPVOID *ppv); 396 397 HRESULT (STDMETHODCALLTYPE *SetItem)( 398 IMFAttributes* This, 399 REFGUID guidKey, 400 REFPROPVARIANT Value); 401 402 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 403 IMFAttributes* This, 404 REFGUID guidKey); 405 406 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 407 IMFAttributes* This); 408 409 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 410 IMFAttributes* This, 411 REFGUID guidKey, 412 UINT32 unValue); 413 414 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 415 IMFAttributes* This, 416 REFGUID guidKey, 417 UINT64 unValue); 418 419 HRESULT (STDMETHODCALLTYPE *SetDouble)( 420 IMFAttributes* This, 421 REFGUID guidKey, 422 double fValue); 423 424 HRESULT (STDMETHODCALLTYPE *SetGUID)( 425 IMFAttributes* This, 426 REFGUID guidKey, 427 REFGUID guidValue); 428 429 HRESULT (STDMETHODCALLTYPE *SetString)( 430 IMFAttributes* This, 431 REFGUID guidKey, 432 LPCWSTR wszValue); 433 434 HRESULT (STDMETHODCALLTYPE *SetBlob)( 435 IMFAttributes* This, 436 REFGUID guidKey, 437 const UINT8 *pBuf, 438 UINT32 cbBufSize); 439 440 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 441 IMFAttributes* This, 442 REFGUID guidKey, 443 IUnknown *pUnknown); 444 445 HRESULT (STDMETHODCALLTYPE *LockStore)( 446 IMFAttributes* This); 447 448 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 449 IMFAttributes* This); 450 451 HRESULT (STDMETHODCALLTYPE *GetCount)( 452 IMFAttributes* This, 453 UINT32 *pcItems); 454 455 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 456 IMFAttributes* This, 457 UINT32 unIndex, 458 GUID *pguidKey, 459 PROPVARIANT *pValue); 460 461 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 462 IMFAttributes* This, 463 IMFAttributes *pDest); 464 465 END_INTERFACE 466 } IMFAttributesVtbl; 467 interface IMFAttributes { 468 CONST_VTBL IMFAttributesVtbl* lpVtbl; 469 }; 470 471 #ifdef COBJMACROS 472 #ifndef WIDL_C_INLINE_WRAPPERS 473 /*** IUnknown methods ***/ 474 #define IMFAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 475 #define IMFAttributes_AddRef(This) (This)->lpVtbl->AddRef(This) 476 #define IMFAttributes_Release(This) (This)->lpVtbl->Release(This) 477 /*** IMFAttributes methods ***/ 478 #define IMFAttributes_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 479 #define IMFAttributes_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 480 #define IMFAttributes_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 481 #define IMFAttributes_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 482 #define IMFAttributes_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 483 #define IMFAttributes_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 484 #define IMFAttributes_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 485 #define IMFAttributes_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 486 #define IMFAttributes_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 487 #define IMFAttributes_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 488 #define IMFAttributes_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 489 #define IMFAttributes_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 490 #define IMFAttributes_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 491 #define IMFAttributes_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 492 #define IMFAttributes_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 493 #define IMFAttributes_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 494 #define IMFAttributes_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 495 #define IMFAttributes_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 496 #define IMFAttributes_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 497 #define IMFAttributes_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 498 #define IMFAttributes_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 499 #define IMFAttributes_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 500 #define IMFAttributes_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 501 #define IMFAttributes_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 502 #define IMFAttributes_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 503 #define IMFAttributes_LockStore(This) (This)->lpVtbl->LockStore(This) 504 #define IMFAttributes_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 505 #define IMFAttributes_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 506 #define IMFAttributes_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 507 #define IMFAttributes_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 508 #else 509 /*** IUnknown methods ***/ 510 static FORCEINLINE HRESULT IMFAttributes_QueryInterface(IMFAttributes* This,REFIID riid,void **ppvObject) { 511 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 512 } 513 static FORCEINLINE ULONG IMFAttributes_AddRef(IMFAttributes* This) { 514 return This->lpVtbl->AddRef(This); 515 } 516 static FORCEINLINE ULONG IMFAttributes_Release(IMFAttributes* This) { 517 return This->lpVtbl->Release(This); 518 } 519 /*** IMFAttributes methods ***/ 520 static FORCEINLINE HRESULT IMFAttributes_GetItem(IMFAttributes* This,REFGUID guidKey,PROPVARIANT *pValue) { 521 return This->lpVtbl->GetItem(This,guidKey,pValue); 522 } 523 static FORCEINLINE HRESULT IMFAttributes_GetItemType(IMFAttributes* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 524 return This->lpVtbl->GetItemType(This,guidKey,pType); 525 } 526 static FORCEINLINE HRESULT IMFAttributes_CompareItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 527 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 528 } 529 static FORCEINLINE HRESULT IMFAttributes_Compare(IMFAttributes* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 530 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 531 } 532 static FORCEINLINE HRESULT IMFAttributes_GetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 *punValue) { 533 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 534 } 535 static FORCEINLINE HRESULT IMFAttributes_GetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 *punValue) { 536 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 537 } 538 static FORCEINLINE HRESULT IMFAttributes_GetDouble(IMFAttributes* This,REFGUID guidKey,double *pfValue) { 539 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 540 } 541 static FORCEINLINE HRESULT IMFAttributes_GetGUID(IMFAttributes* This,REFGUID guidKey,GUID *pguidValue) { 542 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 543 } 544 static FORCEINLINE HRESULT IMFAttributes_GetStringLength(IMFAttributes* This,REFGUID guidKey,UINT32 *pcchLength) { 545 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 546 } 547 static FORCEINLINE HRESULT IMFAttributes_GetString(IMFAttributes* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 548 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 549 } 550 static FORCEINLINE HRESULT IMFAttributes_GetAllocatedString(IMFAttributes* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 551 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 552 } 553 static FORCEINLINE HRESULT IMFAttributes_GetBlobSize(IMFAttributes* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 554 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 555 } 556 static FORCEINLINE HRESULT IMFAttributes_GetBlob(IMFAttributes* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 557 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 558 } 559 static FORCEINLINE HRESULT IMFAttributes_GetAllocatedBlob(IMFAttributes* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 560 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 561 } 562 static FORCEINLINE HRESULT IMFAttributes_GetUnknown(IMFAttributes* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 563 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 564 } 565 static FORCEINLINE HRESULT IMFAttributes_SetItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value) { 566 return This->lpVtbl->SetItem(This,guidKey,Value); 567 } 568 static FORCEINLINE HRESULT IMFAttributes_DeleteItem(IMFAttributes* This,REFGUID guidKey) { 569 return This->lpVtbl->DeleteItem(This,guidKey); 570 } 571 static FORCEINLINE HRESULT IMFAttributes_DeleteAllItems(IMFAttributes* This) { 572 return This->lpVtbl->DeleteAllItems(This); 573 } 574 static FORCEINLINE HRESULT IMFAttributes_SetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 unValue) { 575 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 576 } 577 static FORCEINLINE HRESULT IMFAttributes_SetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 unValue) { 578 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 579 } 580 static FORCEINLINE HRESULT IMFAttributes_SetDouble(IMFAttributes* This,REFGUID guidKey,double fValue) { 581 return This->lpVtbl->SetDouble(This,guidKey,fValue); 582 } 583 static FORCEINLINE HRESULT IMFAttributes_SetGUID(IMFAttributes* This,REFGUID guidKey,REFGUID guidValue) { 584 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 585 } 586 static FORCEINLINE HRESULT IMFAttributes_SetString(IMFAttributes* This,REFGUID guidKey,LPCWSTR wszValue) { 587 return This->lpVtbl->SetString(This,guidKey,wszValue); 588 } 589 static FORCEINLINE HRESULT IMFAttributes_SetBlob(IMFAttributes* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 590 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 591 } 592 static FORCEINLINE HRESULT IMFAttributes_SetUnknown(IMFAttributes* This,REFGUID guidKey,IUnknown *pUnknown) { 593 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 594 } 595 static FORCEINLINE HRESULT IMFAttributes_LockStore(IMFAttributes* This) { 596 return This->lpVtbl->LockStore(This); 597 } 598 static FORCEINLINE HRESULT IMFAttributes_UnlockStore(IMFAttributes* This) { 599 return This->lpVtbl->UnlockStore(This); 600 } 601 static FORCEINLINE HRESULT IMFAttributes_GetCount(IMFAttributes* This,UINT32 *pcItems) { 602 return This->lpVtbl->GetCount(This,pcItems); 603 } 604 static FORCEINLINE HRESULT IMFAttributes_GetItemByIndex(IMFAttributes* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 605 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 606 } 607 static FORCEINLINE HRESULT IMFAttributes_CopyAllItems(IMFAttributes* This,IMFAttributes *pDest) { 608 return This->lpVtbl->CopyAllItems(This,pDest); 609 } 610 #endif 611 #endif 612 613 #endif 614 615 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItem_Proxy( 616 IMFAttributes* This, 617 REFGUID guidKey, 618 PROPVARIANT *pValue); 619 void __RPC_STUB IMFAttributes_GetItem_Stub( 620 IRpcStubBuffer* This, 621 IRpcChannelBuffer* pRpcChannelBuffer, 622 PRPC_MESSAGE pRpcMessage, 623 DWORD* pdwStubPhase); 624 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemType_Proxy( 625 IMFAttributes* This, 626 REFGUID guidKey, 627 MF_ATTRIBUTE_TYPE *pType); 628 void __RPC_STUB IMFAttributes_GetItemType_Stub( 629 IRpcStubBuffer* This, 630 IRpcChannelBuffer* pRpcChannelBuffer, 631 PRPC_MESSAGE pRpcMessage, 632 DWORD* pdwStubPhase); 633 HRESULT STDMETHODCALLTYPE IMFAttributes_CompareItem_Proxy( 634 IMFAttributes* This, 635 REFGUID guidKey, 636 REFPROPVARIANT Value, 637 WINBOOL *pbResult); 638 void __RPC_STUB IMFAttributes_CompareItem_Stub( 639 IRpcStubBuffer* This, 640 IRpcChannelBuffer* pRpcChannelBuffer, 641 PRPC_MESSAGE pRpcMessage, 642 DWORD* pdwStubPhase); 643 HRESULT STDMETHODCALLTYPE IMFAttributes_Compare_Proxy( 644 IMFAttributes* This, 645 IMFAttributes *pTheirs, 646 MF_ATTRIBUTES_MATCH_TYPE MatchType, 647 WINBOOL *pbResult); 648 void __RPC_STUB IMFAttributes_Compare_Stub( 649 IRpcStubBuffer* This, 650 IRpcChannelBuffer* pRpcChannelBuffer, 651 PRPC_MESSAGE pRpcMessage, 652 DWORD* pdwStubPhase); 653 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT32_Proxy( 654 IMFAttributes* This, 655 REFGUID guidKey, 656 UINT32 *punValue); 657 void __RPC_STUB IMFAttributes_GetUINT32_Stub( 658 IRpcStubBuffer* This, 659 IRpcChannelBuffer* pRpcChannelBuffer, 660 PRPC_MESSAGE pRpcMessage, 661 DWORD* pdwStubPhase); 662 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT64_Proxy( 663 IMFAttributes* This, 664 REFGUID guidKey, 665 UINT64 *punValue); 666 void __RPC_STUB IMFAttributes_GetUINT64_Stub( 667 IRpcStubBuffer* This, 668 IRpcChannelBuffer* pRpcChannelBuffer, 669 PRPC_MESSAGE pRpcMessage, 670 DWORD* pdwStubPhase); 671 HRESULT STDMETHODCALLTYPE IMFAttributes_GetDouble_Proxy( 672 IMFAttributes* This, 673 REFGUID guidKey, 674 double *pfValue); 675 void __RPC_STUB IMFAttributes_GetDouble_Stub( 676 IRpcStubBuffer* This, 677 IRpcChannelBuffer* pRpcChannelBuffer, 678 PRPC_MESSAGE pRpcMessage, 679 DWORD* pdwStubPhase); 680 HRESULT STDMETHODCALLTYPE IMFAttributes_GetGUID_Proxy( 681 IMFAttributes* This, 682 REFGUID guidKey, 683 GUID *pguidValue); 684 void __RPC_STUB IMFAttributes_GetGUID_Stub( 685 IRpcStubBuffer* This, 686 IRpcChannelBuffer* pRpcChannelBuffer, 687 PRPC_MESSAGE pRpcMessage, 688 DWORD* pdwStubPhase); 689 HRESULT STDMETHODCALLTYPE IMFAttributes_GetStringLength_Proxy( 690 IMFAttributes* This, 691 REFGUID guidKey, 692 UINT32 *pcchLength); 693 void __RPC_STUB IMFAttributes_GetStringLength_Stub( 694 IRpcStubBuffer* This, 695 IRpcChannelBuffer* pRpcChannelBuffer, 696 PRPC_MESSAGE pRpcMessage, 697 DWORD* pdwStubPhase); 698 HRESULT STDMETHODCALLTYPE IMFAttributes_GetString_Proxy( 699 IMFAttributes* This, 700 REFGUID guidKey, 701 LPWSTR pwszValue, 702 UINT32 cchBufSize, 703 UINT32 *pcchLength); 704 void __RPC_STUB IMFAttributes_GetString_Stub( 705 IRpcStubBuffer* This, 706 IRpcChannelBuffer* pRpcChannelBuffer, 707 PRPC_MESSAGE pRpcMessage, 708 DWORD* pdwStubPhase); 709 HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedString_Proxy( 710 IMFAttributes* This, 711 REFGUID guidKey, 712 LPWSTR *ppwszValue, 713 UINT32 *pcchLength); 714 void __RPC_STUB IMFAttributes_GetAllocatedString_Stub( 715 IRpcStubBuffer* This, 716 IRpcChannelBuffer* pRpcChannelBuffer, 717 PRPC_MESSAGE pRpcMessage, 718 DWORD* pdwStubPhase); 719 HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlobSize_Proxy( 720 IMFAttributes* This, 721 REFGUID guidKey, 722 UINT32 *pcbBlobSize); 723 void __RPC_STUB IMFAttributes_GetBlobSize_Stub( 724 IRpcStubBuffer* This, 725 IRpcChannelBuffer* pRpcChannelBuffer, 726 PRPC_MESSAGE pRpcMessage, 727 DWORD* pdwStubPhase); 728 HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlob_Proxy( 729 IMFAttributes* This, 730 REFGUID guidKey, 731 UINT8 *pBuf, 732 UINT32 cbBufSize, 733 UINT32 *pcbBlobSize); 734 void __RPC_STUB IMFAttributes_GetBlob_Stub( 735 IRpcStubBuffer* This, 736 IRpcChannelBuffer* pRpcChannelBuffer, 737 PRPC_MESSAGE pRpcMessage, 738 DWORD* pdwStubPhase); 739 HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedBlob_Proxy( 740 IMFAttributes* This, 741 REFGUID guidKey, 742 UINT8 **ppBuf, 743 UINT32 *pcbSize); 744 void __RPC_STUB IMFAttributes_GetAllocatedBlob_Stub( 745 IRpcStubBuffer* This, 746 IRpcChannelBuffer* pRpcChannelBuffer, 747 PRPC_MESSAGE pRpcMessage, 748 DWORD* pdwStubPhase); 749 HRESULT STDMETHODCALLTYPE IMFAttributes_GetUnknown_Proxy( 750 IMFAttributes* This, 751 REFGUID guidKey, 752 REFIID riid, 753 LPVOID *ppv); 754 void __RPC_STUB IMFAttributes_GetUnknown_Stub( 755 IRpcStubBuffer* This, 756 IRpcChannelBuffer* pRpcChannelBuffer, 757 PRPC_MESSAGE pRpcMessage, 758 DWORD* pdwStubPhase); 759 HRESULT STDMETHODCALLTYPE IMFAttributes_SetItem_Proxy( 760 IMFAttributes* This, 761 REFGUID guidKey, 762 REFPROPVARIANT Value); 763 void __RPC_STUB IMFAttributes_SetItem_Stub( 764 IRpcStubBuffer* This, 765 IRpcChannelBuffer* pRpcChannelBuffer, 766 PRPC_MESSAGE pRpcMessage, 767 DWORD* pdwStubPhase); 768 HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteItem_Proxy( 769 IMFAttributes* This, 770 REFGUID guidKey); 771 void __RPC_STUB IMFAttributes_DeleteItem_Stub( 772 IRpcStubBuffer* This, 773 IRpcChannelBuffer* pRpcChannelBuffer, 774 PRPC_MESSAGE pRpcMessage, 775 DWORD* pdwStubPhase); 776 HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteAllItems_Proxy( 777 IMFAttributes* This); 778 void __RPC_STUB IMFAttributes_DeleteAllItems_Stub( 779 IRpcStubBuffer* This, 780 IRpcChannelBuffer* pRpcChannelBuffer, 781 PRPC_MESSAGE pRpcMessage, 782 DWORD* pdwStubPhase); 783 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT32_Proxy( 784 IMFAttributes* This, 785 REFGUID guidKey, 786 UINT32 unValue); 787 void __RPC_STUB IMFAttributes_SetUINT32_Stub( 788 IRpcStubBuffer* This, 789 IRpcChannelBuffer* pRpcChannelBuffer, 790 PRPC_MESSAGE pRpcMessage, 791 DWORD* pdwStubPhase); 792 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT64_Proxy( 793 IMFAttributes* This, 794 REFGUID guidKey, 795 UINT64 unValue); 796 void __RPC_STUB IMFAttributes_SetUINT64_Stub( 797 IRpcStubBuffer* This, 798 IRpcChannelBuffer* pRpcChannelBuffer, 799 PRPC_MESSAGE pRpcMessage, 800 DWORD* pdwStubPhase); 801 HRESULT STDMETHODCALLTYPE IMFAttributes_SetDouble_Proxy( 802 IMFAttributes* This, 803 REFGUID guidKey, 804 double fValue); 805 void __RPC_STUB IMFAttributes_SetDouble_Stub( 806 IRpcStubBuffer* This, 807 IRpcChannelBuffer* pRpcChannelBuffer, 808 PRPC_MESSAGE pRpcMessage, 809 DWORD* pdwStubPhase); 810 HRESULT STDMETHODCALLTYPE IMFAttributes_SetGUID_Proxy( 811 IMFAttributes* This, 812 REFGUID guidKey, 813 REFGUID guidValue); 814 void __RPC_STUB IMFAttributes_SetGUID_Stub( 815 IRpcStubBuffer* This, 816 IRpcChannelBuffer* pRpcChannelBuffer, 817 PRPC_MESSAGE pRpcMessage, 818 DWORD* pdwStubPhase); 819 HRESULT STDMETHODCALLTYPE IMFAttributes_SetString_Proxy( 820 IMFAttributes* This, 821 REFGUID guidKey, 822 LPCWSTR wszValue); 823 void __RPC_STUB IMFAttributes_SetString_Stub( 824 IRpcStubBuffer* This, 825 IRpcChannelBuffer* pRpcChannelBuffer, 826 PRPC_MESSAGE pRpcMessage, 827 DWORD* pdwStubPhase); 828 HRESULT STDMETHODCALLTYPE IMFAttributes_SetBlob_Proxy( 829 IMFAttributes* This, 830 REFGUID guidKey, 831 const UINT8 *pBuf, 832 UINT32 cbBufSize); 833 void __RPC_STUB IMFAttributes_SetBlob_Stub( 834 IRpcStubBuffer* This, 835 IRpcChannelBuffer* pRpcChannelBuffer, 836 PRPC_MESSAGE pRpcMessage, 837 DWORD* pdwStubPhase); 838 HRESULT STDMETHODCALLTYPE IMFAttributes_SetUnknown_Proxy( 839 IMFAttributes* This, 840 REFGUID guidKey, 841 IUnknown *pUnknown); 842 void __RPC_STUB IMFAttributes_SetUnknown_Stub( 843 IRpcStubBuffer* This, 844 IRpcChannelBuffer* pRpcChannelBuffer, 845 PRPC_MESSAGE pRpcMessage, 846 DWORD* pdwStubPhase); 847 HRESULT STDMETHODCALLTYPE IMFAttributes_LockStore_Proxy( 848 IMFAttributes* This); 849 void __RPC_STUB IMFAttributes_LockStore_Stub( 850 IRpcStubBuffer* This, 851 IRpcChannelBuffer* pRpcChannelBuffer, 852 PRPC_MESSAGE pRpcMessage, 853 DWORD* pdwStubPhase); 854 HRESULT STDMETHODCALLTYPE IMFAttributes_UnlockStore_Proxy( 855 IMFAttributes* This); 856 void __RPC_STUB IMFAttributes_UnlockStore_Stub( 857 IRpcStubBuffer* This, 858 IRpcChannelBuffer* pRpcChannelBuffer, 859 PRPC_MESSAGE pRpcMessage, 860 DWORD* pdwStubPhase); 861 HRESULT STDMETHODCALLTYPE IMFAttributes_GetCount_Proxy( 862 IMFAttributes* This, 863 UINT32 *pcItems); 864 void __RPC_STUB IMFAttributes_GetCount_Stub( 865 IRpcStubBuffer* This, 866 IRpcChannelBuffer* pRpcChannelBuffer, 867 PRPC_MESSAGE pRpcMessage, 868 DWORD* pdwStubPhase); 869 HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemByIndex_Proxy( 870 IMFAttributes* This, 871 UINT32 unIndex, 872 GUID *pguidKey, 873 PROPVARIANT *pValue); 874 void __RPC_STUB IMFAttributes_GetItemByIndex_Stub( 875 IRpcStubBuffer* This, 876 IRpcChannelBuffer* pRpcChannelBuffer, 877 PRPC_MESSAGE pRpcMessage, 878 DWORD* pdwStubPhase); 879 HRESULT STDMETHODCALLTYPE IMFAttributes_CopyAllItems_Proxy( 880 IMFAttributes* This, 881 IMFAttributes *pDest); 882 void __RPC_STUB IMFAttributes_CopyAllItems_Stub( 883 IRpcStubBuffer* This, 884 IRpcChannelBuffer* pRpcChannelBuffer, 885 PRPC_MESSAGE pRpcMessage, 886 DWORD* pdwStubPhase); 887 888 #endif /* __IMFAttributes_INTERFACE_DEFINED__ */ 889 890 enum MF_ATTRIBUTE_SERIALIZE_OPTIONS { 891 MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1 892 }; 893 894 /***************************************************************************** 895 * IMFMediaBuffer interface 896 */ 897 #ifndef __IMFMediaBuffer_INTERFACE_DEFINED__ 898 #define __IMFMediaBuffer_INTERFACE_DEFINED__ 899 900 DEFINE_GUID(IID_IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07); 901 #if defined(__cplusplus) && !defined(CINTERFACE) 902 MIDL_INTERFACE("045fa593-8799-42b8-bc8d-8968c6453507") 903 IMFMediaBuffer : public IUnknown 904 { 905 virtual HRESULT STDMETHODCALLTYPE Lock( 906 BYTE **ppbBuffer, 907 DWORD *pcbMaxLength, 908 DWORD *pcbCurrentLength) = 0; 909 910 virtual HRESULT STDMETHODCALLTYPE Unlock( 911 ) = 0; 912 913 virtual HRESULT STDMETHODCALLTYPE GetCurrentLength( 914 DWORD *pcbCurrentLength) = 0; 915 916 virtual HRESULT STDMETHODCALLTYPE SetCurrentLength( 917 DWORD cbCurrentLength) = 0; 918 919 virtual HRESULT STDMETHODCALLTYPE GetMaxLength( 920 DWORD *pcbMaxLength) = 0; 921 922 }; 923 #ifdef __CRT_UUID_DECL 924 __CRT_UUID_DECL(IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07) 925 #endif 926 #else 927 typedef struct IMFMediaBufferVtbl { 928 BEGIN_INTERFACE 929 930 /*** IUnknown methods ***/ 931 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 932 IMFMediaBuffer* This, 933 REFIID riid, 934 void **ppvObject); 935 936 ULONG (STDMETHODCALLTYPE *AddRef)( 937 IMFMediaBuffer* This); 938 939 ULONG (STDMETHODCALLTYPE *Release)( 940 IMFMediaBuffer* This); 941 942 /*** IMFMediaBuffer methods ***/ 943 HRESULT (STDMETHODCALLTYPE *Lock)( 944 IMFMediaBuffer* This, 945 BYTE **ppbBuffer, 946 DWORD *pcbMaxLength, 947 DWORD *pcbCurrentLength); 948 949 HRESULT (STDMETHODCALLTYPE *Unlock)( 950 IMFMediaBuffer* This); 951 952 HRESULT (STDMETHODCALLTYPE *GetCurrentLength)( 953 IMFMediaBuffer* This, 954 DWORD *pcbCurrentLength); 955 956 HRESULT (STDMETHODCALLTYPE *SetCurrentLength)( 957 IMFMediaBuffer* This, 958 DWORD cbCurrentLength); 959 960 HRESULT (STDMETHODCALLTYPE *GetMaxLength)( 961 IMFMediaBuffer* This, 962 DWORD *pcbMaxLength); 963 964 END_INTERFACE 965 } IMFMediaBufferVtbl; 966 interface IMFMediaBuffer { 967 CONST_VTBL IMFMediaBufferVtbl* lpVtbl; 968 }; 969 970 #ifdef COBJMACROS 971 #ifndef WIDL_C_INLINE_WRAPPERS 972 /*** IUnknown methods ***/ 973 #define IMFMediaBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 974 #define IMFMediaBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 975 #define IMFMediaBuffer_Release(This) (This)->lpVtbl->Release(This) 976 /*** IMFMediaBuffer methods ***/ 977 #define IMFMediaBuffer_Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) (This)->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength) 978 #define IMFMediaBuffer_Unlock(This) (This)->lpVtbl->Unlock(This) 979 #define IMFMediaBuffer_GetCurrentLength(This,pcbCurrentLength) (This)->lpVtbl->GetCurrentLength(This,pcbCurrentLength) 980 #define IMFMediaBuffer_SetCurrentLength(This,cbCurrentLength) (This)->lpVtbl->SetCurrentLength(This,cbCurrentLength) 981 #define IMFMediaBuffer_GetMaxLength(This,pcbMaxLength) (This)->lpVtbl->GetMaxLength(This,pcbMaxLength) 982 #else 983 /*** IUnknown methods ***/ 984 static FORCEINLINE HRESULT IMFMediaBuffer_QueryInterface(IMFMediaBuffer* This,REFIID riid,void **ppvObject) { 985 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 986 } 987 static FORCEINLINE ULONG IMFMediaBuffer_AddRef(IMFMediaBuffer* This) { 988 return This->lpVtbl->AddRef(This); 989 } 990 static FORCEINLINE ULONG IMFMediaBuffer_Release(IMFMediaBuffer* This) { 991 return This->lpVtbl->Release(This); 992 } 993 /*** IMFMediaBuffer methods ***/ 994 static FORCEINLINE HRESULT IMFMediaBuffer_Lock(IMFMediaBuffer* This,BYTE **ppbBuffer,DWORD *pcbMaxLength,DWORD *pcbCurrentLength) { 995 return This->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength); 996 } 997 static FORCEINLINE HRESULT IMFMediaBuffer_Unlock(IMFMediaBuffer* This) { 998 return This->lpVtbl->Unlock(This); 999 } 1000 static FORCEINLINE HRESULT IMFMediaBuffer_GetCurrentLength(IMFMediaBuffer* This,DWORD *pcbCurrentLength) { 1001 return This->lpVtbl->GetCurrentLength(This,pcbCurrentLength); 1002 } 1003 static FORCEINLINE HRESULT IMFMediaBuffer_SetCurrentLength(IMFMediaBuffer* This,DWORD cbCurrentLength) { 1004 return This->lpVtbl->SetCurrentLength(This,cbCurrentLength); 1005 } 1006 static FORCEINLINE HRESULT IMFMediaBuffer_GetMaxLength(IMFMediaBuffer* This,DWORD *pcbMaxLength) { 1007 return This->lpVtbl->GetMaxLength(This,pcbMaxLength); 1008 } 1009 #endif 1010 #endif 1011 1012 #endif 1013 1014 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Lock_Proxy( 1015 IMFMediaBuffer* This, 1016 BYTE **ppbBuffer, 1017 DWORD *pcbMaxLength, 1018 DWORD *pcbCurrentLength); 1019 void __RPC_STUB IMFMediaBuffer_Lock_Stub( 1020 IRpcStubBuffer* This, 1021 IRpcChannelBuffer* pRpcChannelBuffer, 1022 PRPC_MESSAGE pRpcMessage, 1023 DWORD* pdwStubPhase); 1024 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Unlock_Proxy( 1025 IMFMediaBuffer* This); 1026 void __RPC_STUB IMFMediaBuffer_Unlock_Stub( 1027 IRpcStubBuffer* This, 1028 IRpcChannelBuffer* pRpcChannelBuffer, 1029 PRPC_MESSAGE pRpcMessage, 1030 DWORD* pdwStubPhase); 1031 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetCurrentLength_Proxy( 1032 IMFMediaBuffer* This, 1033 DWORD *pcbCurrentLength); 1034 void __RPC_STUB IMFMediaBuffer_GetCurrentLength_Stub( 1035 IRpcStubBuffer* This, 1036 IRpcChannelBuffer* pRpcChannelBuffer, 1037 PRPC_MESSAGE pRpcMessage, 1038 DWORD* pdwStubPhase); 1039 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_SetCurrentLength_Proxy( 1040 IMFMediaBuffer* This, 1041 DWORD cbCurrentLength); 1042 void __RPC_STUB IMFMediaBuffer_SetCurrentLength_Stub( 1043 IRpcStubBuffer* This, 1044 IRpcChannelBuffer* pRpcChannelBuffer, 1045 PRPC_MESSAGE pRpcMessage, 1046 DWORD* pdwStubPhase); 1047 HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetMaxLength_Proxy( 1048 IMFMediaBuffer* This, 1049 DWORD *pcbMaxLength); 1050 void __RPC_STUB IMFMediaBuffer_GetMaxLength_Stub( 1051 IRpcStubBuffer* This, 1052 IRpcChannelBuffer* pRpcChannelBuffer, 1053 PRPC_MESSAGE pRpcMessage, 1054 DWORD* pdwStubPhase); 1055 1056 #endif /* __IMFMediaBuffer_INTERFACE_DEFINED__ */ 1057 1058 /***************************************************************************** 1059 * IMFSample interface 1060 */ 1061 #ifndef __IMFSample_INTERFACE_DEFINED__ 1062 #define __IMFSample_INTERFACE_DEFINED__ 1063 1064 DEFINE_GUID(IID_IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4); 1065 #if defined(__cplusplus) && !defined(CINTERFACE) 1066 MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4") 1067 IMFSample : public IMFAttributes 1068 { 1069 virtual HRESULT STDMETHODCALLTYPE GetSampleFlags( 1070 DWORD *pdwSampleFlags) = 0; 1071 1072 virtual HRESULT STDMETHODCALLTYPE SetSampleFlags( 1073 DWORD dwSampleFlags) = 0; 1074 1075 virtual HRESULT STDMETHODCALLTYPE GetSampleTime( 1076 LONGLONG *phnsSampleTime) = 0; 1077 1078 virtual HRESULT STDMETHODCALLTYPE SetSampleTime( 1079 LONGLONG hnsSampleTime) = 0; 1080 1081 virtual HRESULT STDMETHODCALLTYPE GetSampleDuration( 1082 LONGLONG *phnsSampleDuration) = 0; 1083 1084 virtual HRESULT STDMETHODCALLTYPE SetSampleDuration( 1085 LONGLONG hnsSampleDuration) = 0; 1086 1087 virtual HRESULT STDMETHODCALLTYPE GetBufferCount( 1088 DWORD *pdwBufferCount) = 0; 1089 1090 virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex( 1091 DWORD dwIndex, 1092 IMFMediaBuffer **ppBuffer) = 0; 1093 1094 virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer( 1095 IMFMediaBuffer **ppBuffer) = 0; 1096 1097 virtual HRESULT STDMETHODCALLTYPE AddBuffer( 1098 IMFMediaBuffer *pBuffer) = 0; 1099 1100 virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex( 1101 DWORD dwIndex) = 0; 1102 1103 virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers( 1104 ) = 0; 1105 1106 virtual HRESULT STDMETHODCALLTYPE GetTotalLength( 1107 DWORD *pcbTotalLength) = 0; 1108 1109 virtual HRESULT STDMETHODCALLTYPE CopyToBuffer( 1110 IMFMediaBuffer *pBuffer) = 0; 1111 1112 }; 1113 #ifdef __CRT_UUID_DECL 1114 __CRT_UUID_DECL(IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4) 1115 #endif 1116 #else 1117 typedef struct IMFSampleVtbl { 1118 BEGIN_INTERFACE 1119 1120 /*** IUnknown methods ***/ 1121 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1122 IMFSample* This, 1123 REFIID riid, 1124 void **ppvObject); 1125 1126 ULONG (STDMETHODCALLTYPE *AddRef)( 1127 IMFSample* This); 1128 1129 ULONG (STDMETHODCALLTYPE *Release)( 1130 IMFSample* This); 1131 1132 /*** IMFAttributes methods ***/ 1133 HRESULT (STDMETHODCALLTYPE *GetItem)( 1134 IMFSample* This, 1135 REFGUID guidKey, 1136 PROPVARIANT *pValue); 1137 1138 HRESULT (STDMETHODCALLTYPE *GetItemType)( 1139 IMFSample* This, 1140 REFGUID guidKey, 1141 MF_ATTRIBUTE_TYPE *pType); 1142 1143 HRESULT (STDMETHODCALLTYPE *CompareItem)( 1144 IMFSample* This, 1145 REFGUID guidKey, 1146 REFPROPVARIANT Value, 1147 WINBOOL *pbResult); 1148 1149 HRESULT (STDMETHODCALLTYPE *Compare)( 1150 IMFSample* This, 1151 IMFAttributes *pTheirs, 1152 MF_ATTRIBUTES_MATCH_TYPE MatchType, 1153 WINBOOL *pbResult); 1154 1155 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 1156 IMFSample* This, 1157 REFGUID guidKey, 1158 UINT32 *punValue); 1159 1160 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 1161 IMFSample* This, 1162 REFGUID guidKey, 1163 UINT64 *punValue); 1164 1165 HRESULT (STDMETHODCALLTYPE *GetDouble)( 1166 IMFSample* This, 1167 REFGUID guidKey, 1168 double *pfValue); 1169 1170 HRESULT (STDMETHODCALLTYPE *GetGUID)( 1171 IMFSample* This, 1172 REFGUID guidKey, 1173 GUID *pguidValue); 1174 1175 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 1176 IMFSample* This, 1177 REFGUID guidKey, 1178 UINT32 *pcchLength); 1179 1180 HRESULT (STDMETHODCALLTYPE *GetString)( 1181 IMFSample* This, 1182 REFGUID guidKey, 1183 LPWSTR pwszValue, 1184 UINT32 cchBufSize, 1185 UINT32 *pcchLength); 1186 1187 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 1188 IMFSample* This, 1189 REFGUID guidKey, 1190 LPWSTR *ppwszValue, 1191 UINT32 *pcchLength); 1192 1193 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 1194 IMFSample* This, 1195 REFGUID guidKey, 1196 UINT32 *pcbBlobSize); 1197 1198 HRESULT (STDMETHODCALLTYPE *GetBlob)( 1199 IMFSample* This, 1200 REFGUID guidKey, 1201 UINT8 *pBuf, 1202 UINT32 cbBufSize, 1203 UINT32 *pcbBlobSize); 1204 1205 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 1206 IMFSample* This, 1207 REFGUID guidKey, 1208 UINT8 **ppBuf, 1209 UINT32 *pcbSize); 1210 1211 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 1212 IMFSample* This, 1213 REFGUID guidKey, 1214 REFIID riid, 1215 LPVOID *ppv); 1216 1217 HRESULT (STDMETHODCALLTYPE *SetItem)( 1218 IMFSample* This, 1219 REFGUID guidKey, 1220 REFPROPVARIANT Value); 1221 1222 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 1223 IMFSample* This, 1224 REFGUID guidKey); 1225 1226 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 1227 IMFSample* This); 1228 1229 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 1230 IMFSample* This, 1231 REFGUID guidKey, 1232 UINT32 unValue); 1233 1234 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 1235 IMFSample* This, 1236 REFGUID guidKey, 1237 UINT64 unValue); 1238 1239 HRESULT (STDMETHODCALLTYPE *SetDouble)( 1240 IMFSample* This, 1241 REFGUID guidKey, 1242 double fValue); 1243 1244 HRESULT (STDMETHODCALLTYPE *SetGUID)( 1245 IMFSample* This, 1246 REFGUID guidKey, 1247 REFGUID guidValue); 1248 1249 HRESULT (STDMETHODCALLTYPE *SetString)( 1250 IMFSample* This, 1251 REFGUID guidKey, 1252 LPCWSTR wszValue); 1253 1254 HRESULT (STDMETHODCALLTYPE *SetBlob)( 1255 IMFSample* This, 1256 REFGUID guidKey, 1257 const UINT8 *pBuf, 1258 UINT32 cbBufSize); 1259 1260 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 1261 IMFSample* This, 1262 REFGUID guidKey, 1263 IUnknown *pUnknown); 1264 1265 HRESULT (STDMETHODCALLTYPE *LockStore)( 1266 IMFSample* This); 1267 1268 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 1269 IMFSample* This); 1270 1271 HRESULT (STDMETHODCALLTYPE *GetCount)( 1272 IMFSample* This, 1273 UINT32 *pcItems); 1274 1275 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 1276 IMFSample* This, 1277 UINT32 unIndex, 1278 GUID *pguidKey, 1279 PROPVARIANT *pValue); 1280 1281 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 1282 IMFSample* This, 1283 IMFAttributes *pDest); 1284 1285 /*** IMFSample methods ***/ 1286 HRESULT (STDMETHODCALLTYPE *GetSampleFlags)( 1287 IMFSample* This, 1288 DWORD *pdwSampleFlags); 1289 1290 HRESULT (STDMETHODCALLTYPE *SetSampleFlags)( 1291 IMFSample* This, 1292 DWORD dwSampleFlags); 1293 1294 HRESULT (STDMETHODCALLTYPE *GetSampleTime)( 1295 IMFSample* This, 1296 LONGLONG *phnsSampleTime); 1297 1298 HRESULT (STDMETHODCALLTYPE *SetSampleTime)( 1299 IMFSample* This, 1300 LONGLONG hnsSampleTime); 1301 1302 HRESULT (STDMETHODCALLTYPE *GetSampleDuration)( 1303 IMFSample* This, 1304 LONGLONG *phnsSampleDuration); 1305 1306 HRESULT (STDMETHODCALLTYPE *SetSampleDuration)( 1307 IMFSample* This, 1308 LONGLONG hnsSampleDuration); 1309 1310 HRESULT (STDMETHODCALLTYPE *GetBufferCount)( 1311 IMFSample* This, 1312 DWORD *pdwBufferCount); 1313 1314 HRESULT (STDMETHODCALLTYPE *GetBufferByIndex)( 1315 IMFSample* This, 1316 DWORD dwIndex, 1317 IMFMediaBuffer **ppBuffer); 1318 1319 HRESULT (STDMETHODCALLTYPE *ConvertToContiguousBuffer)( 1320 IMFSample* This, 1321 IMFMediaBuffer **ppBuffer); 1322 1323 HRESULT (STDMETHODCALLTYPE *AddBuffer)( 1324 IMFSample* This, 1325 IMFMediaBuffer *pBuffer); 1326 1327 HRESULT (STDMETHODCALLTYPE *RemoveBufferByIndex)( 1328 IMFSample* This, 1329 DWORD dwIndex); 1330 1331 HRESULT (STDMETHODCALLTYPE *RemoveAllBuffers)( 1332 IMFSample* This); 1333 1334 HRESULT (STDMETHODCALLTYPE *GetTotalLength)( 1335 IMFSample* This, 1336 DWORD *pcbTotalLength); 1337 1338 HRESULT (STDMETHODCALLTYPE *CopyToBuffer)( 1339 IMFSample* This, 1340 IMFMediaBuffer *pBuffer); 1341 1342 END_INTERFACE 1343 } IMFSampleVtbl; 1344 interface IMFSample { 1345 CONST_VTBL IMFSampleVtbl* lpVtbl; 1346 }; 1347 1348 #ifdef COBJMACROS 1349 #ifndef WIDL_C_INLINE_WRAPPERS 1350 /*** IUnknown methods ***/ 1351 #define IMFSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1352 #define IMFSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1353 #define IMFSample_Release(This) (This)->lpVtbl->Release(This) 1354 /*** IMFAttributes methods ***/ 1355 #define IMFSample_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 1356 #define IMFSample_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 1357 #define IMFSample_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 1358 #define IMFSample_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 1359 #define IMFSample_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 1360 #define IMFSample_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 1361 #define IMFSample_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 1362 #define IMFSample_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 1363 #define IMFSample_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 1364 #define IMFSample_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 1365 #define IMFSample_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 1366 #define IMFSample_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 1367 #define IMFSample_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 1368 #define IMFSample_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 1369 #define IMFSample_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 1370 #define IMFSample_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 1371 #define IMFSample_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 1372 #define IMFSample_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 1373 #define IMFSample_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 1374 #define IMFSample_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 1375 #define IMFSample_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 1376 #define IMFSample_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 1377 #define IMFSample_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 1378 #define IMFSample_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 1379 #define IMFSample_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 1380 #define IMFSample_LockStore(This) (This)->lpVtbl->LockStore(This) 1381 #define IMFSample_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 1382 #define IMFSample_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 1383 #define IMFSample_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 1384 #define IMFSample_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 1385 /*** IMFSample methods ***/ 1386 #define IMFSample_GetSampleFlags(This,pdwSampleFlags) (This)->lpVtbl->GetSampleFlags(This,pdwSampleFlags) 1387 #define IMFSample_SetSampleFlags(This,dwSampleFlags) (This)->lpVtbl->SetSampleFlags(This,dwSampleFlags) 1388 #define IMFSample_GetSampleTime(This,phnsSampleTime) (This)->lpVtbl->GetSampleTime(This,phnsSampleTime) 1389 #define IMFSample_SetSampleTime(This,hnsSampleTime) (This)->lpVtbl->SetSampleTime(This,hnsSampleTime) 1390 #define IMFSample_GetSampleDuration(This,phnsSampleDuration) (This)->lpVtbl->GetSampleDuration(This,phnsSampleDuration) 1391 #define IMFSample_SetSampleDuration(This,hnsSampleDuration) (This)->lpVtbl->SetSampleDuration(This,hnsSampleDuration) 1392 #define IMFSample_GetBufferCount(This,pdwBufferCount) (This)->lpVtbl->GetBufferCount(This,pdwBufferCount) 1393 #define IMFSample_GetBufferByIndex(This,dwIndex,ppBuffer) (This)->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer) 1394 #define IMFSample_ConvertToContiguousBuffer(This,ppBuffer) (This)->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer) 1395 #define IMFSample_AddBuffer(This,pBuffer) (This)->lpVtbl->AddBuffer(This,pBuffer) 1396 #define IMFSample_RemoveBufferByIndex(This,dwIndex) (This)->lpVtbl->RemoveBufferByIndex(This,dwIndex) 1397 #define IMFSample_RemoveAllBuffers(This) (This)->lpVtbl->RemoveAllBuffers(This) 1398 #define IMFSample_GetTotalLength(This,pcbTotalLength) (This)->lpVtbl->GetTotalLength(This,pcbTotalLength) 1399 #define IMFSample_CopyToBuffer(This,pBuffer) (This)->lpVtbl->CopyToBuffer(This,pBuffer) 1400 #else 1401 /*** IUnknown methods ***/ 1402 static FORCEINLINE HRESULT IMFSample_QueryInterface(IMFSample* This,REFIID riid,void **ppvObject) { 1403 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1404 } 1405 static FORCEINLINE ULONG IMFSample_AddRef(IMFSample* This) { 1406 return This->lpVtbl->AddRef(This); 1407 } 1408 static FORCEINLINE ULONG IMFSample_Release(IMFSample* This) { 1409 return This->lpVtbl->Release(This); 1410 } 1411 /*** IMFAttributes methods ***/ 1412 static FORCEINLINE HRESULT IMFSample_GetItem(IMFSample* This,REFGUID guidKey,PROPVARIANT *pValue) { 1413 return This->lpVtbl->GetItem(This,guidKey,pValue); 1414 } 1415 static FORCEINLINE HRESULT IMFSample_GetItemType(IMFSample* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 1416 return This->lpVtbl->GetItemType(This,guidKey,pType); 1417 } 1418 static FORCEINLINE HRESULT IMFSample_CompareItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 1419 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 1420 } 1421 static FORCEINLINE HRESULT IMFSample_Compare(IMFSample* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 1422 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 1423 } 1424 static FORCEINLINE HRESULT IMFSample_GetUINT32(IMFSample* This,REFGUID guidKey,UINT32 *punValue) { 1425 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 1426 } 1427 static FORCEINLINE HRESULT IMFSample_GetUINT64(IMFSample* This,REFGUID guidKey,UINT64 *punValue) { 1428 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 1429 } 1430 static FORCEINLINE HRESULT IMFSample_GetDouble(IMFSample* This,REFGUID guidKey,double *pfValue) { 1431 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 1432 } 1433 static FORCEINLINE HRESULT IMFSample_GetGUID(IMFSample* This,REFGUID guidKey,GUID *pguidValue) { 1434 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 1435 } 1436 static FORCEINLINE HRESULT IMFSample_GetStringLength(IMFSample* This,REFGUID guidKey,UINT32 *pcchLength) { 1437 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 1438 } 1439 static FORCEINLINE HRESULT IMFSample_GetString(IMFSample* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 1440 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 1441 } 1442 static FORCEINLINE HRESULT IMFSample_GetAllocatedString(IMFSample* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 1443 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 1444 } 1445 static FORCEINLINE HRESULT IMFSample_GetBlobSize(IMFSample* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 1446 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 1447 } 1448 static FORCEINLINE HRESULT IMFSample_GetBlob(IMFSample* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 1449 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 1450 } 1451 static FORCEINLINE HRESULT IMFSample_GetAllocatedBlob(IMFSample* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 1452 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 1453 } 1454 static FORCEINLINE HRESULT IMFSample_GetUnknown(IMFSample* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 1455 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 1456 } 1457 static FORCEINLINE HRESULT IMFSample_SetItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value) { 1458 return This->lpVtbl->SetItem(This,guidKey,Value); 1459 } 1460 static FORCEINLINE HRESULT IMFSample_DeleteItem(IMFSample* This,REFGUID guidKey) { 1461 return This->lpVtbl->DeleteItem(This,guidKey); 1462 } 1463 static FORCEINLINE HRESULT IMFSample_DeleteAllItems(IMFSample* This) { 1464 return This->lpVtbl->DeleteAllItems(This); 1465 } 1466 static FORCEINLINE HRESULT IMFSample_SetUINT32(IMFSample* This,REFGUID guidKey,UINT32 unValue) { 1467 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 1468 } 1469 static FORCEINLINE HRESULT IMFSample_SetUINT64(IMFSample* This,REFGUID guidKey,UINT64 unValue) { 1470 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 1471 } 1472 static FORCEINLINE HRESULT IMFSample_SetDouble(IMFSample* This,REFGUID guidKey,double fValue) { 1473 return This->lpVtbl->SetDouble(This,guidKey,fValue); 1474 } 1475 static FORCEINLINE HRESULT IMFSample_SetGUID(IMFSample* This,REFGUID guidKey,REFGUID guidValue) { 1476 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 1477 } 1478 static FORCEINLINE HRESULT IMFSample_SetString(IMFSample* This,REFGUID guidKey,LPCWSTR wszValue) { 1479 return This->lpVtbl->SetString(This,guidKey,wszValue); 1480 } 1481 static FORCEINLINE HRESULT IMFSample_SetBlob(IMFSample* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 1482 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 1483 } 1484 static FORCEINLINE HRESULT IMFSample_SetUnknown(IMFSample* This,REFGUID guidKey,IUnknown *pUnknown) { 1485 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 1486 } 1487 static FORCEINLINE HRESULT IMFSample_LockStore(IMFSample* This) { 1488 return This->lpVtbl->LockStore(This); 1489 } 1490 static FORCEINLINE HRESULT IMFSample_UnlockStore(IMFSample* This) { 1491 return This->lpVtbl->UnlockStore(This); 1492 } 1493 static FORCEINLINE HRESULT IMFSample_GetCount(IMFSample* This,UINT32 *pcItems) { 1494 return This->lpVtbl->GetCount(This,pcItems); 1495 } 1496 static FORCEINLINE HRESULT IMFSample_GetItemByIndex(IMFSample* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 1497 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 1498 } 1499 static FORCEINLINE HRESULT IMFSample_CopyAllItems(IMFSample* This,IMFAttributes *pDest) { 1500 return This->lpVtbl->CopyAllItems(This,pDest); 1501 } 1502 /*** IMFSample methods ***/ 1503 static FORCEINLINE HRESULT IMFSample_GetSampleFlags(IMFSample* This,DWORD *pdwSampleFlags) { 1504 return This->lpVtbl->GetSampleFlags(This,pdwSampleFlags); 1505 } 1506 static FORCEINLINE HRESULT IMFSample_SetSampleFlags(IMFSample* This,DWORD dwSampleFlags) { 1507 return This->lpVtbl->SetSampleFlags(This,dwSampleFlags); 1508 } 1509 static FORCEINLINE HRESULT IMFSample_GetSampleTime(IMFSample* This,LONGLONG *phnsSampleTime) { 1510 return This->lpVtbl->GetSampleTime(This,phnsSampleTime); 1511 } 1512 static FORCEINLINE HRESULT IMFSample_SetSampleTime(IMFSample* This,LONGLONG hnsSampleTime) { 1513 return This->lpVtbl->SetSampleTime(This,hnsSampleTime); 1514 } 1515 static FORCEINLINE HRESULT IMFSample_GetSampleDuration(IMFSample* This,LONGLONG *phnsSampleDuration) { 1516 return This->lpVtbl->GetSampleDuration(This,phnsSampleDuration); 1517 } 1518 static FORCEINLINE HRESULT IMFSample_SetSampleDuration(IMFSample* This,LONGLONG hnsSampleDuration) { 1519 return This->lpVtbl->SetSampleDuration(This,hnsSampleDuration); 1520 } 1521 static FORCEINLINE HRESULT IMFSample_GetBufferCount(IMFSample* This,DWORD *pdwBufferCount) { 1522 return This->lpVtbl->GetBufferCount(This,pdwBufferCount); 1523 } 1524 static FORCEINLINE HRESULT IMFSample_GetBufferByIndex(IMFSample* This,DWORD dwIndex,IMFMediaBuffer **ppBuffer) { 1525 return This->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer); 1526 } 1527 static FORCEINLINE HRESULT IMFSample_ConvertToContiguousBuffer(IMFSample* This,IMFMediaBuffer **ppBuffer) { 1528 return This->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer); 1529 } 1530 static FORCEINLINE HRESULT IMFSample_AddBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1531 return This->lpVtbl->AddBuffer(This,pBuffer); 1532 } 1533 static FORCEINLINE HRESULT IMFSample_RemoveBufferByIndex(IMFSample* This,DWORD dwIndex) { 1534 return This->lpVtbl->RemoveBufferByIndex(This,dwIndex); 1535 } 1536 static FORCEINLINE HRESULT IMFSample_RemoveAllBuffers(IMFSample* This) { 1537 return This->lpVtbl->RemoveAllBuffers(This); 1538 } 1539 static FORCEINLINE HRESULT IMFSample_GetTotalLength(IMFSample* This,DWORD *pcbTotalLength) { 1540 return This->lpVtbl->GetTotalLength(This,pcbTotalLength); 1541 } 1542 static FORCEINLINE HRESULT IMFSample_CopyToBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1543 return This->lpVtbl->CopyToBuffer(This,pBuffer); 1544 } 1545 #endif 1546 #endif 1547 1548 #endif 1549 1550 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleFlags_Proxy( 1551 IMFSample* This, 1552 DWORD *pdwSampleFlags); 1553 void __RPC_STUB IMFSample_GetSampleFlags_Stub( 1554 IRpcStubBuffer* This, 1555 IRpcChannelBuffer* pRpcChannelBuffer, 1556 PRPC_MESSAGE pRpcMessage, 1557 DWORD* pdwStubPhase); 1558 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleFlags_Proxy( 1559 IMFSample* This, 1560 DWORD dwSampleFlags); 1561 void __RPC_STUB IMFSample_SetSampleFlags_Stub( 1562 IRpcStubBuffer* This, 1563 IRpcChannelBuffer* pRpcChannelBuffer, 1564 PRPC_MESSAGE pRpcMessage, 1565 DWORD* pdwStubPhase); 1566 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleTime_Proxy( 1567 IMFSample* This, 1568 LONGLONG *phnsSampleTime); 1569 void __RPC_STUB IMFSample_GetSampleTime_Stub( 1570 IRpcStubBuffer* This, 1571 IRpcChannelBuffer* pRpcChannelBuffer, 1572 PRPC_MESSAGE pRpcMessage, 1573 DWORD* pdwStubPhase); 1574 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleTime_Proxy( 1575 IMFSample* This, 1576 LONGLONG hnsSampleTime); 1577 void __RPC_STUB IMFSample_SetSampleTime_Stub( 1578 IRpcStubBuffer* This, 1579 IRpcChannelBuffer* pRpcChannelBuffer, 1580 PRPC_MESSAGE pRpcMessage, 1581 DWORD* pdwStubPhase); 1582 HRESULT STDMETHODCALLTYPE IMFSample_GetSampleDuration_Proxy( 1583 IMFSample* This, 1584 LONGLONG *phnsSampleDuration); 1585 void __RPC_STUB IMFSample_GetSampleDuration_Stub( 1586 IRpcStubBuffer* This, 1587 IRpcChannelBuffer* pRpcChannelBuffer, 1588 PRPC_MESSAGE pRpcMessage, 1589 DWORD* pdwStubPhase); 1590 HRESULT STDMETHODCALLTYPE IMFSample_SetSampleDuration_Proxy( 1591 IMFSample* This, 1592 LONGLONG hnsSampleDuration); 1593 void __RPC_STUB IMFSample_SetSampleDuration_Stub( 1594 IRpcStubBuffer* This, 1595 IRpcChannelBuffer* pRpcChannelBuffer, 1596 PRPC_MESSAGE pRpcMessage, 1597 DWORD* pdwStubPhase); 1598 HRESULT STDMETHODCALLTYPE IMFSample_GetBufferCount_Proxy( 1599 IMFSample* This, 1600 DWORD *pdwBufferCount); 1601 void __RPC_STUB IMFSample_GetBufferCount_Stub( 1602 IRpcStubBuffer* This, 1603 IRpcChannelBuffer* pRpcChannelBuffer, 1604 PRPC_MESSAGE pRpcMessage, 1605 DWORD* pdwStubPhase); 1606 HRESULT STDMETHODCALLTYPE IMFSample_GetBufferByIndex_Proxy( 1607 IMFSample* This, 1608 DWORD dwIndex, 1609 IMFMediaBuffer **ppBuffer); 1610 void __RPC_STUB IMFSample_GetBufferByIndex_Stub( 1611 IRpcStubBuffer* This, 1612 IRpcChannelBuffer* pRpcChannelBuffer, 1613 PRPC_MESSAGE pRpcMessage, 1614 DWORD* pdwStubPhase); 1615 HRESULT STDMETHODCALLTYPE IMFSample_ConvertToContiguousBuffer_Proxy( 1616 IMFSample* This, 1617 IMFMediaBuffer **ppBuffer); 1618 void __RPC_STUB IMFSample_ConvertToContiguousBuffer_Stub( 1619 IRpcStubBuffer* This, 1620 IRpcChannelBuffer* pRpcChannelBuffer, 1621 PRPC_MESSAGE pRpcMessage, 1622 DWORD* pdwStubPhase); 1623 HRESULT STDMETHODCALLTYPE IMFSample_AddBuffer_Proxy( 1624 IMFSample* This, 1625 IMFMediaBuffer *pBuffer); 1626 void __RPC_STUB IMFSample_AddBuffer_Stub( 1627 IRpcStubBuffer* This, 1628 IRpcChannelBuffer* pRpcChannelBuffer, 1629 PRPC_MESSAGE pRpcMessage, 1630 DWORD* pdwStubPhase); 1631 HRESULT STDMETHODCALLTYPE IMFSample_RemoveBufferByIndex_Proxy( 1632 IMFSample* This, 1633 DWORD dwIndex); 1634 void __RPC_STUB IMFSample_RemoveBufferByIndex_Stub( 1635 IRpcStubBuffer* This, 1636 IRpcChannelBuffer* pRpcChannelBuffer, 1637 PRPC_MESSAGE pRpcMessage, 1638 DWORD* pdwStubPhase); 1639 HRESULT STDMETHODCALLTYPE IMFSample_RemoveAllBuffers_Proxy( 1640 IMFSample* This); 1641 void __RPC_STUB IMFSample_RemoveAllBuffers_Stub( 1642 IRpcStubBuffer* This, 1643 IRpcChannelBuffer* pRpcChannelBuffer, 1644 PRPC_MESSAGE pRpcMessage, 1645 DWORD* pdwStubPhase); 1646 HRESULT STDMETHODCALLTYPE IMFSample_GetTotalLength_Proxy( 1647 IMFSample* This, 1648 DWORD *pcbTotalLength); 1649 void __RPC_STUB IMFSample_GetTotalLength_Stub( 1650 IRpcStubBuffer* This, 1651 IRpcChannelBuffer* pRpcChannelBuffer, 1652 PRPC_MESSAGE pRpcMessage, 1653 DWORD* pdwStubPhase); 1654 HRESULT STDMETHODCALLTYPE IMFSample_CopyToBuffer_Proxy( 1655 IMFSample* This, 1656 IMFMediaBuffer *pBuffer); 1657 void __RPC_STUB IMFSample_CopyToBuffer_Stub( 1658 IRpcStubBuffer* This, 1659 IRpcChannelBuffer* pRpcChannelBuffer, 1660 PRPC_MESSAGE pRpcMessage, 1661 DWORD* pdwStubPhase); 1662 1663 #endif /* __IMFSample_INTERFACE_DEFINED__ */ 1664 1665 /***************************************************************************** 1666 * IMF2DBuffer interface 1667 */ 1668 #ifndef __IMF2DBuffer_INTERFACE_DEFINED__ 1669 #define __IMF2DBuffer_INTERFACE_DEFINED__ 1670 1671 DEFINE_GUID(IID_IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb); 1672 #if defined(__cplusplus) && !defined(CINTERFACE) 1673 MIDL_INTERFACE("7dc9d5f9-9ed9-44ec-9bbf-0600bb589fbb") 1674 IMF2DBuffer : public IUnknown 1675 { 1676 virtual HRESULT STDMETHODCALLTYPE Lock2D( 1677 BYTE **pbScanline0, 1678 LONG *plPitch) = 0; 1679 1680 virtual HRESULT STDMETHODCALLTYPE Unlock2D( 1681 ) = 0; 1682 1683 virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch( 1684 BYTE **pbScanline0, 1685 LONG *plPitch) = 0; 1686 1687 virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat( 1688 WINBOOL *pfIsContiguous) = 0; 1689 1690 virtual HRESULT STDMETHODCALLTYPE GetContiguousLength( 1691 DWORD *pcbLength) = 0; 1692 1693 virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo( 1694 BYTE *pbDestBuffer, 1695 DWORD cbDestBuffer) = 0; 1696 1697 virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom( 1698 const BYTE *pbSrcBuffer, 1699 DWORD cbSrcBuffer) = 0; 1700 1701 }; 1702 #ifdef __CRT_UUID_DECL 1703 __CRT_UUID_DECL(IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb) 1704 #endif 1705 #else 1706 typedef struct IMF2DBufferVtbl { 1707 BEGIN_INTERFACE 1708 1709 /*** IUnknown methods ***/ 1710 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1711 IMF2DBuffer* This, 1712 REFIID riid, 1713 void **ppvObject); 1714 1715 ULONG (STDMETHODCALLTYPE *AddRef)( 1716 IMF2DBuffer* This); 1717 1718 ULONG (STDMETHODCALLTYPE *Release)( 1719 IMF2DBuffer* This); 1720 1721 /*** IMF2DBuffer methods ***/ 1722 HRESULT (STDMETHODCALLTYPE *Lock2D)( 1723 IMF2DBuffer* This, 1724 BYTE **pbScanline0, 1725 LONG *plPitch); 1726 1727 HRESULT (STDMETHODCALLTYPE *Unlock2D)( 1728 IMF2DBuffer* This); 1729 1730 HRESULT (STDMETHODCALLTYPE *GetScanline0AndPitch)( 1731 IMF2DBuffer* This, 1732 BYTE **pbScanline0, 1733 LONG *plPitch); 1734 1735 HRESULT (STDMETHODCALLTYPE *IsContiguousFormat)( 1736 IMF2DBuffer* This, 1737 WINBOOL *pfIsContiguous); 1738 1739 HRESULT (STDMETHODCALLTYPE *GetContiguousLength)( 1740 IMF2DBuffer* This, 1741 DWORD *pcbLength); 1742 1743 HRESULT (STDMETHODCALLTYPE *ContiguousCopyTo)( 1744 IMF2DBuffer* This, 1745 BYTE *pbDestBuffer, 1746 DWORD cbDestBuffer); 1747 1748 HRESULT (STDMETHODCALLTYPE *ContiguousCopyFrom)( 1749 IMF2DBuffer* This, 1750 const BYTE *pbSrcBuffer, 1751 DWORD cbSrcBuffer); 1752 1753 END_INTERFACE 1754 } IMF2DBufferVtbl; 1755 interface IMF2DBuffer { 1756 CONST_VTBL IMF2DBufferVtbl* lpVtbl; 1757 }; 1758 1759 #ifdef COBJMACROS 1760 #ifndef WIDL_C_INLINE_WRAPPERS 1761 /*** IUnknown methods ***/ 1762 #define IMF2DBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1763 #define IMF2DBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) 1764 #define IMF2DBuffer_Release(This) (This)->lpVtbl->Release(This) 1765 /*** IMF2DBuffer methods ***/ 1766 #define IMF2DBuffer_Lock2D(This,pbScanline0,plPitch) (This)->lpVtbl->Lock2D(This,pbScanline0,plPitch) 1767 #define IMF2DBuffer_Unlock2D(This) (This)->lpVtbl->Unlock2D(This) 1768 #define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) (This)->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch) 1769 #define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) (This)->lpVtbl->IsContiguousFormat(This,pfIsContiguous) 1770 #define IMF2DBuffer_GetContiguousLength(This,pcbLength) (This)->lpVtbl->GetContiguousLength(This,pcbLength) 1771 #define IMF2DBuffer_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) (This)->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) 1772 #define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) (This)->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) 1773 #else 1774 /*** IUnknown methods ***/ 1775 static FORCEINLINE HRESULT IMF2DBuffer_QueryInterface(IMF2DBuffer* This,REFIID riid,void **ppvObject) { 1776 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1777 } 1778 static FORCEINLINE ULONG IMF2DBuffer_AddRef(IMF2DBuffer* This) { 1779 return This->lpVtbl->AddRef(This); 1780 } 1781 static FORCEINLINE ULONG IMF2DBuffer_Release(IMF2DBuffer* This) { 1782 return This->lpVtbl->Release(This); 1783 } 1784 /*** IMF2DBuffer methods ***/ 1785 static FORCEINLINE HRESULT IMF2DBuffer_Lock2D(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) { 1786 return This->lpVtbl->Lock2D(This,pbScanline0,plPitch); 1787 } 1788 static FORCEINLINE HRESULT IMF2DBuffer_Unlock2D(IMF2DBuffer* This) { 1789 return This->lpVtbl->Unlock2D(This); 1790 } 1791 static FORCEINLINE HRESULT IMF2DBuffer_GetScanline0AndPitch(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) { 1792 return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch); 1793 } 1794 static FORCEINLINE HRESULT IMF2DBuffer_IsContiguousFormat(IMF2DBuffer* This,WINBOOL *pfIsContiguous) { 1795 return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous); 1796 } 1797 static FORCEINLINE HRESULT IMF2DBuffer_GetContiguousLength(IMF2DBuffer* This,DWORD *pcbLength) { 1798 return This->lpVtbl->GetContiguousLength(This,pcbLength); 1799 } 1800 static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyTo(IMF2DBuffer* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) { 1801 return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer); 1802 } 1803 static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyFrom(IMF2DBuffer* This,const BYTE *pbSrcBuffer,DWORD cbSrcBuffer) { 1804 return This->lpVtbl->ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer); 1805 } 1806 #endif 1807 #endif 1808 1809 #endif 1810 1811 HRESULT STDMETHODCALLTYPE IMF2DBuffer_Lock2D_Proxy( 1812 IMF2DBuffer* This, 1813 BYTE **pbScanline0, 1814 LONG *plPitch); 1815 void __RPC_STUB IMF2DBuffer_Lock2D_Stub( 1816 IRpcStubBuffer* This, 1817 IRpcChannelBuffer* pRpcChannelBuffer, 1818 PRPC_MESSAGE pRpcMessage, 1819 DWORD* pdwStubPhase); 1820 HRESULT STDMETHODCALLTYPE IMF2DBuffer_Unlock2D_Proxy( 1821 IMF2DBuffer* This); 1822 void __RPC_STUB IMF2DBuffer_Unlock2D_Stub( 1823 IRpcStubBuffer* This, 1824 IRpcChannelBuffer* pRpcChannelBuffer, 1825 PRPC_MESSAGE pRpcMessage, 1826 DWORD* pdwStubPhase); 1827 HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetScanline0AndPitch_Proxy( 1828 IMF2DBuffer* This, 1829 BYTE **pbScanline0, 1830 LONG *plPitch); 1831 void __RPC_STUB IMF2DBuffer_GetScanline0AndPitch_Stub( 1832 IRpcStubBuffer* This, 1833 IRpcChannelBuffer* pRpcChannelBuffer, 1834 PRPC_MESSAGE pRpcMessage, 1835 DWORD* pdwStubPhase); 1836 HRESULT STDMETHODCALLTYPE IMF2DBuffer_IsContiguousFormat_Proxy( 1837 IMF2DBuffer* This, 1838 WINBOOL *pfIsContiguous); 1839 void __RPC_STUB IMF2DBuffer_IsContiguousFormat_Stub( 1840 IRpcStubBuffer* This, 1841 IRpcChannelBuffer* pRpcChannelBuffer, 1842 PRPC_MESSAGE pRpcMessage, 1843 DWORD* pdwStubPhase); 1844 HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetContiguousLength_Proxy( 1845 IMF2DBuffer* This, 1846 DWORD *pcbLength); 1847 void __RPC_STUB IMF2DBuffer_GetContiguousLength_Stub( 1848 IRpcStubBuffer* This, 1849 IRpcChannelBuffer* pRpcChannelBuffer, 1850 PRPC_MESSAGE pRpcMessage, 1851 DWORD* pdwStubPhase); 1852 HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyTo_Proxy( 1853 IMF2DBuffer* This, 1854 BYTE *pbDestBuffer, 1855 DWORD cbDestBuffer); 1856 void __RPC_STUB IMF2DBuffer_ContiguousCopyTo_Stub( 1857 IRpcStubBuffer* This, 1858 IRpcChannelBuffer* pRpcChannelBuffer, 1859 PRPC_MESSAGE pRpcMessage, 1860 DWORD* pdwStubPhase); 1861 HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyFrom_Proxy( 1862 IMF2DBuffer* This, 1863 const BYTE *pbSrcBuffer, 1864 DWORD cbSrcBuffer); 1865 void __RPC_STUB IMF2DBuffer_ContiguousCopyFrom_Stub( 1866 IRpcStubBuffer* This, 1867 IRpcChannelBuffer* pRpcChannelBuffer, 1868 PRPC_MESSAGE pRpcMessage, 1869 DWORD* pdwStubPhase); 1870 1871 #endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */ 1872 1873 /***************************************************************************** 1874 * IMFMediaType interface 1875 */ 1876 #ifndef __IMFMediaType_INTERFACE_DEFINED__ 1877 #define __IMFMediaType_INTERFACE_DEFINED__ 1878 1879 DEFINE_GUID(IID_IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55); 1880 #if defined(__cplusplus) && !defined(CINTERFACE) 1881 MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555") 1882 IMFMediaType : public IMFAttributes 1883 { 1884 virtual HRESULT STDMETHODCALLTYPE GetMajorType( 1885 GUID *pguidMajorType) = 0; 1886 1887 virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat( 1888 WINBOOL *pfCompressed) = 0; 1889 1890 virtual HRESULT STDMETHODCALLTYPE IsEqual( 1891 IMFMediaType *pIMediaType, 1892 DWORD *pdwFlags) = 0; 1893 1894 virtual HRESULT STDMETHODCALLTYPE GetRepresentation( 1895 GUID guidRepresentation, 1896 LPVOID *ppvRepresentation) = 0; 1897 1898 virtual HRESULT STDMETHODCALLTYPE FreeRepresentation( 1899 GUID guidRepresentation, 1900 LPVOID pvRepresentation) = 0; 1901 1902 }; 1903 #ifdef __CRT_UUID_DECL 1904 __CRT_UUID_DECL(IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55) 1905 #endif 1906 #else 1907 typedef struct IMFMediaTypeVtbl { 1908 BEGIN_INTERFACE 1909 1910 /*** IUnknown methods ***/ 1911 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1912 IMFMediaType* This, 1913 REFIID riid, 1914 void **ppvObject); 1915 1916 ULONG (STDMETHODCALLTYPE *AddRef)( 1917 IMFMediaType* This); 1918 1919 ULONG (STDMETHODCALLTYPE *Release)( 1920 IMFMediaType* This); 1921 1922 /*** IMFAttributes methods ***/ 1923 HRESULT (STDMETHODCALLTYPE *GetItem)( 1924 IMFMediaType* This, 1925 REFGUID guidKey, 1926 PROPVARIANT *pValue); 1927 1928 HRESULT (STDMETHODCALLTYPE *GetItemType)( 1929 IMFMediaType* This, 1930 REFGUID guidKey, 1931 MF_ATTRIBUTE_TYPE *pType); 1932 1933 HRESULT (STDMETHODCALLTYPE *CompareItem)( 1934 IMFMediaType* This, 1935 REFGUID guidKey, 1936 REFPROPVARIANT Value, 1937 WINBOOL *pbResult); 1938 1939 HRESULT (STDMETHODCALLTYPE *Compare)( 1940 IMFMediaType* This, 1941 IMFAttributes *pTheirs, 1942 MF_ATTRIBUTES_MATCH_TYPE MatchType, 1943 WINBOOL *pbResult); 1944 1945 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 1946 IMFMediaType* This, 1947 REFGUID guidKey, 1948 UINT32 *punValue); 1949 1950 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 1951 IMFMediaType* This, 1952 REFGUID guidKey, 1953 UINT64 *punValue); 1954 1955 HRESULT (STDMETHODCALLTYPE *GetDouble)( 1956 IMFMediaType* This, 1957 REFGUID guidKey, 1958 double *pfValue); 1959 1960 HRESULT (STDMETHODCALLTYPE *GetGUID)( 1961 IMFMediaType* This, 1962 REFGUID guidKey, 1963 GUID *pguidValue); 1964 1965 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 1966 IMFMediaType* This, 1967 REFGUID guidKey, 1968 UINT32 *pcchLength); 1969 1970 HRESULT (STDMETHODCALLTYPE *GetString)( 1971 IMFMediaType* This, 1972 REFGUID guidKey, 1973 LPWSTR pwszValue, 1974 UINT32 cchBufSize, 1975 UINT32 *pcchLength); 1976 1977 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 1978 IMFMediaType* This, 1979 REFGUID guidKey, 1980 LPWSTR *ppwszValue, 1981 UINT32 *pcchLength); 1982 1983 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 1984 IMFMediaType* This, 1985 REFGUID guidKey, 1986 UINT32 *pcbBlobSize); 1987 1988 HRESULT (STDMETHODCALLTYPE *GetBlob)( 1989 IMFMediaType* This, 1990 REFGUID guidKey, 1991 UINT8 *pBuf, 1992 UINT32 cbBufSize, 1993 UINT32 *pcbBlobSize); 1994 1995 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 1996 IMFMediaType* This, 1997 REFGUID guidKey, 1998 UINT8 **ppBuf, 1999 UINT32 *pcbSize); 2000 2001 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2002 IMFMediaType* This, 2003 REFGUID guidKey, 2004 REFIID riid, 2005 LPVOID *ppv); 2006 2007 HRESULT (STDMETHODCALLTYPE *SetItem)( 2008 IMFMediaType* This, 2009 REFGUID guidKey, 2010 REFPROPVARIANT Value); 2011 2012 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 2013 IMFMediaType* This, 2014 REFGUID guidKey); 2015 2016 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 2017 IMFMediaType* This); 2018 2019 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 2020 IMFMediaType* This, 2021 REFGUID guidKey, 2022 UINT32 unValue); 2023 2024 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 2025 IMFMediaType* This, 2026 REFGUID guidKey, 2027 UINT64 unValue); 2028 2029 HRESULT (STDMETHODCALLTYPE *SetDouble)( 2030 IMFMediaType* This, 2031 REFGUID guidKey, 2032 double fValue); 2033 2034 HRESULT (STDMETHODCALLTYPE *SetGUID)( 2035 IMFMediaType* This, 2036 REFGUID guidKey, 2037 REFGUID guidValue); 2038 2039 HRESULT (STDMETHODCALLTYPE *SetString)( 2040 IMFMediaType* This, 2041 REFGUID guidKey, 2042 LPCWSTR wszValue); 2043 2044 HRESULT (STDMETHODCALLTYPE *SetBlob)( 2045 IMFMediaType* This, 2046 REFGUID guidKey, 2047 const UINT8 *pBuf, 2048 UINT32 cbBufSize); 2049 2050 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2051 IMFMediaType* This, 2052 REFGUID guidKey, 2053 IUnknown *pUnknown); 2054 2055 HRESULT (STDMETHODCALLTYPE *LockStore)( 2056 IMFMediaType* This); 2057 2058 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 2059 IMFMediaType* This); 2060 2061 HRESULT (STDMETHODCALLTYPE *GetCount)( 2062 IMFMediaType* This, 2063 UINT32 *pcItems); 2064 2065 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 2066 IMFMediaType* This, 2067 UINT32 unIndex, 2068 GUID *pguidKey, 2069 PROPVARIANT *pValue); 2070 2071 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 2072 IMFMediaType* This, 2073 IMFAttributes *pDest); 2074 2075 /*** IMFMediaType methods ***/ 2076 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 2077 IMFMediaType* This, 2078 GUID *pguidMajorType); 2079 2080 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 2081 IMFMediaType* This, 2082 WINBOOL *pfCompressed); 2083 2084 HRESULT (STDMETHODCALLTYPE *IsEqual)( 2085 IMFMediaType* This, 2086 IMFMediaType *pIMediaType, 2087 DWORD *pdwFlags); 2088 2089 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 2090 IMFMediaType* This, 2091 GUID guidRepresentation, 2092 LPVOID *ppvRepresentation); 2093 2094 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 2095 IMFMediaType* This, 2096 GUID guidRepresentation, 2097 LPVOID pvRepresentation); 2098 2099 END_INTERFACE 2100 } IMFMediaTypeVtbl; 2101 interface IMFMediaType { 2102 CONST_VTBL IMFMediaTypeVtbl* lpVtbl; 2103 }; 2104 2105 #ifdef COBJMACROS 2106 #ifndef WIDL_C_INLINE_WRAPPERS 2107 /*** IUnknown methods ***/ 2108 #define IMFMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2109 #define IMFMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 2110 #define IMFMediaType_Release(This) (This)->lpVtbl->Release(This) 2111 /*** IMFAttributes methods ***/ 2112 #define IMFMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 2113 #define IMFMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 2114 #define IMFMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 2115 #define IMFMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 2116 #define IMFMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 2117 #define IMFMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 2118 #define IMFMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 2119 #define IMFMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 2120 #define IMFMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 2121 #define IMFMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 2122 #define IMFMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 2123 #define IMFMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 2124 #define IMFMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 2125 #define IMFMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 2126 #define IMFMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 2127 #define IMFMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 2128 #define IMFMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 2129 #define IMFMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 2130 #define IMFMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 2131 #define IMFMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 2132 #define IMFMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 2133 #define IMFMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 2134 #define IMFMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 2135 #define IMFMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 2136 #define IMFMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 2137 #define IMFMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 2138 #define IMFMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 2139 #define IMFMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 2140 #define IMFMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 2141 #define IMFMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 2142 /*** IMFMediaType methods ***/ 2143 #define IMFMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 2144 #define IMFMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 2145 #define IMFMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 2146 #define IMFMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 2147 #define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 2148 #else 2149 /*** IUnknown methods ***/ 2150 static FORCEINLINE HRESULT IMFMediaType_QueryInterface(IMFMediaType* This,REFIID riid,void **ppvObject) { 2151 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2152 } 2153 static FORCEINLINE ULONG IMFMediaType_AddRef(IMFMediaType* This) { 2154 return This->lpVtbl->AddRef(This); 2155 } 2156 static FORCEINLINE ULONG IMFMediaType_Release(IMFMediaType* This) { 2157 return This->lpVtbl->Release(This); 2158 } 2159 /*** IMFAttributes methods ***/ 2160 static FORCEINLINE HRESULT IMFMediaType_GetItem(IMFMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 2161 return This->lpVtbl->GetItem(This,guidKey,pValue); 2162 } 2163 static FORCEINLINE HRESULT IMFMediaType_GetItemType(IMFMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2164 return This->lpVtbl->GetItemType(This,guidKey,pType); 2165 } 2166 static FORCEINLINE HRESULT IMFMediaType_CompareItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2167 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2168 } 2169 static FORCEINLINE HRESULT IMFMediaType_Compare(IMFMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 2170 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 2171 } 2172 static FORCEINLINE HRESULT IMFMediaType_GetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 *punValue) { 2173 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2174 } 2175 static FORCEINLINE HRESULT IMFMediaType_GetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 *punValue) { 2176 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2177 } 2178 static FORCEINLINE HRESULT IMFMediaType_GetDouble(IMFMediaType* This,REFGUID guidKey,double *pfValue) { 2179 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2180 } 2181 static FORCEINLINE HRESULT IMFMediaType_GetGUID(IMFMediaType* This,REFGUID guidKey,GUID *pguidValue) { 2182 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2183 } 2184 static FORCEINLINE HRESULT IMFMediaType_GetStringLength(IMFMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 2185 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2186 } 2187 static FORCEINLINE HRESULT IMFMediaType_GetString(IMFMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 2188 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 2189 } 2190 static FORCEINLINE HRESULT IMFMediaType_GetAllocatedString(IMFMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2191 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2192 } 2193 static FORCEINLINE HRESULT IMFMediaType_GetBlobSize(IMFMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2194 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2195 } 2196 static FORCEINLINE HRESULT IMFMediaType_GetBlob(IMFMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 2197 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 2198 } 2199 static FORCEINLINE HRESULT IMFMediaType_GetAllocatedBlob(IMFMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2200 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2201 } 2202 static FORCEINLINE HRESULT IMFMediaType_GetUnknown(IMFMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2203 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2204 } 2205 static FORCEINLINE HRESULT IMFMediaType_SetItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 2206 return This->lpVtbl->SetItem(This,guidKey,Value); 2207 } 2208 static FORCEINLINE HRESULT IMFMediaType_DeleteItem(IMFMediaType* This,REFGUID guidKey) { 2209 return This->lpVtbl->DeleteItem(This,guidKey); 2210 } 2211 static FORCEINLINE HRESULT IMFMediaType_DeleteAllItems(IMFMediaType* This) { 2212 return This->lpVtbl->DeleteAllItems(This); 2213 } 2214 static FORCEINLINE HRESULT IMFMediaType_SetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 unValue) { 2215 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2216 } 2217 static FORCEINLINE HRESULT IMFMediaType_SetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 unValue) { 2218 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2219 } 2220 static FORCEINLINE HRESULT IMFMediaType_SetDouble(IMFMediaType* This,REFGUID guidKey,double fValue) { 2221 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2222 } 2223 static FORCEINLINE HRESULT IMFMediaType_SetGUID(IMFMediaType* This,REFGUID guidKey,REFGUID guidValue) { 2224 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2225 } 2226 static FORCEINLINE HRESULT IMFMediaType_SetString(IMFMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 2227 return This->lpVtbl->SetString(This,guidKey,wszValue); 2228 } 2229 static FORCEINLINE HRESULT IMFMediaType_SetBlob(IMFMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2230 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2231 } 2232 static FORCEINLINE HRESULT IMFMediaType_SetUnknown(IMFMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 2233 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2234 } 2235 static FORCEINLINE HRESULT IMFMediaType_LockStore(IMFMediaType* This) { 2236 return This->lpVtbl->LockStore(This); 2237 } 2238 static FORCEINLINE HRESULT IMFMediaType_UnlockStore(IMFMediaType* This) { 2239 return This->lpVtbl->UnlockStore(This); 2240 } 2241 static FORCEINLINE HRESULT IMFMediaType_GetCount(IMFMediaType* This,UINT32 *pcItems) { 2242 return This->lpVtbl->GetCount(This,pcItems); 2243 } 2244 static FORCEINLINE HRESULT IMFMediaType_GetItemByIndex(IMFMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2245 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2246 } 2247 static FORCEINLINE HRESULT IMFMediaType_CopyAllItems(IMFMediaType* This,IMFAttributes *pDest) { 2248 return This->lpVtbl->CopyAllItems(This,pDest); 2249 } 2250 /*** IMFMediaType methods ***/ 2251 static FORCEINLINE HRESULT IMFMediaType_GetMajorType(IMFMediaType* This,GUID *pguidMajorType) { 2252 return This->lpVtbl->GetMajorType(This,pguidMajorType); 2253 } 2254 static FORCEINLINE HRESULT IMFMediaType_IsCompressedFormat(IMFMediaType* This,WINBOOL *pfCompressed) { 2255 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 2256 } 2257 static FORCEINLINE HRESULT IMFMediaType_IsEqual(IMFMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 2258 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 2259 } 2260 static FORCEINLINE HRESULT IMFMediaType_GetRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 2261 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 2262 } 2263 static FORCEINLINE HRESULT IMFMediaType_FreeRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 2264 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 2265 } 2266 #endif 2267 #endif 2268 2269 #endif 2270 2271 HRESULT STDMETHODCALLTYPE IMFMediaType_GetMajorType_Proxy( 2272 IMFMediaType* This, 2273 GUID *pguidMajorType); 2274 void __RPC_STUB IMFMediaType_GetMajorType_Stub( 2275 IRpcStubBuffer* This, 2276 IRpcChannelBuffer* pRpcChannelBuffer, 2277 PRPC_MESSAGE pRpcMessage, 2278 DWORD* pdwStubPhase); 2279 HRESULT STDMETHODCALLTYPE IMFMediaType_IsCompressedFormat_Proxy( 2280 IMFMediaType* This, 2281 WINBOOL *pfCompressed); 2282 void __RPC_STUB IMFMediaType_IsCompressedFormat_Stub( 2283 IRpcStubBuffer* This, 2284 IRpcChannelBuffer* pRpcChannelBuffer, 2285 PRPC_MESSAGE pRpcMessage, 2286 DWORD* pdwStubPhase); 2287 HRESULT STDMETHODCALLTYPE IMFMediaType_IsEqual_Proxy( 2288 IMFMediaType* This, 2289 IMFMediaType *pIMediaType, 2290 DWORD *pdwFlags); 2291 void __RPC_STUB IMFMediaType_IsEqual_Stub( 2292 IRpcStubBuffer* This, 2293 IRpcChannelBuffer* pRpcChannelBuffer, 2294 PRPC_MESSAGE pRpcMessage, 2295 DWORD* pdwStubPhase); 2296 HRESULT STDMETHODCALLTYPE IMFMediaType_GetRepresentation_Proxy( 2297 IMFMediaType* This, 2298 GUID guidRepresentation, 2299 LPVOID *ppvRepresentation); 2300 void __RPC_STUB IMFMediaType_GetRepresentation_Stub( 2301 IRpcStubBuffer* This, 2302 IRpcChannelBuffer* pRpcChannelBuffer, 2303 PRPC_MESSAGE pRpcMessage, 2304 DWORD* pdwStubPhase); 2305 HRESULT STDMETHODCALLTYPE IMFMediaType_FreeRepresentation_Proxy( 2306 IMFMediaType* This, 2307 GUID guidRepresentation, 2308 LPVOID pvRepresentation); 2309 void __RPC_STUB IMFMediaType_FreeRepresentation_Stub( 2310 IRpcStubBuffer* This, 2311 IRpcChannelBuffer* pRpcChannelBuffer, 2312 PRPC_MESSAGE pRpcMessage, 2313 DWORD* pdwStubPhase); 2314 2315 #endif /* __IMFMediaType_INTERFACE_DEFINED__ */ 2316 2317 #define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001 2318 #define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002 2319 #define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004 2320 #define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008 2321 /***************************************************************************** 2322 * IMFAudioMediaType interface 2323 */ 2324 #ifndef __IMFAudioMediaType_INTERFACE_DEFINED__ 2325 #define __IMFAudioMediaType_INTERFACE_DEFINED__ 2326 2327 DEFINE_GUID(IID_IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf); 2328 #if defined(__cplusplus) && !defined(CINTERFACE) 2329 MIDL_INTERFACE("26a0adc3-ce26-4672-9304-69552edd3faf") 2330 IMFAudioMediaType : public IMFMediaType 2331 { 2332 virtual const WAVEFORMATEX * STDMETHODCALLTYPE GetAudioFormat( 2333 ) = 0; 2334 2335 }; 2336 #ifdef __CRT_UUID_DECL 2337 __CRT_UUID_DECL(IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf) 2338 #endif 2339 #else 2340 typedef struct IMFAudioMediaTypeVtbl { 2341 BEGIN_INTERFACE 2342 2343 /*** IUnknown methods ***/ 2344 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2345 IMFAudioMediaType* This, 2346 REFIID riid, 2347 void **ppvObject); 2348 2349 ULONG (STDMETHODCALLTYPE *AddRef)( 2350 IMFAudioMediaType* This); 2351 2352 ULONG (STDMETHODCALLTYPE *Release)( 2353 IMFAudioMediaType* This); 2354 2355 /*** IMFAttributes methods ***/ 2356 HRESULT (STDMETHODCALLTYPE *GetItem)( 2357 IMFAudioMediaType* This, 2358 REFGUID guidKey, 2359 PROPVARIANT *pValue); 2360 2361 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2362 IMFAudioMediaType* This, 2363 REFGUID guidKey, 2364 MF_ATTRIBUTE_TYPE *pType); 2365 2366 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2367 IMFAudioMediaType* This, 2368 REFGUID guidKey, 2369 REFPROPVARIANT Value, 2370 WINBOOL *pbResult); 2371 2372 HRESULT (STDMETHODCALLTYPE *Compare)( 2373 IMFAudioMediaType* This, 2374 IMFAttributes *pTheirs, 2375 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2376 WINBOOL *pbResult); 2377 2378 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2379 IMFAudioMediaType* This, 2380 REFGUID guidKey, 2381 UINT32 *punValue); 2382 2383 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2384 IMFAudioMediaType* This, 2385 REFGUID guidKey, 2386 UINT64 *punValue); 2387 2388 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2389 IMFAudioMediaType* This, 2390 REFGUID guidKey, 2391 double *pfValue); 2392 2393 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2394 IMFAudioMediaType* This, 2395 REFGUID guidKey, 2396 GUID *pguidValue); 2397 2398 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2399 IMFAudioMediaType* This, 2400 REFGUID guidKey, 2401 UINT32 *pcchLength); 2402 2403 HRESULT (STDMETHODCALLTYPE *GetString)( 2404 IMFAudioMediaType* This, 2405 REFGUID guidKey, 2406 LPWSTR pwszValue, 2407 UINT32 cchBufSize, 2408 UINT32 *pcchLength); 2409 2410 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2411 IMFAudioMediaType* This, 2412 REFGUID guidKey, 2413 LPWSTR *ppwszValue, 2414 UINT32 *pcchLength); 2415 2416 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 2417 IMFAudioMediaType* This, 2418 REFGUID guidKey, 2419 UINT32 *pcbBlobSize); 2420 2421 HRESULT (STDMETHODCALLTYPE *GetBlob)( 2422 IMFAudioMediaType* This, 2423 REFGUID guidKey, 2424 UINT8 *pBuf, 2425 UINT32 cbBufSize, 2426 UINT32 *pcbBlobSize); 2427 2428 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 2429 IMFAudioMediaType* This, 2430 REFGUID guidKey, 2431 UINT8 **ppBuf, 2432 UINT32 *pcbSize); 2433 2434 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 2435 IMFAudioMediaType* This, 2436 REFGUID guidKey, 2437 REFIID riid, 2438 LPVOID *ppv); 2439 2440 HRESULT (STDMETHODCALLTYPE *SetItem)( 2441 IMFAudioMediaType* This, 2442 REFGUID guidKey, 2443 REFPROPVARIANT Value); 2444 2445 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 2446 IMFAudioMediaType* This, 2447 REFGUID guidKey); 2448 2449 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 2450 IMFAudioMediaType* This); 2451 2452 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 2453 IMFAudioMediaType* This, 2454 REFGUID guidKey, 2455 UINT32 unValue); 2456 2457 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 2458 IMFAudioMediaType* This, 2459 REFGUID guidKey, 2460 UINT64 unValue); 2461 2462 HRESULT (STDMETHODCALLTYPE *SetDouble)( 2463 IMFAudioMediaType* This, 2464 REFGUID guidKey, 2465 double fValue); 2466 2467 HRESULT (STDMETHODCALLTYPE *SetGUID)( 2468 IMFAudioMediaType* This, 2469 REFGUID guidKey, 2470 REFGUID guidValue); 2471 2472 HRESULT (STDMETHODCALLTYPE *SetString)( 2473 IMFAudioMediaType* This, 2474 REFGUID guidKey, 2475 LPCWSTR wszValue); 2476 2477 HRESULT (STDMETHODCALLTYPE *SetBlob)( 2478 IMFAudioMediaType* This, 2479 REFGUID guidKey, 2480 const UINT8 *pBuf, 2481 UINT32 cbBufSize); 2482 2483 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 2484 IMFAudioMediaType* This, 2485 REFGUID guidKey, 2486 IUnknown *pUnknown); 2487 2488 HRESULT (STDMETHODCALLTYPE *LockStore)( 2489 IMFAudioMediaType* This); 2490 2491 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 2492 IMFAudioMediaType* This); 2493 2494 HRESULT (STDMETHODCALLTYPE *GetCount)( 2495 IMFAudioMediaType* This, 2496 UINT32 *pcItems); 2497 2498 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 2499 IMFAudioMediaType* This, 2500 UINT32 unIndex, 2501 GUID *pguidKey, 2502 PROPVARIANT *pValue); 2503 2504 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 2505 IMFAudioMediaType* This, 2506 IMFAttributes *pDest); 2507 2508 /*** IMFMediaType methods ***/ 2509 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 2510 IMFAudioMediaType* This, 2511 GUID *pguidMajorType); 2512 2513 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 2514 IMFAudioMediaType* This, 2515 WINBOOL *pfCompressed); 2516 2517 HRESULT (STDMETHODCALLTYPE *IsEqual)( 2518 IMFAudioMediaType* This, 2519 IMFMediaType *pIMediaType, 2520 DWORD *pdwFlags); 2521 2522 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 2523 IMFAudioMediaType* This, 2524 GUID guidRepresentation, 2525 LPVOID *ppvRepresentation); 2526 2527 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 2528 IMFAudioMediaType* This, 2529 GUID guidRepresentation, 2530 LPVOID pvRepresentation); 2531 2532 /*** IMFAudioMediaType methods ***/ 2533 const WAVEFORMATEX * (STDMETHODCALLTYPE *GetAudioFormat)( 2534 IMFAudioMediaType* This); 2535 2536 END_INTERFACE 2537 } IMFAudioMediaTypeVtbl; 2538 interface IMFAudioMediaType { 2539 CONST_VTBL IMFAudioMediaTypeVtbl* lpVtbl; 2540 }; 2541 2542 #ifdef COBJMACROS 2543 #ifndef WIDL_C_INLINE_WRAPPERS 2544 /*** IUnknown methods ***/ 2545 #define IMFAudioMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 2546 #define IMFAudioMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 2547 #define IMFAudioMediaType_Release(This) (This)->lpVtbl->Release(This) 2548 /*** IMFAttributes methods ***/ 2549 #define IMFAudioMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 2550 #define IMFAudioMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 2551 #define IMFAudioMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 2552 #define IMFAudioMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 2553 #define IMFAudioMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 2554 #define IMFAudioMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 2555 #define IMFAudioMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 2556 #define IMFAudioMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 2557 #define IMFAudioMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 2558 #define IMFAudioMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 2559 #define IMFAudioMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 2560 #define IMFAudioMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 2561 #define IMFAudioMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 2562 #define IMFAudioMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 2563 #define IMFAudioMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 2564 #define IMFAudioMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 2565 #define IMFAudioMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 2566 #define IMFAudioMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 2567 #define IMFAudioMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 2568 #define IMFAudioMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 2569 #define IMFAudioMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 2570 #define IMFAudioMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 2571 #define IMFAudioMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 2572 #define IMFAudioMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 2573 #define IMFAudioMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 2574 #define IMFAudioMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 2575 #define IMFAudioMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 2576 #define IMFAudioMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 2577 #define IMFAudioMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 2578 #define IMFAudioMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 2579 /*** IMFMediaType methods ***/ 2580 #define IMFAudioMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 2581 #define IMFAudioMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 2582 #define IMFAudioMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 2583 #define IMFAudioMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 2584 #define IMFAudioMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 2585 /*** IMFAudioMediaType methods ***/ 2586 #define IMFAudioMediaType_GetAudioFormat(This) (This)->lpVtbl->GetAudioFormat(This) 2587 #else 2588 /*** IUnknown methods ***/ 2589 static FORCEINLINE HRESULT IMFAudioMediaType_QueryInterface(IMFAudioMediaType* This,REFIID riid,void **ppvObject) { 2590 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2591 } 2592 static FORCEINLINE ULONG IMFAudioMediaType_AddRef(IMFAudioMediaType* This) { 2593 return This->lpVtbl->AddRef(This); 2594 } 2595 static FORCEINLINE ULONG IMFAudioMediaType_Release(IMFAudioMediaType* This) { 2596 return This->lpVtbl->Release(This); 2597 } 2598 /*** IMFAttributes methods ***/ 2599 static FORCEINLINE HRESULT IMFAudioMediaType_GetItem(IMFAudioMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 2600 return This->lpVtbl->GetItem(This,guidKey,pValue); 2601 } 2602 static FORCEINLINE HRESULT IMFAudioMediaType_GetItemType(IMFAudioMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2603 return This->lpVtbl->GetItemType(This,guidKey,pType); 2604 } 2605 static FORCEINLINE HRESULT IMFAudioMediaType_CompareItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2606 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2607 } 2608 static FORCEINLINE HRESULT IMFAudioMediaType_Compare(IMFAudioMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 2609 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 2610 } 2611 static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *punValue) { 2612 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2613 } 2614 static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 *punValue) { 2615 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2616 } 2617 static FORCEINLINE HRESULT IMFAudioMediaType_GetDouble(IMFAudioMediaType* This,REFGUID guidKey,double *pfValue) { 2618 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2619 } 2620 static FORCEINLINE HRESULT IMFAudioMediaType_GetGUID(IMFAudioMediaType* This,REFGUID guidKey,GUID *pguidValue) { 2621 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2622 } 2623 static FORCEINLINE HRESULT IMFAudioMediaType_GetStringLength(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 2624 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2625 } 2626 static FORCEINLINE HRESULT IMFAudioMediaType_GetString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 2627 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 2628 } 2629 static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2630 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2631 } 2632 static FORCEINLINE HRESULT IMFAudioMediaType_GetBlobSize(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2633 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2634 } 2635 static FORCEINLINE HRESULT IMFAudioMediaType_GetBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 2636 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 2637 } 2638 static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2639 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2640 } 2641 static FORCEINLINE HRESULT IMFAudioMediaType_GetUnknown(IMFAudioMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2642 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2643 } 2644 static FORCEINLINE HRESULT IMFAudioMediaType_SetItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 2645 return This->lpVtbl->SetItem(This,guidKey,Value); 2646 } 2647 static FORCEINLINE HRESULT IMFAudioMediaType_DeleteItem(IMFAudioMediaType* This,REFGUID guidKey) { 2648 return This->lpVtbl->DeleteItem(This,guidKey); 2649 } 2650 static FORCEINLINE HRESULT IMFAudioMediaType_DeleteAllItems(IMFAudioMediaType* This) { 2651 return This->lpVtbl->DeleteAllItems(This); 2652 } 2653 static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 unValue) { 2654 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2655 } 2656 static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 unValue) { 2657 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2658 } 2659 static FORCEINLINE HRESULT IMFAudioMediaType_SetDouble(IMFAudioMediaType* This,REFGUID guidKey,double fValue) { 2660 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2661 } 2662 static FORCEINLINE HRESULT IMFAudioMediaType_SetGUID(IMFAudioMediaType* This,REFGUID guidKey,REFGUID guidValue) { 2663 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2664 } 2665 static FORCEINLINE HRESULT IMFAudioMediaType_SetString(IMFAudioMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 2666 return This->lpVtbl->SetString(This,guidKey,wszValue); 2667 } 2668 static FORCEINLINE HRESULT IMFAudioMediaType_SetBlob(IMFAudioMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2669 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2670 } 2671 static FORCEINLINE HRESULT IMFAudioMediaType_SetUnknown(IMFAudioMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 2672 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2673 } 2674 static FORCEINLINE HRESULT IMFAudioMediaType_LockStore(IMFAudioMediaType* This) { 2675 return This->lpVtbl->LockStore(This); 2676 } 2677 static FORCEINLINE HRESULT IMFAudioMediaType_UnlockStore(IMFAudioMediaType* This) { 2678 return This->lpVtbl->UnlockStore(This); 2679 } 2680 static FORCEINLINE HRESULT IMFAudioMediaType_GetCount(IMFAudioMediaType* This,UINT32 *pcItems) { 2681 return This->lpVtbl->GetCount(This,pcItems); 2682 } 2683 static FORCEINLINE HRESULT IMFAudioMediaType_GetItemByIndex(IMFAudioMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2684 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2685 } 2686 static FORCEINLINE HRESULT IMFAudioMediaType_CopyAllItems(IMFAudioMediaType* This,IMFAttributes *pDest) { 2687 return This->lpVtbl->CopyAllItems(This,pDest); 2688 } 2689 /*** IMFMediaType methods ***/ 2690 static FORCEINLINE HRESULT IMFAudioMediaType_GetMajorType(IMFAudioMediaType* This,GUID *pguidMajorType) { 2691 return This->lpVtbl->GetMajorType(This,pguidMajorType); 2692 } 2693 static FORCEINLINE HRESULT IMFAudioMediaType_IsCompressedFormat(IMFAudioMediaType* This,WINBOOL *pfCompressed) { 2694 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 2695 } 2696 static FORCEINLINE HRESULT IMFAudioMediaType_IsEqual(IMFAudioMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 2697 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 2698 } 2699 static FORCEINLINE HRESULT IMFAudioMediaType_GetRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 2700 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 2701 } 2702 static FORCEINLINE HRESULT IMFAudioMediaType_FreeRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 2703 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 2704 } 2705 /*** IMFAudioMediaType methods ***/ 2706 static FORCEINLINE const WAVEFORMATEX * IMFAudioMediaType_GetAudioFormat(IMFAudioMediaType* This) { 2707 return This->lpVtbl->GetAudioFormat(This); 2708 } 2709 #endif 2710 #endif 2711 2712 #endif 2713 2714 const WAVEFORMATEX * STDMETHODCALLTYPE IMFAudioMediaType_GetAudioFormat_Proxy( 2715 IMFAudioMediaType* This); 2716 void __RPC_STUB IMFAudioMediaType_GetAudioFormat_Stub( 2717 IRpcStubBuffer* This, 2718 IRpcChannelBuffer* pRpcChannelBuffer, 2719 PRPC_MESSAGE pRpcMessage, 2720 DWORD* pdwStubPhase); 2721 2722 #endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */ 2723 2724 typedef struct __WIDL_mmreg_h_generated_name_00000001 { 2725 GUID guidMajorType; 2726 GUID guidSubtype; 2727 } MFT_REGISTER_TYPE_INFO; 2728 typedef enum _MFVideoFlags { 2729 MFVideoFlag_PAD_TO_Mask = 0x1 | 0x2, 2730 MFVideoFlag_PAD_TO_None = 0 * 0x1, 2731 MFVideoFlag_PAD_TO_4x3 = 1 * 0x1, 2732 MFVideoFlag_PAD_TO_16x9 = 2 * 0x1, 2733 MFVideoFlag_SrcContentHintMask = (0x4 | 0x8) | 0x10, 2734 MFVideoFlag_SrcContentHintNone = 0 * 0x4, 2735 MFVideoFlag_SrcContentHint16x9 = 1 * 0x4, 2736 MFVideoFlag_SrcContentHint235_1 = 2 * 0x4, 2737 MFVideoFlag_AnalogProtected = 0x20, 2738 MFVideoFlag_DigitallyProtected = 0x40, 2739 MFVideoFlag_ProgressiveContent = 0x80, 2740 MFVideoFlag_FieldRepeatCountMask = (0x100 | 0x200) | 0x400, 2741 MFVideoFlag_FieldRepeatCountShift = 8, 2742 MFVideoFlag_ProgressiveSeqReset = 0x800, 2743 MFVideoFlag_PanScanEnabled = 0x20000, 2744 MFVideoFlag_LowerFieldFirst = 0x40000, 2745 MFVideoFlag_BottomUpLinearRep = 0x80000, 2746 MFVideoFlags_DXVASurface = 0x100000, 2747 MFVideoFlags_RenderTargetSurface = 0x400000, 2748 MFVideoFlags_ForceQWORD = 0x7fffffff 2749 } MFVideoFlags; 2750 typedef struct _MFRatio { 2751 DWORD Numerator; 2752 DWORD Denominator; 2753 } MFRatio; 2754 typedef struct _MFOffset { 2755 WORD fract; 2756 short value; 2757 } MFOffset; 2758 typedef struct _MFVideoArea { 2759 MFOffset OffsetX; 2760 MFOffset OffsetY; 2761 SIZE Area; 2762 } MFVideoArea; 2763 typedef enum _MFVideoChromaSubsampling { 2764 MFVideoChromaSubsampling_Unknown = 0, 2765 MFVideoChromaSubsampling_ProgressiveChroma = 0x8, 2766 MFVideoChromaSubsampling_Horizontally_Cosited = 0x4, 2767 MFVideoChromaSubsampling_Vertically_Cosited = 0x2, 2768 MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, 2769 MFVideoChromaSubsampling_MPEG2 = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 2770 MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 2771 MFVideoChromaSubsampling_DV_PAL = MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited, 2772 MFVideoChromaSubsampling_Cosited = (MFVideoChromaSubsampling_Horizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited) | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes, 2773 MFVideoChromaSubsampling_Last = MFVideoChromaSubsampling_Cosited + 1, 2774 MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff 2775 } MFVideoChromaSubsampling; 2776 typedef enum _MFVideoInterlaceMode { 2777 MFVideoInterlace_Unknown = 0, 2778 MFVideoInterlace_Progressive = 2, 2779 MFVideoInterlace_FieldInterleavedUpperFirst = 3, 2780 MFVideoInterlace_FieldInterleavedLowerFirst = 4, 2781 MFVideoInterlace_FieldSingleUpper = 5, 2782 MFVideoInterlace_FieldSingleLower = 6, 2783 MFVideoInterlace_MixedInterlaceOrProgressive = 7, 2784 MFVideoInterlace_Last = 8, 2785 MFVideoInterlace_ForceDWORD = 0x7fffffff 2786 } MFVideoInterlaceMode; 2787 typedef enum _MFVideoTransferFunction { 2788 MFVideoTransFunc_Unknown = 0, 2789 MFVideoTransFunc_10 = 1, 2790 MFVideoTransFunc_18 = 2, 2791 MFVideoTransFunc_20 = 3, 2792 MFVideoTransFunc_22 = 4, 2793 MFVideoTransFunc_709 = 5, 2794 MFVideoTransFunc_240M = 6, 2795 MFVideoTransFunc_sRGB = 7, 2796 MFVideoTransFunc_28 = 8, 2797 MFVideoTransFunc_Log_100 = 9, 2798 MFVideoTransFunc_Log_316 = 10, 2799 MFVideoTransFunc_709_sym = 11, 2800 MFVideoTransFunc_Last = 12, 2801 MFVideoTransFunc_ForceDWORD = 0x7fffffff 2802 } MFVideoTransferFunction; 2803 typedef enum _MFVideoTransferMatrix { 2804 MFVideoTransferMatrix_Unknown = 0, 2805 MFVideoTransferMatrix_BT709 = 1, 2806 MFVideoTransferMatrix_BT601 = 2, 2807 MFVideoTransferMatrix_SMPTE240M = 3, 2808 MFVideoTransferMatrix_Last = 4, 2809 MFVideoTransferMatrix_ForceDWORD = 0x7fffffff 2810 } MFVideoTransferMatrix; 2811 typedef enum _MFVideoPrimaries { 2812 MFVideoPrimaries_Unknown = 0, 2813 MFVideoPrimaries_reserved = 1, 2814 MFVideoPrimaries_BT709 = 2, 2815 MFVideoPrimaries_BT470_2_SysM = 3, 2816 MFVideoPrimaries_BT470_2_SysBG = 4, 2817 MFVideoPrimaries_SMPTE170M = 5, 2818 MFVideoPrimaries_SMPTE240M = 6, 2819 MFVideoPrimaries_EBU3213 = 7, 2820 MFVideoPrimaries_SMPTE_C = 8, 2821 MFVideoPrimaries_Last = 9, 2822 MFVideoPrimaries_ForceDWORD = 0x7fffffff 2823 } MFVideoPrimaries; 2824 typedef enum _MFVideoLighting { 2825 MFVideoLighting_Unknown = 0, 2826 MFVideoLighting_bright = 1, 2827 MFVideoLighting_office = 2, 2828 MFVideoLighting_dim = 3, 2829 MFVideoLighting_dark = 4, 2830 MFVideoLighting_Last = 5, 2831 MFVideoLighting_ForceDWORD = 0x7fffffff 2832 } MFVideoLighting; 2833 typedef enum _MFNominalRange { 2834 MFNominalRange_Unknown = 0, 2835 MFNominalRange_Normal = 1, 2836 MFNominalRange_Wide = 2, 2837 MFNominalRange_0_255 = 1, 2838 MFNominalRange_16_235 = 2, 2839 MFNominalRange_48_208 = 3, 2840 MFNominalRange_64_127 = 4 2841 } MFNominalRange; 2842 typedef struct _MFVideoInfo { 2843 DWORD dwWidth; 2844 DWORD dwHeight; 2845 MFRatio PixelAspectRatio; 2846 MFVideoChromaSubsampling SourceChromaSubsampling; 2847 MFVideoInterlaceMode InterlaceMode; 2848 MFVideoTransferFunction TransferFunction; 2849 MFVideoPrimaries ColorPrimaries; 2850 MFVideoTransferMatrix TransferMatrix; 2851 MFVideoLighting SourceLighting; 2852 MFRatio FramesPerSecond; 2853 MFNominalRange NominalRange; 2854 MFVideoArea GeometricAperture; 2855 MFVideoArea MinimumDisplayAperture; 2856 MFVideoArea PanScanAperture; 2857 UINT64 VideoFlags; 2858 } MFVideoInfo; 2859 typedef struct _MFVideoCompressedInfo { 2860 LONGLONG AvgBitrate; 2861 LONGLONG AvgBitErrorRate; 2862 DWORD MaxKeyFrameSpacing; 2863 } MFVideoCompressedInfo; 2864 typedef struct _MFARGB { 2865 BYTE rgbBlue; 2866 BYTE rgbGreen; 2867 BYTE rgbRed; 2868 BYTE rgbAlpha; 2869 } MFARGB; 2870 typedef struct __MFAYUVSample { 2871 BYTE bCrValue; 2872 BYTE bCbValue; 2873 BYTE bYValue; 2874 BYTE bSampleAlpha8; 2875 } MFAYUVSample; 2876 typedef union _MFPaletteEntry { 2877 MFARGB ARGB; 2878 MFAYUVSample AYCbCr; 2879 } MFPaletteEntry; 2880 typedef struct _MFVideoSurfaceInfo { 2881 DWORD Format; 2882 DWORD PaletteEntries; 2883 MFPaletteEntry Palette[1]; 2884 } MFVideoSurfaceInfo; 2885 typedef struct _MFVIDEOFORMAT { 2886 DWORD dwSize; 2887 MFVideoInfo videoInfo; 2888 GUID guidFormat; 2889 MFVideoCompressedInfo compressedInfo; 2890 MFVideoSurfaceInfo surfaceInfo; 2891 } MFVIDEOFORMAT; 2892 typedef enum _MFStandardVideoFormat { 2893 MFStdVideoFormat_reserved = 0, 2894 MFStdVideoFormat_NTSC = 1, 2895 MFStdVideoFormat_PAL = 2, 2896 MFStdVideoFormat_DVD_NTSC = 3, 2897 MFStdVideoFormat_DVD_PAL = 4, 2898 MFStdVideoFormat_DV_PAL = 5, 2899 MFStdVideoFormat_DV_NTSC = 6, 2900 MFStdVideoFormat_ATSC_SD480i = 7, 2901 MFStdVideoFormat_ATSC_HD1080i = 8, 2902 MFStdVideoFormat_ATSC_HD720p = 9 2903 } MFStandardVideoFormat; 2904 /***************************************************************************** 2905 * IMFVideoMediaType interface 2906 */ 2907 #ifndef __IMFVideoMediaType_INTERFACE_DEFINED__ 2908 #define __IMFVideoMediaType_INTERFACE_DEFINED__ 2909 2910 DEFINE_GUID(IID_IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90); 2911 #if defined(__cplusplus) && !defined(CINTERFACE) 2912 MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890") 2913 IMFVideoMediaType : public IMFMediaType 2914 { 2915 virtual const MFVIDEOFORMAT * STDMETHODCALLTYPE GetVideoFormat( 2916 ) = 0; 2917 2918 virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation( 2919 GUID guidRepresentation, 2920 LPVOID *ppvRepresentation, 2921 LONG lStride) = 0; 2922 2923 }; 2924 #ifdef __CRT_UUID_DECL 2925 __CRT_UUID_DECL(IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90) 2926 #endif 2927 #else 2928 typedef struct IMFVideoMediaTypeVtbl { 2929 BEGIN_INTERFACE 2930 2931 /*** IUnknown methods ***/ 2932 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 2933 IMFVideoMediaType* This, 2934 REFIID riid, 2935 void **ppvObject); 2936 2937 ULONG (STDMETHODCALLTYPE *AddRef)( 2938 IMFVideoMediaType* This); 2939 2940 ULONG (STDMETHODCALLTYPE *Release)( 2941 IMFVideoMediaType* This); 2942 2943 /*** IMFAttributes methods ***/ 2944 HRESULT (STDMETHODCALLTYPE *GetItem)( 2945 IMFVideoMediaType* This, 2946 REFGUID guidKey, 2947 PROPVARIANT *pValue); 2948 2949 HRESULT (STDMETHODCALLTYPE *GetItemType)( 2950 IMFVideoMediaType* This, 2951 REFGUID guidKey, 2952 MF_ATTRIBUTE_TYPE *pType); 2953 2954 HRESULT (STDMETHODCALLTYPE *CompareItem)( 2955 IMFVideoMediaType* This, 2956 REFGUID guidKey, 2957 REFPROPVARIANT Value, 2958 WINBOOL *pbResult); 2959 2960 HRESULT (STDMETHODCALLTYPE *Compare)( 2961 IMFVideoMediaType* This, 2962 IMFAttributes *pTheirs, 2963 MF_ATTRIBUTES_MATCH_TYPE MatchType, 2964 WINBOOL *pbResult); 2965 2966 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 2967 IMFVideoMediaType* This, 2968 REFGUID guidKey, 2969 UINT32 *punValue); 2970 2971 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 2972 IMFVideoMediaType* This, 2973 REFGUID guidKey, 2974 UINT64 *punValue); 2975 2976 HRESULT (STDMETHODCALLTYPE *GetDouble)( 2977 IMFVideoMediaType* This, 2978 REFGUID guidKey, 2979 double *pfValue); 2980 2981 HRESULT (STDMETHODCALLTYPE *GetGUID)( 2982 IMFVideoMediaType* This, 2983 REFGUID guidKey, 2984 GUID *pguidValue); 2985 2986 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 2987 IMFVideoMediaType* This, 2988 REFGUID guidKey, 2989 UINT32 *pcchLength); 2990 2991 HRESULT (STDMETHODCALLTYPE *GetString)( 2992 IMFVideoMediaType* This, 2993 REFGUID guidKey, 2994 LPWSTR pwszValue, 2995 UINT32 cchBufSize, 2996 UINT32 *pcchLength); 2997 2998 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 2999 IMFVideoMediaType* This, 3000 REFGUID guidKey, 3001 LPWSTR *ppwszValue, 3002 UINT32 *pcchLength); 3003 3004 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 3005 IMFVideoMediaType* This, 3006 REFGUID guidKey, 3007 UINT32 *pcbBlobSize); 3008 3009 HRESULT (STDMETHODCALLTYPE *GetBlob)( 3010 IMFVideoMediaType* This, 3011 REFGUID guidKey, 3012 UINT8 *pBuf, 3013 UINT32 cbBufSize, 3014 UINT32 *pcbBlobSize); 3015 3016 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 3017 IMFVideoMediaType* This, 3018 REFGUID guidKey, 3019 UINT8 **ppBuf, 3020 UINT32 *pcbSize); 3021 3022 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 3023 IMFVideoMediaType* This, 3024 REFGUID guidKey, 3025 REFIID riid, 3026 LPVOID *ppv); 3027 3028 HRESULT (STDMETHODCALLTYPE *SetItem)( 3029 IMFVideoMediaType* This, 3030 REFGUID guidKey, 3031 REFPROPVARIANT Value); 3032 3033 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 3034 IMFVideoMediaType* This, 3035 REFGUID guidKey); 3036 3037 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 3038 IMFVideoMediaType* This); 3039 3040 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 3041 IMFVideoMediaType* This, 3042 REFGUID guidKey, 3043 UINT32 unValue); 3044 3045 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 3046 IMFVideoMediaType* This, 3047 REFGUID guidKey, 3048 UINT64 unValue); 3049 3050 HRESULT (STDMETHODCALLTYPE *SetDouble)( 3051 IMFVideoMediaType* This, 3052 REFGUID guidKey, 3053 double fValue); 3054 3055 HRESULT (STDMETHODCALLTYPE *SetGUID)( 3056 IMFVideoMediaType* This, 3057 REFGUID guidKey, 3058 REFGUID guidValue); 3059 3060 HRESULT (STDMETHODCALLTYPE *SetString)( 3061 IMFVideoMediaType* This, 3062 REFGUID guidKey, 3063 LPCWSTR wszValue); 3064 3065 HRESULT (STDMETHODCALLTYPE *SetBlob)( 3066 IMFVideoMediaType* This, 3067 REFGUID guidKey, 3068 const UINT8 *pBuf, 3069 UINT32 cbBufSize); 3070 3071 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 3072 IMFVideoMediaType* This, 3073 REFGUID guidKey, 3074 IUnknown *pUnknown); 3075 3076 HRESULT (STDMETHODCALLTYPE *LockStore)( 3077 IMFVideoMediaType* This); 3078 3079 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 3080 IMFVideoMediaType* This); 3081 3082 HRESULT (STDMETHODCALLTYPE *GetCount)( 3083 IMFVideoMediaType* This, 3084 UINT32 *pcItems); 3085 3086 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 3087 IMFVideoMediaType* This, 3088 UINT32 unIndex, 3089 GUID *pguidKey, 3090 PROPVARIANT *pValue); 3091 3092 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 3093 IMFVideoMediaType* This, 3094 IMFAttributes *pDest); 3095 3096 /*** IMFMediaType methods ***/ 3097 HRESULT (STDMETHODCALLTYPE *GetMajorType)( 3098 IMFVideoMediaType* This, 3099 GUID *pguidMajorType); 3100 3101 HRESULT (STDMETHODCALLTYPE *IsCompressedFormat)( 3102 IMFVideoMediaType* This, 3103 WINBOOL *pfCompressed); 3104 3105 HRESULT (STDMETHODCALLTYPE *IsEqual)( 3106 IMFVideoMediaType* This, 3107 IMFMediaType *pIMediaType, 3108 DWORD *pdwFlags); 3109 3110 HRESULT (STDMETHODCALLTYPE *GetRepresentation)( 3111 IMFVideoMediaType* This, 3112 GUID guidRepresentation, 3113 LPVOID *ppvRepresentation); 3114 3115 HRESULT (STDMETHODCALLTYPE *FreeRepresentation)( 3116 IMFVideoMediaType* This, 3117 GUID guidRepresentation, 3118 LPVOID pvRepresentation); 3119 3120 /*** IMFVideoMediaType methods ***/ 3121 const MFVIDEOFORMAT * (STDMETHODCALLTYPE *GetVideoFormat)( 3122 IMFVideoMediaType* This); 3123 3124 HRESULT (STDMETHODCALLTYPE *GetVideoRepresentation)( 3125 IMFVideoMediaType* This, 3126 GUID guidRepresentation, 3127 LPVOID *ppvRepresentation, 3128 LONG lStride); 3129 3130 END_INTERFACE 3131 } IMFVideoMediaTypeVtbl; 3132 interface IMFVideoMediaType { 3133 CONST_VTBL IMFVideoMediaTypeVtbl* lpVtbl; 3134 }; 3135 3136 #ifdef COBJMACROS 3137 #ifndef WIDL_C_INLINE_WRAPPERS 3138 /*** IUnknown methods ***/ 3139 #define IMFVideoMediaType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3140 #define IMFVideoMediaType_AddRef(This) (This)->lpVtbl->AddRef(This) 3141 #define IMFVideoMediaType_Release(This) (This)->lpVtbl->Release(This) 3142 /*** IMFAttributes methods ***/ 3143 #define IMFVideoMediaType_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 3144 #define IMFVideoMediaType_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 3145 #define IMFVideoMediaType_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 3146 #define IMFVideoMediaType_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 3147 #define IMFVideoMediaType_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 3148 #define IMFVideoMediaType_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 3149 #define IMFVideoMediaType_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 3150 #define IMFVideoMediaType_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 3151 #define IMFVideoMediaType_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 3152 #define IMFVideoMediaType_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 3153 #define IMFVideoMediaType_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 3154 #define IMFVideoMediaType_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 3155 #define IMFVideoMediaType_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 3156 #define IMFVideoMediaType_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 3157 #define IMFVideoMediaType_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 3158 #define IMFVideoMediaType_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 3159 #define IMFVideoMediaType_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 3160 #define IMFVideoMediaType_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 3161 #define IMFVideoMediaType_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 3162 #define IMFVideoMediaType_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 3163 #define IMFVideoMediaType_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 3164 #define IMFVideoMediaType_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 3165 #define IMFVideoMediaType_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 3166 #define IMFVideoMediaType_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 3167 #define IMFVideoMediaType_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 3168 #define IMFVideoMediaType_LockStore(This) (This)->lpVtbl->LockStore(This) 3169 #define IMFVideoMediaType_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 3170 #define IMFVideoMediaType_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 3171 #define IMFVideoMediaType_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 3172 #define IMFVideoMediaType_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 3173 /*** IMFMediaType methods ***/ 3174 #define IMFVideoMediaType_GetMajorType(This,pguidMajorType) (This)->lpVtbl->GetMajorType(This,pguidMajorType) 3175 #define IMFVideoMediaType_IsCompressedFormat(This,pfCompressed) (This)->lpVtbl->IsCompressedFormat(This,pfCompressed) 3176 #define IMFVideoMediaType_IsEqual(This,pIMediaType,pdwFlags) (This)->lpVtbl->IsEqual(This,pIMediaType,pdwFlags) 3177 #define IMFVideoMediaType_GetRepresentation(This,guidRepresentation,ppvRepresentation) (This)->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation) 3178 #define IMFVideoMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation) (This)->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation) 3179 /*** IMFVideoMediaType methods ***/ 3180 #define IMFVideoMediaType_GetVideoFormat(This) (This)->lpVtbl->GetVideoFormat(This) 3181 #define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) (This)->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride) 3182 #else 3183 /*** IUnknown methods ***/ 3184 static FORCEINLINE HRESULT IMFVideoMediaType_QueryInterface(IMFVideoMediaType* This,REFIID riid,void **ppvObject) { 3185 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3186 } 3187 static FORCEINLINE ULONG IMFVideoMediaType_AddRef(IMFVideoMediaType* This) { 3188 return This->lpVtbl->AddRef(This); 3189 } 3190 static FORCEINLINE ULONG IMFVideoMediaType_Release(IMFVideoMediaType* This) { 3191 return This->lpVtbl->Release(This); 3192 } 3193 /*** IMFAttributes methods ***/ 3194 static FORCEINLINE HRESULT IMFVideoMediaType_GetItem(IMFVideoMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 3195 return This->lpVtbl->GetItem(This,guidKey,pValue); 3196 } 3197 static FORCEINLINE HRESULT IMFVideoMediaType_GetItemType(IMFVideoMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3198 return This->lpVtbl->GetItemType(This,guidKey,pType); 3199 } 3200 static FORCEINLINE HRESULT IMFVideoMediaType_CompareItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3201 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3202 } 3203 static FORCEINLINE HRESULT IMFVideoMediaType_Compare(IMFVideoMediaType* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 3204 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 3205 } 3206 static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *punValue) { 3207 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3208 } 3209 static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 *punValue) { 3210 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3211 } 3212 static FORCEINLINE HRESULT IMFVideoMediaType_GetDouble(IMFVideoMediaType* This,REFGUID guidKey,double *pfValue) { 3213 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3214 } 3215 static FORCEINLINE HRESULT IMFVideoMediaType_GetGUID(IMFVideoMediaType* This,REFGUID guidKey,GUID *pguidValue) { 3216 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3217 } 3218 static FORCEINLINE HRESULT IMFVideoMediaType_GetStringLength(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 3219 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3220 } 3221 static FORCEINLINE HRESULT IMFVideoMediaType_GetString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 3222 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 3223 } 3224 static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3225 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3226 } 3227 static FORCEINLINE HRESULT IMFVideoMediaType_GetBlobSize(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3228 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3229 } 3230 static FORCEINLINE HRESULT IMFVideoMediaType_GetBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 3231 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 3232 } 3233 static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3234 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3235 } 3236 static FORCEINLINE HRESULT IMFVideoMediaType_GetUnknown(IMFVideoMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 3237 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 3238 } 3239 static FORCEINLINE HRESULT IMFVideoMediaType_SetItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 3240 return This->lpVtbl->SetItem(This,guidKey,Value); 3241 } 3242 static FORCEINLINE HRESULT IMFVideoMediaType_DeleteItem(IMFVideoMediaType* This,REFGUID guidKey) { 3243 return This->lpVtbl->DeleteItem(This,guidKey); 3244 } 3245 static FORCEINLINE HRESULT IMFVideoMediaType_DeleteAllItems(IMFVideoMediaType* This) { 3246 return This->lpVtbl->DeleteAllItems(This); 3247 } 3248 static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 unValue) { 3249 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 3250 } 3251 static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 unValue) { 3252 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 3253 } 3254 static FORCEINLINE HRESULT IMFVideoMediaType_SetDouble(IMFVideoMediaType* This,REFGUID guidKey,double fValue) { 3255 return This->lpVtbl->SetDouble(This,guidKey,fValue); 3256 } 3257 static FORCEINLINE HRESULT IMFVideoMediaType_SetGUID(IMFVideoMediaType* This,REFGUID guidKey,REFGUID guidValue) { 3258 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 3259 } 3260 static FORCEINLINE HRESULT IMFVideoMediaType_SetString(IMFVideoMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 3261 return This->lpVtbl->SetString(This,guidKey,wszValue); 3262 } 3263 static FORCEINLINE HRESULT IMFVideoMediaType_SetBlob(IMFVideoMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 3264 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 3265 } 3266 static FORCEINLINE HRESULT IMFVideoMediaType_SetUnknown(IMFVideoMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 3267 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 3268 } 3269 static FORCEINLINE HRESULT IMFVideoMediaType_LockStore(IMFVideoMediaType* This) { 3270 return This->lpVtbl->LockStore(This); 3271 } 3272 static FORCEINLINE HRESULT IMFVideoMediaType_UnlockStore(IMFVideoMediaType* This) { 3273 return This->lpVtbl->UnlockStore(This); 3274 } 3275 static FORCEINLINE HRESULT IMFVideoMediaType_GetCount(IMFVideoMediaType* This,UINT32 *pcItems) { 3276 return This->lpVtbl->GetCount(This,pcItems); 3277 } 3278 static FORCEINLINE HRESULT IMFVideoMediaType_GetItemByIndex(IMFVideoMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 3279 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 3280 } 3281 static FORCEINLINE HRESULT IMFVideoMediaType_CopyAllItems(IMFVideoMediaType* This,IMFAttributes *pDest) { 3282 return This->lpVtbl->CopyAllItems(This,pDest); 3283 } 3284 /*** IMFMediaType methods ***/ 3285 static FORCEINLINE HRESULT IMFVideoMediaType_GetMajorType(IMFVideoMediaType* This,GUID *pguidMajorType) { 3286 return This->lpVtbl->GetMajorType(This,pguidMajorType); 3287 } 3288 static FORCEINLINE HRESULT IMFVideoMediaType_IsCompressedFormat(IMFVideoMediaType* This,WINBOOL *pfCompressed) { 3289 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 3290 } 3291 static FORCEINLINE HRESULT IMFVideoMediaType_IsEqual(IMFVideoMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 3292 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 3293 } 3294 static FORCEINLINE HRESULT IMFVideoMediaType_GetRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 3295 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 3296 } 3297 static FORCEINLINE HRESULT IMFVideoMediaType_FreeRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 3298 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 3299 } 3300 /*** IMFVideoMediaType methods ***/ 3301 static FORCEINLINE const MFVIDEOFORMAT * IMFVideoMediaType_GetVideoFormat(IMFVideoMediaType* This) { 3302 return This->lpVtbl->GetVideoFormat(This); 3303 } 3304 static FORCEINLINE HRESULT IMFVideoMediaType_GetVideoRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation,LONG lStride) { 3305 return This->lpVtbl->GetVideoRepresentation(This,guidRepresentation,ppvRepresentation,lStride); 3306 } 3307 #endif 3308 #endif 3309 3310 #endif 3311 3312 const MFVIDEOFORMAT * STDMETHODCALLTYPE IMFVideoMediaType_GetVideoFormat_Proxy( 3313 IMFVideoMediaType* This); 3314 void __RPC_STUB IMFVideoMediaType_GetVideoFormat_Stub( 3315 IRpcStubBuffer* This, 3316 IRpcChannelBuffer* pRpcChannelBuffer, 3317 PRPC_MESSAGE pRpcMessage, 3318 DWORD* pdwStubPhase); 3319 HRESULT STDMETHODCALLTYPE IMFVideoMediaType_GetVideoRepresentation_Proxy( 3320 IMFVideoMediaType* This, 3321 GUID guidRepresentation, 3322 LPVOID *ppvRepresentation, 3323 LONG lStride); 3324 void __RPC_STUB IMFVideoMediaType_GetVideoRepresentation_Stub( 3325 IRpcStubBuffer* This, 3326 IRpcChannelBuffer* pRpcChannelBuffer, 3327 PRPC_MESSAGE pRpcMessage, 3328 DWORD* pdwStubPhase); 3329 3330 #endif /* __IMFVideoMediaType_INTERFACE_DEFINED__ */ 3331 3332 /***************************************************************************** 3333 * IMFAsyncResult interface 3334 */ 3335 #ifndef __IMFAsyncResult_INTERFACE_DEFINED__ 3336 #define __IMFAsyncResult_INTERFACE_DEFINED__ 3337 3338 DEFINE_GUID(IID_IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6); 3339 #if defined(__cplusplus) && !defined(CINTERFACE) 3340 MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6") 3341 IMFAsyncResult : public IUnknown 3342 { 3343 virtual HRESULT STDMETHODCALLTYPE GetState( 3344 IUnknown **ppunkState) = 0; 3345 3346 virtual HRESULT STDMETHODCALLTYPE GetStatus( 3347 ) = 0; 3348 3349 virtual HRESULT STDMETHODCALLTYPE SetStatus( 3350 HRESULT hrStatus) = 0; 3351 3352 virtual HRESULT STDMETHODCALLTYPE GetObject( 3353 IUnknown **ppObject) = 0; 3354 3355 virtual IUnknown * STDMETHODCALLTYPE GetStateNoAddRef( 3356 ) = 0; 3357 3358 }; 3359 #ifdef __CRT_UUID_DECL 3360 __CRT_UUID_DECL(IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6) 3361 #endif 3362 #else 3363 typedef struct IMFAsyncResultVtbl { 3364 BEGIN_INTERFACE 3365 3366 /*** IUnknown methods ***/ 3367 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3368 IMFAsyncResult* This, 3369 REFIID riid, 3370 void **ppvObject); 3371 3372 ULONG (STDMETHODCALLTYPE *AddRef)( 3373 IMFAsyncResult* This); 3374 3375 ULONG (STDMETHODCALLTYPE *Release)( 3376 IMFAsyncResult* This); 3377 3378 /*** IMFAsyncResult methods ***/ 3379 HRESULT (STDMETHODCALLTYPE *GetState)( 3380 IMFAsyncResult* This, 3381 IUnknown **ppunkState); 3382 3383 HRESULT (STDMETHODCALLTYPE *GetStatus)( 3384 IMFAsyncResult* This); 3385 3386 HRESULT (STDMETHODCALLTYPE *SetStatus)( 3387 IMFAsyncResult* This, 3388 HRESULT hrStatus); 3389 3390 HRESULT (STDMETHODCALLTYPE *GetObject)( 3391 IMFAsyncResult* This, 3392 IUnknown **ppObject); 3393 3394 IUnknown * (STDMETHODCALLTYPE *GetStateNoAddRef)( 3395 IMFAsyncResult* This); 3396 3397 END_INTERFACE 3398 } IMFAsyncResultVtbl; 3399 interface IMFAsyncResult { 3400 CONST_VTBL IMFAsyncResultVtbl* lpVtbl; 3401 }; 3402 3403 #ifdef COBJMACROS 3404 #ifndef WIDL_C_INLINE_WRAPPERS 3405 /*** IUnknown methods ***/ 3406 #define IMFAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3407 #define IMFAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) 3408 #define IMFAsyncResult_Release(This) (This)->lpVtbl->Release(This) 3409 /*** IMFAsyncResult methods ***/ 3410 #define IMFAsyncResult_GetState(This,ppunkState) (This)->lpVtbl->GetState(This,ppunkState) 3411 #define IMFAsyncResult_GetStatus(This) (This)->lpVtbl->GetStatus(This) 3412 #define IMFAsyncResult_SetStatus(This,hrStatus) (This)->lpVtbl->SetStatus(This,hrStatus) 3413 #define IMFAsyncResult_GetObject(This,ppObject) (This)->lpVtbl->GetObject(This,ppObject) 3414 #define IMFAsyncResult_GetStateNoAddRef(This) (This)->lpVtbl->GetStateNoAddRef(This) 3415 #else 3416 /*** IUnknown methods ***/ 3417 static FORCEINLINE HRESULT IMFAsyncResult_QueryInterface(IMFAsyncResult* This,REFIID riid,void **ppvObject) { 3418 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3419 } 3420 static FORCEINLINE ULONG IMFAsyncResult_AddRef(IMFAsyncResult* This) { 3421 return This->lpVtbl->AddRef(This); 3422 } 3423 static FORCEINLINE ULONG IMFAsyncResult_Release(IMFAsyncResult* This) { 3424 return This->lpVtbl->Release(This); 3425 } 3426 /*** IMFAsyncResult methods ***/ 3427 static FORCEINLINE HRESULT IMFAsyncResult_GetState(IMFAsyncResult* This,IUnknown **ppunkState) { 3428 return This->lpVtbl->GetState(This,ppunkState); 3429 } 3430 static FORCEINLINE HRESULT IMFAsyncResult_GetStatus(IMFAsyncResult* This) { 3431 return This->lpVtbl->GetStatus(This); 3432 } 3433 static FORCEINLINE HRESULT IMFAsyncResult_SetStatus(IMFAsyncResult* This,HRESULT hrStatus) { 3434 return This->lpVtbl->SetStatus(This,hrStatus); 3435 } 3436 static FORCEINLINE HRESULT IMFAsyncResult_GetObject(IMFAsyncResult* This,IUnknown **ppObject) { 3437 return This->lpVtbl->GetObject(This,ppObject); 3438 } 3439 static FORCEINLINE IUnknown * IMFAsyncResult_GetStateNoAddRef(IMFAsyncResult* This) { 3440 return This->lpVtbl->GetStateNoAddRef(This); 3441 } 3442 #endif 3443 #endif 3444 3445 #endif 3446 3447 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetState_Proxy( 3448 IMFAsyncResult* This, 3449 IUnknown **ppunkState); 3450 void __RPC_STUB IMFAsyncResult_GetState_Stub( 3451 IRpcStubBuffer* This, 3452 IRpcChannelBuffer* pRpcChannelBuffer, 3453 PRPC_MESSAGE pRpcMessage, 3454 DWORD* pdwStubPhase); 3455 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetStatus_Proxy( 3456 IMFAsyncResult* This); 3457 void __RPC_STUB IMFAsyncResult_GetStatus_Stub( 3458 IRpcStubBuffer* This, 3459 IRpcChannelBuffer* pRpcChannelBuffer, 3460 PRPC_MESSAGE pRpcMessage, 3461 DWORD* pdwStubPhase); 3462 HRESULT STDMETHODCALLTYPE IMFAsyncResult_SetStatus_Proxy( 3463 IMFAsyncResult* This, 3464 HRESULT hrStatus); 3465 void __RPC_STUB IMFAsyncResult_SetStatus_Stub( 3466 IRpcStubBuffer* This, 3467 IRpcChannelBuffer* pRpcChannelBuffer, 3468 PRPC_MESSAGE pRpcMessage, 3469 DWORD* pdwStubPhase); 3470 HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetObject_Proxy( 3471 IMFAsyncResult* This, 3472 IUnknown **ppObject); 3473 void __RPC_STUB IMFAsyncResult_GetObject_Stub( 3474 IRpcStubBuffer* This, 3475 IRpcChannelBuffer* pRpcChannelBuffer, 3476 PRPC_MESSAGE pRpcMessage, 3477 DWORD* pdwStubPhase); 3478 3479 #endif /* __IMFAsyncResult_INTERFACE_DEFINED__ */ 3480 3481 /***************************************************************************** 3482 * IMFAsyncCallback interface 3483 */ 3484 #ifndef __IMFAsyncCallback_INTERFACE_DEFINED__ 3485 #define __IMFAsyncCallback_INTERFACE_DEFINED__ 3486 3487 DEFINE_GUID(IID_IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 3488 #if defined(__cplusplus) && !defined(CINTERFACE) 3489 MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e") 3490 IMFAsyncCallback : public IUnknown 3491 { 3492 virtual HRESULT STDMETHODCALLTYPE GetParameters( 3493 DWORD *pdwFlags, 3494 DWORD *pdwQueue) = 0; 3495 3496 virtual HRESULT STDMETHODCALLTYPE Invoke( 3497 IMFAsyncResult *pAsyncResult) = 0; 3498 3499 }; 3500 #ifdef __CRT_UUID_DECL 3501 __CRT_UUID_DECL(IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) 3502 #endif 3503 #else 3504 typedef struct IMFAsyncCallbackVtbl { 3505 BEGIN_INTERFACE 3506 3507 /*** IUnknown methods ***/ 3508 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3509 IMFAsyncCallback* This, 3510 REFIID riid, 3511 void **ppvObject); 3512 3513 ULONG (STDMETHODCALLTYPE *AddRef)( 3514 IMFAsyncCallback* This); 3515 3516 ULONG (STDMETHODCALLTYPE *Release)( 3517 IMFAsyncCallback* This); 3518 3519 /*** IMFAsyncCallback methods ***/ 3520 HRESULT (STDMETHODCALLTYPE *GetParameters)( 3521 IMFAsyncCallback* This, 3522 DWORD *pdwFlags, 3523 DWORD *pdwQueue); 3524 3525 HRESULT (STDMETHODCALLTYPE *Invoke)( 3526 IMFAsyncCallback* This, 3527 IMFAsyncResult *pAsyncResult); 3528 3529 END_INTERFACE 3530 } IMFAsyncCallbackVtbl; 3531 interface IMFAsyncCallback { 3532 CONST_VTBL IMFAsyncCallbackVtbl* lpVtbl; 3533 }; 3534 3535 #ifdef COBJMACROS 3536 #ifndef WIDL_C_INLINE_WRAPPERS 3537 /*** IUnknown methods ***/ 3538 #define IMFAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3539 #define IMFAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 3540 #define IMFAsyncCallback_Release(This) (This)->lpVtbl->Release(This) 3541 /*** IMFAsyncCallback methods ***/ 3542 #define IMFAsyncCallback_GetParameters(This,pdwFlags,pdwQueue) (This)->lpVtbl->GetParameters(This,pdwFlags,pdwQueue) 3543 #define IMFAsyncCallback_Invoke(This,pAsyncResult) (This)->lpVtbl->Invoke(This,pAsyncResult) 3544 #else 3545 /*** IUnknown methods ***/ 3546 static FORCEINLINE HRESULT IMFAsyncCallback_QueryInterface(IMFAsyncCallback* This,REFIID riid,void **ppvObject) { 3547 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3548 } 3549 static FORCEINLINE ULONG IMFAsyncCallback_AddRef(IMFAsyncCallback* This) { 3550 return This->lpVtbl->AddRef(This); 3551 } 3552 static FORCEINLINE ULONG IMFAsyncCallback_Release(IMFAsyncCallback* This) { 3553 return This->lpVtbl->Release(This); 3554 } 3555 /*** IMFAsyncCallback methods ***/ 3556 static FORCEINLINE HRESULT IMFAsyncCallback_GetParameters(IMFAsyncCallback* This,DWORD *pdwFlags,DWORD *pdwQueue) { 3557 return This->lpVtbl->GetParameters(This,pdwFlags,pdwQueue); 3558 } 3559 static FORCEINLINE HRESULT IMFAsyncCallback_Invoke(IMFAsyncCallback* This,IMFAsyncResult *pAsyncResult) { 3560 return This->lpVtbl->Invoke(This,pAsyncResult); 3561 } 3562 #endif 3563 #endif 3564 3565 #endif 3566 3567 HRESULT STDMETHODCALLTYPE IMFAsyncCallback_GetParameters_Proxy( 3568 IMFAsyncCallback* This, 3569 DWORD *pdwFlags, 3570 DWORD *pdwQueue); 3571 void __RPC_STUB IMFAsyncCallback_GetParameters_Stub( 3572 IRpcStubBuffer* This, 3573 IRpcChannelBuffer* pRpcChannelBuffer, 3574 PRPC_MESSAGE pRpcMessage, 3575 DWORD* pdwStubPhase); 3576 HRESULT STDMETHODCALLTYPE IMFAsyncCallback_Invoke_Proxy( 3577 IMFAsyncCallback* This, 3578 IMFAsyncResult *pAsyncResult); 3579 void __RPC_STUB IMFAsyncCallback_Invoke_Stub( 3580 IRpcStubBuffer* This, 3581 IRpcChannelBuffer* pRpcChannelBuffer, 3582 PRPC_MESSAGE pRpcMessage, 3583 DWORD* pdwStubPhase); 3584 3585 #endif /* __IMFAsyncCallback_INTERFACE_DEFINED__ */ 3586 3587 /***************************************************************************** 3588 * IMFRemoteAsyncCallback interface 3589 */ 3590 #ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ 3591 #define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ 3592 3593 DEFINE_GUID(IID_IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 3594 #if defined(__cplusplus) && !defined(CINTERFACE) 3595 MIDL_INTERFACE("a27003d0-2354-4f2a-8d6a-ab7cff15437e") 3596 IMFRemoteAsyncCallback : public IUnknown 3597 { 3598 virtual HRESULT STDMETHODCALLTYPE Invoke( 3599 HRESULT hr, 3600 IUnknown *pRemoteResult) = 0; 3601 3602 }; 3603 #ifdef __CRT_UUID_DECL 3604 __CRT_UUID_DECL(IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) 3605 #endif 3606 #else 3607 typedef struct IMFRemoteAsyncCallbackVtbl { 3608 BEGIN_INTERFACE 3609 3610 /*** IUnknown methods ***/ 3611 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3612 IMFRemoteAsyncCallback* This, 3613 REFIID riid, 3614 void **ppvObject); 3615 3616 ULONG (STDMETHODCALLTYPE *AddRef)( 3617 IMFRemoteAsyncCallback* This); 3618 3619 ULONG (STDMETHODCALLTYPE *Release)( 3620 IMFRemoteAsyncCallback* This); 3621 3622 /*** IMFRemoteAsyncCallback methods ***/ 3623 HRESULT (STDMETHODCALLTYPE *Invoke)( 3624 IMFRemoteAsyncCallback* This, 3625 HRESULT hr, 3626 IUnknown *pRemoteResult); 3627 3628 END_INTERFACE 3629 } IMFRemoteAsyncCallbackVtbl; 3630 interface IMFRemoteAsyncCallback { 3631 CONST_VTBL IMFRemoteAsyncCallbackVtbl* lpVtbl; 3632 }; 3633 3634 #ifdef COBJMACROS 3635 #ifndef WIDL_C_INLINE_WRAPPERS 3636 /*** IUnknown methods ***/ 3637 #define IMFRemoteAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3638 #define IMFRemoteAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 3639 #define IMFRemoteAsyncCallback_Release(This) (This)->lpVtbl->Release(This) 3640 /*** IMFRemoteAsyncCallback methods ***/ 3641 #define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) (This)->lpVtbl->Invoke(This,hr,pRemoteResult) 3642 #else 3643 /*** IUnknown methods ***/ 3644 static FORCEINLINE HRESULT IMFRemoteAsyncCallback_QueryInterface(IMFRemoteAsyncCallback* This,REFIID riid,void **ppvObject) { 3645 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3646 } 3647 static FORCEINLINE ULONG IMFRemoteAsyncCallback_AddRef(IMFRemoteAsyncCallback* This) { 3648 return This->lpVtbl->AddRef(This); 3649 } 3650 static FORCEINLINE ULONG IMFRemoteAsyncCallback_Release(IMFRemoteAsyncCallback* This) { 3651 return This->lpVtbl->Release(This); 3652 } 3653 /*** IMFRemoteAsyncCallback methods ***/ 3654 static FORCEINLINE HRESULT IMFRemoteAsyncCallback_Invoke(IMFRemoteAsyncCallback* This,HRESULT hr,IUnknown *pRemoteResult) { 3655 return This->lpVtbl->Invoke(This,hr,pRemoteResult); 3656 } 3657 #endif 3658 #endif 3659 3660 #endif 3661 3662 HRESULT STDMETHODCALLTYPE IMFRemoteAsyncCallback_Invoke_Proxy( 3663 IMFRemoteAsyncCallback* This, 3664 HRESULT hr, 3665 IUnknown *pRemoteResult); 3666 void __RPC_STUB IMFRemoteAsyncCallback_Invoke_Stub( 3667 IRpcStubBuffer* This, 3668 IRpcChannelBuffer* pRpcChannelBuffer, 3669 PRPC_MESSAGE pRpcMessage, 3670 DWORD* pdwStubPhase); 3671 3672 #endif /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */ 3673 3674 #define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x0001 3675 #define MFASYNC_SIGNAL_CALLBACK 0x0002 3676 #define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000 3677 #define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001 3678 #define MFASYNC_CALLBACK_QUEUE_RT 0x00000002 3679 #define MFASYNC_CALLBACK_QUEUE_IO 0x00000003 3680 #define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004 3681 #define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007 3682 #define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xffff0000 3683 #define MFASYNC_CALLBACK_QUEUE_ALL 0xffffffff 3684 typedef DWORD MediaEventType; 3685 /***************************************************************************** 3686 * IMFMediaEvent interface 3687 */ 3688 #ifndef __IMFMediaEvent_INTERFACE_DEFINED__ 3689 #define __IMFMediaEvent_INTERFACE_DEFINED__ 3690 3691 DEFINE_GUID(IID_IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3); 3692 #if defined(__cplusplus) && !defined(CINTERFACE) 3693 MIDL_INTERFACE("df598932-f10c-4e39-bba2-c308f101daa3") 3694 IMFMediaEvent : public IMFAttributes 3695 { 3696 virtual HRESULT STDMETHODCALLTYPE GetType( 3697 MediaEventType *pmet) = 0; 3698 3699 virtual HRESULT STDMETHODCALLTYPE GetExtendedType( 3700 GUID *pguidExtendedType) = 0; 3701 3702 virtual HRESULT STDMETHODCALLTYPE GetStatus( 3703 HRESULT *phrStatus) = 0; 3704 3705 virtual HRESULT STDMETHODCALLTYPE GetValue( 3706 PROPVARIANT *pvValue) = 0; 3707 3708 }; 3709 #ifdef __CRT_UUID_DECL 3710 __CRT_UUID_DECL(IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3) 3711 #endif 3712 #else 3713 typedef struct IMFMediaEventVtbl { 3714 BEGIN_INTERFACE 3715 3716 /*** IUnknown methods ***/ 3717 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 3718 IMFMediaEvent* This, 3719 REFIID riid, 3720 void **ppvObject); 3721 3722 ULONG (STDMETHODCALLTYPE *AddRef)( 3723 IMFMediaEvent* This); 3724 3725 ULONG (STDMETHODCALLTYPE *Release)( 3726 IMFMediaEvent* This); 3727 3728 /*** IMFAttributes methods ***/ 3729 HRESULT (STDMETHODCALLTYPE *GetItem)( 3730 IMFMediaEvent* This, 3731 REFGUID guidKey, 3732 PROPVARIANT *pValue); 3733 3734 HRESULT (STDMETHODCALLTYPE *GetItemType)( 3735 IMFMediaEvent* This, 3736 REFGUID guidKey, 3737 MF_ATTRIBUTE_TYPE *pType); 3738 3739 HRESULT (STDMETHODCALLTYPE *CompareItem)( 3740 IMFMediaEvent* This, 3741 REFGUID guidKey, 3742 REFPROPVARIANT Value, 3743 WINBOOL *pbResult); 3744 3745 HRESULT (STDMETHODCALLTYPE *Compare)( 3746 IMFMediaEvent* This, 3747 IMFAttributes *pTheirs, 3748 MF_ATTRIBUTES_MATCH_TYPE MatchType, 3749 WINBOOL *pbResult); 3750 3751 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 3752 IMFMediaEvent* This, 3753 REFGUID guidKey, 3754 UINT32 *punValue); 3755 3756 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 3757 IMFMediaEvent* This, 3758 REFGUID guidKey, 3759 UINT64 *punValue); 3760 3761 HRESULT (STDMETHODCALLTYPE *GetDouble)( 3762 IMFMediaEvent* This, 3763 REFGUID guidKey, 3764 double *pfValue); 3765 3766 HRESULT (STDMETHODCALLTYPE *GetGUID)( 3767 IMFMediaEvent* This, 3768 REFGUID guidKey, 3769 GUID *pguidValue); 3770 3771 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 3772 IMFMediaEvent* This, 3773 REFGUID guidKey, 3774 UINT32 *pcchLength); 3775 3776 HRESULT (STDMETHODCALLTYPE *GetString)( 3777 IMFMediaEvent* This, 3778 REFGUID guidKey, 3779 LPWSTR pwszValue, 3780 UINT32 cchBufSize, 3781 UINT32 *pcchLength); 3782 3783 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 3784 IMFMediaEvent* This, 3785 REFGUID guidKey, 3786 LPWSTR *ppwszValue, 3787 UINT32 *pcchLength); 3788 3789 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 3790 IMFMediaEvent* This, 3791 REFGUID guidKey, 3792 UINT32 *pcbBlobSize); 3793 3794 HRESULT (STDMETHODCALLTYPE *GetBlob)( 3795 IMFMediaEvent* This, 3796 REFGUID guidKey, 3797 UINT8 *pBuf, 3798 UINT32 cbBufSize, 3799 UINT32 *pcbBlobSize); 3800 3801 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 3802 IMFMediaEvent* This, 3803 REFGUID guidKey, 3804 UINT8 **ppBuf, 3805 UINT32 *pcbSize); 3806 3807 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 3808 IMFMediaEvent* This, 3809 REFGUID guidKey, 3810 REFIID riid, 3811 LPVOID *ppv); 3812 3813 HRESULT (STDMETHODCALLTYPE *SetItem)( 3814 IMFMediaEvent* This, 3815 REFGUID guidKey, 3816 REFPROPVARIANT Value); 3817 3818 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 3819 IMFMediaEvent* This, 3820 REFGUID guidKey); 3821 3822 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 3823 IMFMediaEvent* This); 3824 3825 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 3826 IMFMediaEvent* This, 3827 REFGUID guidKey, 3828 UINT32 unValue); 3829 3830 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 3831 IMFMediaEvent* This, 3832 REFGUID guidKey, 3833 UINT64 unValue); 3834 3835 HRESULT (STDMETHODCALLTYPE *SetDouble)( 3836 IMFMediaEvent* This, 3837 REFGUID guidKey, 3838 double fValue); 3839 3840 HRESULT (STDMETHODCALLTYPE *SetGUID)( 3841 IMFMediaEvent* This, 3842 REFGUID guidKey, 3843 REFGUID guidValue); 3844 3845 HRESULT (STDMETHODCALLTYPE *SetString)( 3846 IMFMediaEvent* This, 3847 REFGUID guidKey, 3848 LPCWSTR wszValue); 3849 3850 HRESULT (STDMETHODCALLTYPE *SetBlob)( 3851 IMFMediaEvent* This, 3852 REFGUID guidKey, 3853 const UINT8 *pBuf, 3854 UINT32 cbBufSize); 3855 3856 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 3857 IMFMediaEvent* This, 3858 REFGUID guidKey, 3859 IUnknown *pUnknown); 3860 3861 HRESULT (STDMETHODCALLTYPE *LockStore)( 3862 IMFMediaEvent* This); 3863 3864 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 3865 IMFMediaEvent* This); 3866 3867 HRESULT (STDMETHODCALLTYPE *GetCount)( 3868 IMFMediaEvent* This, 3869 UINT32 *pcItems); 3870 3871 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 3872 IMFMediaEvent* This, 3873 UINT32 unIndex, 3874 GUID *pguidKey, 3875 PROPVARIANT *pValue); 3876 3877 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 3878 IMFMediaEvent* This, 3879 IMFAttributes *pDest); 3880 3881 /*** IMFMediaEvent methods ***/ 3882 HRESULT (STDMETHODCALLTYPE *GetType)( 3883 IMFMediaEvent* This, 3884 MediaEventType *pmet); 3885 3886 HRESULT (STDMETHODCALLTYPE *GetExtendedType)( 3887 IMFMediaEvent* This, 3888 GUID *pguidExtendedType); 3889 3890 HRESULT (STDMETHODCALLTYPE *GetStatus)( 3891 IMFMediaEvent* This, 3892 HRESULT *phrStatus); 3893 3894 HRESULT (STDMETHODCALLTYPE *GetValue)( 3895 IMFMediaEvent* This, 3896 PROPVARIANT *pvValue); 3897 3898 END_INTERFACE 3899 } IMFMediaEventVtbl; 3900 interface IMFMediaEvent { 3901 CONST_VTBL IMFMediaEventVtbl* lpVtbl; 3902 }; 3903 3904 #ifdef COBJMACROS 3905 #ifndef WIDL_C_INLINE_WRAPPERS 3906 /*** IUnknown methods ***/ 3907 #define IMFMediaEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 3908 #define IMFMediaEvent_AddRef(This) (This)->lpVtbl->AddRef(This) 3909 #define IMFMediaEvent_Release(This) (This)->lpVtbl->Release(This) 3910 /*** IMFAttributes methods ***/ 3911 #define IMFMediaEvent_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 3912 #define IMFMediaEvent_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 3913 #define IMFMediaEvent_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 3914 #define IMFMediaEvent_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 3915 #define IMFMediaEvent_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 3916 #define IMFMediaEvent_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 3917 #define IMFMediaEvent_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 3918 #define IMFMediaEvent_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 3919 #define IMFMediaEvent_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 3920 #define IMFMediaEvent_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 3921 #define IMFMediaEvent_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 3922 #define IMFMediaEvent_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 3923 #define IMFMediaEvent_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 3924 #define IMFMediaEvent_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 3925 #define IMFMediaEvent_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 3926 #define IMFMediaEvent_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 3927 #define IMFMediaEvent_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 3928 #define IMFMediaEvent_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 3929 #define IMFMediaEvent_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 3930 #define IMFMediaEvent_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 3931 #define IMFMediaEvent_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 3932 #define IMFMediaEvent_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 3933 #define IMFMediaEvent_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 3934 #define IMFMediaEvent_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 3935 #define IMFMediaEvent_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 3936 #define IMFMediaEvent_LockStore(This) (This)->lpVtbl->LockStore(This) 3937 #define IMFMediaEvent_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 3938 #define IMFMediaEvent_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 3939 #define IMFMediaEvent_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 3940 #define IMFMediaEvent_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 3941 /*** IMFMediaEvent methods ***/ 3942 #define IMFMediaEvent_GetType(This,pmet) (This)->lpVtbl->GetType(This,pmet) 3943 #define IMFMediaEvent_GetExtendedType(This,pguidExtendedType) (This)->lpVtbl->GetExtendedType(This,pguidExtendedType) 3944 #define IMFMediaEvent_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus) 3945 #define IMFMediaEvent_GetValue(This,pvValue) (This)->lpVtbl->GetValue(This,pvValue) 3946 #else 3947 /*** IUnknown methods ***/ 3948 static FORCEINLINE HRESULT IMFMediaEvent_QueryInterface(IMFMediaEvent* This,REFIID riid,void **ppvObject) { 3949 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3950 } 3951 static FORCEINLINE ULONG IMFMediaEvent_AddRef(IMFMediaEvent* This) { 3952 return This->lpVtbl->AddRef(This); 3953 } 3954 static FORCEINLINE ULONG IMFMediaEvent_Release(IMFMediaEvent* This) { 3955 return This->lpVtbl->Release(This); 3956 } 3957 /*** IMFAttributes methods ***/ 3958 static FORCEINLINE HRESULT IMFMediaEvent_GetItem(IMFMediaEvent* This,REFGUID guidKey,PROPVARIANT *pValue) { 3959 return This->lpVtbl->GetItem(This,guidKey,pValue); 3960 } 3961 static FORCEINLINE HRESULT IMFMediaEvent_GetItemType(IMFMediaEvent* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3962 return This->lpVtbl->GetItemType(This,guidKey,pType); 3963 } 3964 static FORCEINLINE HRESULT IMFMediaEvent_CompareItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3965 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3966 } 3967 static FORCEINLINE HRESULT IMFMediaEvent_Compare(IMFMediaEvent* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 3968 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 3969 } 3970 static FORCEINLINE HRESULT IMFMediaEvent_GetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 *punValue) { 3971 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3972 } 3973 static FORCEINLINE HRESULT IMFMediaEvent_GetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 *punValue) { 3974 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3975 } 3976 static FORCEINLINE HRESULT IMFMediaEvent_GetDouble(IMFMediaEvent* This,REFGUID guidKey,double *pfValue) { 3977 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3978 } 3979 static FORCEINLINE HRESULT IMFMediaEvent_GetGUID(IMFMediaEvent* This,REFGUID guidKey,GUID *pguidValue) { 3980 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3981 } 3982 static FORCEINLINE HRESULT IMFMediaEvent_GetStringLength(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcchLength) { 3983 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3984 } 3985 static FORCEINLINE HRESULT IMFMediaEvent_GetString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 3986 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 3987 } 3988 static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3989 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3990 } 3991 static FORCEINLINE HRESULT IMFMediaEvent_GetBlobSize(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3992 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3993 } 3994 static FORCEINLINE HRESULT IMFMediaEvent_GetBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 3995 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 3996 } 3997 static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3998 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3999 } 4000 static FORCEINLINE HRESULT IMFMediaEvent_GetUnknown(IMFMediaEvent* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 4001 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 4002 } 4003 static FORCEINLINE HRESULT IMFMediaEvent_SetItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value) { 4004 return This->lpVtbl->SetItem(This,guidKey,Value); 4005 } 4006 static FORCEINLINE HRESULT IMFMediaEvent_DeleteItem(IMFMediaEvent* This,REFGUID guidKey) { 4007 return This->lpVtbl->DeleteItem(This,guidKey); 4008 } 4009 static FORCEINLINE HRESULT IMFMediaEvent_DeleteAllItems(IMFMediaEvent* This) { 4010 return This->lpVtbl->DeleteAllItems(This); 4011 } 4012 static FORCEINLINE HRESULT IMFMediaEvent_SetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 unValue) { 4013 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 4014 } 4015 static FORCEINLINE HRESULT IMFMediaEvent_SetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 unValue) { 4016 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 4017 } 4018 static FORCEINLINE HRESULT IMFMediaEvent_SetDouble(IMFMediaEvent* This,REFGUID guidKey,double fValue) { 4019 return This->lpVtbl->SetDouble(This,guidKey,fValue); 4020 } 4021 static FORCEINLINE HRESULT IMFMediaEvent_SetGUID(IMFMediaEvent* This,REFGUID guidKey,REFGUID guidValue) { 4022 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 4023 } 4024 static FORCEINLINE HRESULT IMFMediaEvent_SetString(IMFMediaEvent* This,REFGUID guidKey,LPCWSTR wszValue) { 4025 return This->lpVtbl->SetString(This,guidKey,wszValue); 4026 } 4027 static FORCEINLINE HRESULT IMFMediaEvent_SetBlob(IMFMediaEvent* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 4028 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 4029 } 4030 static FORCEINLINE HRESULT IMFMediaEvent_SetUnknown(IMFMediaEvent* This,REFGUID guidKey,IUnknown *pUnknown) { 4031 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 4032 } 4033 static FORCEINLINE HRESULT IMFMediaEvent_LockStore(IMFMediaEvent* This) { 4034 return This->lpVtbl->LockStore(This); 4035 } 4036 static FORCEINLINE HRESULT IMFMediaEvent_UnlockStore(IMFMediaEvent* This) { 4037 return This->lpVtbl->UnlockStore(This); 4038 } 4039 static FORCEINLINE HRESULT IMFMediaEvent_GetCount(IMFMediaEvent* This,UINT32 *pcItems) { 4040 return This->lpVtbl->GetCount(This,pcItems); 4041 } 4042 static FORCEINLINE HRESULT IMFMediaEvent_GetItemByIndex(IMFMediaEvent* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 4043 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 4044 } 4045 static FORCEINLINE HRESULT IMFMediaEvent_CopyAllItems(IMFMediaEvent* This,IMFAttributes *pDest) { 4046 return This->lpVtbl->CopyAllItems(This,pDest); 4047 } 4048 /*** IMFMediaEvent methods ***/ 4049 static FORCEINLINE HRESULT IMFMediaEvent_GetType(IMFMediaEvent* This,MediaEventType *pmet) { 4050 return This->lpVtbl->GetType(This,pmet); 4051 } 4052 static FORCEINLINE HRESULT IMFMediaEvent_GetExtendedType(IMFMediaEvent* This,GUID *pguidExtendedType) { 4053 return This->lpVtbl->GetExtendedType(This,pguidExtendedType); 4054 } 4055 static FORCEINLINE HRESULT IMFMediaEvent_GetStatus(IMFMediaEvent* This,HRESULT *phrStatus) { 4056 return This->lpVtbl->GetStatus(This,phrStatus); 4057 } 4058 static FORCEINLINE HRESULT IMFMediaEvent_GetValue(IMFMediaEvent* This,PROPVARIANT *pvValue) { 4059 return This->lpVtbl->GetValue(This,pvValue); 4060 } 4061 #endif 4062 #endif 4063 4064 #endif 4065 4066 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetType_Proxy( 4067 IMFMediaEvent* This, 4068 MediaEventType *pmet); 4069 void __RPC_STUB IMFMediaEvent_GetType_Stub( 4070 IRpcStubBuffer* This, 4071 IRpcChannelBuffer* pRpcChannelBuffer, 4072 PRPC_MESSAGE pRpcMessage, 4073 DWORD* pdwStubPhase); 4074 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetExtendedType_Proxy( 4075 IMFMediaEvent* This, 4076 GUID *pguidExtendedType); 4077 void __RPC_STUB IMFMediaEvent_GetExtendedType_Stub( 4078 IRpcStubBuffer* This, 4079 IRpcChannelBuffer* pRpcChannelBuffer, 4080 PRPC_MESSAGE pRpcMessage, 4081 DWORD* pdwStubPhase); 4082 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetStatus_Proxy( 4083 IMFMediaEvent* This, 4084 HRESULT *phrStatus); 4085 void __RPC_STUB IMFMediaEvent_GetStatus_Stub( 4086 IRpcStubBuffer* This, 4087 IRpcChannelBuffer* pRpcChannelBuffer, 4088 PRPC_MESSAGE pRpcMessage, 4089 DWORD* pdwStubPhase); 4090 HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetValue_Proxy( 4091 IMFMediaEvent* This, 4092 PROPVARIANT *pvValue); 4093 void __RPC_STUB IMFMediaEvent_GetValue_Stub( 4094 IRpcStubBuffer* This, 4095 IRpcChannelBuffer* pRpcChannelBuffer, 4096 PRPC_MESSAGE pRpcMessage, 4097 DWORD* pdwStubPhase); 4098 4099 #endif /* __IMFMediaEvent_INTERFACE_DEFINED__ */ 4100 4101 /***************************************************************************** 4102 * IMFMediaEventGenerator interface 4103 */ 4104 #ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__ 4105 #define __IMFMediaEventGenerator_INTERFACE_DEFINED__ 4106 4107 DEFINE_GUID(IID_IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d); 4108 #if defined(__cplusplus) && !defined(CINTERFACE) 4109 MIDL_INTERFACE("2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d") 4110 IMFMediaEventGenerator : public IUnknown 4111 { 4112 virtual HRESULT STDMETHODCALLTYPE GetEvent( 4113 DWORD dwFlags, 4114 IMFMediaEvent **ppEvent) = 0; 4115 4116 virtual HRESULT STDMETHODCALLTYPE BeginGetEvent( 4117 IMFAsyncCallback *pCallback, 4118 IUnknown *punkState) = 0; 4119 4120 virtual HRESULT STDMETHODCALLTYPE EndGetEvent( 4121 IMFAsyncResult *pResult, 4122 IMFMediaEvent **ppEvent) = 0; 4123 4124 virtual HRESULT STDMETHODCALLTYPE QueueEvent( 4125 MediaEventType met, 4126 REFGUID guidExtendedType, 4127 HRESULT hrStatus, 4128 const PROPVARIANT *pvValue) = 0; 4129 4130 }; 4131 #ifdef __CRT_UUID_DECL 4132 __CRT_UUID_DECL(IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d) 4133 #endif 4134 #else 4135 typedef struct IMFMediaEventGeneratorVtbl { 4136 BEGIN_INTERFACE 4137 4138 /*** IUnknown methods ***/ 4139 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4140 IMFMediaEventGenerator* This, 4141 REFIID riid, 4142 void **ppvObject); 4143 4144 ULONG (STDMETHODCALLTYPE *AddRef)( 4145 IMFMediaEventGenerator* This); 4146 4147 ULONG (STDMETHODCALLTYPE *Release)( 4148 IMFMediaEventGenerator* This); 4149 4150 /*** IMFMediaEventGenerator methods ***/ 4151 HRESULT (STDMETHODCALLTYPE *GetEvent)( 4152 IMFMediaEventGenerator* This, 4153 DWORD dwFlags, 4154 IMFMediaEvent **ppEvent); 4155 4156 HRESULT (STDMETHODCALLTYPE *BeginGetEvent)( 4157 IMFMediaEventGenerator* This, 4158 IMFAsyncCallback *pCallback, 4159 IUnknown *punkState); 4160 4161 HRESULT (STDMETHODCALLTYPE *EndGetEvent)( 4162 IMFMediaEventGenerator* This, 4163 IMFAsyncResult *pResult, 4164 IMFMediaEvent **ppEvent); 4165 4166 HRESULT (STDMETHODCALLTYPE *QueueEvent)( 4167 IMFMediaEventGenerator* This, 4168 MediaEventType met, 4169 REFGUID guidExtendedType, 4170 HRESULT hrStatus, 4171 const PROPVARIANT *pvValue); 4172 4173 END_INTERFACE 4174 } IMFMediaEventGeneratorVtbl; 4175 interface IMFMediaEventGenerator { 4176 CONST_VTBL IMFMediaEventGeneratorVtbl* lpVtbl; 4177 }; 4178 4179 #ifdef COBJMACROS 4180 #ifndef WIDL_C_INLINE_WRAPPERS 4181 /*** IUnknown methods ***/ 4182 #define IMFMediaEventGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4183 #define IMFMediaEventGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) 4184 #define IMFMediaEventGenerator_Release(This) (This)->lpVtbl->Release(This) 4185 /*** IMFMediaEventGenerator methods ***/ 4186 #define IMFMediaEventGenerator_GetEvent(This,dwFlags,ppEvent) (This)->lpVtbl->GetEvent(This,dwFlags,ppEvent) 4187 #define IMFMediaEventGenerator_BeginGetEvent(This,pCallback,punkState) (This)->lpVtbl->BeginGetEvent(This,pCallback,punkState) 4188 #define IMFMediaEventGenerator_EndGetEvent(This,pResult,ppEvent) (This)->lpVtbl->EndGetEvent(This,pResult,ppEvent) 4189 #define IMFMediaEventGenerator_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) (This)->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) 4190 #else 4191 /*** IUnknown methods ***/ 4192 static FORCEINLINE HRESULT IMFMediaEventGenerator_QueryInterface(IMFMediaEventGenerator* This,REFIID riid,void **ppvObject) { 4193 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4194 } 4195 static FORCEINLINE ULONG IMFMediaEventGenerator_AddRef(IMFMediaEventGenerator* This) { 4196 return This->lpVtbl->AddRef(This); 4197 } 4198 static FORCEINLINE ULONG IMFMediaEventGenerator_Release(IMFMediaEventGenerator* This) { 4199 return This->lpVtbl->Release(This); 4200 } 4201 /*** IMFMediaEventGenerator methods ***/ 4202 static FORCEINLINE HRESULT IMFMediaEventGenerator_GetEvent(IMFMediaEventGenerator* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { 4203 return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); 4204 } 4205 static FORCEINLINE HRESULT IMFMediaEventGenerator_BeginGetEvent(IMFMediaEventGenerator* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { 4206 return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); 4207 } 4208 static FORCEINLINE HRESULT IMFMediaEventGenerator_EndGetEvent(IMFMediaEventGenerator* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { 4209 return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); 4210 } 4211 static FORCEINLINE HRESULT IMFMediaEventGenerator_QueueEvent(IMFMediaEventGenerator* This,MediaEventType met,REFGUID guidExtendedType,HRESULT hrStatus,const PROPVARIANT *pvValue) { 4212 return This->lpVtbl->QueueEvent(This,met,guidExtendedType,hrStatus,pvValue); 4213 } 4214 #endif 4215 #endif 4216 4217 #endif 4218 4219 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_GetEvent_Proxy( 4220 IMFMediaEventGenerator* This, 4221 DWORD dwFlags, 4222 IMFMediaEvent **ppEvent); 4223 void __RPC_STUB IMFMediaEventGenerator_GetEvent_Stub( 4224 IRpcStubBuffer* This, 4225 IRpcChannelBuffer* pRpcChannelBuffer, 4226 PRPC_MESSAGE pRpcMessage, 4227 DWORD* pdwStubPhase); 4228 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteBeginGetEvent_Proxy( 4229 IMFMediaEventGenerator* This, 4230 IMFRemoteAsyncCallback *pCallback); 4231 void __RPC_STUB IMFMediaEventGenerator_RemoteBeginGetEvent_Stub( 4232 IRpcStubBuffer* This, 4233 IRpcChannelBuffer* pRpcChannelBuffer, 4234 PRPC_MESSAGE pRpcMessage, 4235 DWORD* pdwStubPhase); 4236 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteEndGetEvent_Proxy( 4237 IMFMediaEventGenerator* This, 4238 IUnknown *pResult, 4239 DWORD *pcbEvent, 4240 BYTE **ppbEvent); 4241 void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub( 4242 IRpcStubBuffer* This, 4243 IRpcChannelBuffer* pRpcChannelBuffer, 4244 PRPC_MESSAGE pRpcMessage, 4245 DWORD* pdwStubPhase); 4246 HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_QueueEvent_Proxy( 4247 IMFMediaEventGenerator* This, 4248 MediaEventType met, 4249 REFGUID guidExtendedType, 4250 HRESULT hrStatus, 4251 const PROPVARIANT *pvValue); 4252 void __RPC_STUB IMFMediaEventGenerator_QueueEvent_Stub( 4253 IRpcStubBuffer* This, 4254 IRpcChannelBuffer* pRpcChannelBuffer, 4255 PRPC_MESSAGE pRpcMessage, 4256 DWORD* pdwStubPhase); 4257 HRESULT CALLBACK IMFMediaEventGenerator_BeginGetEvent_Proxy( 4258 IMFMediaEventGenerator* This, 4259 IMFAsyncCallback *pCallback, 4260 IUnknown *punkState); 4261 HRESULT __RPC_STUB IMFMediaEventGenerator_BeginGetEvent_Stub( 4262 IMFMediaEventGenerator* This, 4263 IMFRemoteAsyncCallback *pCallback); 4264 HRESULT CALLBACK IMFMediaEventGenerator_EndGetEvent_Proxy( 4265 IMFMediaEventGenerator* This, 4266 IMFAsyncResult *pResult, 4267 IMFMediaEvent **ppEvent); 4268 HRESULT __RPC_STUB IMFMediaEventGenerator_EndGetEvent_Stub( 4269 IMFMediaEventGenerator* This, 4270 IUnknown *pResult, 4271 DWORD *pcbEvent, 4272 BYTE **ppbEvent); 4273 4274 #endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */ 4275 4276 typedef enum _MFBYTESTREAM_SEEK_ORIGIN { 4277 msoBegin = 0, 4278 msoCurrent = 1 4279 } MFBYTESTREAM_SEEK_ORIGIN; 4280 /***************************************************************************** 4281 * IMFByteStream interface 4282 */ 4283 #ifndef __IMFByteStream_INTERFACE_DEFINED__ 4284 #define __IMFByteStream_INTERFACE_DEFINED__ 4285 4286 DEFINE_GUID(IID_IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d); 4287 #if defined(__cplusplus) && !defined(CINTERFACE) 4288 MIDL_INTERFACE("ad4c1b00-4bf7-422f-9175-756693d9130d") 4289 IMFByteStream : public IUnknown 4290 { 4291 virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 4292 DWORD *pdwCapabilities) = 0; 4293 4294 virtual HRESULT STDMETHODCALLTYPE GetLength( 4295 QWORD *pqwLength) = 0; 4296 4297 virtual HRESULT STDMETHODCALLTYPE SetLength( 4298 QWORD qwLength) = 0; 4299 4300 virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 4301 QWORD *pqwPosition) = 0; 4302 4303 virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition( 4304 QWORD qwPosition) = 0; 4305 4306 virtual HRESULT STDMETHODCALLTYPE IsEndOfStream( 4307 WINBOOL *pfEndOfStream) = 0; 4308 4309 virtual HRESULT STDMETHODCALLTYPE Read( 4310 BYTE *pb, 4311 ULONG cb, 4312 ULONG *pcbRead) = 0; 4313 4314 virtual HRESULT STDMETHODCALLTYPE BeginRead( 4315 BYTE *pb, 4316 ULONG cb, 4317 IMFAsyncCallback *pCallback, 4318 IUnknown *punkState) = 0; 4319 4320 virtual HRESULT STDMETHODCALLTYPE EndRead( 4321 IMFAsyncResult *pResult, 4322 ULONG *pcbRead) = 0; 4323 4324 virtual HRESULT STDMETHODCALLTYPE Write( 4325 const BYTE *pb, 4326 ULONG cb, 4327 ULONG *pcbWritten) = 0; 4328 4329 virtual HRESULT STDMETHODCALLTYPE BeginWrite( 4330 const BYTE *pb, 4331 ULONG cb, 4332 IMFAsyncCallback *pCallback, 4333 IUnknown *punkState) = 0; 4334 4335 virtual HRESULT STDMETHODCALLTYPE EndWrite( 4336 IMFAsyncResult *pResult, 4337 ULONG *pcbWritten) = 0; 4338 4339 virtual HRESULT STDMETHODCALLTYPE Seek( 4340 MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, 4341 LONGLONG llSeekOffset, 4342 DWORD dwSeekFlags, 4343 QWORD *pqwCurrentPosition) = 0; 4344 4345 virtual HRESULT STDMETHODCALLTYPE Flush( 4346 ) = 0; 4347 4348 virtual HRESULT STDMETHODCALLTYPE Close( 4349 ) = 0; 4350 4351 }; 4352 #ifdef __CRT_UUID_DECL 4353 __CRT_UUID_DECL(IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d) 4354 #endif 4355 #else 4356 typedef struct IMFByteStreamVtbl { 4357 BEGIN_INTERFACE 4358 4359 /*** IUnknown methods ***/ 4360 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4361 IMFByteStream* This, 4362 REFIID riid, 4363 void **ppvObject); 4364 4365 ULONG (STDMETHODCALLTYPE *AddRef)( 4366 IMFByteStream* This); 4367 4368 ULONG (STDMETHODCALLTYPE *Release)( 4369 IMFByteStream* This); 4370 4371 /*** IMFByteStream methods ***/ 4372 HRESULT (STDMETHODCALLTYPE *GetCapabilities)( 4373 IMFByteStream* This, 4374 DWORD *pdwCapabilities); 4375 4376 HRESULT (STDMETHODCALLTYPE *GetLength)( 4377 IMFByteStream* This, 4378 QWORD *pqwLength); 4379 4380 HRESULT (STDMETHODCALLTYPE *SetLength)( 4381 IMFByteStream* This, 4382 QWORD qwLength); 4383 4384 HRESULT (STDMETHODCALLTYPE *GetCurrentPosition)( 4385 IMFByteStream* This, 4386 QWORD *pqwPosition); 4387 4388 HRESULT (STDMETHODCALLTYPE *SetCurrentPosition)( 4389 IMFByteStream* This, 4390 QWORD qwPosition); 4391 4392 HRESULT (STDMETHODCALLTYPE *IsEndOfStream)( 4393 IMFByteStream* This, 4394 WINBOOL *pfEndOfStream); 4395 4396 HRESULT (STDMETHODCALLTYPE *Read)( 4397 IMFByteStream* This, 4398 BYTE *pb, 4399 ULONG cb, 4400 ULONG *pcbRead); 4401 4402 HRESULT (STDMETHODCALLTYPE *BeginRead)( 4403 IMFByteStream* This, 4404 BYTE *pb, 4405 ULONG cb, 4406 IMFAsyncCallback *pCallback, 4407 IUnknown *punkState); 4408 4409 HRESULT (STDMETHODCALLTYPE *EndRead)( 4410 IMFByteStream* This, 4411 IMFAsyncResult *pResult, 4412 ULONG *pcbRead); 4413 4414 HRESULT (STDMETHODCALLTYPE *Write)( 4415 IMFByteStream* This, 4416 const BYTE *pb, 4417 ULONG cb, 4418 ULONG *pcbWritten); 4419 4420 HRESULT (STDMETHODCALLTYPE *BeginWrite)( 4421 IMFByteStream* This, 4422 const BYTE *pb, 4423 ULONG cb, 4424 IMFAsyncCallback *pCallback, 4425 IUnknown *punkState); 4426 4427 HRESULT (STDMETHODCALLTYPE *EndWrite)( 4428 IMFByteStream* This, 4429 IMFAsyncResult *pResult, 4430 ULONG *pcbWritten); 4431 4432 HRESULT (STDMETHODCALLTYPE *Seek)( 4433 IMFByteStream* This, 4434 MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, 4435 LONGLONG llSeekOffset, 4436 DWORD dwSeekFlags, 4437 QWORD *pqwCurrentPosition); 4438 4439 HRESULT (STDMETHODCALLTYPE *Flush)( 4440 IMFByteStream* This); 4441 4442 HRESULT (STDMETHODCALLTYPE *Close)( 4443 IMFByteStream* This); 4444 4445 END_INTERFACE 4446 } IMFByteStreamVtbl; 4447 interface IMFByteStream { 4448 CONST_VTBL IMFByteStreamVtbl* lpVtbl; 4449 }; 4450 4451 #ifdef COBJMACROS 4452 #ifndef WIDL_C_INLINE_WRAPPERS 4453 /*** IUnknown methods ***/ 4454 #define IMFByteStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4455 #define IMFByteStream_AddRef(This) (This)->lpVtbl->AddRef(This) 4456 #define IMFByteStream_Release(This) (This)->lpVtbl->Release(This) 4457 /*** IMFByteStream methods ***/ 4458 #define IMFByteStream_GetCapabilities(This,pdwCapabilities) (This)->lpVtbl->GetCapabilities(This,pdwCapabilities) 4459 #define IMFByteStream_GetLength(This,pqwLength) (This)->lpVtbl->GetLength(This,pqwLength) 4460 #define IMFByteStream_SetLength(This,qwLength) (This)->lpVtbl->SetLength(This,qwLength) 4461 #define IMFByteStream_GetCurrentPosition(This,pqwPosition) (This)->lpVtbl->GetCurrentPosition(This,pqwPosition) 4462 #define IMFByteStream_SetCurrentPosition(This,qwPosition) (This)->lpVtbl->SetCurrentPosition(This,qwPosition) 4463 #define IMFByteStream_IsEndOfStream(This,pfEndOfStream) (This)->lpVtbl->IsEndOfStream(This,pfEndOfStream) 4464 #define IMFByteStream_Read(This,pb,cb,pcbRead) (This)->lpVtbl->Read(This,pb,cb,pcbRead) 4465 #define IMFByteStream_BeginRead(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState) 4466 #define IMFByteStream_EndRead(This,pResult,pcbRead) (This)->lpVtbl->EndRead(This,pResult,pcbRead) 4467 #define IMFByteStream_Write(This,pb,cb,pcbWritten) (This)->lpVtbl->Write(This,pb,cb,pcbWritten) 4468 #define IMFByteStream_BeginWrite(This,pb,cb,pCallback,punkState) (This)->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState) 4469 #define IMFByteStream_EndWrite(This,pResult,pcbWritten) (This)->lpVtbl->EndWrite(This,pResult,pcbWritten) 4470 #define IMFByteStream_Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) (This)->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition) 4471 #define IMFByteStream_Flush(This) (This)->lpVtbl->Flush(This) 4472 #define IMFByteStream_Close(This) (This)->lpVtbl->Close(This) 4473 #else 4474 /*** IUnknown methods ***/ 4475 static FORCEINLINE HRESULT IMFByteStream_QueryInterface(IMFByteStream* This,REFIID riid,void **ppvObject) { 4476 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4477 } 4478 static FORCEINLINE ULONG IMFByteStream_AddRef(IMFByteStream* This) { 4479 return This->lpVtbl->AddRef(This); 4480 } 4481 static FORCEINLINE ULONG IMFByteStream_Release(IMFByteStream* This) { 4482 return This->lpVtbl->Release(This); 4483 } 4484 /*** IMFByteStream methods ***/ 4485 static FORCEINLINE HRESULT IMFByteStream_GetCapabilities(IMFByteStream* This,DWORD *pdwCapabilities) { 4486 return This->lpVtbl->GetCapabilities(This,pdwCapabilities); 4487 } 4488 static FORCEINLINE HRESULT IMFByteStream_GetLength(IMFByteStream* This,QWORD *pqwLength) { 4489 return This->lpVtbl->GetLength(This,pqwLength); 4490 } 4491 static FORCEINLINE HRESULT IMFByteStream_SetLength(IMFByteStream* This,QWORD qwLength) { 4492 return This->lpVtbl->SetLength(This,qwLength); 4493 } 4494 static FORCEINLINE HRESULT IMFByteStream_GetCurrentPosition(IMFByteStream* This,QWORD *pqwPosition) { 4495 return This->lpVtbl->GetCurrentPosition(This,pqwPosition); 4496 } 4497 static FORCEINLINE HRESULT IMFByteStream_SetCurrentPosition(IMFByteStream* This,QWORD qwPosition) { 4498 return This->lpVtbl->SetCurrentPosition(This,qwPosition); 4499 } 4500 static FORCEINLINE HRESULT IMFByteStream_IsEndOfStream(IMFByteStream* This,WINBOOL *pfEndOfStream) { 4501 return This->lpVtbl->IsEndOfStream(This,pfEndOfStream); 4502 } 4503 static FORCEINLINE HRESULT IMFByteStream_Read(IMFByteStream* This,BYTE *pb,ULONG cb,ULONG *pcbRead) { 4504 return This->lpVtbl->Read(This,pb,cb,pcbRead); 4505 } 4506 static FORCEINLINE HRESULT IMFByteStream_BeginRead(IMFByteStream* This,BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { 4507 return This->lpVtbl->BeginRead(This,pb,cb,pCallback,punkState); 4508 } 4509 static FORCEINLINE HRESULT IMFByteStream_EndRead(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbRead) { 4510 return This->lpVtbl->EndRead(This,pResult,pcbRead); 4511 } 4512 static FORCEINLINE HRESULT IMFByteStream_Write(IMFByteStream* This,const BYTE *pb,ULONG cb,ULONG *pcbWritten) { 4513 return This->lpVtbl->Write(This,pb,cb,pcbWritten); 4514 } 4515 static FORCEINLINE HRESULT IMFByteStream_BeginWrite(IMFByteStream* This,const BYTE *pb,ULONG cb,IMFAsyncCallback *pCallback,IUnknown *punkState) { 4516 return This->lpVtbl->BeginWrite(This,pb,cb,pCallback,punkState); 4517 } 4518 static FORCEINLINE HRESULT IMFByteStream_EndWrite(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbWritten) { 4519 return This->lpVtbl->EndWrite(This,pResult,pcbWritten); 4520 } 4521 static FORCEINLINE HRESULT IMFByteStream_Seek(IMFByteStream* This,MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,LONGLONG llSeekOffset,DWORD dwSeekFlags,QWORD *pqwCurrentPosition) { 4522 return This->lpVtbl->Seek(This,SeekOrigin,llSeekOffset,dwSeekFlags,pqwCurrentPosition); 4523 } 4524 static FORCEINLINE HRESULT IMFByteStream_Flush(IMFByteStream* This) { 4525 return This->lpVtbl->Flush(This); 4526 } 4527 static FORCEINLINE HRESULT IMFByteStream_Close(IMFByteStream* This) { 4528 return This->lpVtbl->Close(This); 4529 } 4530 #endif 4531 #endif 4532 4533 #endif 4534 4535 HRESULT STDMETHODCALLTYPE IMFByteStream_GetCapabilities_Proxy( 4536 IMFByteStream* This, 4537 DWORD *pdwCapabilities); 4538 void __RPC_STUB IMFByteStream_GetCapabilities_Stub( 4539 IRpcStubBuffer* This, 4540 IRpcChannelBuffer* pRpcChannelBuffer, 4541 PRPC_MESSAGE pRpcMessage, 4542 DWORD* pdwStubPhase); 4543 HRESULT STDMETHODCALLTYPE IMFByteStream_GetLength_Proxy( 4544 IMFByteStream* This, 4545 QWORD *pqwLength); 4546 void __RPC_STUB IMFByteStream_GetLength_Stub( 4547 IRpcStubBuffer* This, 4548 IRpcChannelBuffer* pRpcChannelBuffer, 4549 PRPC_MESSAGE pRpcMessage, 4550 DWORD* pdwStubPhase); 4551 HRESULT STDMETHODCALLTYPE IMFByteStream_SetLength_Proxy( 4552 IMFByteStream* This, 4553 QWORD qwLength); 4554 void __RPC_STUB IMFByteStream_SetLength_Stub( 4555 IRpcStubBuffer* This, 4556 IRpcChannelBuffer* pRpcChannelBuffer, 4557 PRPC_MESSAGE pRpcMessage, 4558 DWORD* pdwStubPhase); 4559 HRESULT STDMETHODCALLTYPE IMFByteStream_GetCurrentPosition_Proxy( 4560 IMFByteStream* This, 4561 QWORD *pqwPosition); 4562 void __RPC_STUB IMFByteStream_GetCurrentPosition_Stub( 4563 IRpcStubBuffer* This, 4564 IRpcChannelBuffer* pRpcChannelBuffer, 4565 PRPC_MESSAGE pRpcMessage, 4566 DWORD* pdwStubPhase); 4567 HRESULT STDMETHODCALLTYPE IMFByteStream_SetCurrentPosition_Proxy( 4568 IMFByteStream* This, 4569 QWORD qwPosition); 4570 void __RPC_STUB IMFByteStream_SetCurrentPosition_Stub( 4571 IRpcStubBuffer* This, 4572 IRpcChannelBuffer* pRpcChannelBuffer, 4573 PRPC_MESSAGE pRpcMessage, 4574 DWORD* pdwStubPhase); 4575 HRESULT STDMETHODCALLTYPE IMFByteStream_IsEndOfStream_Proxy( 4576 IMFByteStream* This, 4577 WINBOOL *pfEndOfStream); 4578 void __RPC_STUB IMFByteStream_IsEndOfStream_Stub( 4579 IRpcStubBuffer* This, 4580 IRpcChannelBuffer* pRpcChannelBuffer, 4581 PRPC_MESSAGE pRpcMessage, 4582 DWORD* pdwStubPhase); 4583 HRESULT STDMETHODCALLTYPE IMFByteStream_Flush_Proxy( 4584 IMFByteStream* This); 4585 void __RPC_STUB IMFByteStream_Flush_Stub( 4586 IRpcStubBuffer* This, 4587 IRpcChannelBuffer* pRpcChannelBuffer, 4588 PRPC_MESSAGE pRpcMessage, 4589 DWORD* pdwStubPhase); 4590 HRESULT STDMETHODCALLTYPE IMFByteStream_Close_Proxy( 4591 IMFByteStream* This); 4592 void __RPC_STUB IMFByteStream_Close_Stub( 4593 IRpcStubBuffer* This, 4594 IRpcChannelBuffer* pRpcChannelBuffer, 4595 PRPC_MESSAGE pRpcMessage, 4596 DWORD* pdwStubPhase); 4597 4598 #endif /* __IMFByteStream_INTERFACE_DEFINED__ */ 4599 4600 #define MFBYTESTREAM_IS_READABLE 0x00000001 4601 #define MFBYTESTREAM_IS_WRITABLE 0x00000002 4602 #define MFBYTESTREAM_IS_SEEKABLE 0x00000004 4603 #define MFBYTESTREAM_IS_REMOTE 0x00000008 4604 #define MFBYTESTREAM_IS_DIRECTORY 0x00000080 4605 #define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100 4606 #define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200 4607 #define MFBYTESTREAM_SHARE_WRITE 0x00000400 4608 #define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001 4609 EXTERN_GUID(MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4610 EXTERN_GUID(MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4611 EXTERN_GUID(MF_BYTESTREAM_DURATION, 0xfc35828a,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4612 EXTERN_GUID(MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4613 EXTERN_GUID(MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4614 EXTERN_GUID(MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4615 typedef enum MF_FILE_ACCESSMODE { 4616 MF_ACCESSMODE_READ = 1, 4617 MF_ACCESSMODE_WRITE = 2, 4618 MF_ACCESSMODE_READWRITE = 3 4619 } MF_FILE_ACCESSMODE; 4620 typedef enum __WIDL_mmreg_h_generated_name_00000002 { 4621 MF_OPENMODE_FAIL_IF_NOT_EXIST = 0, 4622 MF_OPENMODE_FAIL_IF_EXIST = 1, 4623 MF_OPENMODE_RESET_IF_EXIST = 2, 4624 MF_OPENMODE_APPEND_IF_EXIST = 3, 4625 MF_OPENMODE_DELETE_IF_EXIST = 4 4626 } MF_FILE_OPENMODE; 4627 typedef enum __WIDL_mmreg_h_generated_name_00000003 { 4628 MF_FILEFLAGS_NONE = 0x0, 4629 MF_FILEFLAGS_NOBUFFERING = 0x1, 4630 MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x2 4631 } MF_FILE_FLAGS; 4632 /***************************************************************************** 4633 * IMFCollection interface 4634 */ 4635 #ifndef __IMFCollection_INTERFACE_DEFINED__ 4636 #define __IMFCollection_INTERFACE_DEFINED__ 4637 4638 DEFINE_GUID(IID_IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe); 4639 #if defined(__cplusplus) && !defined(CINTERFACE) 4640 MIDL_INTERFACE("5bc8a76b-869a-46a3-9b03-fa218a66aebe") 4641 IMFCollection : public IUnknown 4642 { 4643 virtual HRESULT STDMETHODCALLTYPE GetElementCount( 4644 DWORD *pcElements) = 0; 4645 4646 virtual HRESULT STDMETHODCALLTYPE GetElement( 4647 DWORD dwElementIndex, 4648 IUnknown **ppUnkElement) = 0; 4649 4650 virtual HRESULT STDMETHODCALLTYPE AddElement( 4651 IUnknown *pUnkElement) = 0; 4652 4653 virtual HRESULT STDMETHODCALLTYPE RemoveElement( 4654 DWORD dwElementIndex, 4655 IUnknown **ppUnkElement) = 0; 4656 4657 virtual HRESULT STDMETHODCALLTYPE InsertElementAt( 4658 DWORD dwIndex, 4659 IUnknown *pUnknown) = 0; 4660 4661 virtual HRESULT STDMETHODCALLTYPE RemoveAllElements( 4662 ) = 0; 4663 4664 }; 4665 #ifdef __CRT_UUID_DECL 4666 __CRT_UUID_DECL(IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe) 4667 #endif 4668 #else 4669 typedef struct IMFCollectionVtbl { 4670 BEGIN_INTERFACE 4671 4672 /*** IUnknown methods ***/ 4673 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4674 IMFCollection* This, 4675 REFIID riid, 4676 void **ppvObject); 4677 4678 ULONG (STDMETHODCALLTYPE *AddRef)( 4679 IMFCollection* This); 4680 4681 ULONG (STDMETHODCALLTYPE *Release)( 4682 IMFCollection* This); 4683 4684 /*** IMFCollection methods ***/ 4685 HRESULT (STDMETHODCALLTYPE *GetElementCount)( 4686 IMFCollection* This, 4687 DWORD *pcElements); 4688 4689 HRESULT (STDMETHODCALLTYPE *GetElement)( 4690 IMFCollection* This, 4691 DWORD dwElementIndex, 4692 IUnknown **ppUnkElement); 4693 4694 HRESULT (STDMETHODCALLTYPE *AddElement)( 4695 IMFCollection* This, 4696 IUnknown *pUnkElement); 4697 4698 HRESULT (STDMETHODCALLTYPE *RemoveElement)( 4699 IMFCollection* This, 4700 DWORD dwElementIndex, 4701 IUnknown **ppUnkElement); 4702 4703 HRESULT (STDMETHODCALLTYPE *InsertElementAt)( 4704 IMFCollection* This, 4705 DWORD dwIndex, 4706 IUnknown *pUnknown); 4707 4708 HRESULT (STDMETHODCALLTYPE *RemoveAllElements)( 4709 IMFCollection* This); 4710 4711 END_INTERFACE 4712 } IMFCollectionVtbl; 4713 interface IMFCollection { 4714 CONST_VTBL IMFCollectionVtbl* lpVtbl; 4715 }; 4716 4717 #ifdef COBJMACROS 4718 #ifndef WIDL_C_INLINE_WRAPPERS 4719 /*** IUnknown methods ***/ 4720 #define IMFCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 4721 #define IMFCollection_AddRef(This) (This)->lpVtbl->AddRef(This) 4722 #define IMFCollection_Release(This) (This)->lpVtbl->Release(This) 4723 /*** IMFCollection methods ***/ 4724 #define IMFCollection_GetElementCount(This,pcElements) (This)->lpVtbl->GetElementCount(This,pcElements) 4725 #define IMFCollection_GetElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement) 4726 #define IMFCollection_AddElement(This,pUnkElement) (This)->lpVtbl->AddElement(This,pUnkElement) 4727 #define IMFCollection_RemoveElement(This,dwElementIndex,ppUnkElement) (This)->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement) 4728 #define IMFCollection_InsertElementAt(This,dwIndex,pUnknown) (This)->lpVtbl->InsertElementAt(This,dwIndex,pUnknown) 4729 #define IMFCollection_RemoveAllElements(This) (This)->lpVtbl->RemoveAllElements(This) 4730 #else 4731 /*** IUnknown methods ***/ 4732 static FORCEINLINE HRESULT IMFCollection_QueryInterface(IMFCollection* This,REFIID riid,void **ppvObject) { 4733 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4734 } 4735 static FORCEINLINE ULONG IMFCollection_AddRef(IMFCollection* This) { 4736 return This->lpVtbl->AddRef(This); 4737 } 4738 static FORCEINLINE ULONG IMFCollection_Release(IMFCollection* This) { 4739 return This->lpVtbl->Release(This); 4740 } 4741 /*** IMFCollection methods ***/ 4742 static FORCEINLINE HRESULT IMFCollection_GetElementCount(IMFCollection* This,DWORD *pcElements) { 4743 return This->lpVtbl->GetElementCount(This,pcElements); 4744 } 4745 static FORCEINLINE HRESULT IMFCollection_GetElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 4746 return This->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement); 4747 } 4748 static FORCEINLINE HRESULT IMFCollection_AddElement(IMFCollection* This,IUnknown *pUnkElement) { 4749 return This->lpVtbl->AddElement(This,pUnkElement); 4750 } 4751 static FORCEINLINE HRESULT IMFCollection_RemoveElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 4752 return This->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement); 4753 } 4754 static FORCEINLINE HRESULT IMFCollection_InsertElementAt(IMFCollection* This,DWORD dwIndex,IUnknown *pUnknown) { 4755 return This->lpVtbl->InsertElementAt(This,dwIndex,pUnknown); 4756 } 4757 static FORCEINLINE HRESULT IMFCollection_RemoveAllElements(IMFCollection* This) { 4758 return This->lpVtbl->RemoveAllElements(This); 4759 } 4760 #endif 4761 #endif 4762 4763 #endif 4764 4765 HRESULT STDMETHODCALLTYPE IMFCollection_GetElementCount_Proxy( 4766 IMFCollection* This, 4767 DWORD *pcElements); 4768 void __RPC_STUB IMFCollection_GetElementCount_Stub( 4769 IRpcStubBuffer* This, 4770 IRpcChannelBuffer* pRpcChannelBuffer, 4771 PRPC_MESSAGE pRpcMessage, 4772 DWORD* pdwStubPhase); 4773 HRESULT STDMETHODCALLTYPE IMFCollection_GetElement_Proxy( 4774 IMFCollection* This, 4775 DWORD dwElementIndex, 4776 IUnknown **ppUnkElement); 4777 void __RPC_STUB IMFCollection_GetElement_Stub( 4778 IRpcStubBuffer* This, 4779 IRpcChannelBuffer* pRpcChannelBuffer, 4780 PRPC_MESSAGE pRpcMessage, 4781 DWORD* pdwStubPhase); 4782 HRESULT STDMETHODCALLTYPE IMFCollection_AddElement_Proxy( 4783 IMFCollection* This, 4784 IUnknown *pUnkElement); 4785 void __RPC_STUB IMFCollection_AddElement_Stub( 4786 IRpcStubBuffer* This, 4787 IRpcChannelBuffer* pRpcChannelBuffer, 4788 PRPC_MESSAGE pRpcMessage, 4789 DWORD* pdwStubPhase); 4790 HRESULT STDMETHODCALLTYPE IMFCollection_RemoveElement_Proxy( 4791 IMFCollection* This, 4792 DWORD dwElementIndex, 4793 IUnknown **ppUnkElement); 4794 void __RPC_STUB IMFCollection_RemoveElement_Stub( 4795 IRpcStubBuffer* This, 4796 IRpcChannelBuffer* pRpcChannelBuffer, 4797 PRPC_MESSAGE pRpcMessage, 4798 DWORD* pdwStubPhase); 4799 HRESULT STDMETHODCALLTYPE IMFCollection_InsertElementAt_Proxy( 4800 IMFCollection* This, 4801 DWORD dwIndex, 4802 IUnknown *pUnknown); 4803 void __RPC_STUB IMFCollection_InsertElementAt_Stub( 4804 IRpcStubBuffer* This, 4805 IRpcChannelBuffer* pRpcChannelBuffer, 4806 PRPC_MESSAGE pRpcMessage, 4807 DWORD* pdwStubPhase); 4808 HRESULT STDMETHODCALLTYPE IMFCollection_RemoveAllElements_Proxy( 4809 IMFCollection* This); 4810 void __RPC_STUB IMFCollection_RemoveAllElements_Stub( 4811 IRpcStubBuffer* This, 4812 IRpcChannelBuffer* pRpcChannelBuffer, 4813 PRPC_MESSAGE pRpcMessage, 4814 DWORD* pdwStubPhase); 4815 4816 #endif /* __IMFCollection_INTERFACE_DEFINED__ */ 4817 4818 /***************************************************************************** 4819 * IMFActivate interface 4820 */ 4821 #ifndef __IMFActivate_INTERFACE_DEFINED__ 4822 #define __IMFActivate_INTERFACE_DEFINED__ 4823 4824 DEFINE_GUID(IID_IMFActivate, 0x7fee9e9a, 0x4a89, 0x47a6, 0x89,0x9c, 0xb6,0xa5,0x3a,0x70,0xfb,0x67); 4825 #if defined(__cplusplus) && !defined(CINTERFACE) 4826 MIDL_INTERFACE("7fee9e9a-4a89-47a6-899c-b6a53a70fb67") 4827 IMFActivate : public IMFAttributes 4828 { 4829 virtual HRESULT STDMETHODCALLTYPE ActivateObject( 4830 REFIID riid, 4831 void **ppv) = 0; 4832 4833 virtual HRESULT STDMETHODCALLTYPE ShutdownObject( 4834 ) = 0; 4835 4836 virtual HRESULT STDMETHODCALLTYPE DetachObject( 4837 ) = 0; 4838 4839 }; 4840 #ifdef __CRT_UUID_DECL 4841 __CRT_UUID_DECL(IMFActivate, 0x7fee9e9a, 0x4a89, 0x47a6, 0x89,0x9c, 0xb6,0xa5,0x3a,0x70,0xfb,0x67) 4842 #endif 4843 #else 4844 typedef struct IMFActivateVtbl { 4845 BEGIN_INTERFACE 4846 4847 /*** IUnknown methods ***/ 4848 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 4849 IMFActivate* This, 4850 REFIID riid, 4851 void **ppvObject); 4852 4853 ULONG (STDMETHODCALLTYPE *AddRef)( 4854 IMFActivate* This); 4855 4856 ULONG (STDMETHODCALLTYPE *Release)( 4857 IMFActivate* This); 4858 4859 /*** IMFAttributes methods ***/ 4860 HRESULT (STDMETHODCALLTYPE *GetItem)( 4861 IMFActivate* This, 4862 REFGUID guidKey, 4863 PROPVARIANT *pValue); 4864 4865 HRESULT (STDMETHODCALLTYPE *GetItemType)( 4866 IMFActivate* This, 4867 REFGUID guidKey, 4868 MF_ATTRIBUTE_TYPE *pType); 4869 4870 HRESULT (STDMETHODCALLTYPE *CompareItem)( 4871 IMFActivate* This, 4872 REFGUID guidKey, 4873 REFPROPVARIANT Value, 4874 WINBOOL *pbResult); 4875 4876 HRESULT (STDMETHODCALLTYPE *Compare)( 4877 IMFActivate* This, 4878 IMFAttributes *pTheirs, 4879 MF_ATTRIBUTES_MATCH_TYPE MatchType, 4880 WINBOOL *pbResult); 4881 4882 HRESULT (STDMETHODCALLTYPE *GetUINT32)( 4883 IMFActivate* This, 4884 REFGUID guidKey, 4885 UINT32 *punValue); 4886 4887 HRESULT (STDMETHODCALLTYPE *GetUINT64)( 4888 IMFActivate* This, 4889 REFGUID guidKey, 4890 UINT64 *punValue); 4891 4892 HRESULT (STDMETHODCALLTYPE *GetDouble)( 4893 IMFActivate* This, 4894 REFGUID guidKey, 4895 double *pfValue); 4896 4897 HRESULT (STDMETHODCALLTYPE *GetGUID)( 4898 IMFActivate* This, 4899 REFGUID guidKey, 4900 GUID *pguidValue); 4901 4902 HRESULT (STDMETHODCALLTYPE *GetStringLength)( 4903 IMFActivate* This, 4904 REFGUID guidKey, 4905 UINT32 *pcchLength); 4906 4907 HRESULT (STDMETHODCALLTYPE *GetString)( 4908 IMFActivate* This, 4909 REFGUID guidKey, 4910 LPWSTR pwszValue, 4911 UINT32 cchBufSize, 4912 UINT32 *pcchLength); 4913 4914 HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( 4915 IMFActivate* This, 4916 REFGUID guidKey, 4917 LPWSTR *ppwszValue, 4918 UINT32 *pcchLength); 4919 4920 HRESULT (STDMETHODCALLTYPE *GetBlobSize)( 4921 IMFActivate* This, 4922 REFGUID guidKey, 4923 UINT32 *pcbBlobSize); 4924 4925 HRESULT (STDMETHODCALLTYPE *GetBlob)( 4926 IMFActivate* This, 4927 REFGUID guidKey, 4928 UINT8 *pBuf, 4929 UINT32 cbBufSize, 4930 UINT32 *pcbBlobSize); 4931 4932 HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( 4933 IMFActivate* This, 4934 REFGUID guidKey, 4935 UINT8 **ppBuf, 4936 UINT32 *pcbSize); 4937 4938 HRESULT (STDMETHODCALLTYPE *GetUnknown)( 4939 IMFActivate* This, 4940 REFGUID guidKey, 4941 REFIID riid, 4942 LPVOID *ppv); 4943 4944 HRESULT (STDMETHODCALLTYPE *SetItem)( 4945 IMFActivate* This, 4946 REFGUID guidKey, 4947 REFPROPVARIANT Value); 4948 4949 HRESULT (STDMETHODCALLTYPE *DeleteItem)( 4950 IMFActivate* This, 4951 REFGUID guidKey); 4952 4953 HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( 4954 IMFActivate* This); 4955 4956 HRESULT (STDMETHODCALLTYPE *SetUINT32)( 4957 IMFActivate* This, 4958 REFGUID guidKey, 4959 UINT32 unValue); 4960 4961 HRESULT (STDMETHODCALLTYPE *SetUINT64)( 4962 IMFActivate* This, 4963 REFGUID guidKey, 4964 UINT64 unValue); 4965 4966 HRESULT (STDMETHODCALLTYPE *SetDouble)( 4967 IMFActivate* This, 4968 REFGUID guidKey, 4969 double fValue); 4970 4971 HRESULT (STDMETHODCALLTYPE *SetGUID)( 4972 IMFActivate* This, 4973 REFGUID guidKey, 4974 REFGUID guidValue); 4975 4976 HRESULT (STDMETHODCALLTYPE *SetString)( 4977 IMFActivate* This, 4978 REFGUID guidKey, 4979 LPCWSTR wszValue); 4980 4981 HRESULT (STDMETHODCALLTYPE *SetBlob)( 4982 IMFActivate* This, 4983 REFGUID guidKey, 4984 const UINT8 *pBuf, 4985 UINT32 cbBufSize); 4986 4987 HRESULT (STDMETHODCALLTYPE *SetUnknown)( 4988 IMFActivate* This, 4989 REFGUID guidKey, 4990 IUnknown *pUnknown); 4991 4992 HRESULT (STDMETHODCALLTYPE *LockStore)( 4993 IMFActivate* This); 4994 4995 HRESULT (STDMETHODCALLTYPE *UnlockStore)( 4996 IMFActivate* This); 4997 4998 HRESULT (STDMETHODCALLTYPE *GetCount)( 4999 IMFActivate* This, 5000 UINT32 *pcItems); 5001 5002 HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( 5003 IMFActivate* This, 5004 UINT32 unIndex, 5005 GUID *pguidKey, 5006 PROPVARIANT *pValue); 5007 5008 HRESULT (STDMETHODCALLTYPE *CopyAllItems)( 5009 IMFActivate* This, 5010 IMFAttributes *pDest); 5011 5012 /*** IMFActivate methods ***/ 5013 HRESULT (STDMETHODCALLTYPE *ActivateObject)( 5014 IMFActivate* This, 5015 REFIID riid, 5016 void **ppv); 5017 5018 HRESULT (STDMETHODCALLTYPE *ShutdownObject)( 5019 IMFActivate* This); 5020 5021 HRESULT (STDMETHODCALLTYPE *DetachObject)( 5022 IMFActivate* This); 5023 5024 END_INTERFACE 5025 } IMFActivateVtbl; 5026 interface IMFActivate { 5027 CONST_VTBL IMFActivateVtbl* lpVtbl; 5028 }; 5029 5030 #ifdef COBJMACROS 5031 #ifndef WIDL_C_INLINE_WRAPPERS 5032 /*** IUnknown methods ***/ 5033 #define IMFActivate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5034 #define IMFActivate_AddRef(This) (This)->lpVtbl->AddRef(This) 5035 #define IMFActivate_Release(This) (This)->lpVtbl->Release(This) 5036 /*** IMFAttributes methods ***/ 5037 #define IMFActivate_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) 5038 #define IMFActivate_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) 5039 #define IMFActivate_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) 5040 #define IMFActivate_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) 5041 #define IMFActivate_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) 5042 #define IMFActivate_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) 5043 #define IMFActivate_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) 5044 #define IMFActivate_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) 5045 #define IMFActivate_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) 5046 #define IMFActivate_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) 5047 #define IMFActivate_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) 5048 #define IMFActivate_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) 5049 #define IMFActivate_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) 5050 #define IMFActivate_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) 5051 #define IMFActivate_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) 5052 #define IMFActivate_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) 5053 #define IMFActivate_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) 5054 #define IMFActivate_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) 5055 #define IMFActivate_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) 5056 #define IMFActivate_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) 5057 #define IMFActivate_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) 5058 #define IMFActivate_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) 5059 #define IMFActivate_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) 5060 #define IMFActivate_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) 5061 #define IMFActivate_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) 5062 #define IMFActivate_LockStore(This) (This)->lpVtbl->LockStore(This) 5063 #define IMFActivate_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) 5064 #define IMFActivate_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) 5065 #define IMFActivate_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) 5066 #define IMFActivate_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) 5067 /*** IMFActivate methods ***/ 5068 #define IMFActivate_ActivateObject(This,riid,ppv) (This)->lpVtbl->ActivateObject(This,riid,ppv) 5069 #define IMFActivate_ShutdownObject(This) (This)->lpVtbl->ShutdownObject(This) 5070 #define IMFActivate_DetachObject(This) (This)->lpVtbl->DetachObject(This) 5071 #else 5072 /*** IUnknown methods ***/ 5073 static FORCEINLINE HRESULT IMFActivate_QueryInterface(IMFActivate* This,REFIID riid,void **ppvObject) { 5074 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5075 } 5076 static FORCEINLINE ULONG IMFActivate_AddRef(IMFActivate* This) { 5077 return This->lpVtbl->AddRef(This); 5078 } 5079 static FORCEINLINE ULONG IMFActivate_Release(IMFActivate* This) { 5080 return This->lpVtbl->Release(This); 5081 } 5082 /*** IMFAttributes methods ***/ 5083 static FORCEINLINE HRESULT IMFActivate_GetItem(IMFActivate* This,REFGUID guidKey,PROPVARIANT *pValue) { 5084 return This->lpVtbl->GetItem(This,guidKey,pValue); 5085 } 5086 static FORCEINLINE HRESULT IMFActivate_GetItemType(IMFActivate* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 5087 return This->lpVtbl->GetItemType(This,guidKey,pType); 5088 } 5089 static FORCEINLINE HRESULT IMFActivate_CompareItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 5090 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 5091 } 5092 static FORCEINLINE HRESULT IMFActivate_Compare(IMFActivate* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { 5093 return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); 5094 } 5095 static FORCEINLINE HRESULT IMFActivate_GetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 *punValue) { 5096 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 5097 } 5098 static FORCEINLINE HRESULT IMFActivate_GetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 *punValue) { 5099 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 5100 } 5101 static FORCEINLINE HRESULT IMFActivate_GetDouble(IMFActivate* This,REFGUID guidKey,double *pfValue) { 5102 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 5103 } 5104 static FORCEINLINE HRESULT IMFActivate_GetGUID(IMFActivate* This,REFGUID guidKey,GUID *pguidValue) { 5105 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 5106 } 5107 static FORCEINLINE HRESULT IMFActivate_GetStringLength(IMFActivate* This,REFGUID guidKey,UINT32 *pcchLength) { 5108 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 5109 } 5110 static FORCEINLINE HRESULT IMFActivate_GetString(IMFActivate* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { 5111 return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); 5112 } 5113 static FORCEINLINE HRESULT IMFActivate_GetAllocatedString(IMFActivate* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 5114 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 5115 } 5116 static FORCEINLINE HRESULT IMFActivate_GetBlobSize(IMFActivate* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 5117 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 5118 } 5119 static FORCEINLINE HRESULT IMFActivate_GetBlob(IMFActivate* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { 5120 return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); 5121 } 5122 static FORCEINLINE HRESULT IMFActivate_GetAllocatedBlob(IMFActivate* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 5123 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 5124 } 5125 static FORCEINLINE HRESULT IMFActivate_GetUnknown(IMFActivate* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 5126 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 5127 } 5128 static FORCEINLINE HRESULT IMFActivate_SetItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value) { 5129 return This->lpVtbl->SetItem(This,guidKey,Value); 5130 } 5131 static FORCEINLINE HRESULT IMFActivate_DeleteItem(IMFActivate* This,REFGUID guidKey) { 5132 return This->lpVtbl->DeleteItem(This,guidKey); 5133 } 5134 static FORCEINLINE HRESULT IMFActivate_DeleteAllItems(IMFActivate* This) { 5135 return This->lpVtbl->DeleteAllItems(This); 5136 } 5137 static FORCEINLINE HRESULT IMFActivate_SetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 unValue) { 5138 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 5139 } 5140 static FORCEINLINE HRESULT IMFActivate_SetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 unValue) { 5141 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 5142 } 5143 static FORCEINLINE HRESULT IMFActivate_SetDouble(IMFActivate* This,REFGUID guidKey,double fValue) { 5144 return This->lpVtbl->SetDouble(This,guidKey,fValue); 5145 } 5146 static FORCEINLINE HRESULT IMFActivate_SetGUID(IMFActivate* This,REFGUID guidKey,REFGUID guidValue) { 5147 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 5148 } 5149 static FORCEINLINE HRESULT IMFActivate_SetString(IMFActivate* This,REFGUID guidKey,LPCWSTR wszValue) { 5150 return This->lpVtbl->SetString(This,guidKey,wszValue); 5151 } 5152 static FORCEINLINE HRESULT IMFActivate_SetBlob(IMFActivate* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 5153 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 5154 } 5155 static FORCEINLINE HRESULT IMFActivate_SetUnknown(IMFActivate* This,REFGUID guidKey,IUnknown *pUnknown) { 5156 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 5157 } 5158 static FORCEINLINE HRESULT IMFActivate_LockStore(IMFActivate* This) { 5159 return This->lpVtbl->LockStore(This); 5160 } 5161 static FORCEINLINE HRESULT IMFActivate_UnlockStore(IMFActivate* This) { 5162 return This->lpVtbl->UnlockStore(This); 5163 } 5164 static FORCEINLINE HRESULT IMFActivate_GetCount(IMFActivate* This,UINT32 *pcItems) { 5165 return This->lpVtbl->GetCount(This,pcItems); 5166 } 5167 static FORCEINLINE HRESULT IMFActivate_GetItemByIndex(IMFActivate* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 5168 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 5169 } 5170 static FORCEINLINE HRESULT IMFActivate_CopyAllItems(IMFActivate* This,IMFAttributes *pDest) { 5171 return This->lpVtbl->CopyAllItems(This,pDest); 5172 } 5173 /*** IMFActivate methods ***/ 5174 static FORCEINLINE HRESULT IMFActivate_ActivateObject(IMFActivate* This,REFIID riid,void **ppv) { 5175 return This->lpVtbl->ActivateObject(This,riid,ppv); 5176 } 5177 static FORCEINLINE HRESULT IMFActivate_ShutdownObject(IMFActivate* This) { 5178 return This->lpVtbl->ShutdownObject(This); 5179 } 5180 static FORCEINLINE HRESULT IMFActivate_DetachObject(IMFActivate* This) { 5181 return This->lpVtbl->DetachObject(This); 5182 } 5183 #endif 5184 #endif 5185 5186 #endif 5187 5188 HRESULT STDMETHODCALLTYPE IMFActivate_ActivateObject_Proxy( 5189 IMFActivate* This, 5190 REFIID riid, 5191 void **ppv); 5192 void __RPC_STUB IMFActivate_ActivateObject_Stub( 5193 IRpcStubBuffer* This, 5194 IRpcChannelBuffer* pRpcChannelBuffer, 5195 PRPC_MESSAGE pRpcMessage, 5196 DWORD* pdwStubPhase); 5197 HRESULT STDMETHODCALLTYPE IMFActivate_ShutdownObject_Proxy( 5198 IMFActivate* This); 5199 void __RPC_STUB IMFActivate_ShutdownObject_Stub( 5200 IRpcStubBuffer* This, 5201 IRpcChannelBuffer* pRpcChannelBuffer, 5202 PRPC_MESSAGE pRpcMessage, 5203 DWORD* pdwStubPhase); 5204 HRESULT STDMETHODCALLTYPE IMFActivate_DetachObject_Proxy( 5205 IMFActivate* This); 5206 void __RPC_STUB IMFActivate_DetachObject_Stub( 5207 IRpcStubBuffer* This, 5208 IRpcChannelBuffer* pRpcChannelBuffer, 5209 PRPC_MESSAGE pRpcMessage, 5210 DWORD* pdwStubPhase); 5211 5212 #endif /* __IMFActivate_INTERFACE_DEFINED__ */ 5213 5214 typedef enum _MF_Plugin_Type { 5215 MF_Plugin_Type_MFT = 0, 5216 MF_Plugin_Type_MediaSource = 1 5217 } MF_Plugin_Type; 5218 /***************************************************************************** 5219 * IMFPluginControl interface 5220 */ 5221 #ifndef __IMFPluginControl_INTERFACE_DEFINED__ 5222 #define __IMFPluginControl_INTERFACE_DEFINED__ 5223 5224 DEFINE_GUID(IID_IMFPluginControl, 0x5c6c44bf, 0x1db6, 0x435b, 0x92,0x49, 0xe8,0xcd,0x10,0xfd,0xec,0x96); 5225 #if defined(__cplusplus) && !defined(CINTERFACE) 5226 MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96") 5227 IMFPluginControl : public IUnknown 5228 { 5229 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( 5230 DWORD pluginType, 5231 LPCWSTR selector, 5232 CLSID *clsid) = 0; 5233 5234 virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( 5235 DWORD pluginType, 5236 DWORD index, 5237 LPWSTR *selector, 5238 CLSID *clsid) = 0; 5239 5240 virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( 5241 DWORD pluginType, 5242 LPCWSTR selector, 5243 const CLSID *clsid) = 0; 5244 5245 virtual HRESULT STDMETHODCALLTYPE IsDisabled( 5246 DWORD pluginType, 5247 REFCLSID clsid) = 0; 5248 5249 virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( 5250 DWORD pluginType, 5251 DWORD index, 5252 CLSID *clsid) = 0; 5253 5254 virtual HRESULT STDMETHODCALLTYPE SetDisabled( 5255 DWORD pluginType, 5256 REFCLSID clsid, 5257 WINBOOL disabled) = 0; 5258 5259 }; 5260 #ifdef __CRT_UUID_DECL 5261 __CRT_UUID_DECL(IMFPluginControl, 0x5c6c44bf, 0x1db6, 0x435b, 0x92,0x49, 0xe8,0xcd,0x10,0xfd,0xec,0x96) 5262 #endif 5263 #else 5264 typedef struct IMFPluginControlVtbl { 5265 BEGIN_INTERFACE 5266 5267 /*** IUnknown methods ***/ 5268 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 5269 IMFPluginControl* This, 5270 REFIID riid, 5271 void **ppvObject); 5272 5273 ULONG (STDMETHODCALLTYPE *AddRef)( 5274 IMFPluginControl* This); 5275 5276 ULONG (STDMETHODCALLTYPE *Release)( 5277 IMFPluginControl* This); 5278 5279 /*** IMFPluginControl methods ***/ 5280 HRESULT (STDMETHODCALLTYPE *GetPreferredClsid)( 5281 IMFPluginControl* This, 5282 DWORD pluginType, 5283 LPCWSTR selector, 5284 CLSID *clsid); 5285 5286 HRESULT (STDMETHODCALLTYPE *GetPreferredClsidByIndex)( 5287 IMFPluginControl* This, 5288 DWORD pluginType, 5289 DWORD index, 5290 LPWSTR *selector, 5291 CLSID *clsid); 5292 5293 HRESULT (STDMETHODCALLTYPE *SetPreferredClsid)( 5294 IMFPluginControl* This, 5295 DWORD pluginType, 5296 LPCWSTR selector, 5297 const CLSID *clsid); 5298 5299 HRESULT (STDMETHODCALLTYPE *IsDisabled)( 5300 IMFPluginControl* This, 5301 DWORD pluginType, 5302 REFCLSID clsid); 5303 5304 HRESULT (STDMETHODCALLTYPE *GetDisabledByIndex)( 5305 IMFPluginControl* This, 5306 DWORD pluginType, 5307 DWORD index, 5308 CLSID *clsid); 5309 5310 HRESULT (STDMETHODCALLTYPE *SetDisabled)( 5311 IMFPluginControl* This, 5312 DWORD pluginType, 5313 REFCLSID clsid, 5314 WINBOOL disabled); 5315 5316 END_INTERFACE 5317 } IMFPluginControlVtbl; 5318 interface IMFPluginControl { 5319 CONST_VTBL IMFPluginControlVtbl* lpVtbl; 5320 }; 5321 5322 #ifdef COBJMACROS 5323 #ifndef WIDL_C_INLINE_WRAPPERS 5324 /*** IUnknown methods ***/ 5325 #define IMFPluginControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 5326 #define IMFPluginControl_AddRef(This) (This)->lpVtbl->AddRef(This) 5327 #define IMFPluginControl_Release(This) (This)->lpVtbl->Release(This) 5328 /*** IMFPluginControl methods ***/ 5329 #define IMFPluginControl_GetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid) 5330 #define IMFPluginControl_GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) (This)->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid) 5331 #define IMFPluginControl_SetPreferredClsid(This,pluginType,selector,clsid) (This)->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid) 5332 #define IMFPluginControl_IsDisabled(This,pluginType,clsid) (This)->lpVtbl->IsDisabled(This,pluginType,clsid) 5333 #define IMFPluginControl_GetDisabledByIndex(This,pluginType,index,clsid) (This)->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid) 5334 #define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) (This)->lpVtbl->SetDisabled(This,pluginType,clsid,disabled) 5335 #else 5336 /*** IUnknown methods ***/ 5337 static FORCEINLINE HRESULT IMFPluginControl_QueryInterface(IMFPluginControl* This,REFIID riid,void **ppvObject) { 5338 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5339 } 5340 static FORCEINLINE ULONG IMFPluginControl_AddRef(IMFPluginControl* This) { 5341 return This->lpVtbl->AddRef(This); 5342 } 5343 static FORCEINLINE ULONG IMFPluginControl_Release(IMFPluginControl* This) { 5344 return This->lpVtbl->Release(This); 5345 } 5346 /*** IMFPluginControl methods ***/ 5347 static FORCEINLINE HRESULT IMFPluginControl_GetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,CLSID *clsid) { 5348 return This->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid); 5349 } 5350 static FORCEINLINE HRESULT IMFPluginControl_GetPreferredClsidByIndex(IMFPluginControl* This,DWORD pluginType,DWORD index,LPWSTR *selector,CLSID *clsid) { 5351 return This->lpVtbl->GetPreferredClsidByIndex(This,pluginType,index,selector,clsid); 5352 } 5353 static FORCEINLINE HRESULT IMFPluginControl_SetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,const CLSID *clsid) { 5354 return This->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid); 5355 } 5356 static FORCEINLINE HRESULT IMFPluginControl_IsDisabled(IMFPluginControl* This,DWORD pluginType,REFCLSID clsid) { 5357 return This->lpVtbl->IsDisabled(This,pluginType,clsid); 5358 } 5359 static FORCEINLINE HRESULT IMFPluginControl_GetDisabledByIndex(IMFPluginControl* This,DWORD pluginType,DWORD index,CLSID *clsid) { 5360 return This->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid); 5361 } 5362 static FORCEINLINE HRESULT IMFPluginControl_SetDisabled(IMFPluginControl* This,DWORD pluginType,REFCLSID clsid,WINBOOL disabled) { 5363 return This->lpVtbl->SetDisabled(This,pluginType,clsid,disabled); 5364 } 5365 #endif 5366 #endif 5367 5368 #endif 5369 5370 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsid_Proxy( 5371 IMFPluginControl* This, 5372 DWORD pluginType, 5373 LPCWSTR selector, 5374 CLSID *clsid); 5375 void __RPC_STUB IMFPluginControl_GetPreferredClsid_Stub( 5376 IRpcStubBuffer* This, 5377 IRpcChannelBuffer* pRpcChannelBuffer, 5378 PRPC_MESSAGE pRpcMessage, 5379 DWORD* pdwStubPhase); 5380 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsidByIndex_Proxy( 5381 IMFPluginControl* This, 5382 DWORD pluginType, 5383 DWORD index, 5384 LPWSTR *selector, 5385 CLSID *clsid); 5386 void __RPC_STUB IMFPluginControl_GetPreferredClsidByIndex_Stub( 5387 IRpcStubBuffer* This, 5388 IRpcChannelBuffer* pRpcChannelBuffer, 5389 PRPC_MESSAGE pRpcMessage, 5390 DWORD* pdwStubPhase); 5391 HRESULT STDMETHODCALLTYPE IMFPluginControl_SetPreferredClsid_Proxy( 5392 IMFPluginControl* This, 5393 DWORD pluginType, 5394 LPCWSTR selector, 5395 const CLSID *clsid); 5396 void __RPC_STUB IMFPluginControl_SetPreferredClsid_Stub( 5397 IRpcStubBuffer* This, 5398 IRpcChannelBuffer* pRpcChannelBuffer, 5399 PRPC_MESSAGE pRpcMessage, 5400 DWORD* pdwStubPhase); 5401 HRESULT STDMETHODCALLTYPE IMFPluginControl_IsDisabled_Proxy( 5402 IMFPluginControl* This, 5403 DWORD pluginType, 5404 REFCLSID clsid); 5405 void __RPC_STUB IMFPluginControl_IsDisabled_Stub( 5406 IRpcStubBuffer* This, 5407 IRpcChannelBuffer* pRpcChannelBuffer, 5408 PRPC_MESSAGE pRpcMessage, 5409 DWORD* pdwStubPhase); 5410 HRESULT STDMETHODCALLTYPE IMFPluginControl_GetDisabledByIndex_Proxy( 5411 IMFPluginControl* This, 5412 DWORD pluginType, 5413 DWORD index, 5414 CLSID *clsid); 5415 void __RPC_STUB IMFPluginControl_GetDisabledByIndex_Stub( 5416 IRpcStubBuffer* This, 5417 IRpcChannelBuffer* pRpcChannelBuffer, 5418 PRPC_MESSAGE pRpcMessage, 5419 DWORD* pdwStubPhase); 5420 HRESULT STDMETHODCALLTYPE IMFPluginControl_SetDisabled_Proxy( 5421 IMFPluginControl* This, 5422 DWORD pluginType, 5423 REFCLSID clsid, 5424 WINBOOL disabled); 5425 void __RPC_STUB IMFPluginControl_SetDisabled_Stub( 5426 IRpcStubBuffer* This, 5427 IRpcChannelBuffer* pRpcChannelBuffer, 5428 PRPC_MESSAGE pRpcMessage, 5429 DWORD* pdwStubPhase); 5430 5431 #endif /* __IMFPluginControl_INTERFACE_DEFINED__ */ 5432 5433 /* Begin additional prototypes for all interfaces */ 5434 5435 ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 5436 unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 5437 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 5438 void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 5439 ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); 5440 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); 5441 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); 5442 void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); 5443 5444 /* End additional prototypes */ 5445 5446 #ifdef __cplusplus 5447 } 5448 #endif 5449 5450 #endif /* __mfobjects_h__ */ 5451