1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/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__ 22typedef interface IMFAttributes IMFAttributes; 23#endif 24 25#ifndef __IMFMediaBuffer_FWD_DEFINED__ 26#define __IMFMediaBuffer_FWD_DEFINED__ 27typedef interface IMFMediaBuffer IMFMediaBuffer; 28#endif 29 30#ifndef __IMFSample_FWD_DEFINED__ 31#define __IMFSample_FWD_DEFINED__ 32typedef interface IMFSample IMFSample; 33#endif 34 35#ifndef __IMF2DBuffer_FWD_DEFINED__ 36#define __IMF2DBuffer_FWD_DEFINED__ 37typedef interface IMF2DBuffer IMF2DBuffer; 38#endif 39 40#ifndef __IMFMediaType_FWD_DEFINED__ 41#define __IMFMediaType_FWD_DEFINED__ 42typedef interface IMFMediaType IMFMediaType; 43#endif 44 45#ifndef __IMFAudioMediaType_FWD_DEFINED__ 46#define __IMFAudioMediaType_FWD_DEFINED__ 47typedef interface IMFAudioMediaType IMFAudioMediaType; 48#endif 49 50#ifndef __IMFVideoMediaType_FWD_DEFINED__ 51#define __IMFVideoMediaType_FWD_DEFINED__ 52typedef interface IMFVideoMediaType IMFVideoMediaType; 53#endif 54 55#ifndef __IMFAsyncResult_FWD_DEFINED__ 56#define __IMFAsyncResult_FWD_DEFINED__ 57typedef interface IMFAsyncResult IMFAsyncResult; 58#endif 59 60#ifndef __IMFAsyncCallback_FWD_DEFINED__ 61#define __IMFAsyncCallback_FWD_DEFINED__ 62typedef interface IMFAsyncCallback IMFAsyncCallback; 63#endif 64 65#ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ 66#define __IMFRemoteAsyncCallback_FWD_DEFINED__ 67typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; 68#endif 69 70#ifndef __IMFMediaEvent_FWD_DEFINED__ 71#define __IMFMediaEvent_FWD_DEFINED__ 72typedef interface IMFMediaEvent IMFMediaEvent; 73#endif 74 75#ifndef __IMFMediaEventGenerator_FWD_DEFINED__ 76#define __IMFMediaEventGenerator_FWD_DEFINED__ 77typedef interface IMFMediaEventGenerator IMFMediaEventGenerator; 78#endif 79 80#ifndef __IMFByteStream_FWD_DEFINED__ 81#define __IMFByteStream_FWD_DEFINED__ 82typedef interface IMFByteStream IMFByteStream; 83#endif 84 85#ifndef __IMFCollection_FWD_DEFINED__ 86#define __IMFCollection_FWD_DEFINED__ 87typedef interface IMFCollection IMFCollection; 88#endif 89 90#ifndef __IMFActivate_FWD_DEFINED__ 91#define __IMFActivate_FWD_DEFINED__ 92typedef interface IMFActivate IMFActivate; 93#endif 94 95#ifndef __IMFPluginControl_FWD_DEFINED__ 96#define __IMFPluginControl_FWD_DEFINED__ 97typedef 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 107extern "C" { 108#endif 109 110#include <mmreg.h> 111#if 0 112typedef 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; 122typedef struct tWAVEFORMATEX *PWAVEFORMATEX; 123typedef struct tWAVEFORMATEX *NPWAVEFORMATEX; 124typedef struct tWAVEFORMATEX *LPWAVEFORMATEX; 125typedef 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; 137typedef struct __WIDL_mmreg_h_generated_name_00000000 *PWAVEFORMATEXTENSIBLE; 138#endif 139typedef ULONGLONG QWORD; 140typedef 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; 149typedef 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 162DEFINE_GUID(IID_IMFAttributes, 0x2cd2d921, 0xc447, 0x44a7, 0xa1,0x3c, 0x4a,0xda,0xbf,0xc2,0x47,0xe3); 163#if defined(__cplusplus) && !defined(CINTERFACE) 164MIDL_INTERFACE("2cd2d921-c447-44a7-a13c-4adabfc247e3") 165IMFAttributes : 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 297typedef 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; 467interface 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 ***/ 510static FORCEINLINE HRESULT IMFAttributes_QueryInterface(IMFAttributes* This,REFIID riid,void **ppvObject) { 511 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 512} 513static FORCEINLINE ULONG IMFAttributes_AddRef(IMFAttributes* This) { 514 return This->lpVtbl->AddRef(This); 515} 516static FORCEINLINE ULONG IMFAttributes_Release(IMFAttributes* This) { 517 return This->lpVtbl->Release(This); 518} 519/*** IMFAttributes methods ***/ 520static FORCEINLINE HRESULT IMFAttributes_GetItem(IMFAttributes* This,REFGUID guidKey,PROPVARIANT *pValue) { 521 return This->lpVtbl->GetItem(This,guidKey,pValue); 522} 523static FORCEINLINE HRESULT IMFAttributes_GetItemType(IMFAttributes* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 524 return This->lpVtbl->GetItemType(This,guidKey,pType); 525} 526static FORCEINLINE HRESULT IMFAttributes_CompareItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 527 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 528} 529static 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} 532static FORCEINLINE HRESULT IMFAttributes_GetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 *punValue) { 533 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 534} 535static FORCEINLINE HRESULT IMFAttributes_GetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 *punValue) { 536 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 537} 538static FORCEINLINE HRESULT IMFAttributes_GetDouble(IMFAttributes* This,REFGUID guidKey,double *pfValue) { 539 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 540} 541static FORCEINLINE HRESULT IMFAttributes_GetGUID(IMFAttributes* This,REFGUID guidKey,GUID *pguidValue) { 542 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 543} 544static FORCEINLINE HRESULT IMFAttributes_GetStringLength(IMFAttributes* This,REFGUID guidKey,UINT32 *pcchLength) { 545 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 546} 547static 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} 550static FORCEINLINE HRESULT IMFAttributes_GetAllocatedString(IMFAttributes* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 551 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 552} 553static FORCEINLINE HRESULT IMFAttributes_GetBlobSize(IMFAttributes* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 554 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 555} 556static 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} 559static FORCEINLINE HRESULT IMFAttributes_GetAllocatedBlob(IMFAttributes* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 560 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 561} 562static FORCEINLINE HRESULT IMFAttributes_GetUnknown(IMFAttributes* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 563 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 564} 565static FORCEINLINE HRESULT IMFAttributes_SetItem(IMFAttributes* This,REFGUID guidKey,REFPROPVARIANT Value) { 566 return This->lpVtbl->SetItem(This,guidKey,Value); 567} 568static FORCEINLINE HRESULT IMFAttributes_DeleteItem(IMFAttributes* This,REFGUID guidKey) { 569 return This->lpVtbl->DeleteItem(This,guidKey); 570} 571static FORCEINLINE HRESULT IMFAttributes_DeleteAllItems(IMFAttributes* This) { 572 return This->lpVtbl->DeleteAllItems(This); 573} 574static FORCEINLINE HRESULT IMFAttributes_SetUINT32(IMFAttributes* This,REFGUID guidKey,UINT32 unValue) { 575 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 576} 577static FORCEINLINE HRESULT IMFAttributes_SetUINT64(IMFAttributes* This,REFGUID guidKey,UINT64 unValue) { 578 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 579} 580static FORCEINLINE HRESULT IMFAttributes_SetDouble(IMFAttributes* This,REFGUID guidKey,double fValue) { 581 return This->lpVtbl->SetDouble(This,guidKey,fValue); 582} 583static FORCEINLINE HRESULT IMFAttributes_SetGUID(IMFAttributes* This,REFGUID guidKey,REFGUID guidValue) { 584 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 585} 586static FORCEINLINE HRESULT IMFAttributes_SetString(IMFAttributes* This,REFGUID guidKey,LPCWSTR wszValue) { 587 return This->lpVtbl->SetString(This,guidKey,wszValue); 588} 589static FORCEINLINE HRESULT IMFAttributes_SetBlob(IMFAttributes* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 590 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 591} 592static FORCEINLINE HRESULT IMFAttributes_SetUnknown(IMFAttributes* This,REFGUID guidKey,IUnknown *pUnknown) { 593 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 594} 595static FORCEINLINE HRESULT IMFAttributes_LockStore(IMFAttributes* This) { 596 return This->lpVtbl->LockStore(This); 597} 598static FORCEINLINE HRESULT IMFAttributes_UnlockStore(IMFAttributes* This) { 599 return This->lpVtbl->UnlockStore(This); 600} 601static FORCEINLINE HRESULT IMFAttributes_GetCount(IMFAttributes* This,UINT32 *pcItems) { 602 return This->lpVtbl->GetCount(This,pcItems); 603} 604static FORCEINLINE HRESULT IMFAttributes_GetItemByIndex(IMFAttributes* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 605 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 606} 607static FORCEINLINE HRESULT IMFAttributes_CopyAllItems(IMFAttributes* This,IMFAttributes *pDest) { 608 return This->lpVtbl->CopyAllItems(This,pDest); 609} 610#endif 611#endif 612 613#endif 614 615HRESULT STDMETHODCALLTYPE IMFAttributes_GetItem_Proxy( 616 IMFAttributes* This, 617 REFGUID guidKey, 618 PROPVARIANT *pValue); 619void __RPC_STUB IMFAttributes_GetItem_Stub( 620 IRpcStubBuffer* This, 621 IRpcChannelBuffer* pRpcChannelBuffer, 622 PRPC_MESSAGE pRpcMessage, 623 DWORD* pdwStubPhase); 624HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemType_Proxy( 625 IMFAttributes* This, 626 REFGUID guidKey, 627 MF_ATTRIBUTE_TYPE *pType); 628void __RPC_STUB IMFAttributes_GetItemType_Stub( 629 IRpcStubBuffer* This, 630 IRpcChannelBuffer* pRpcChannelBuffer, 631 PRPC_MESSAGE pRpcMessage, 632 DWORD* pdwStubPhase); 633HRESULT STDMETHODCALLTYPE IMFAttributes_CompareItem_Proxy( 634 IMFAttributes* This, 635 REFGUID guidKey, 636 REFPROPVARIANT Value, 637 WINBOOL *pbResult); 638void __RPC_STUB IMFAttributes_CompareItem_Stub( 639 IRpcStubBuffer* This, 640 IRpcChannelBuffer* pRpcChannelBuffer, 641 PRPC_MESSAGE pRpcMessage, 642 DWORD* pdwStubPhase); 643HRESULT STDMETHODCALLTYPE IMFAttributes_Compare_Proxy( 644 IMFAttributes* This, 645 IMFAttributes *pTheirs, 646 MF_ATTRIBUTES_MATCH_TYPE MatchType, 647 WINBOOL *pbResult); 648void __RPC_STUB IMFAttributes_Compare_Stub( 649 IRpcStubBuffer* This, 650 IRpcChannelBuffer* pRpcChannelBuffer, 651 PRPC_MESSAGE pRpcMessage, 652 DWORD* pdwStubPhase); 653HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT32_Proxy( 654 IMFAttributes* This, 655 REFGUID guidKey, 656 UINT32 *punValue); 657void __RPC_STUB IMFAttributes_GetUINT32_Stub( 658 IRpcStubBuffer* This, 659 IRpcChannelBuffer* pRpcChannelBuffer, 660 PRPC_MESSAGE pRpcMessage, 661 DWORD* pdwStubPhase); 662HRESULT STDMETHODCALLTYPE IMFAttributes_GetUINT64_Proxy( 663 IMFAttributes* This, 664 REFGUID guidKey, 665 UINT64 *punValue); 666void __RPC_STUB IMFAttributes_GetUINT64_Stub( 667 IRpcStubBuffer* This, 668 IRpcChannelBuffer* pRpcChannelBuffer, 669 PRPC_MESSAGE pRpcMessage, 670 DWORD* pdwStubPhase); 671HRESULT STDMETHODCALLTYPE IMFAttributes_GetDouble_Proxy( 672 IMFAttributes* This, 673 REFGUID guidKey, 674 double *pfValue); 675void __RPC_STUB IMFAttributes_GetDouble_Stub( 676 IRpcStubBuffer* This, 677 IRpcChannelBuffer* pRpcChannelBuffer, 678 PRPC_MESSAGE pRpcMessage, 679 DWORD* pdwStubPhase); 680HRESULT STDMETHODCALLTYPE IMFAttributes_GetGUID_Proxy( 681 IMFAttributes* This, 682 REFGUID guidKey, 683 GUID *pguidValue); 684void __RPC_STUB IMFAttributes_GetGUID_Stub( 685 IRpcStubBuffer* This, 686 IRpcChannelBuffer* pRpcChannelBuffer, 687 PRPC_MESSAGE pRpcMessage, 688 DWORD* pdwStubPhase); 689HRESULT STDMETHODCALLTYPE IMFAttributes_GetStringLength_Proxy( 690 IMFAttributes* This, 691 REFGUID guidKey, 692 UINT32 *pcchLength); 693void __RPC_STUB IMFAttributes_GetStringLength_Stub( 694 IRpcStubBuffer* This, 695 IRpcChannelBuffer* pRpcChannelBuffer, 696 PRPC_MESSAGE pRpcMessage, 697 DWORD* pdwStubPhase); 698HRESULT STDMETHODCALLTYPE IMFAttributes_GetString_Proxy( 699 IMFAttributes* This, 700 REFGUID guidKey, 701 LPWSTR pwszValue, 702 UINT32 cchBufSize, 703 UINT32 *pcchLength); 704void __RPC_STUB IMFAttributes_GetString_Stub( 705 IRpcStubBuffer* This, 706 IRpcChannelBuffer* pRpcChannelBuffer, 707 PRPC_MESSAGE pRpcMessage, 708 DWORD* pdwStubPhase); 709HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedString_Proxy( 710 IMFAttributes* This, 711 REFGUID guidKey, 712 LPWSTR *ppwszValue, 713 UINT32 *pcchLength); 714void __RPC_STUB IMFAttributes_GetAllocatedString_Stub( 715 IRpcStubBuffer* This, 716 IRpcChannelBuffer* pRpcChannelBuffer, 717 PRPC_MESSAGE pRpcMessage, 718 DWORD* pdwStubPhase); 719HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlobSize_Proxy( 720 IMFAttributes* This, 721 REFGUID guidKey, 722 UINT32 *pcbBlobSize); 723void __RPC_STUB IMFAttributes_GetBlobSize_Stub( 724 IRpcStubBuffer* This, 725 IRpcChannelBuffer* pRpcChannelBuffer, 726 PRPC_MESSAGE pRpcMessage, 727 DWORD* pdwStubPhase); 728HRESULT STDMETHODCALLTYPE IMFAttributes_GetBlob_Proxy( 729 IMFAttributes* This, 730 REFGUID guidKey, 731 UINT8 *pBuf, 732 UINT32 cbBufSize, 733 UINT32 *pcbBlobSize); 734void __RPC_STUB IMFAttributes_GetBlob_Stub( 735 IRpcStubBuffer* This, 736 IRpcChannelBuffer* pRpcChannelBuffer, 737 PRPC_MESSAGE pRpcMessage, 738 DWORD* pdwStubPhase); 739HRESULT STDMETHODCALLTYPE IMFAttributes_GetAllocatedBlob_Proxy( 740 IMFAttributes* This, 741 REFGUID guidKey, 742 UINT8 **ppBuf, 743 UINT32 *pcbSize); 744void __RPC_STUB IMFAttributes_GetAllocatedBlob_Stub( 745 IRpcStubBuffer* This, 746 IRpcChannelBuffer* pRpcChannelBuffer, 747 PRPC_MESSAGE pRpcMessage, 748 DWORD* pdwStubPhase); 749HRESULT STDMETHODCALLTYPE IMFAttributes_GetUnknown_Proxy( 750 IMFAttributes* This, 751 REFGUID guidKey, 752 REFIID riid, 753 LPVOID *ppv); 754void __RPC_STUB IMFAttributes_GetUnknown_Stub( 755 IRpcStubBuffer* This, 756 IRpcChannelBuffer* pRpcChannelBuffer, 757 PRPC_MESSAGE pRpcMessage, 758 DWORD* pdwStubPhase); 759HRESULT STDMETHODCALLTYPE IMFAttributes_SetItem_Proxy( 760 IMFAttributes* This, 761 REFGUID guidKey, 762 REFPROPVARIANT Value); 763void __RPC_STUB IMFAttributes_SetItem_Stub( 764 IRpcStubBuffer* This, 765 IRpcChannelBuffer* pRpcChannelBuffer, 766 PRPC_MESSAGE pRpcMessage, 767 DWORD* pdwStubPhase); 768HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteItem_Proxy( 769 IMFAttributes* This, 770 REFGUID guidKey); 771void __RPC_STUB IMFAttributes_DeleteItem_Stub( 772 IRpcStubBuffer* This, 773 IRpcChannelBuffer* pRpcChannelBuffer, 774 PRPC_MESSAGE pRpcMessage, 775 DWORD* pdwStubPhase); 776HRESULT STDMETHODCALLTYPE IMFAttributes_DeleteAllItems_Proxy( 777 IMFAttributes* This); 778void __RPC_STUB IMFAttributes_DeleteAllItems_Stub( 779 IRpcStubBuffer* This, 780 IRpcChannelBuffer* pRpcChannelBuffer, 781 PRPC_MESSAGE pRpcMessage, 782 DWORD* pdwStubPhase); 783HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT32_Proxy( 784 IMFAttributes* This, 785 REFGUID guidKey, 786 UINT32 unValue); 787void __RPC_STUB IMFAttributes_SetUINT32_Stub( 788 IRpcStubBuffer* This, 789 IRpcChannelBuffer* pRpcChannelBuffer, 790 PRPC_MESSAGE pRpcMessage, 791 DWORD* pdwStubPhase); 792HRESULT STDMETHODCALLTYPE IMFAttributes_SetUINT64_Proxy( 793 IMFAttributes* This, 794 REFGUID guidKey, 795 UINT64 unValue); 796void __RPC_STUB IMFAttributes_SetUINT64_Stub( 797 IRpcStubBuffer* This, 798 IRpcChannelBuffer* pRpcChannelBuffer, 799 PRPC_MESSAGE pRpcMessage, 800 DWORD* pdwStubPhase); 801HRESULT STDMETHODCALLTYPE IMFAttributes_SetDouble_Proxy( 802 IMFAttributes* This, 803 REFGUID guidKey, 804 double fValue); 805void __RPC_STUB IMFAttributes_SetDouble_Stub( 806 IRpcStubBuffer* This, 807 IRpcChannelBuffer* pRpcChannelBuffer, 808 PRPC_MESSAGE pRpcMessage, 809 DWORD* pdwStubPhase); 810HRESULT STDMETHODCALLTYPE IMFAttributes_SetGUID_Proxy( 811 IMFAttributes* This, 812 REFGUID guidKey, 813 REFGUID guidValue); 814void __RPC_STUB IMFAttributes_SetGUID_Stub( 815 IRpcStubBuffer* This, 816 IRpcChannelBuffer* pRpcChannelBuffer, 817 PRPC_MESSAGE pRpcMessage, 818 DWORD* pdwStubPhase); 819HRESULT STDMETHODCALLTYPE IMFAttributes_SetString_Proxy( 820 IMFAttributes* This, 821 REFGUID guidKey, 822 LPCWSTR wszValue); 823void __RPC_STUB IMFAttributes_SetString_Stub( 824 IRpcStubBuffer* This, 825 IRpcChannelBuffer* pRpcChannelBuffer, 826 PRPC_MESSAGE pRpcMessage, 827 DWORD* pdwStubPhase); 828HRESULT STDMETHODCALLTYPE IMFAttributes_SetBlob_Proxy( 829 IMFAttributes* This, 830 REFGUID guidKey, 831 const UINT8 *pBuf, 832 UINT32 cbBufSize); 833void __RPC_STUB IMFAttributes_SetBlob_Stub( 834 IRpcStubBuffer* This, 835 IRpcChannelBuffer* pRpcChannelBuffer, 836 PRPC_MESSAGE pRpcMessage, 837 DWORD* pdwStubPhase); 838HRESULT STDMETHODCALLTYPE IMFAttributes_SetUnknown_Proxy( 839 IMFAttributes* This, 840 REFGUID guidKey, 841 IUnknown *pUnknown); 842void __RPC_STUB IMFAttributes_SetUnknown_Stub( 843 IRpcStubBuffer* This, 844 IRpcChannelBuffer* pRpcChannelBuffer, 845 PRPC_MESSAGE pRpcMessage, 846 DWORD* pdwStubPhase); 847HRESULT STDMETHODCALLTYPE IMFAttributes_LockStore_Proxy( 848 IMFAttributes* This); 849void __RPC_STUB IMFAttributes_LockStore_Stub( 850 IRpcStubBuffer* This, 851 IRpcChannelBuffer* pRpcChannelBuffer, 852 PRPC_MESSAGE pRpcMessage, 853 DWORD* pdwStubPhase); 854HRESULT STDMETHODCALLTYPE IMFAttributes_UnlockStore_Proxy( 855 IMFAttributes* This); 856void __RPC_STUB IMFAttributes_UnlockStore_Stub( 857 IRpcStubBuffer* This, 858 IRpcChannelBuffer* pRpcChannelBuffer, 859 PRPC_MESSAGE pRpcMessage, 860 DWORD* pdwStubPhase); 861HRESULT STDMETHODCALLTYPE IMFAttributes_GetCount_Proxy( 862 IMFAttributes* This, 863 UINT32 *pcItems); 864void __RPC_STUB IMFAttributes_GetCount_Stub( 865 IRpcStubBuffer* This, 866 IRpcChannelBuffer* pRpcChannelBuffer, 867 PRPC_MESSAGE pRpcMessage, 868 DWORD* pdwStubPhase); 869HRESULT STDMETHODCALLTYPE IMFAttributes_GetItemByIndex_Proxy( 870 IMFAttributes* This, 871 UINT32 unIndex, 872 GUID *pguidKey, 873 PROPVARIANT *pValue); 874void __RPC_STUB IMFAttributes_GetItemByIndex_Stub( 875 IRpcStubBuffer* This, 876 IRpcChannelBuffer* pRpcChannelBuffer, 877 PRPC_MESSAGE pRpcMessage, 878 DWORD* pdwStubPhase); 879HRESULT STDMETHODCALLTYPE IMFAttributes_CopyAllItems_Proxy( 880 IMFAttributes* This, 881 IMFAttributes *pDest); 882void __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 890enum 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 900DEFINE_GUID(IID_IMFMediaBuffer, 0x045fa593, 0x8799, 0x42b8, 0xbc,0x8d, 0x89,0x68,0xc6,0x45,0x35,0x07); 901#if defined(__cplusplus) && !defined(CINTERFACE) 902MIDL_INTERFACE("045fa593-8799-42b8-bc8d-8968c6453507") 903IMFMediaBuffer : 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 927typedef 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; 966interface 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 ***/ 984static FORCEINLINE HRESULT IMFMediaBuffer_QueryInterface(IMFMediaBuffer* This,REFIID riid,void **ppvObject) { 985 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 986} 987static FORCEINLINE ULONG IMFMediaBuffer_AddRef(IMFMediaBuffer* This) { 988 return This->lpVtbl->AddRef(This); 989} 990static FORCEINLINE ULONG IMFMediaBuffer_Release(IMFMediaBuffer* This) { 991 return This->lpVtbl->Release(This); 992} 993/*** IMFMediaBuffer methods ***/ 994static FORCEINLINE HRESULT IMFMediaBuffer_Lock(IMFMediaBuffer* This,BYTE **ppbBuffer,DWORD *pcbMaxLength,DWORD *pcbCurrentLength) { 995 return This->lpVtbl->Lock(This,ppbBuffer,pcbMaxLength,pcbCurrentLength); 996} 997static FORCEINLINE HRESULT IMFMediaBuffer_Unlock(IMFMediaBuffer* This) { 998 return This->lpVtbl->Unlock(This); 999} 1000static FORCEINLINE HRESULT IMFMediaBuffer_GetCurrentLength(IMFMediaBuffer* This,DWORD *pcbCurrentLength) { 1001 return This->lpVtbl->GetCurrentLength(This,pcbCurrentLength); 1002} 1003static FORCEINLINE HRESULT IMFMediaBuffer_SetCurrentLength(IMFMediaBuffer* This,DWORD cbCurrentLength) { 1004 return This->lpVtbl->SetCurrentLength(This,cbCurrentLength); 1005} 1006static FORCEINLINE HRESULT IMFMediaBuffer_GetMaxLength(IMFMediaBuffer* This,DWORD *pcbMaxLength) { 1007 return This->lpVtbl->GetMaxLength(This,pcbMaxLength); 1008} 1009#endif 1010#endif 1011 1012#endif 1013 1014HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Lock_Proxy( 1015 IMFMediaBuffer* This, 1016 BYTE **ppbBuffer, 1017 DWORD *pcbMaxLength, 1018 DWORD *pcbCurrentLength); 1019void __RPC_STUB IMFMediaBuffer_Lock_Stub( 1020 IRpcStubBuffer* This, 1021 IRpcChannelBuffer* pRpcChannelBuffer, 1022 PRPC_MESSAGE pRpcMessage, 1023 DWORD* pdwStubPhase); 1024HRESULT STDMETHODCALLTYPE IMFMediaBuffer_Unlock_Proxy( 1025 IMFMediaBuffer* This); 1026void __RPC_STUB IMFMediaBuffer_Unlock_Stub( 1027 IRpcStubBuffer* This, 1028 IRpcChannelBuffer* pRpcChannelBuffer, 1029 PRPC_MESSAGE pRpcMessage, 1030 DWORD* pdwStubPhase); 1031HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetCurrentLength_Proxy( 1032 IMFMediaBuffer* This, 1033 DWORD *pcbCurrentLength); 1034void __RPC_STUB IMFMediaBuffer_GetCurrentLength_Stub( 1035 IRpcStubBuffer* This, 1036 IRpcChannelBuffer* pRpcChannelBuffer, 1037 PRPC_MESSAGE pRpcMessage, 1038 DWORD* pdwStubPhase); 1039HRESULT STDMETHODCALLTYPE IMFMediaBuffer_SetCurrentLength_Proxy( 1040 IMFMediaBuffer* This, 1041 DWORD cbCurrentLength); 1042void __RPC_STUB IMFMediaBuffer_SetCurrentLength_Stub( 1043 IRpcStubBuffer* This, 1044 IRpcChannelBuffer* pRpcChannelBuffer, 1045 PRPC_MESSAGE pRpcMessage, 1046 DWORD* pdwStubPhase); 1047HRESULT STDMETHODCALLTYPE IMFMediaBuffer_GetMaxLength_Proxy( 1048 IMFMediaBuffer* This, 1049 DWORD *pcbMaxLength); 1050void __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 1064DEFINE_GUID(IID_IMFSample, 0xc40a00f2, 0xb93a, 0x4d80, 0xae,0x8c, 0x5a,0x1c,0x63,0x4f,0x58,0xe4); 1065#if defined(__cplusplus) && !defined(CINTERFACE) 1066MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4") 1067IMFSample : 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 1117typedef 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; 1344interface 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 ***/ 1402static FORCEINLINE HRESULT IMFSample_QueryInterface(IMFSample* This,REFIID riid,void **ppvObject) { 1403 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1404} 1405static FORCEINLINE ULONG IMFSample_AddRef(IMFSample* This) { 1406 return This->lpVtbl->AddRef(This); 1407} 1408static FORCEINLINE ULONG IMFSample_Release(IMFSample* This) { 1409 return This->lpVtbl->Release(This); 1410} 1411/*** IMFAttributes methods ***/ 1412static FORCEINLINE HRESULT IMFSample_GetItem(IMFSample* This,REFGUID guidKey,PROPVARIANT *pValue) { 1413 return This->lpVtbl->GetItem(This,guidKey,pValue); 1414} 1415static FORCEINLINE HRESULT IMFSample_GetItemType(IMFSample* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 1416 return This->lpVtbl->GetItemType(This,guidKey,pType); 1417} 1418static FORCEINLINE HRESULT IMFSample_CompareItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 1419 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 1420} 1421static 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} 1424static FORCEINLINE HRESULT IMFSample_GetUINT32(IMFSample* This,REFGUID guidKey,UINT32 *punValue) { 1425 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 1426} 1427static FORCEINLINE HRESULT IMFSample_GetUINT64(IMFSample* This,REFGUID guidKey,UINT64 *punValue) { 1428 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 1429} 1430static FORCEINLINE HRESULT IMFSample_GetDouble(IMFSample* This,REFGUID guidKey,double *pfValue) { 1431 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 1432} 1433static FORCEINLINE HRESULT IMFSample_GetGUID(IMFSample* This,REFGUID guidKey,GUID *pguidValue) { 1434 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 1435} 1436static FORCEINLINE HRESULT IMFSample_GetStringLength(IMFSample* This,REFGUID guidKey,UINT32 *pcchLength) { 1437 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 1438} 1439static 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} 1442static FORCEINLINE HRESULT IMFSample_GetAllocatedString(IMFSample* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 1443 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 1444} 1445static FORCEINLINE HRESULT IMFSample_GetBlobSize(IMFSample* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 1446 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 1447} 1448static 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} 1451static FORCEINLINE HRESULT IMFSample_GetAllocatedBlob(IMFSample* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 1452 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 1453} 1454static FORCEINLINE HRESULT IMFSample_GetUnknown(IMFSample* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 1455 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 1456} 1457static FORCEINLINE HRESULT IMFSample_SetItem(IMFSample* This,REFGUID guidKey,REFPROPVARIANT Value) { 1458 return This->lpVtbl->SetItem(This,guidKey,Value); 1459} 1460static FORCEINLINE HRESULT IMFSample_DeleteItem(IMFSample* This,REFGUID guidKey) { 1461 return This->lpVtbl->DeleteItem(This,guidKey); 1462} 1463static FORCEINLINE HRESULT IMFSample_DeleteAllItems(IMFSample* This) { 1464 return This->lpVtbl->DeleteAllItems(This); 1465} 1466static FORCEINLINE HRESULT IMFSample_SetUINT32(IMFSample* This,REFGUID guidKey,UINT32 unValue) { 1467 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 1468} 1469static FORCEINLINE HRESULT IMFSample_SetUINT64(IMFSample* This,REFGUID guidKey,UINT64 unValue) { 1470 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 1471} 1472static FORCEINLINE HRESULT IMFSample_SetDouble(IMFSample* This,REFGUID guidKey,double fValue) { 1473 return This->lpVtbl->SetDouble(This,guidKey,fValue); 1474} 1475static FORCEINLINE HRESULT IMFSample_SetGUID(IMFSample* This,REFGUID guidKey,REFGUID guidValue) { 1476 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 1477} 1478static FORCEINLINE HRESULT IMFSample_SetString(IMFSample* This,REFGUID guidKey,LPCWSTR wszValue) { 1479 return This->lpVtbl->SetString(This,guidKey,wszValue); 1480} 1481static FORCEINLINE HRESULT IMFSample_SetBlob(IMFSample* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 1482 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 1483} 1484static FORCEINLINE HRESULT IMFSample_SetUnknown(IMFSample* This,REFGUID guidKey,IUnknown *pUnknown) { 1485 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 1486} 1487static FORCEINLINE HRESULT IMFSample_LockStore(IMFSample* This) { 1488 return This->lpVtbl->LockStore(This); 1489} 1490static FORCEINLINE HRESULT IMFSample_UnlockStore(IMFSample* This) { 1491 return This->lpVtbl->UnlockStore(This); 1492} 1493static FORCEINLINE HRESULT IMFSample_GetCount(IMFSample* This,UINT32 *pcItems) { 1494 return This->lpVtbl->GetCount(This,pcItems); 1495} 1496static FORCEINLINE HRESULT IMFSample_GetItemByIndex(IMFSample* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 1497 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 1498} 1499static FORCEINLINE HRESULT IMFSample_CopyAllItems(IMFSample* This,IMFAttributes *pDest) { 1500 return This->lpVtbl->CopyAllItems(This,pDest); 1501} 1502/*** IMFSample methods ***/ 1503static FORCEINLINE HRESULT IMFSample_GetSampleFlags(IMFSample* This,DWORD *pdwSampleFlags) { 1504 return This->lpVtbl->GetSampleFlags(This,pdwSampleFlags); 1505} 1506static FORCEINLINE HRESULT IMFSample_SetSampleFlags(IMFSample* This,DWORD dwSampleFlags) { 1507 return This->lpVtbl->SetSampleFlags(This,dwSampleFlags); 1508} 1509static FORCEINLINE HRESULT IMFSample_GetSampleTime(IMFSample* This,LONGLONG *phnsSampleTime) { 1510 return This->lpVtbl->GetSampleTime(This,phnsSampleTime); 1511} 1512static FORCEINLINE HRESULT IMFSample_SetSampleTime(IMFSample* This,LONGLONG hnsSampleTime) { 1513 return This->lpVtbl->SetSampleTime(This,hnsSampleTime); 1514} 1515static FORCEINLINE HRESULT IMFSample_GetSampleDuration(IMFSample* This,LONGLONG *phnsSampleDuration) { 1516 return This->lpVtbl->GetSampleDuration(This,phnsSampleDuration); 1517} 1518static FORCEINLINE HRESULT IMFSample_SetSampleDuration(IMFSample* This,LONGLONG hnsSampleDuration) { 1519 return This->lpVtbl->SetSampleDuration(This,hnsSampleDuration); 1520} 1521static FORCEINLINE HRESULT IMFSample_GetBufferCount(IMFSample* This,DWORD *pdwBufferCount) { 1522 return This->lpVtbl->GetBufferCount(This,pdwBufferCount); 1523} 1524static FORCEINLINE HRESULT IMFSample_GetBufferByIndex(IMFSample* This,DWORD dwIndex,IMFMediaBuffer **ppBuffer) { 1525 return This->lpVtbl->GetBufferByIndex(This,dwIndex,ppBuffer); 1526} 1527static FORCEINLINE HRESULT IMFSample_ConvertToContiguousBuffer(IMFSample* This,IMFMediaBuffer **ppBuffer) { 1528 return This->lpVtbl->ConvertToContiguousBuffer(This,ppBuffer); 1529} 1530static FORCEINLINE HRESULT IMFSample_AddBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1531 return This->lpVtbl->AddBuffer(This,pBuffer); 1532} 1533static FORCEINLINE HRESULT IMFSample_RemoveBufferByIndex(IMFSample* This,DWORD dwIndex) { 1534 return This->lpVtbl->RemoveBufferByIndex(This,dwIndex); 1535} 1536static FORCEINLINE HRESULT IMFSample_RemoveAllBuffers(IMFSample* This) { 1537 return This->lpVtbl->RemoveAllBuffers(This); 1538} 1539static FORCEINLINE HRESULT IMFSample_GetTotalLength(IMFSample* This,DWORD *pcbTotalLength) { 1540 return This->lpVtbl->GetTotalLength(This,pcbTotalLength); 1541} 1542static FORCEINLINE HRESULT IMFSample_CopyToBuffer(IMFSample* This,IMFMediaBuffer *pBuffer) { 1543 return This->lpVtbl->CopyToBuffer(This,pBuffer); 1544} 1545#endif 1546#endif 1547 1548#endif 1549 1550HRESULT STDMETHODCALLTYPE IMFSample_GetSampleFlags_Proxy( 1551 IMFSample* This, 1552 DWORD *pdwSampleFlags); 1553void __RPC_STUB IMFSample_GetSampleFlags_Stub( 1554 IRpcStubBuffer* This, 1555 IRpcChannelBuffer* pRpcChannelBuffer, 1556 PRPC_MESSAGE pRpcMessage, 1557 DWORD* pdwStubPhase); 1558HRESULT STDMETHODCALLTYPE IMFSample_SetSampleFlags_Proxy( 1559 IMFSample* This, 1560 DWORD dwSampleFlags); 1561void __RPC_STUB IMFSample_SetSampleFlags_Stub( 1562 IRpcStubBuffer* This, 1563 IRpcChannelBuffer* pRpcChannelBuffer, 1564 PRPC_MESSAGE pRpcMessage, 1565 DWORD* pdwStubPhase); 1566HRESULT STDMETHODCALLTYPE IMFSample_GetSampleTime_Proxy( 1567 IMFSample* This, 1568 LONGLONG *phnsSampleTime); 1569void __RPC_STUB IMFSample_GetSampleTime_Stub( 1570 IRpcStubBuffer* This, 1571 IRpcChannelBuffer* pRpcChannelBuffer, 1572 PRPC_MESSAGE pRpcMessage, 1573 DWORD* pdwStubPhase); 1574HRESULT STDMETHODCALLTYPE IMFSample_SetSampleTime_Proxy( 1575 IMFSample* This, 1576 LONGLONG hnsSampleTime); 1577void __RPC_STUB IMFSample_SetSampleTime_Stub( 1578 IRpcStubBuffer* This, 1579 IRpcChannelBuffer* pRpcChannelBuffer, 1580 PRPC_MESSAGE pRpcMessage, 1581 DWORD* pdwStubPhase); 1582HRESULT STDMETHODCALLTYPE IMFSample_GetSampleDuration_Proxy( 1583 IMFSample* This, 1584 LONGLONG *phnsSampleDuration); 1585void __RPC_STUB IMFSample_GetSampleDuration_Stub( 1586 IRpcStubBuffer* This, 1587 IRpcChannelBuffer* pRpcChannelBuffer, 1588 PRPC_MESSAGE pRpcMessage, 1589 DWORD* pdwStubPhase); 1590HRESULT STDMETHODCALLTYPE IMFSample_SetSampleDuration_Proxy( 1591 IMFSample* This, 1592 LONGLONG hnsSampleDuration); 1593void __RPC_STUB IMFSample_SetSampleDuration_Stub( 1594 IRpcStubBuffer* This, 1595 IRpcChannelBuffer* pRpcChannelBuffer, 1596 PRPC_MESSAGE pRpcMessage, 1597 DWORD* pdwStubPhase); 1598HRESULT STDMETHODCALLTYPE IMFSample_GetBufferCount_Proxy( 1599 IMFSample* This, 1600 DWORD *pdwBufferCount); 1601void __RPC_STUB IMFSample_GetBufferCount_Stub( 1602 IRpcStubBuffer* This, 1603 IRpcChannelBuffer* pRpcChannelBuffer, 1604 PRPC_MESSAGE pRpcMessage, 1605 DWORD* pdwStubPhase); 1606HRESULT STDMETHODCALLTYPE IMFSample_GetBufferByIndex_Proxy( 1607 IMFSample* This, 1608 DWORD dwIndex, 1609 IMFMediaBuffer **ppBuffer); 1610void __RPC_STUB IMFSample_GetBufferByIndex_Stub( 1611 IRpcStubBuffer* This, 1612 IRpcChannelBuffer* pRpcChannelBuffer, 1613 PRPC_MESSAGE pRpcMessage, 1614 DWORD* pdwStubPhase); 1615HRESULT STDMETHODCALLTYPE IMFSample_ConvertToContiguousBuffer_Proxy( 1616 IMFSample* This, 1617 IMFMediaBuffer **ppBuffer); 1618void __RPC_STUB IMFSample_ConvertToContiguousBuffer_Stub( 1619 IRpcStubBuffer* This, 1620 IRpcChannelBuffer* pRpcChannelBuffer, 1621 PRPC_MESSAGE pRpcMessage, 1622 DWORD* pdwStubPhase); 1623HRESULT STDMETHODCALLTYPE IMFSample_AddBuffer_Proxy( 1624 IMFSample* This, 1625 IMFMediaBuffer *pBuffer); 1626void __RPC_STUB IMFSample_AddBuffer_Stub( 1627 IRpcStubBuffer* This, 1628 IRpcChannelBuffer* pRpcChannelBuffer, 1629 PRPC_MESSAGE pRpcMessage, 1630 DWORD* pdwStubPhase); 1631HRESULT STDMETHODCALLTYPE IMFSample_RemoveBufferByIndex_Proxy( 1632 IMFSample* This, 1633 DWORD dwIndex); 1634void __RPC_STUB IMFSample_RemoveBufferByIndex_Stub( 1635 IRpcStubBuffer* This, 1636 IRpcChannelBuffer* pRpcChannelBuffer, 1637 PRPC_MESSAGE pRpcMessage, 1638 DWORD* pdwStubPhase); 1639HRESULT STDMETHODCALLTYPE IMFSample_RemoveAllBuffers_Proxy( 1640 IMFSample* This); 1641void __RPC_STUB IMFSample_RemoveAllBuffers_Stub( 1642 IRpcStubBuffer* This, 1643 IRpcChannelBuffer* pRpcChannelBuffer, 1644 PRPC_MESSAGE pRpcMessage, 1645 DWORD* pdwStubPhase); 1646HRESULT STDMETHODCALLTYPE IMFSample_GetTotalLength_Proxy( 1647 IMFSample* This, 1648 DWORD *pcbTotalLength); 1649void __RPC_STUB IMFSample_GetTotalLength_Stub( 1650 IRpcStubBuffer* This, 1651 IRpcChannelBuffer* pRpcChannelBuffer, 1652 PRPC_MESSAGE pRpcMessage, 1653 DWORD* pdwStubPhase); 1654HRESULT STDMETHODCALLTYPE IMFSample_CopyToBuffer_Proxy( 1655 IMFSample* This, 1656 IMFMediaBuffer *pBuffer); 1657void __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 1671DEFINE_GUID(IID_IMF2DBuffer, 0x7dc9d5f9, 0x9ed9, 0x44ec, 0x9b,0xbf, 0x06,0x00,0xbb,0x58,0x9f,0xbb); 1672#if defined(__cplusplus) && !defined(CINTERFACE) 1673MIDL_INTERFACE("7dc9d5f9-9ed9-44ec-9bbf-0600bb589fbb") 1674IMF2DBuffer : 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 1706typedef 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; 1755interface 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 ***/ 1775static FORCEINLINE HRESULT IMF2DBuffer_QueryInterface(IMF2DBuffer* This,REFIID riid,void **ppvObject) { 1776 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1777} 1778static FORCEINLINE ULONG IMF2DBuffer_AddRef(IMF2DBuffer* This) { 1779 return This->lpVtbl->AddRef(This); 1780} 1781static FORCEINLINE ULONG IMF2DBuffer_Release(IMF2DBuffer* This) { 1782 return This->lpVtbl->Release(This); 1783} 1784/*** IMF2DBuffer methods ***/ 1785static FORCEINLINE HRESULT IMF2DBuffer_Lock2D(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) { 1786 return This->lpVtbl->Lock2D(This,pbScanline0,plPitch); 1787} 1788static FORCEINLINE HRESULT IMF2DBuffer_Unlock2D(IMF2DBuffer* This) { 1789 return This->lpVtbl->Unlock2D(This); 1790} 1791static FORCEINLINE HRESULT IMF2DBuffer_GetScanline0AndPitch(IMF2DBuffer* This,BYTE **pbScanline0,LONG *plPitch) { 1792 return This->lpVtbl->GetScanline0AndPitch(This,pbScanline0,plPitch); 1793} 1794static FORCEINLINE HRESULT IMF2DBuffer_IsContiguousFormat(IMF2DBuffer* This,WINBOOL *pfIsContiguous) { 1795 return This->lpVtbl->IsContiguousFormat(This,pfIsContiguous); 1796} 1797static FORCEINLINE HRESULT IMF2DBuffer_GetContiguousLength(IMF2DBuffer* This,DWORD *pcbLength) { 1798 return This->lpVtbl->GetContiguousLength(This,pcbLength); 1799} 1800static FORCEINLINE HRESULT IMF2DBuffer_ContiguousCopyTo(IMF2DBuffer* This,BYTE *pbDestBuffer,DWORD cbDestBuffer) { 1801 return This->lpVtbl->ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer); 1802} 1803static 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 1811HRESULT STDMETHODCALLTYPE IMF2DBuffer_Lock2D_Proxy( 1812 IMF2DBuffer* This, 1813 BYTE **pbScanline0, 1814 LONG *plPitch); 1815void __RPC_STUB IMF2DBuffer_Lock2D_Stub( 1816 IRpcStubBuffer* This, 1817 IRpcChannelBuffer* pRpcChannelBuffer, 1818 PRPC_MESSAGE pRpcMessage, 1819 DWORD* pdwStubPhase); 1820HRESULT STDMETHODCALLTYPE IMF2DBuffer_Unlock2D_Proxy( 1821 IMF2DBuffer* This); 1822void __RPC_STUB IMF2DBuffer_Unlock2D_Stub( 1823 IRpcStubBuffer* This, 1824 IRpcChannelBuffer* pRpcChannelBuffer, 1825 PRPC_MESSAGE pRpcMessage, 1826 DWORD* pdwStubPhase); 1827HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetScanline0AndPitch_Proxy( 1828 IMF2DBuffer* This, 1829 BYTE **pbScanline0, 1830 LONG *plPitch); 1831void __RPC_STUB IMF2DBuffer_GetScanline0AndPitch_Stub( 1832 IRpcStubBuffer* This, 1833 IRpcChannelBuffer* pRpcChannelBuffer, 1834 PRPC_MESSAGE pRpcMessage, 1835 DWORD* pdwStubPhase); 1836HRESULT STDMETHODCALLTYPE IMF2DBuffer_IsContiguousFormat_Proxy( 1837 IMF2DBuffer* This, 1838 WINBOOL *pfIsContiguous); 1839void __RPC_STUB IMF2DBuffer_IsContiguousFormat_Stub( 1840 IRpcStubBuffer* This, 1841 IRpcChannelBuffer* pRpcChannelBuffer, 1842 PRPC_MESSAGE pRpcMessage, 1843 DWORD* pdwStubPhase); 1844HRESULT STDMETHODCALLTYPE IMF2DBuffer_GetContiguousLength_Proxy( 1845 IMF2DBuffer* This, 1846 DWORD *pcbLength); 1847void __RPC_STUB IMF2DBuffer_GetContiguousLength_Stub( 1848 IRpcStubBuffer* This, 1849 IRpcChannelBuffer* pRpcChannelBuffer, 1850 PRPC_MESSAGE pRpcMessage, 1851 DWORD* pdwStubPhase); 1852HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyTo_Proxy( 1853 IMF2DBuffer* This, 1854 BYTE *pbDestBuffer, 1855 DWORD cbDestBuffer); 1856void __RPC_STUB IMF2DBuffer_ContiguousCopyTo_Stub( 1857 IRpcStubBuffer* This, 1858 IRpcChannelBuffer* pRpcChannelBuffer, 1859 PRPC_MESSAGE pRpcMessage, 1860 DWORD* pdwStubPhase); 1861HRESULT STDMETHODCALLTYPE IMF2DBuffer_ContiguousCopyFrom_Proxy( 1862 IMF2DBuffer* This, 1863 const BYTE *pbSrcBuffer, 1864 DWORD cbSrcBuffer); 1865void __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 1879DEFINE_GUID(IID_IMFMediaType, 0x44ae0fa8, 0xea31, 0x4109, 0x8d,0x2e, 0x4c,0xae,0x49,0x97,0xc5,0x55); 1880#if defined(__cplusplus) && !defined(CINTERFACE) 1881MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555") 1882IMFMediaType : 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 1907typedef 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; 2101interface 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 ***/ 2150static FORCEINLINE HRESULT IMFMediaType_QueryInterface(IMFMediaType* This,REFIID riid,void **ppvObject) { 2151 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2152} 2153static FORCEINLINE ULONG IMFMediaType_AddRef(IMFMediaType* This) { 2154 return This->lpVtbl->AddRef(This); 2155} 2156static FORCEINLINE ULONG IMFMediaType_Release(IMFMediaType* This) { 2157 return This->lpVtbl->Release(This); 2158} 2159/*** IMFAttributes methods ***/ 2160static FORCEINLINE HRESULT IMFMediaType_GetItem(IMFMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 2161 return This->lpVtbl->GetItem(This,guidKey,pValue); 2162} 2163static FORCEINLINE HRESULT IMFMediaType_GetItemType(IMFMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2164 return This->lpVtbl->GetItemType(This,guidKey,pType); 2165} 2166static FORCEINLINE HRESULT IMFMediaType_CompareItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2167 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2168} 2169static 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} 2172static FORCEINLINE HRESULT IMFMediaType_GetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 *punValue) { 2173 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2174} 2175static FORCEINLINE HRESULT IMFMediaType_GetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 *punValue) { 2176 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2177} 2178static FORCEINLINE HRESULT IMFMediaType_GetDouble(IMFMediaType* This,REFGUID guidKey,double *pfValue) { 2179 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2180} 2181static FORCEINLINE HRESULT IMFMediaType_GetGUID(IMFMediaType* This,REFGUID guidKey,GUID *pguidValue) { 2182 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2183} 2184static FORCEINLINE HRESULT IMFMediaType_GetStringLength(IMFMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 2185 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2186} 2187static 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} 2190static FORCEINLINE HRESULT IMFMediaType_GetAllocatedString(IMFMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2191 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2192} 2193static FORCEINLINE HRESULT IMFMediaType_GetBlobSize(IMFMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2194 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2195} 2196static 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} 2199static FORCEINLINE HRESULT IMFMediaType_GetAllocatedBlob(IMFMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2200 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2201} 2202static FORCEINLINE HRESULT IMFMediaType_GetUnknown(IMFMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2203 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2204} 2205static FORCEINLINE HRESULT IMFMediaType_SetItem(IMFMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 2206 return This->lpVtbl->SetItem(This,guidKey,Value); 2207} 2208static FORCEINLINE HRESULT IMFMediaType_DeleteItem(IMFMediaType* This,REFGUID guidKey) { 2209 return This->lpVtbl->DeleteItem(This,guidKey); 2210} 2211static FORCEINLINE HRESULT IMFMediaType_DeleteAllItems(IMFMediaType* This) { 2212 return This->lpVtbl->DeleteAllItems(This); 2213} 2214static FORCEINLINE HRESULT IMFMediaType_SetUINT32(IMFMediaType* This,REFGUID guidKey,UINT32 unValue) { 2215 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2216} 2217static FORCEINLINE HRESULT IMFMediaType_SetUINT64(IMFMediaType* This,REFGUID guidKey,UINT64 unValue) { 2218 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2219} 2220static FORCEINLINE HRESULT IMFMediaType_SetDouble(IMFMediaType* This,REFGUID guidKey,double fValue) { 2221 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2222} 2223static FORCEINLINE HRESULT IMFMediaType_SetGUID(IMFMediaType* This,REFGUID guidKey,REFGUID guidValue) { 2224 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2225} 2226static FORCEINLINE HRESULT IMFMediaType_SetString(IMFMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 2227 return This->lpVtbl->SetString(This,guidKey,wszValue); 2228} 2229static FORCEINLINE HRESULT IMFMediaType_SetBlob(IMFMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2230 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2231} 2232static FORCEINLINE HRESULT IMFMediaType_SetUnknown(IMFMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 2233 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2234} 2235static FORCEINLINE HRESULT IMFMediaType_LockStore(IMFMediaType* This) { 2236 return This->lpVtbl->LockStore(This); 2237} 2238static FORCEINLINE HRESULT IMFMediaType_UnlockStore(IMFMediaType* This) { 2239 return This->lpVtbl->UnlockStore(This); 2240} 2241static FORCEINLINE HRESULT IMFMediaType_GetCount(IMFMediaType* This,UINT32 *pcItems) { 2242 return This->lpVtbl->GetCount(This,pcItems); 2243} 2244static FORCEINLINE HRESULT IMFMediaType_GetItemByIndex(IMFMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2245 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2246} 2247static FORCEINLINE HRESULT IMFMediaType_CopyAllItems(IMFMediaType* This,IMFAttributes *pDest) { 2248 return This->lpVtbl->CopyAllItems(This,pDest); 2249} 2250/*** IMFMediaType methods ***/ 2251static FORCEINLINE HRESULT IMFMediaType_GetMajorType(IMFMediaType* This,GUID *pguidMajorType) { 2252 return This->lpVtbl->GetMajorType(This,pguidMajorType); 2253} 2254static FORCEINLINE HRESULT IMFMediaType_IsCompressedFormat(IMFMediaType* This,WINBOOL *pfCompressed) { 2255 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 2256} 2257static FORCEINLINE HRESULT IMFMediaType_IsEqual(IMFMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 2258 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 2259} 2260static FORCEINLINE HRESULT IMFMediaType_GetRepresentation(IMFMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 2261 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 2262} 2263static 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 2271HRESULT STDMETHODCALLTYPE IMFMediaType_GetMajorType_Proxy( 2272 IMFMediaType* This, 2273 GUID *pguidMajorType); 2274void __RPC_STUB IMFMediaType_GetMajorType_Stub( 2275 IRpcStubBuffer* This, 2276 IRpcChannelBuffer* pRpcChannelBuffer, 2277 PRPC_MESSAGE pRpcMessage, 2278 DWORD* pdwStubPhase); 2279HRESULT STDMETHODCALLTYPE IMFMediaType_IsCompressedFormat_Proxy( 2280 IMFMediaType* This, 2281 WINBOOL *pfCompressed); 2282void __RPC_STUB IMFMediaType_IsCompressedFormat_Stub( 2283 IRpcStubBuffer* This, 2284 IRpcChannelBuffer* pRpcChannelBuffer, 2285 PRPC_MESSAGE pRpcMessage, 2286 DWORD* pdwStubPhase); 2287HRESULT STDMETHODCALLTYPE IMFMediaType_IsEqual_Proxy( 2288 IMFMediaType* This, 2289 IMFMediaType *pIMediaType, 2290 DWORD *pdwFlags); 2291void __RPC_STUB IMFMediaType_IsEqual_Stub( 2292 IRpcStubBuffer* This, 2293 IRpcChannelBuffer* pRpcChannelBuffer, 2294 PRPC_MESSAGE pRpcMessage, 2295 DWORD* pdwStubPhase); 2296HRESULT STDMETHODCALLTYPE IMFMediaType_GetRepresentation_Proxy( 2297 IMFMediaType* This, 2298 GUID guidRepresentation, 2299 LPVOID *ppvRepresentation); 2300void __RPC_STUB IMFMediaType_GetRepresentation_Stub( 2301 IRpcStubBuffer* This, 2302 IRpcChannelBuffer* pRpcChannelBuffer, 2303 PRPC_MESSAGE pRpcMessage, 2304 DWORD* pdwStubPhase); 2305HRESULT STDMETHODCALLTYPE IMFMediaType_FreeRepresentation_Proxy( 2306 IMFMediaType* This, 2307 GUID guidRepresentation, 2308 LPVOID pvRepresentation); 2309void __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 2327DEFINE_GUID(IID_IMFAudioMediaType, 0x26a0adc3, 0xce26, 0x4672, 0x93,0x04, 0x69,0x55,0x2e,0xdd,0x3f,0xaf); 2328#if defined(__cplusplus) && !defined(CINTERFACE) 2329MIDL_INTERFACE("26a0adc3-ce26-4672-9304-69552edd3faf") 2330IMFAudioMediaType : 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 2340typedef 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; 2538interface 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 ***/ 2589static FORCEINLINE HRESULT IMFAudioMediaType_QueryInterface(IMFAudioMediaType* This,REFIID riid,void **ppvObject) { 2590 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 2591} 2592static FORCEINLINE ULONG IMFAudioMediaType_AddRef(IMFAudioMediaType* This) { 2593 return This->lpVtbl->AddRef(This); 2594} 2595static FORCEINLINE ULONG IMFAudioMediaType_Release(IMFAudioMediaType* This) { 2596 return This->lpVtbl->Release(This); 2597} 2598/*** IMFAttributes methods ***/ 2599static FORCEINLINE HRESULT IMFAudioMediaType_GetItem(IMFAudioMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 2600 return This->lpVtbl->GetItem(This,guidKey,pValue); 2601} 2602static FORCEINLINE HRESULT IMFAudioMediaType_GetItemType(IMFAudioMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 2603 return This->lpVtbl->GetItemType(This,guidKey,pType); 2604} 2605static FORCEINLINE HRESULT IMFAudioMediaType_CompareItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 2606 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 2607} 2608static 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} 2611static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *punValue) { 2612 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 2613} 2614static FORCEINLINE HRESULT IMFAudioMediaType_GetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 *punValue) { 2615 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 2616} 2617static FORCEINLINE HRESULT IMFAudioMediaType_GetDouble(IMFAudioMediaType* This,REFGUID guidKey,double *pfValue) { 2618 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 2619} 2620static FORCEINLINE HRESULT IMFAudioMediaType_GetGUID(IMFAudioMediaType* This,REFGUID guidKey,GUID *pguidValue) { 2621 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 2622} 2623static FORCEINLINE HRESULT IMFAudioMediaType_GetStringLength(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 2624 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 2625} 2626static 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} 2629static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedString(IMFAudioMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 2630 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 2631} 2632static FORCEINLINE HRESULT IMFAudioMediaType_GetBlobSize(IMFAudioMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 2633 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 2634} 2635static 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} 2638static FORCEINLINE HRESULT IMFAudioMediaType_GetAllocatedBlob(IMFAudioMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 2639 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 2640} 2641static FORCEINLINE HRESULT IMFAudioMediaType_GetUnknown(IMFAudioMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 2642 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 2643} 2644static FORCEINLINE HRESULT IMFAudioMediaType_SetItem(IMFAudioMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 2645 return This->lpVtbl->SetItem(This,guidKey,Value); 2646} 2647static FORCEINLINE HRESULT IMFAudioMediaType_DeleteItem(IMFAudioMediaType* This,REFGUID guidKey) { 2648 return This->lpVtbl->DeleteItem(This,guidKey); 2649} 2650static FORCEINLINE HRESULT IMFAudioMediaType_DeleteAllItems(IMFAudioMediaType* This) { 2651 return This->lpVtbl->DeleteAllItems(This); 2652} 2653static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT32(IMFAudioMediaType* This,REFGUID guidKey,UINT32 unValue) { 2654 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 2655} 2656static FORCEINLINE HRESULT IMFAudioMediaType_SetUINT64(IMFAudioMediaType* This,REFGUID guidKey,UINT64 unValue) { 2657 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 2658} 2659static FORCEINLINE HRESULT IMFAudioMediaType_SetDouble(IMFAudioMediaType* This,REFGUID guidKey,double fValue) { 2660 return This->lpVtbl->SetDouble(This,guidKey,fValue); 2661} 2662static FORCEINLINE HRESULT IMFAudioMediaType_SetGUID(IMFAudioMediaType* This,REFGUID guidKey,REFGUID guidValue) { 2663 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 2664} 2665static FORCEINLINE HRESULT IMFAudioMediaType_SetString(IMFAudioMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 2666 return This->lpVtbl->SetString(This,guidKey,wszValue); 2667} 2668static FORCEINLINE HRESULT IMFAudioMediaType_SetBlob(IMFAudioMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 2669 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 2670} 2671static FORCEINLINE HRESULT IMFAudioMediaType_SetUnknown(IMFAudioMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 2672 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 2673} 2674static FORCEINLINE HRESULT IMFAudioMediaType_LockStore(IMFAudioMediaType* This) { 2675 return This->lpVtbl->LockStore(This); 2676} 2677static FORCEINLINE HRESULT IMFAudioMediaType_UnlockStore(IMFAudioMediaType* This) { 2678 return This->lpVtbl->UnlockStore(This); 2679} 2680static FORCEINLINE HRESULT IMFAudioMediaType_GetCount(IMFAudioMediaType* This,UINT32 *pcItems) { 2681 return This->lpVtbl->GetCount(This,pcItems); 2682} 2683static FORCEINLINE HRESULT IMFAudioMediaType_GetItemByIndex(IMFAudioMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 2684 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 2685} 2686static FORCEINLINE HRESULT IMFAudioMediaType_CopyAllItems(IMFAudioMediaType* This,IMFAttributes *pDest) { 2687 return This->lpVtbl->CopyAllItems(This,pDest); 2688} 2689/*** IMFMediaType methods ***/ 2690static FORCEINLINE HRESULT IMFAudioMediaType_GetMajorType(IMFAudioMediaType* This,GUID *pguidMajorType) { 2691 return This->lpVtbl->GetMajorType(This,pguidMajorType); 2692} 2693static FORCEINLINE HRESULT IMFAudioMediaType_IsCompressedFormat(IMFAudioMediaType* This,WINBOOL *pfCompressed) { 2694 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 2695} 2696static FORCEINLINE HRESULT IMFAudioMediaType_IsEqual(IMFAudioMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 2697 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 2698} 2699static FORCEINLINE HRESULT IMFAudioMediaType_GetRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 2700 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 2701} 2702static FORCEINLINE HRESULT IMFAudioMediaType_FreeRepresentation(IMFAudioMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 2703 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 2704} 2705/*** IMFAudioMediaType methods ***/ 2706static FORCEINLINE const WAVEFORMATEX * IMFAudioMediaType_GetAudioFormat(IMFAudioMediaType* This) { 2707 return This->lpVtbl->GetAudioFormat(This); 2708} 2709#endif 2710#endif 2711 2712#endif 2713 2714const WAVEFORMATEX * STDMETHODCALLTYPE IMFAudioMediaType_GetAudioFormat_Proxy( 2715 IMFAudioMediaType* This); 2716void __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 2724typedef struct __WIDL_mmreg_h_generated_name_00000001 { 2725 GUID guidMajorType; 2726 GUID guidSubtype; 2727} MFT_REGISTER_TYPE_INFO; 2728typedef 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; 2750typedef struct _MFRatio { 2751 DWORD Numerator; 2752 DWORD Denominator; 2753} MFRatio; 2754typedef struct _MFOffset { 2755 WORD fract; 2756 short value; 2757} MFOffset; 2758typedef struct _MFVideoArea { 2759 MFOffset OffsetX; 2760 MFOffset OffsetY; 2761 SIZE Area; 2762} MFVideoArea; 2763typedef 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; 2776typedef 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; 2787typedef 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; 2803typedef 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; 2811typedef 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; 2824typedef 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; 2833typedef 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; 2842typedef 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; 2859typedef struct _MFVideoCompressedInfo { 2860 LONGLONG AvgBitrate; 2861 LONGLONG AvgBitErrorRate; 2862 DWORD MaxKeyFrameSpacing; 2863} MFVideoCompressedInfo; 2864typedef struct _MFARGB { 2865 BYTE rgbBlue; 2866 BYTE rgbGreen; 2867 BYTE rgbRed; 2868 BYTE rgbAlpha; 2869} MFARGB; 2870typedef struct __MFAYUVSample { 2871 BYTE bCrValue; 2872 BYTE bCbValue; 2873 BYTE bYValue; 2874 BYTE bSampleAlpha8; 2875} MFAYUVSample; 2876typedef union _MFPaletteEntry { 2877 MFARGB ARGB; 2878 MFAYUVSample AYCbCr; 2879} MFPaletteEntry; 2880typedef struct _MFVideoSurfaceInfo { 2881 DWORD Format; 2882 DWORD PaletteEntries; 2883 MFPaletteEntry Palette[1]; 2884} MFVideoSurfaceInfo; 2885typedef struct _MFVIDEOFORMAT { 2886 DWORD dwSize; 2887 MFVideoInfo videoInfo; 2888 GUID guidFormat; 2889 MFVideoCompressedInfo compressedInfo; 2890 MFVideoSurfaceInfo surfaceInfo; 2891} MFVIDEOFORMAT; 2892typedef 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 2910DEFINE_GUID(IID_IMFVideoMediaType, 0xb99f381f, 0xa8f9, 0x47a2, 0xa5,0xaf, 0xca,0x3a,0x22,0x5a,0x38,0x90); 2911#if defined(__cplusplus) && !defined(CINTERFACE) 2912MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890") 2913IMFVideoMediaType : 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 2928typedef 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; 3132interface 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 ***/ 3184static FORCEINLINE HRESULT IMFVideoMediaType_QueryInterface(IMFVideoMediaType* This,REFIID riid,void **ppvObject) { 3185 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3186} 3187static FORCEINLINE ULONG IMFVideoMediaType_AddRef(IMFVideoMediaType* This) { 3188 return This->lpVtbl->AddRef(This); 3189} 3190static FORCEINLINE ULONG IMFVideoMediaType_Release(IMFVideoMediaType* This) { 3191 return This->lpVtbl->Release(This); 3192} 3193/*** IMFAttributes methods ***/ 3194static FORCEINLINE HRESULT IMFVideoMediaType_GetItem(IMFVideoMediaType* This,REFGUID guidKey,PROPVARIANT *pValue) { 3195 return This->lpVtbl->GetItem(This,guidKey,pValue); 3196} 3197static FORCEINLINE HRESULT IMFVideoMediaType_GetItemType(IMFVideoMediaType* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3198 return This->lpVtbl->GetItemType(This,guidKey,pType); 3199} 3200static FORCEINLINE HRESULT IMFVideoMediaType_CompareItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3201 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3202} 3203static 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} 3206static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *punValue) { 3207 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3208} 3209static FORCEINLINE HRESULT IMFVideoMediaType_GetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 *punValue) { 3210 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3211} 3212static FORCEINLINE HRESULT IMFVideoMediaType_GetDouble(IMFVideoMediaType* This,REFGUID guidKey,double *pfValue) { 3213 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3214} 3215static FORCEINLINE HRESULT IMFVideoMediaType_GetGUID(IMFVideoMediaType* This,REFGUID guidKey,GUID *pguidValue) { 3216 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3217} 3218static FORCEINLINE HRESULT IMFVideoMediaType_GetStringLength(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcchLength) { 3219 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3220} 3221static 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} 3224static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedString(IMFVideoMediaType* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3225 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3226} 3227static FORCEINLINE HRESULT IMFVideoMediaType_GetBlobSize(IMFVideoMediaType* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3228 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3229} 3230static 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} 3233static FORCEINLINE HRESULT IMFVideoMediaType_GetAllocatedBlob(IMFVideoMediaType* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3234 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3235} 3236static FORCEINLINE HRESULT IMFVideoMediaType_GetUnknown(IMFVideoMediaType* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 3237 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 3238} 3239static FORCEINLINE HRESULT IMFVideoMediaType_SetItem(IMFVideoMediaType* This,REFGUID guidKey,REFPROPVARIANT Value) { 3240 return This->lpVtbl->SetItem(This,guidKey,Value); 3241} 3242static FORCEINLINE HRESULT IMFVideoMediaType_DeleteItem(IMFVideoMediaType* This,REFGUID guidKey) { 3243 return This->lpVtbl->DeleteItem(This,guidKey); 3244} 3245static FORCEINLINE HRESULT IMFVideoMediaType_DeleteAllItems(IMFVideoMediaType* This) { 3246 return This->lpVtbl->DeleteAllItems(This); 3247} 3248static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT32(IMFVideoMediaType* This,REFGUID guidKey,UINT32 unValue) { 3249 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 3250} 3251static FORCEINLINE HRESULT IMFVideoMediaType_SetUINT64(IMFVideoMediaType* This,REFGUID guidKey,UINT64 unValue) { 3252 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 3253} 3254static FORCEINLINE HRESULT IMFVideoMediaType_SetDouble(IMFVideoMediaType* This,REFGUID guidKey,double fValue) { 3255 return This->lpVtbl->SetDouble(This,guidKey,fValue); 3256} 3257static FORCEINLINE HRESULT IMFVideoMediaType_SetGUID(IMFVideoMediaType* This,REFGUID guidKey,REFGUID guidValue) { 3258 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 3259} 3260static FORCEINLINE HRESULT IMFVideoMediaType_SetString(IMFVideoMediaType* This,REFGUID guidKey,LPCWSTR wszValue) { 3261 return This->lpVtbl->SetString(This,guidKey,wszValue); 3262} 3263static FORCEINLINE HRESULT IMFVideoMediaType_SetBlob(IMFVideoMediaType* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 3264 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 3265} 3266static FORCEINLINE HRESULT IMFVideoMediaType_SetUnknown(IMFVideoMediaType* This,REFGUID guidKey,IUnknown *pUnknown) { 3267 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 3268} 3269static FORCEINLINE HRESULT IMFVideoMediaType_LockStore(IMFVideoMediaType* This) { 3270 return This->lpVtbl->LockStore(This); 3271} 3272static FORCEINLINE HRESULT IMFVideoMediaType_UnlockStore(IMFVideoMediaType* This) { 3273 return This->lpVtbl->UnlockStore(This); 3274} 3275static FORCEINLINE HRESULT IMFVideoMediaType_GetCount(IMFVideoMediaType* This,UINT32 *pcItems) { 3276 return This->lpVtbl->GetCount(This,pcItems); 3277} 3278static FORCEINLINE HRESULT IMFVideoMediaType_GetItemByIndex(IMFVideoMediaType* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 3279 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 3280} 3281static FORCEINLINE HRESULT IMFVideoMediaType_CopyAllItems(IMFVideoMediaType* This,IMFAttributes *pDest) { 3282 return This->lpVtbl->CopyAllItems(This,pDest); 3283} 3284/*** IMFMediaType methods ***/ 3285static FORCEINLINE HRESULT IMFVideoMediaType_GetMajorType(IMFVideoMediaType* This,GUID *pguidMajorType) { 3286 return This->lpVtbl->GetMajorType(This,pguidMajorType); 3287} 3288static FORCEINLINE HRESULT IMFVideoMediaType_IsCompressedFormat(IMFVideoMediaType* This,WINBOOL *pfCompressed) { 3289 return This->lpVtbl->IsCompressedFormat(This,pfCompressed); 3290} 3291static FORCEINLINE HRESULT IMFVideoMediaType_IsEqual(IMFVideoMediaType* This,IMFMediaType *pIMediaType,DWORD *pdwFlags) { 3292 return This->lpVtbl->IsEqual(This,pIMediaType,pdwFlags); 3293} 3294static FORCEINLINE HRESULT IMFVideoMediaType_GetRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID *ppvRepresentation) { 3295 return This->lpVtbl->GetRepresentation(This,guidRepresentation,ppvRepresentation); 3296} 3297static FORCEINLINE HRESULT IMFVideoMediaType_FreeRepresentation(IMFVideoMediaType* This,GUID guidRepresentation,LPVOID pvRepresentation) { 3298 return This->lpVtbl->FreeRepresentation(This,guidRepresentation,pvRepresentation); 3299} 3300/*** IMFVideoMediaType methods ***/ 3301static FORCEINLINE const MFVIDEOFORMAT * IMFVideoMediaType_GetVideoFormat(IMFVideoMediaType* This) { 3302 return This->lpVtbl->GetVideoFormat(This); 3303} 3304static 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 3312const MFVIDEOFORMAT * STDMETHODCALLTYPE IMFVideoMediaType_GetVideoFormat_Proxy( 3313 IMFVideoMediaType* This); 3314void __RPC_STUB IMFVideoMediaType_GetVideoFormat_Stub( 3315 IRpcStubBuffer* This, 3316 IRpcChannelBuffer* pRpcChannelBuffer, 3317 PRPC_MESSAGE pRpcMessage, 3318 DWORD* pdwStubPhase); 3319HRESULT STDMETHODCALLTYPE IMFVideoMediaType_GetVideoRepresentation_Proxy( 3320 IMFVideoMediaType* This, 3321 GUID guidRepresentation, 3322 LPVOID *ppvRepresentation, 3323 LONG lStride); 3324void __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 3338DEFINE_GUID(IID_IMFAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6); 3339#if defined(__cplusplus) && !defined(CINTERFACE) 3340MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6") 3341IMFAsyncResult : 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 3363typedef 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; 3399interface 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 ***/ 3417static FORCEINLINE HRESULT IMFAsyncResult_QueryInterface(IMFAsyncResult* This,REFIID riid,void **ppvObject) { 3418 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3419} 3420static FORCEINLINE ULONG IMFAsyncResult_AddRef(IMFAsyncResult* This) { 3421 return This->lpVtbl->AddRef(This); 3422} 3423static FORCEINLINE ULONG IMFAsyncResult_Release(IMFAsyncResult* This) { 3424 return This->lpVtbl->Release(This); 3425} 3426/*** IMFAsyncResult methods ***/ 3427static FORCEINLINE HRESULT IMFAsyncResult_GetState(IMFAsyncResult* This,IUnknown **ppunkState) { 3428 return This->lpVtbl->GetState(This,ppunkState); 3429} 3430static FORCEINLINE HRESULT IMFAsyncResult_GetStatus(IMFAsyncResult* This) { 3431 return This->lpVtbl->GetStatus(This); 3432} 3433static FORCEINLINE HRESULT IMFAsyncResult_SetStatus(IMFAsyncResult* This,HRESULT hrStatus) { 3434 return This->lpVtbl->SetStatus(This,hrStatus); 3435} 3436static FORCEINLINE HRESULT IMFAsyncResult_GetObject(IMFAsyncResult* This,IUnknown **ppObject) { 3437 return This->lpVtbl->GetObject(This,ppObject); 3438} 3439static FORCEINLINE IUnknown * IMFAsyncResult_GetStateNoAddRef(IMFAsyncResult* This) { 3440 return This->lpVtbl->GetStateNoAddRef(This); 3441} 3442#endif 3443#endif 3444 3445#endif 3446 3447HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetState_Proxy( 3448 IMFAsyncResult* This, 3449 IUnknown **ppunkState); 3450void __RPC_STUB IMFAsyncResult_GetState_Stub( 3451 IRpcStubBuffer* This, 3452 IRpcChannelBuffer* pRpcChannelBuffer, 3453 PRPC_MESSAGE pRpcMessage, 3454 DWORD* pdwStubPhase); 3455HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetStatus_Proxy( 3456 IMFAsyncResult* This); 3457void __RPC_STUB IMFAsyncResult_GetStatus_Stub( 3458 IRpcStubBuffer* This, 3459 IRpcChannelBuffer* pRpcChannelBuffer, 3460 PRPC_MESSAGE pRpcMessage, 3461 DWORD* pdwStubPhase); 3462HRESULT STDMETHODCALLTYPE IMFAsyncResult_SetStatus_Proxy( 3463 IMFAsyncResult* This, 3464 HRESULT hrStatus); 3465void __RPC_STUB IMFAsyncResult_SetStatus_Stub( 3466 IRpcStubBuffer* This, 3467 IRpcChannelBuffer* pRpcChannelBuffer, 3468 PRPC_MESSAGE pRpcMessage, 3469 DWORD* pdwStubPhase); 3470HRESULT STDMETHODCALLTYPE IMFAsyncResult_GetObject_Proxy( 3471 IMFAsyncResult* This, 3472 IUnknown **ppObject); 3473void __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 3487DEFINE_GUID(IID_IMFAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 3488#if defined(__cplusplus) && !defined(CINTERFACE) 3489MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e") 3490IMFAsyncCallback : 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 3504typedef 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; 3531interface 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 ***/ 3546static FORCEINLINE HRESULT IMFAsyncCallback_QueryInterface(IMFAsyncCallback* This,REFIID riid,void **ppvObject) { 3547 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3548} 3549static FORCEINLINE ULONG IMFAsyncCallback_AddRef(IMFAsyncCallback* This) { 3550 return This->lpVtbl->AddRef(This); 3551} 3552static FORCEINLINE ULONG IMFAsyncCallback_Release(IMFAsyncCallback* This) { 3553 return This->lpVtbl->Release(This); 3554} 3555/*** IMFAsyncCallback methods ***/ 3556static FORCEINLINE HRESULT IMFAsyncCallback_GetParameters(IMFAsyncCallback* This,DWORD *pdwFlags,DWORD *pdwQueue) { 3557 return This->lpVtbl->GetParameters(This,pdwFlags,pdwQueue); 3558} 3559static FORCEINLINE HRESULT IMFAsyncCallback_Invoke(IMFAsyncCallback* This,IMFAsyncResult *pAsyncResult) { 3560 return This->lpVtbl->Invoke(This,pAsyncResult); 3561} 3562#endif 3563#endif 3564 3565#endif 3566 3567HRESULT STDMETHODCALLTYPE IMFAsyncCallback_GetParameters_Proxy( 3568 IMFAsyncCallback* This, 3569 DWORD *pdwFlags, 3570 DWORD *pdwQueue); 3571void __RPC_STUB IMFAsyncCallback_GetParameters_Stub( 3572 IRpcStubBuffer* This, 3573 IRpcChannelBuffer* pRpcChannelBuffer, 3574 PRPC_MESSAGE pRpcMessage, 3575 DWORD* pdwStubPhase); 3576HRESULT STDMETHODCALLTYPE IMFAsyncCallback_Invoke_Proxy( 3577 IMFAsyncCallback* This, 3578 IMFAsyncResult *pAsyncResult); 3579void __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 3593DEFINE_GUID(IID_IMFRemoteAsyncCallback, 0xa27003d0, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); 3594#if defined(__cplusplus) && !defined(CINTERFACE) 3595MIDL_INTERFACE("a27003d0-2354-4f2a-8d6a-ab7cff15437e") 3596IMFRemoteAsyncCallback : 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 3607typedef 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; 3630interface 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 ***/ 3644static FORCEINLINE HRESULT IMFRemoteAsyncCallback_QueryInterface(IMFRemoteAsyncCallback* This,REFIID riid,void **ppvObject) { 3645 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3646} 3647static FORCEINLINE ULONG IMFRemoteAsyncCallback_AddRef(IMFRemoteAsyncCallback* This) { 3648 return This->lpVtbl->AddRef(This); 3649} 3650static FORCEINLINE ULONG IMFRemoteAsyncCallback_Release(IMFRemoteAsyncCallback* This) { 3651 return This->lpVtbl->Release(This); 3652} 3653/*** IMFRemoteAsyncCallback methods ***/ 3654static 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 3662HRESULT STDMETHODCALLTYPE IMFRemoteAsyncCallback_Invoke_Proxy( 3663 IMFRemoteAsyncCallback* This, 3664 HRESULT hr, 3665 IUnknown *pRemoteResult); 3666void __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 3684typedef DWORD MediaEventType; 3685/***************************************************************************** 3686 * IMFMediaEvent interface 3687 */ 3688#ifndef __IMFMediaEvent_INTERFACE_DEFINED__ 3689#define __IMFMediaEvent_INTERFACE_DEFINED__ 3690 3691DEFINE_GUID(IID_IMFMediaEvent, 0xdf598932, 0xf10c, 0x4e39, 0xbb,0xa2, 0xc3,0x08,0xf1,0x01,0xda,0xa3); 3692#if defined(__cplusplus) && !defined(CINTERFACE) 3693MIDL_INTERFACE("df598932-f10c-4e39-bba2-c308f101daa3") 3694IMFMediaEvent : 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 3713typedef 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; 3900interface 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 ***/ 3948static FORCEINLINE HRESULT IMFMediaEvent_QueryInterface(IMFMediaEvent* This,REFIID riid,void **ppvObject) { 3949 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 3950} 3951static FORCEINLINE ULONG IMFMediaEvent_AddRef(IMFMediaEvent* This) { 3952 return This->lpVtbl->AddRef(This); 3953} 3954static FORCEINLINE ULONG IMFMediaEvent_Release(IMFMediaEvent* This) { 3955 return This->lpVtbl->Release(This); 3956} 3957/*** IMFAttributes methods ***/ 3958static FORCEINLINE HRESULT IMFMediaEvent_GetItem(IMFMediaEvent* This,REFGUID guidKey,PROPVARIANT *pValue) { 3959 return This->lpVtbl->GetItem(This,guidKey,pValue); 3960} 3961static FORCEINLINE HRESULT IMFMediaEvent_GetItemType(IMFMediaEvent* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 3962 return This->lpVtbl->GetItemType(This,guidKey,pType); 3963} 3964static FORCEINLINE HRESULT IMFMediaEvent_CompareItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 3965 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 3966} 3967static 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} 3970static FORCEINLINE HRESULT IMFMediaEvent_GetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 *punValue) { 3971 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 3972} 3973static FORCEINLINE HRESULT IMFMediaEvent_GetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 *punValue) { 3974 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 3975} 3976static FORCEINLINE HRESULT IMFMediaEvent_GetDouble(IMFMediaEvent* This,REFGUID guidKey,double *pfValue) { 3977 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 3978} 3979static FORCEINLINE HRESULT IMFMediaEvent_GetGUID(IMFMediaEvent* This,REFGUID guidKey,GUID *pguidValue) { 3980 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 3981} 3982static FORCEINLINE HRESULT IMFMediaEvent_GetStringLength(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcchLength) { 3983 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 3984} 3985static 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} 3988static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedString(IMFMediaEvent* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 3989 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 3990} 3991static FORCEINLINE HRESULT IMFMediaEvent_GetBlobSize(IMFMediaEvent* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 3992 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 3993} 3994static 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} 3997static FORCEINLINE HRESULT IMFMediaEvent_GetAllocatedBlob(IMFMediaEvent* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 3998 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 3999} 4000static FORCEINLINE HRESULT IMFMediaEvent_GetUnknown(IMFMediaEvent* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 4001 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 4002} 4003static FORCEINLINE HRESULT IMFMediaEvent_SetItem(IMFMediaEvent* This,REFGUID guidKey,REFPROPVARIANT Value) { 4004 return This->lpVtbl->SetItem(This,guidKey,Value); 4005} 4006static FORCEINLINE HRESULT IMFMediaEvent_DeleteItem(IMFMediaEvent* This,REFGUID guidKey) { 4007 return This->lpVtbl->DeleteItem(This,guidKey); 4008} 4009static FORCEINLINE HRESULT IMFMediaEvent_DeleteAllItems(IMFMediaEvent* This) { 4010 return This->lpVtbl->DeleteAllItems(This); 4011} 4012static FORCEINLINE HRESULT IMFMediaEvent_SetUINT32(IMFMediaEvent* This,REFGUID guidKey,UINT32 unValue) { 4013 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 4014} 4015static FORCEINLINE HRESULT IMFMediaEvent_SetUINT64(IMFMediaEvent* This,REFGUID guidKey,UINT64 unValue) { 4016 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 4017} 4018static FORCEINLINE HRESULT IMFMediaEvent_SetDouble(IMFMediaEvent* This,REFGUID guidKey,double fValue) { 4019 return This->lpVtbl->SetDouble(This,guidKey,fValue); 4020} 4021static FORCEINLINE HRESULT IMFMediaEvent_SetGUID(IMFMediaEvent* This,REFGUID guidKey,REFGUID guidValue) { 4022 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 4023} 4024static FORCEINLINE HRESULT IMFMediaEvent_SetString(IMFMediaEvent* This,REFGUID guidKey,LPCWSTR wszValue) { 4025 return This->lpVtbl->SetString(This,guidKey,wszValue); 4026} 4027static FORCEINLINE HRESULT IMFMediaEvent_SetBlob(IMFMediaEvent* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 4028 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 4029} 4030static FORCEINLINE HRESULT IMFMediaEvent_SetUnknown(IMFMediaEvent* This,REFGUID guidKey,IUnknown *pUnknown) { 4031 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 4032} 4033static FORCEINLINE HRESULT IMFMediaEvent_LockStore(IMFMediaEvent* This) { 4034 return This->lpVtbl->LockStore(This); 4035} 4036static FORCEINLINE HRESULT IMFMediaEvent_UnlockStore(IMFMediaEvent* This) { 4037 return This->lpVtbl->UnlockStore(This); 4038} 4039static FORCEINLINE HRESULT IMFMediaEvent_GetCount(IMFMediaEvent* This,UINT32 *pcItems) { 4040 return This->lpVtbl->GetCount(This,pcItems); 4041} 4042static FORCEINLINE HRESULT IMFMediaEvent_GetItemByIndex(IMFMediaEvent* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 4043 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 4044} 4045static FORCEINLINE HRESULT IMFMediaEvent_CopyAllItems(IMFMediaEvent* This,IMFAttributes *pDest) { 4046 return This->lpVtbl->CopyAllItems(This,pDest); 4047} 4048/*** IMFMediaEvent methods ***/ 4049static FORCEINLINE HRESULT IMFMediaEvent_GetType(IMFMediaEvent* This,MediaEventType *pmet) { 4050 return This->lpVtbl->GetType(This,pmet); 4051} 4052static FORCEINLINE HRESULT IMFMediaEvent_GetExtendedType(IMFMediaEvent* This,GUID *pguidExtendedType) { 4053 return This->lpVtbl->GetExtendedType(This,pguidExtendedType); 4054} 4055static FORCEINLINE HRESULT IMFMediaEvent_GetStatus(IMFMediaEvent* This,HRESULT *phrStatus) { 4056 return This->lpVtbl->GetStatus(This,phrStatus); 4057} 4058static FORCEINLINE HRESULT IMFMediaEvent_GetValue(IMFMediaEvent* This,PROPVARIANT *pvValue) { 4059 return This->lpVtbl->GetValue(This,pvValue); 4060} 4061#endif 4062#endif 4063 4064#endif 4065 4066HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetType_Proxy( 4067 IMFMediaEvent* This, 4068 MediaEventType *pmet); 4069void __RPC_STUB IMFMediaEvent_GetType_Stub( 4070 IRpcStubBuffer* This, 4071 IRpcChannelBuffer* pRpcChannelBuffer, 4072 PRPC_MESSAGE pRpcMessage, 4073 DWORD* pdwStubPhase); 4074HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetExtendedType_Proxy( 4075 IMFMediaEvent* This, 4076 GUID *pguidExtendedType); 4077void __RPC_STUB IMFMediaEvent_GetExtendedType_Stub( 4078 IRpcStubBuffer* This, 4079 IRpcChannelBuffer* pRpcChannelBuffer, 4080 PRPC_MESSAGE pRpcMessage, 4081 DWORD* pdwStubPhase); 4082HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetStatus_Proxy( 4083 IMFMediaEvent* This, 4084 HRESULT *phrStatus); 4085void __RPC_STUB IMFMediaEvent_GetStatus_Stub( 4086 IRpcStubBuffer* This, 4087 IRpcChannelBuffer* pRpcChannelBuffer, 4088 PRPC_MESSAGE pRpcMessage, 4089 DWORD* pdwStubPhase); 4090HRESULT STDMETHODCALLTYPE IMFMediaEvent_GetValue_Proxy( 4091 IMFMediaEvent* This, 4092 PROPVARIANT *pvValue); 4093void __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 4107DEFINE_GUID(IID_IMFMediaEventGenerator, 0x2cd0bd52, 0xbcd5, 0x4b89, 0xb6,0x2c, 0xea,0xdc,0x0c,0x03,0x1e,0x7d); 4108#if defined(__cplusplus) && !defined(CINTERFACE) 4109MIDL_INTERFACE("2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d") 4110IMFMediaEventGenerator : 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 4135typedef 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; 4175interface 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 ***/ 4192static FORCEINLINE HRESULT IMFMediaEventGenerator_QueryInterface(IMFMediaEventGenerator* This,REFIID riid,void **ppvObject) { 4193 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4194} 4195static FORCEINLINE ULONG IMFMediaEventGenerator_AddRef(IMFMediaEventGenerator* This) { 4196 return This->lpVtbl->AddRef(This); 4197} 4198static FORCEINLINE ULONG IMFMediaEventGenerator_Release(IMFMediaEventGenerator* This) { 4199 return This->lpVtbl->Release(This); 4200} 4201/*** IMFMediaEventGenerator methods ***/ 4202static FORCEINLINE HRESULT IMFMediaEventGenerator_GetEvent(IMFMediaEventGenerator* This,DWORD dwFlags,IMFMediaEvent **ppEvent) { 4203 return This->lpVtbl->GetEvent(This,dwFlags,ppEvent); 4204} 4205static FORCEINLINE HRESULT IMFMediaEventGenerator_BeginGetEvent(IMFMediaEventGenerator* This,IMFAsyncCallback *pCallback,IUnknown *punkState) { 4206 return This->lpVtbl->BeginGetEvent(This,pCallback,punkState); 4207} 4208static FORCEINLINE HRESULT IMFMediaEventGenerator_EndGetEvent(IMFMediaEventGenerator* This,IMFAsyncResult *pResult,IMFMediaEvent **ppEvent) { 4209 return This->lpVtbl->EndGetEvent(This,pResult,ppEvent); 4210} 4211static 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 4219HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_GetEvent_Proxy( 4220 IMFMediaEventGenerator* This, 4221 DWORD dwFlags, 4222 IMFMediaEvent **ppEvent); 4223void __RPC_STUB IMFMediaEventGenerator_GetEvent_Stub( 4224 IRpcStubBuffer* This, 4225 IRpcChannelBuffer* pRpcChannelBuffer, 4226 PRPC_MESSAGE pRpcMessage, 4227 DWORD* pdwStubPhase); 4228HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteBeginGetEvent_Proxy( 4229 IMFMediaEventGenerator* This, 4230 IMFRemoteAsyncCallback *pCallback); 4231void __RPC_STUB IMFMediaEventGenerator_RemoteBeginGetEvent_Stub( 4232 IRpcStubBuffer* This, 4233 IRpcChannelBuffer* pRpcChannelBuffer, 4234 PRPC_MESSAGE pRpcMessage, 4235 DWORD* pdwStubPhase); 4236HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_RemoteEndGetEvent_Proxy( 4237 IMFMediaEventGenerator* This, 4238 IUnknown *pResult, 4239 DWORD *pcbEvent, 4240 BYTE **ppbEvent); 4241void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub( 4242 IRpcStubBuffer* This, 4243 IRpcChannelBuffer* pRpcChannelBuffer, 4244 PRPC_MESSAGE pRpcMessage, 4245 DWORD* pdwStubPhase); 4246HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_QueueEvent_Proxy( 4247 IMFMediaEventGenerator* This, 4248 MediaEventType met, 4249 REFGUID guidExtendedType, 4250 HRESULT hrStatus, 4251 const PROPVARIANT *pvValue); 4252void __RPC_STUB IMFMediaEventGenerator_QueueEvent_Stub( 4253 IRpcStubBuffer* This, 4254 IRpcChannelBuffer* pRpcChannelBuffer, 4255 PRPC_MESSAGE pRpcMessage, 4256 DWORD* pdwStubPhase); 4257HRESULT CALLBACK IMFMediaEventGenerator_BeginGetEvent_Proxy( 4258 IMFMediaEventGenerator* This, 4259 IMFAsyncCallback *pCallback, 4260 IUnknown *punkState); 4261HRESULT __RPC_STUB IMFMediaEventGenerator_BeginGetEvent_Stub( 4262 IMFMediaEventGenerator* This, 4263 IMFRemoteAsyncCallback *pCallback); 4264HRESULT CALLBACK IMFMediaEventGenerator_EndGetEvent_Proxy( 4265 IMFMediaEventGenerator* This, 4266 IMFAsyncResult *pResult, 4267 IMFMediaEvent **ppEvent); 4268HRESULT __RPC_STUB IMFMediaEventGenerator_EndGetEvent_Stub( 4269 IMFMediaEventGenerator* This, 4270 IUnknown *pResult, 4271 DWORD *pcbEvent, 4272 BYTE **ppbEvent); 4273 4274#endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */ 4275 4276typedef 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 4286DEFINE_GUID(IID_IMFByteStream, 0xad4c1b00, 0x4bf7, 0x422f, 0x91,0x75, 0x75,0x66,0x93,0xd9,0x13,0x0d); 4287#if defined(__cplusplus) && !defined(CINTERFACE) 4288MIDL_INTERFACE("ad4c1b00-4bf7-422f-9175-756693d9130d") 4289IMFByteStream : 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 4356typedef 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; 4447interface 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 ***/ 4475static FORCEINLINE HRESULT IMFByteStream_QueryInterface(IMFByteStream* This,REFIID riid,void **ppvObject) { 4476 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4477} 4478static FORCEINLINE ULONG IMFByteStream_AddRef(IMFByteStream* This) { 4479 return This->lpVtbl->AddRef(This); 4480} 4481static FORCEINLINE ULONG IMFByteStream_Release(IMFByteStream* This) { 4482 return This->lpVtbl->Release(This); 4483} 4484/*** IMFByteStream methods ***/ 4485static FORCEINLINE HRESULT IMFByteStream_GetCapabilities(IMFByteStream* This,DWORD *pdwCapabilities) { 4486 return This->lpVtbl->GetCapabilities(This,pdwCapabilities); 4487} 4488static FORCEINLINE HRESULT IMFByteStream_GetLength(IMFByteStream* This,QWORD *pqwLength) { 4489 return This->lpVtbl->GetLength(This,pqwLength); 4490} 4491static FORCEINLINE HRESULT IMFByteStream_SetLength(IMFByteStream* This,QWORD qwLength) { 4492 return This->lpVtbl->SetLength(This,qwLength); 4493} 4494static FORCEINLINE HRESULT IMFByteStream_GetCurrentPosition(IMFByteStream* This,QWORD *pqwPosition) { 4495 return This->lpVtbl->GetCurrentPosition(This,pqwPosition); 4496} 4497static FORCEINLINE HRESULT IMFByteStream_SetCurrentPosition(IMFByteStream* This,QWORD qwPosition) { 4498 return This->lpVtbl->SetCurrentPosition(This,qwPosition); 4499} 4500static FORCEINLINE HRESULT IMFByteStream_IsEndOfStream(IMFByteStream* This,WINBOOL *pfEndOfStream) { 4501 return This->lpVtbl->IsEndOfStream(This,pfEndOfStream); 4502} 4503static FORCEINLINE HRESULT IMFByteStream_Read(IMFByteStream* This,BYTE *pb,ULONG cb,ULONG *pcbRead) { 4504 return This->lpVtbl->Read(This,pb,cb,pcbRead); 4505} 4506static 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} 4509static FORCEINLINE HRESULT IMFByteStream_EndRead(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbRead) { 4510 return This->lpVtbl->EndRead(This,pResult,pcbRead); 4511} 4512static FORCEINLINE HRESULT IMFByteStream_Write(IMFByteStream* This,const BYTE *pb,ULONG cb,ULONG *pcbWritten) { 4513 return This->lpVtbl->Write(This,pb,cb,pcbWritten); 4514} 4515static 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} 4518static FORCEINLINE HRESULT IMFByteStream_EndWrite(IMFByteStream* This,IMFAsyncResult *pResult,ULONG *pcbWritten) { 4519 return This->lpVtbl->EndWrite(This,pResult,pcbWritten); 4520} 4521static 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} 4524static FORCEINLINE HRESULT IMFByteStream_Flush(IMFByteStream* This) { 4525 return This->lpVtbl->Flush(This); 4526} 4527static FORCEINLINE HRESULT IMFByteStream_Close(IMFByteStream* This) { 4528 return This->lpVtbl->Close(This); 4529} 4530#endif 4531#endif 4532 4533#endif 4534 4535HRESULT STDMETHODCALLTYPE IMFByteStream_GetCapabilities_Proxy( 4536 IMFByteStream* This, 4537 DWORD *pdwCapabilities); 4538void __RPC_STUB IMFByteStream_GetCapabilities_Stub( 4539 IRpcStubBuffer* This, 4540 IRpcChannelBuffer* pRpcChannelBuffer, 4541 PRPC_MESSAGE pRpcMessage, 4542 DWORD* pdwStubPhase); 4543HRESULT STDMETHODCALLTYPE IMFByteStream_GetLength_Proxy( 4544 IMFByteStream* This, 4545 QWORD *pqwLength); 4546void __RPC_STUB IMFByteStream_GetLength_Stub( 4547 IRpcStubBuffer* This, 4548 IRpcChannelBuffer* pRpcChannelBuffer, 4549 PRPC_MESSAGE pRpcMessage, 4550 DWORD* pdwStubPhase); 4551HRESULT STDMETHODCALLTYPE IMFByteStream_SetLength_Proxy( 4552 IMFByteStream* This, 4553 QWORD qwLength); 4554void __RPC_STUB IMFByteStream_SetLength_Stub( 4555 IRpcStubBuffer* This, 4556 IRpcChannelBuffer* pRpcChannelBuffer, 4557 PRPC_MESSAGE pRpcMessage, 4558 DWORD* pdwStubPhase); 4559HRESULT STDMETHODCALLTYPE IMFByteStream_GetCurrentPosition_Proxy( 4560 IMFByteStream* This, 4561 QWORD *pqwPosition); 4562void __RPC_STUB IMFByteStream_GetCurrentPosition_Stub( 4563 IRpcStubBuffer* This, 4564 IRpcChannelBuffer* pRpcChannelBuffer, 4565 PRPC_MESSAGE pRpcMessage, 4566 DWORD* pdwStubPhase); 4567HRESULT STDMETHODCALLTYPE IMFByteStream_SetCurrentPosition_Proxy( 4568 IMFByteStream* This, 4569 QWORD qwPosition); 4570void __RPC_STUB IMFByteStream_SetCurrentPosition_Stub( 4571 IRpcStubBuffer* This, 4572 IRpcChannelBuffer* pRpcChannelBuffer, 4573 PRPC_MESSAGE pRpcMessage, 4574 DWORD* pdwStubPhase); 4575HRESULT STDMETHODCALLTYPE IMFByteStream_IsEndOfStream_Proxy( 4576 IMFByteStream* This, 4577 WINBOOL *pfEndOfStream); 4578void __RPC_STUB IMFByteStream_IsEndOfStream_Stub( 4579 IRpcStubBuffer* This, 4580 IRpcChannelBuffer* pRpcChannelBuffer, 4581 PRPC_MESSAGE pRpcMessage, 4582 DWORD* pdwStubPhase); 4583HRESULT STDMETHODCALLTYPE IMFByteStream_Flush_Proxy( 4584 IMFByteStream* This); 4585void __RPC_STUB IMFByteStream_Flush_Stub( 4586 IRpcStubBuffer* This, 4587 IRpcChannelBuffer* pRpcChannelBuffer, 4588 PRPC_MESSAGE pRpcMessage, 4589 DWORD* pdwStubPhase); 4590HRESULT STDMETHODCALLTYPE IMFByteStream_Close_Proxy( 4591 IMFByteStream* This); 4592void __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 4609EXTERN_GUID(MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4610EXTERN_GUID(MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4611EXTERN_GUID(MF_BYTESTREAM_DURATION, 0xfc35828a,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4612EXTERN_GUID(MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4613EXTERN_GUID(MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4614EXTERN_GUID(MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a); 4615typedef enum MF_FILE_ACCESSMODE { 4616 MF_ACCESSMODE_READ = 1, 4617 MF_ACCESSMODE_WRITE = 2, 4618 MF_ACCESSMODE_READWRITE = 3 4619} MF_FILE_ACCESSMODE; 4620typedef 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; 4627typedef 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 4638DEFINE_GUID(IID_IMFCollection, 0x5bc8a76b, 0x869a, 0x46a3, 0x9b,0x03, 0xfa,0x21,0x8a,0x66,0xae,0xbe); 4639#if defined(__cplusplus) && !defined(CINTERFACE) 4640MIDL_INTERFACE("5bc8a76b-869a-46a3-9b03-fa218a66aebe") 4641IMFCollection : 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 4669typedef 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; 4713interface 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 ***/ 4732static FORCEINLINE HRESULT IMFCollection_QueryInterface(IMFCollection* This,REFIID riid,void **ppvObject) { 4733 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 4734} 4735static FORCEINLINE ULONG IMFCollection_AddRef(IMFCollection* This) { 4736 return This->lpVtbl->AddRef(This); 4737} 4738static FORCEINLINE ULONG IMFCollection_Release(IMFCollection* This) { 4739 return This->lpVtbl->Release(This); 4740} 4741/*** IMFCollection methods ***/ 4742static FORCEINLINE HRESULT IMFCollection_GetElementCount(IMFCollection* This,DWORD *pcElements) { 4743 return This->lpVtbl->GetElementCount(This,pcElements); 4744} 4745static FORCEINLINE HRESULT IMFCollection_GetElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 4746 return This->lpVtbl->GetElement(This,dwElementIndex,ppUnkElement); 4747} 4748static FORCEINLINE HRESULT IMFCollection_AddElement(IMFCollection* This,IUnknown *pUnkElement) { 4749 return This->lpVtbl->AddElement(This,pUnkElement); 4750} 4751static FORCEINLINE HRESULT IMFCollection_RemoveElement(IMFCollection* This,DWORD dwElementIndex,IUnknown **ppUnkElement) { 4752 return This->lpVtbl->RemoveElement(This,dwElementIndex,ppUnkElement); 4753} 4754static FORCEINLINE HRESULT IMFCollection_InsertElementAt(IMFCollection* This,DWORD dwIndex,IUnknown *pUnknown) { 4755 return This->lpVtbl->InsertElementAt(This,dwIndex,pUnknown); 4756} 4757static FORCEINLINE HRESULT IMFCollection_RemoveAllElements(IMFCollection* This) { 4758 return This->lpVtbl->RemoveAllElements(This); 4759} 4760#endif 4761#endif 4762 4763#endif 4764 4765HRESULT STDMETHODCALLTYPE IMFCollection_GetElementCount_Proxy( 4766 IMFCollection* This, 4767 DWORD *pcElements); 4768void __RPC_STUB IMFCollection_GetElementCount_Stub( 4769 IRpcStubBuffer* This, 4770 IRpcChannelBuffer* pRpcChannelBuffer, 4771 PRPC_MESSAGE pRpcMessage, 4772 DWORD* pdwStubPhase); 4773HRESULT STDMETHODCALLTYPE IMFCollection_GetElement_Proxy( 4774 IMFCollection* This, 4775 DWORD dwElementIndex, 4776 IUnknown **ppUnkElement); 4777void __RPC_STUB IMFCollection_GetElement_Stub( 4778 IRpcStubBuffer* This, 4779 IRpcChannelBuffer* pRpcChannelBuffer, 4780 PRPC_MESSAGE pRpcMessage, 4781 DWORD* pdwStubPhase); 4782HRESULT STDMETHODCALLTYPE IMFCollection_AddElement_Proxy( 4783 IMFCollection* This, 4784 IUnknown *pUnkElement); 4785void __RPC_STUB IMFCollection_AddElement_Stub( 4786 IRpcStubBuffer* This, 4787 IRpcChannelBuffer* pRpcChannelBuffer, 4788 PRPC_MESSAGE pRpcMessage, 4789 DWORD* pdwStubPhase); 4790HRESULT STDMETHODCALLTYPE IMFCollection_RemoveElement_Proxy( 4791 IMFCollection* This, 4792 DWORD dwElementIndex, 4793 IUnknown **ppUnkElement); 4794void __RPC_STUB IMFCollection_RemoveElement_Stub( 4795 IRpcStubBuffer* This, 4796 IRpcChannelBuffer* pRpcChannelBuffer, 4797 PRPC_MESSAGE pRpcMessage, 4798 DWORD* pdwStubPhase); 4799HRESULT STDMETHODCALLTYPE IMFCollection_InsertElementAt_Proxy( 4800 IMFCollection* This, 4801 DWORD dwIndex, 4802 IUnknown *pUnknown); 4803void __RPC_STUB IMFCollection_InsertElementAt_Stub( 4804 IRpcStubBuffer* This, 4805 IRpcChannelBuffer* pRpcChannelBuffer, 4806 PRPC_MESSAGE pRpcMessage, 4807 DWORD* pdwStubPhase); 4808HRESULT STDMETHODCALLTYPE IMFCollection_RemoveAllElements_Proxy( 4809 IMFCollection* This); 4810void __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 4824DEFINE_GUID(IID_IMFActivate, 0x7fee9e9a, 0x4a89, 0x47a6, 0x89,0x9c, 0xb6,0xa5,0x3a,0x70,0xfb,0x67); 4825#if defined(__cplusplus) && !defined(CINTERFACE) 4826MIDL_INTERFACE("7fee9e9a-4a89-47a6-899c-b6a53a70fb67") 4827IMFActivate : 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 4844typedef 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; 5026interface 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 ***/ 5073static FORCEINLINE HRESULT IMFActivate_QueryInterface(IMFActivate* This,REFIID riid,void **ppvObject) { 5074 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5075} 5076static FORCEINLINE ULONG IMFActivate_AddRef(IMFActivate* This) { 5077 return This->lpVtbl->AddRef(This); 5078} 5079static FORCEINLINE ULONG IMFActivate_Release(IMFActivate* This) { 5080 return This->lpVtbl->Release(This); 5081} 5082/*** IMFAttributes methods ***/ 5083static FORCEINLINE HRESULT IMFActivate_GetItem(IMFActivate* This,REFGUID guidKey,PROPVARIANT *pValue) { 5084 return This->lpVtbl->GetItem(This,guidKey,pValue); 5085} 5086static FORCEINLINE HRESULT IMFActivate_GetItemType(IMFActivate* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { 5087 return This->lpVtbl->GetItemType(This,guidKey,pType); 5088} 5089static FORCEINLINE HRESULT IMFActivate_CompareItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { 5090 return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); 5091} 5092static 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} 5095static FORCEINLINE HRESULT IMFActivate_GetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 *punValue) { 5096 return This->lpVtbl->GetUINT32(This,guidKey,punValue); 5097} 5098static FORCEINLINE HRESULT IMFActivate_GetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 *punValue) { 5099 return This->lpVtbl->GetUINT64(This,guidKey,punValue); 5100} 5101static FORCEINLINE HRESULT IMFActivate_GetDouble(IMFActivate* This,REFGUID guidKey,double *pfValue) { 5102 return This->lpVtbl->GetDouble(This,guidKey,pfValue); 5103} 5104static FORCEINLINE HRESULT IMFActivate_GetGUID(IMFActivate* This,REFGUID guidKey,GUID *pguidValue) { 5105 return This->lpVtbl->GetGUID(This,guidKey,pguidValue); 5106} 5107static FORCEINLINE HRESULT IMFActivate_GetStringLength(IMFActivate* This,REFGUID guidKey,UINT32 *pcchLength) { 5108 return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); 5109} 5110static 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} 5113static FORCEINLINE HRESULT IMFActivate_GetAllocatedString(IMFActivate* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { 5114 return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); 5115} 5116static FORCEINLINE HRESULT IMFActivate_GetBlobSize(IMFActivate* This,REFGUID guidKey,UINT32 *pcbBlobSize) { 5117 return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); 5118} 5119static 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} 5122static FORCEINLINE HRESULT IMFActivate_GetAllocatedBlob(IMFActivate* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { 5123 return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); 5124} 5125static FORCEINLINE HRESULT IMFActivate_GetUnknown(IMFActivate* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { 5126 return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); 5127} 5128static FORCEINLINE HRESULT IMFActivate_SetItem(IMFActivate* This,REFGUID guidKey,REFPROPVARIANT Value) { 5129 return This->lpVtbl->SetItem(This,guidKey,Value); 5130} 5131static FORCEINLINE HRESULT IMFActivate_DeleteItem(IMFActivate* This,REFGUID guidKey) { 5132 return This->lpVtbl->DeleteItem(This,guidKey); 5133} 5134static FORCEINLINE HRESULT IMFActivate_DeleteAllItems(IMFActivate* This) { 5135 return This->lpVtbl->DeleteAllItems(This); 5136} 5137static FORCEINLINE HRESULT IMFActivate_SetUINT32(IMFActivate* This,REFGUID guidKey,UINT32 unValue) { 5138 return This->lpVtbl->SetUINT32(This,guidKey,unValue); 5139} 5140static FORCEINLINE HRESULT IMFActivate_SetUINT64(IMFActivate* This,REFGUID guidKey,UINT64 unValue) { 5141 return This->lpVtbl->SetUINT64(This,guidKey,unValue); 5142} 5143static FORCEINLINE HRESULT IMFActivate_SetDouble(IMFActivate* This,REFGUID guidKey,double fValue) { 5144 return This->lpVtbl->SetDouble(This,guidKey,fValue); 5145} 5146static FORCEINLINE HRESULT IMFActivate_SetGUID(IMFActivate* This,REFGUID guidKey,REFGUID guidValue) { 5147 return This->lpVtbl->SetGUID(This,guidKey,guidValue); 5148} 5149static FORCEINLINE HRESULT IMFActivate_SetString(IMFActivate* This,REFGUID guidKey,LPCWSTR wszValue) { 5150 return This->lpVtbl->SetString(This,guidKey,wszValue); 5151} 5152static FORCEINLINE HRESULT IMFActivate_SetBlob(IMFActivate* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { 5153 return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); 5154} 5155static FORCEINLINE HRESULT IMFActivate_SetUnknown(IMFActivate* This,REFGUID guidKey,IUnknown *pUnknown) { 5156 return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); 5157} 5158static FORCEINLINE HRESULT IMFActivate_LockStore(IMFActivate* This) { 5159 return This->lpVtbl->LockStore(This); 5160} 5161static FORCEINLINE HRESULT IMFActivate_UnlockStore(IMFActivate* This) { 5162 return This->lpVtbl->UnlockStore(This); 5163} 5164static FORCEINLINE HRESULT IMFActivate_GetCount(IMFActivate* This,UINT32 *pcItems) { 5165 return This->lpVtbl->GetCount(This,pcItems); 5166} 5167static FORCEINLINE HRESULT IMFActivate_GetItemByIndex(IMFActivate* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { 5168 return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); 5169} 5170static FORCEINLINE HRESULT IMFActivate_CopyAllItems(IMFActivate* This,IMFAttributes *pDest) { 5171 return This->lpVtbl->CopyAllItems(This,pDest); 5172} 5173/*** IMFActivate methods ***/ 5174static FORCEINLINE HRESULT IMFActivate_ActivateObject(IMFActivate* This,REFIID riid,void **ppv) { 5175 return This->lpVtbl->ActivateObject(This,riid,ppv); 5176} 5177static FORCEINLINE HRESULT IMFActivate_ShutdownObject(IMFActivate* This) { 5178 return This->lpVtbl->ShutdownObject(This); 5179} 5180static FORCEINLINE HRESULT IMFActivate_DetachObject(IMFActivate* This) { 5181 return This->lpVtbl->DetachObject(This); 5182} 5183#endif 5184#endif 5185 5186#endif 5187 5188HRESULT STDMETHODCALLTYPE IMFActivate_ActivateObject_Proxy( 5189 IMFActivate* This, 5190 REFIID riid, 5191 void **ppv); 5192void __RPC_STUB IMFActivate_ActivateObject_Stub( 5193 IRpcStubBuffer* This, 5194 IRpcChannelBuffer* pRpcChannelBuffer, 5195 PRPC_MESSAGE pRpcMessage, 5196 DWORD* pdwStubPhase); 5197HRESULT STDMETHODCALLTYPE IMFActivate_ShutdownObject_Proxy( 5198 IMFActivate* This); 5199void __RPC_STUB IMFActivate_ShutdownObject_Stub( 5200 IRpcStubBuffer* This, 5201 IRpcChannelBuffer* pRpcChannelBuffer, 5202 PRPC_MESSAGE pRpcMessage, 5203 DWORD* pdwStubPhase); 5204HRESULT STDMETHODCALLTYPE IMFActivate_DetachObject_Proxy( 5205 IMFActivate* This); 5206void __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 5214typedef 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 5224DEFINE_GUID(IID_IMFPluginControl, 0x5c6c44bf, 0x1db6, 0x435b, 0x92,0x49, 0xe8,0xcd,0x10,0xfd,0xec,0x96); 5225#if defined(__cplusplus) && !defined(CINTERFACE) 5226MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96") 5227IMFPluginControl : 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 5264typedef 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; 5318interface 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 ***/ 5337static FORCEINLINE HRESULT IMFPluginControl_QueryInterface(IMFPluginControl* This,REFIID riid,void **ppvObject) { 5338 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 5339} 5340static FORCEINLINE ULONG IMFPluginControl_AddRef(IMFPluginControl* This) { 5341 return This->lpVtbl->AddRef(This); 5342} 5343static FORCEINLINE ULONG IMFPluginControl_Release(IMFPluginControl* This) { 5344 return This->lpVtbl->Release(This); 5345} 5346/*** IMFPluginControl methods ***/ 5347static FORCEINLINE HRESULT IMFPluginControl_GetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,CLSID *clsid) { 5348 return This->lpVtbl->GetPreferredClsid(This,pluginType,selector,clsid); 5349} 5350static 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} 5353static FORCEINLINE HRESULT IMFPluginControl_SetPreferredClsid(IMFPluginControl* This,DWORD pluginType,LPCWSTR selector,const CLSID *clsid) { 5354 return This->lpVtbl->SetPreferredClsid(This,pluginType,selector,clsid); 5355} 5356static FORCEINLINE HRESULT IMFPluginControl_IsDisabled(IMFPluginControl* This,DWORD pluginType,REFCLSID clsid) { 5357 return This->lpVtbl->IsDisabled(This,pluginType,clsid); 5358} 5359static FORCEINLINE HRESULT IMFPluginControl_GetDisabledByIndex(IMFPluginControl* This,DWORD pluginType,DWORD index,CLSID *clsid) { 5360 return This->lpVtbl->GetDisabledByIndex(This,pluginType,index,clsid); 5361} 5362static 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 5370HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsid_Proxy( 5371 IMFPluginControl* This, 5372 DWORD pluginType, 5373 LPCWSTR selector, 5374 CLSID *clsid); 5375void __RPC_STUB IMFPluginControl_GetPreferredClsid_Stub( 5376 IRpcStubBuffer* This, 5377 IRpcChannelBuffer* pRpcChannelBuffer, 5378 PRPC_MESSAGE pRpcMessage, 5379 DWORD* pdwStubPhase); 5380HRESULT STDMETHODCALLTYPE IMFPluginControl_GetPreferredClsidByIndex_Proxy( 5381 IMFPluginControl* This, 5382 DWORD pluginType, 5383 DWORD index, 5384 LPWSTR *selector, 5385 CLSID *clsid); 5386void __RPC_STUB IMFPluginControl_GetPreferredClsidByIndex_Stub( 5387 IRpcStubBuffer* This, 5388 IRpcChannelBuffer* pRpcChannelBuffer, 5389 PRPC_MESSAGE pRpcMessage, 5390 DWORD* pdwStubPhase); 5391HRESULT STDMETHODCALLTYPE IMFPluginControl_SetPreferredClsid_Proxy( 5392 IMFPluginControl* This, 5393 DWORD pluginType, 5394 LPCWSTR selector, 5395 const CLSID *clsid); 5396void __RPC_STUB IMFPluginControl_SetPreferredClsid_Stub( 5397 IRpcStubBuffer* This, 5398 IRpcChannelBuffer* pRpcChannelBuffer, 5399 PRPC_MESSAGE pRpcMessage, 5400 DWORD* pdwStubPhase); 5401HRESULT STDMETHODCALLTYPE IMFPluginControl_IsDisabled_Proxy( 5402 IMFPluginControl* This, 5403 DWORD pluginType, 5404 REFCLSID clsid); 5405void __RPC_STUB IMFPluginControl_IsDisabled_Stub( 5406 IRpcStubBuffer* This, 5407 IRpcChannelBuffer* pRpcChannelBuffer, 5408 PRPC_MESSAGE pRpcMessage, 5409 DWORD* pdwStubPhase); 5410HRESULT STDMETHODCALLTYPE IMFPluginControl_GetDisabledByIndex_Proxy( 5411 IMFPluginControl* This, 5412 DWORD pluginType, 5413 DWORD index, 5414 CLSID *clsid); 5415void __RPC_STUB IMFPluginControl_GetDisabledByIndex_Stub( 5416 IRpcStubBuffer* This, 5417 IRpcChannelBuffer* pRpcChannelBuffer, 5418 PRPC_MESSAGE pRpcMessage, 5419 DWORD* pdwStubPhase); 5420HRESULT STDMETHODCALLTYPE IMFPluginControl_SetDisabled_Proxy( 5421 IMFPluginControl* This, 5422 DWORD pluginType, 5423 REFCLSID clsid, 5424 WINBOOL disabled); 5425void __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 5435ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 5436unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 5437unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 5438void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 5439ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); 5440unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); 5441unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); 5442void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); 5443 5444/* End additional prototypes */ 5445 5446#ifdef __cplusplus 5447} 5448#endif 5449 5450#endif /* __mfobjects_h__ */ 5451