1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/direct-x/include/mmstream.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 __mmstream_h__ 16#define __mmstream_h__ 17 18/* Forward declarations */ 19 20#ifndef __IMultiMediaStream_FWD_DEFINED__ 21#define __IMultiMediaStream_FWD_DEFINED__ 22typedef interface IMultiMediaStream IMultiMediaStream; 23#endif 24 25#ifndef __IMediaStream_FWD_DEFINED__ 26#define __IMediaStream_FWD_DEFINED__ 27typedef interface IMediaStream IMediaStream; 28#endif 29 30#ifndef __IStreamSample_FWD_DEFINED__ 31#define __IStreamSample_FWD_DEFINED__ 32typedef interface IStreamSample IStreamSample; 33#endif 34 35/* Headers for imported files */ 36 37#include <unknwn.h> 38 39#ifdef __cplusplus 40extern "C" { 41#endif 42 43#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400) 44#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x) 45#define MS_S_PENDING MS_SUCCESS_CODE(1) 46#define MS_S_NOUPDATE MS_SUCCESS_CODE(2) 47#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3) 48#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1) 49#define MS_E_PURPOSEID MS_ERROR_CODE(2) 50#define MS_E_NOSTREAM MS_ERROR_CODE(3) 51#define MS_E_NOSEEKING MS_ERROR_CODE(4) 52#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5) 53#define MS_E_BUSY MS_ERROR_CODE(6) 54#define MS_E_NOTINIT MS_ERROR_CODE(7) 55#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8) 56#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9) 57#define MS_E_NOTRUNNING MS_ERROR_CODE(10) 58DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 59DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 60#if 0 61typedef void *PAPCFUNC; 62#endif 63typedef LONGLONG STREAM_TIME; 64typedef GUID MSPID; 65typedef REFGUID REFMSPID; 66typedef enum __WIDL_mmstream_generated_name_00000000 { 67 STREAMTYPE_READ = 0, 68 STREAMTYPE_WRITE = 1, 69 STREAMTYPE_TRANSFORM = 2 70} STREAM_TYPE; 71typedef enum __WIDL_mmstream_generated_name_00000001 { 72 STREAMSTATE_STOP = 0, 73 STREAMSTATE_RUN = 1 74} STREAM_STATE; 75typedef enum __WIDL_mmstream_generated_name_00000002 { 76 COMPSTAT_NOUPDATEOK = 0x1, 77 COMPSTAT_WAIT = 0x2, 78 COMPSTAT_ABORT = 0x4 79} COMPLETION_STATUS_FLAGS; 80enum { 81 MMSSF_HASCLOCK = 0x1, 82 MMSSF_SUPPORTSEEK = 0x2, 83 MMSSF_ASYNCHRONOUS = 0x4 84}; 85 86enum { 87 SSUPDATE_ASYNC = 0x1, 88 SSUPDATE_CONTINUOUS = 0x2 89}; 90 91#ifndef __IMultiMediaStream_FWD_DEFINED__ 92#define __IMultiMediaStream_FWD_DEFINED__ 93typedef interface IMultiMediaStream IMultiMediaStream; 94#endif 95 96#ifndef __IMediaStream_FWD_DEFINED__ 97#define __IMediaStream_FWD_DEFINED__ 98typedef interface IMediaStream IMediaStream; 99#endif 100 101#ifndef __IStreamSample_FWD_DEFINED__ 102#define __IStreamSample_FWD_DEFINED__ 103typedef interface IStreamSample IStreamSample; 104#endif 105 106/***************************************************************************** 107 * IMultiMediaStream interface 108 */ 109#ifndef __IMultiMediaStream_INTERFACE_DEFINED__ 110#define __IMultiMediaStream_INTERFACE_DEFINED__ 111 112DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 113#if defined(__cplusplus) && !defined(CINTERFACE) 114MIDL_INTERFACE("b502d1bc-9a57-11d0-8fde-00c04fd9189d") 115IMultiMediaStream : public IUnknown 116{ 117 virtual HRESULT STDMETHODCALLTYPE GetInformation( 118 DWORD *pdwFlags, 119 STREAM_TYPE *pStreamType) = 0; 120 121 virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 122 REFMSPID idPurpose, 123 IMediaStream **ppMediaStream) = 0; 124 125 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 126 LONG Index, 127 IMediaStream **ppMediaStream) = 0; 128 129 virtual HRESULT STDMETHODCALLTYPE GetState( 130 STREAM_STATE *pCurrentState) = 0; 131 132 virtual HRESULT STDMETHODCALLTYPE SetState( 133 STREAM_STATE NewState) = 0; 134 135 virtual HRESULT STDMETHODCALLTYPE GetTime( 136 STREAM_TIME *pCurrentTime) = 0; 137 138 virtual HRESULT STDMETHODCALLTYPE GetDuration( 139 STREAM_TIME *pDuration) = 0; 140 141 virtual HRESULT STDMETHODCALLTYPE Seek( 142 STREAM_TIME SeekTime) = 0; 143 144 virtual HRESULT STDMETHODCALLTYPE GetEndOfStreamEventHandle( 145 HANDLE *phEOS) = 0; 146 147}; 148#ifdef __CRT_UUID_DECL 149__CRT_UUID_DECL(IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 150#endif 151#else 152typedef struct IMultiMediaStreamVtbl { 153 BEGIN_INTERFACE 154 155 /*** IUnknown methods ***/ 156 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 157 IMultiMediaStream* This, 158 REFIID riid, 159 void **ppvObject); 160 161 ULONG (STDMETHODCALLTYPE *AddRef)( 162 IMultiMediaStream* This); 163 164 ULONG (STDMETHODCALLTYPE *Release)( 165 IMultiMediaStream* This); 166 167 /*** IMultiMediaStream methods ***/ 168 HRESULT (STDMETHODCALLTYPE *GetInformation)( 169 IMultiMediaStream* This, 170 DWORD *pdwFlags, 171 STREAM_TYPE *pStreamType); 172 173 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 174 IMultiMediaStream* This, 175 REFMSPID idPurpose, 176 IMediaStream **ppMediaStream); 177 178 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( 179 IMultiMediaStream* This, 180 LONG Index, 181 IMediaStream **ppMediaStream); 182 183 HRESULT (STDMETHODCALLTYPE *GetState)( 184 IMultiMediaStream* This, 185 STREAM_STATE *pCurrentState); 186 187 HRESULT (STDMETHODCALLTYPE *SetState)( 188 IMultiMediaStream* This, 189 STREAM_STATE NewState); 190 191 HRESULT (STDMETHODCALLTYPE *GetTime)( 192 IMultiMediaStream* This, 193 STREAM_TIME *pCurrentTime); 194 195 HRESULT (STDMETHODCALLTYPE *GetDuration)( 196 IMultiMediaStream* This, 197 STREAM_TIME *pDuration); 198 199 HRESULT (STDMETHODCALLTYPE *Seek)( 200 IMultiMediaStream* This, 201 STREAM_TIME SeekTime); 202 203 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( 204 IMultiMediaStream* This, 205 HANDLE *phEOS); 206 207 END_INTERFACE 208} IMultiMediaStreamVtbl; 209interface IMultiMediaStream { 210 CONST_VTBL IMultiMediaStreamVtbl* lpVtbl; 211}; 212 213#ifdef COBJMACROS 214#ifndef WIDL_C_INLINE_WRAPPERS 215/*** IUnknown methods ***/ 216#define IMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 217#define IMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 218#define IMultiMediaStream_Release(This) (This)->lpVtbl->Release(This) 219/*** IMultiMediaStream methods ***/ 220#define IMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType) 221#define IMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) 222#define IMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) 223#define IMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState) 224#define IMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState) 225#define IMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime) 226#define IMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 227#define IMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime) 228#define IMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS) 229#else 230/*** IUnknown methods ***/ 231static FORCEINLINE HRESULT IMultiMediaStream_QueryInterface(IMultiMediaStream* This,REFIID riid,void **ppvObject) { 232 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 233} 234static FORCEINLINE ULONG IMultiMediaStream_AddRef(IMultiMediaStream* This) { 235 return This->lpVtbl->AddRef(This); 236} 237static FORCEINLINE ULONG IMultiMediaStream_Release(IMultiMediaStream* This) { 238 return This->lpVtbl->Release(This); 239} 240/*** IMultiMediaStream methods ***/ 241static FORCEINLINE HRESULT IMultiMediaStream_GetInformation(IMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) { 242 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType); 243} 244static FORCEINLINE HRESULT IMultiMediaStream_GetMediaStream(IMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 245 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 246} 247static FORCEINLINE HRESULT IMultiMediaStream_EnumMediaStreams(IMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) { 248 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 249} 250static FORCEINLINE HRESULT IMultiMediaStream_GetState(IMultiMediaStream* This,STREAM_STATE *pCurrentState) { 251 return This->lpVtbl->GetState(This,pCurrentState); 252} 253static FORCEINLINE HRESULT IMultiMediaStream_SetState(IMultiMediaStream* This,STREAM_STATE NewState) { 254 return This->lpVtbl->SetState(This,NewState); 255} 256static FORCEINLINE HRESULT IMultiMediaStream_GetTime(IMultiMediaStream* This,STREAM_TIME *pCurrentTime) { 257 return This->lpVtbl->GetTime(This,pCurrentTime); 258} 259static FORCEINLINE HRESULT IMultiMediaStream_GetDuration(IMultiMediaStream* This,STREAM_TIME *pDuration) { 260 return This->lpVtbl->GetDuration(This,pDuration); 261} 262static FORCEINLINE HRESULT IMultiMediaStream_Seek(IMultiMediaStream* This,STREAM_TIME SeekTime) { 263 return This->lpVtbl->Seek(This,SeekTime); 264} 265static FORCEINLINE HRESULT IMultiMediaStream_GetEndOfStreamEventHandle(IMultiMediaStream* This,HANDLE *phEOS) { 266 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS); 267} 268#endif 269#endif 270 271#endif 272 273HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetInformation_Proxy( 274 IMultiMediaStream* This, 275 DWORD *pdwFlags, 276 STREAM_TYPE *pStreamType); 277void __RPC_STUB IMultiMediaStream_GetInformation_Stub( 278 IRpcStubBuffer* This, 279 IRpcChannelBuffer* pRpcChannelBuffer, 280 PRPC_MESSAGE pRpcMessage, 281 DWORD* pdwStubPhase); 282HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetMediaStream_Proxy( 283 IMultiMediaStream* This, 284 REFMSPID idPurpose, 285 IMediaStream **ppMediaStream); 286void __RPC_STUB IMultiMediaStream_GetMediaStream_Stub( 287 IRpcStubBuffer* This, 288 IRpcChannelBuffer* pRpcChannelBuffer, 289 PRPC_MESSAGE pRpcMessage, 290 DWORD* pdwStubPhase); 291HRESULT STDMETHODCALLTYPE IMultiMediaStream_EnumMediaStreams_Proxy( 292 IMultiMediaStream* This, 293 LONG Index, 294 IMediaStream **ppMediaStream); 295void __RPC_STUB IMultiMediaStream_EnumMediaStreams_Stub( 296 IRpcStubBuffer* This, 297 IRpcChannelBuffer* pRpcChannelBuffer, 298 PRPC_MESSAGE pRpcMessage, 299 DWORD* pdwStubPhase); 300HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetState_Proxy( 301 IMultiMediaStream* This, 302 STREAM_STATE *pCurrentState); 303void __RPC_STUB IMultiMediaStream_GetState_Stub( 304 IRpcStubBuffer* This, 305 IRpcChannelBuffer* pRpcChannelBuffer, 306 PRPC_MESSAGE pRpcMessage, 307 DWORD* pdwStubPhase); 308HRESULT STDMETHODCALLTYPE IMultiMediaStream_SetState_Proxy( 309 IMultiMediaStream* This, 310 STREAM_STATE NewState); 311void __RPC_STUB IMultiMediaStream_SetState_Stub( 312 IRpcStubBuffer* This, 313 IRpcChannelBuffer* pRpcChannelBuffer, 314 PRPC_MESSAGE pRpcMessage, 315 DWORD* pdwStubPhase); 316HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetTime_Proxy( 317 IMultiMediaStream* This, 318 STREAM_TIME *pCurrentTime); 319void __RPC_STUB IMultiMediaStream_GetTime_Stub( 320 IRpcStubBuffer* This, 321 IRpcChannelBuffer* pRpcChannelBuffer, 322 PRPC_MESSAGE pRpcMessage, 323 DWORD* pdwStubPhase); 324HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetDuration_Proxy( 325 IMultiMediaStream* This, 326 STREAM_TIME *pDuration); 327void __RPC_STUB IMultiMediaStream_GetDuration_Stub( 328 IRpcStubBuffer* This, 329 IRpcChannelBuffer* pRpcChannelBuffer, 330 PRPC_MESSAGE pRpcMessage, 331 DWORD* pdwStubPhase); 332HRESULT STDMETHODCALLTYPE IMultiMediaStream_Seek_Proxy( 333 IMultiMediaStream* This, 334 STREAM_TIME SeekTime); 335void __RPC_STUB IMultiMediaStream_Seek_Stub( 336 IRpcStubBuffer* This, 337 IRpcChannelBuffer* pRpcChannelBuffer, 338 PRPC_MESSAGE pRpcMessage, 339 DWORD* pdwStubPhase); 340HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetEndOfStreamEventHandle_Proxy( 341 IMultiMediaStream* This, 342 HANDLE *phEOS); 343void __RPC_STUB IMultiMediaStream_GetEndOfStreamEventHandle_Stub( 344 IRpcStubBuffer* This, 345 IRpcChannelBuffer* pRpcChannelBuffer, 346 PRPC_MESSAGE pRpcMessage, 347 DWORD* pdwStubPhase); 348 349#endif /* __IMultiMediaStream_INTERFACE_DEFINED__ */ 350 351/***************************************************************************** 352 * IMediaStream interface 353 */ 354#ifndef __IMediaStream_INTERFACE_DEFINED__ 355#define __IMediaStream_INTERFACE_DEFINED__ 356 357DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 358#if defined(__cplusplus) && !defined(CINTERFACE) 359MIDL_INTERFACE("b502d1bd-9a57-11d0-8fde-00c04fd9189d") 360IMediaStream : public IUnknown 361{ 362 virtual HRESULT STDMETHODCALLTYPE GetMultiMediaStream( 363 IMultiMediaStream **ppMultiMediaStream) = 0; 364 365 virtual HRESULT STDMETHODCALLTYPE GetInformation( 366 MSPID *pPurposeId, 367 STREAM_TYPE *pType) = 0; 368 369 virtual HRESULT STDMETHODCALLTYPE SetSameFormat( 370 IMediaStream *pStreamThatHasDesiredFormat, 371 DWORD dwFlags) = 0; 372 373 virtual HRESULT STDMETHODCALLTYPE AllocateSample( 374 DWORD dwFlags, 375 IStreamSample **ppSample) = 0; 376 377 virtual HRESULT STDMETHODCALLTYPE CreateSharedSample( 378 IStreamSample *pExistingSample, 379 DWORD dwFlags, 380 IStreamSample **ppNewSample) = 0; 381 382 virtual HRESULT STDMETHODCALLTYPE SendEndOfStream( 383 DWORD dwFlags) = 0; 384 385}; 386#ifdef __CRT_UUID_DECL 387__CRT_UUID_DECL(IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 388#endif 389#else 390typedef struct IMediaStreamVtbl { 391 BEGIN_INTERFACE 392 393 /*** IUnknown methods ***/ 394 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 395 IMediaStream* This, 396 REFIID riid, 397 void **ppvObject); 398 399 ULONG (STDMETHODCALLTYPE *AddRef)( 400 IMediaStream* This); 401 402 ULONG (STDMETHODCALLTYPE *Release)( 403 IMediaStream* This); 404 405 /*** IMediaStream methods ***/ 406 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( 407 IMediaStream* This, 408 IMultiMediaStream **ppMultiMediaStream); 409 410 HRESULT (STDMETHODCALLTYPE *GetInformation)( 411 IMediaStream* This, 412 MSPID *pPurposeId, 413 STREAM_TYPE *pType); 414 415 HRESULT (STDMETHODCALLTYPE *SetSameFormat)( 416 IMediaStream* This, 417 IMediaStream *pStreamThatHasDesiredFormat, 418 DWORD dwFlags); 419 420 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 421 IMediaStream* This, 422 DWORD dwFlags, 423 IStreamSample **ppSample); 424 425 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( 426 IMediaStream* This, 427 IStreamSample *pExistingSample, 428 DWORD dwFlags, 429 IStreamSample **ppNewSample); 430 431 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( 432 IMediaStream* This, 433 DWORD dwFlags); 434 435 END_INTERFACE 436} IMediaStreamVtbl; 437interface IMediaStream { 438 CONST_VTBL IMediaStreamVtbl* lpVtbl; 439}; 440 441#ifdef COBJMACROS 442#ifndef WIDL_C_INLINE_WRAPPERS 443/*** IUnknown methods ***/ 444#define IMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 445#define IMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 446#define IMediaStream_Release(This) (This)->lpVtbl->Release(This) 447/*** IMediaStream methods ***/ 448#define IMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) 449#define IMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) 450#define IMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) 451#define IMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) 452#define IMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) 453#define IMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) 454#else 455/*** IUnknown methods ***/ 456static FORCEINLINE HRESULT IMediaStream_QueryInterface(IMediaStream* This,REFIID riid,void **ppvObject) { 457 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 458} 459static FORCEINLINE ULONG IMediaStream_AddRef(IMediaStream* This) { 460 return This->lpVtbl->AddRef(This); 461} 462static FORCEINLINE ULONG IMediaStream_Release(IMediaStream* This) { 463 return This->lpVtbl->Release(This); 464} 465/*** IMediaStream methods ***/ 466static FORCEINLINE HRESULT IMediaStream_GetMultiMediaStream(IMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { 467 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 468} 469static FORCEINLINE HRESULT IMediaStream_GetInformation(IMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 470 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 471} 472static FORCEINLINE HRESULT IMediaStream_SetSameFormat(IMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 473 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 474} 475static FORCEINLINE HRESULT IMediaStream_AllocateSample(IMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { 476 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 477} 478static FORCEINLINE HRESULT IMediaStream_CreateSharedSample(IMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 479 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 480} 481static FORCEINLINE HRESULT IMediaStream_SendEndOfStream(IMediaStream* This,DWORD dwFlags) { 482 return This->lpVtbl->SendEndOfStream(This,dwFlags); 483} 484#endif 485#endif 486 487#endif 488 489HRESULT STDMETHODCALLTYPE IMediaStream_GetMultiMediaStream_Proxy( 490 IMediaStream* This, 491 IMultiMediaStream **ppMultiMediaStream); 492void __RPC_STUB IMediaStream_GetMultiMediaStream_Stub( 493 IRpcStubBuffer* This, 494 IRpcChannelBuffer* pRpcChannelBuffer, 495 PRPC_MESSAGE pRpcMessage, 496 DWORD* pdwStubPhase); 497HRESULT STDMETHODCALLTYPE IMediaStream_GetInformation_Proxy( 498 IMediaStream* This, 499 MSPID *pPurposeId, 500 STREAM_TYPE *pType); 501void __RPC_STUB IMediaStream_GetInformation_Stub( 502 IRpcStubBuffer* This, 503 IRpcChannelBuffer* pRpcChannelBuffer, 504 PRPC_MESSAGE pRpcMessage, 505 DWORD* pdwStubPhase); 506HRESULT STDMETHODCALLTYPE IMediaStream_SetSameFormat_Proxy( 507 IMediaStream* This, 508 IMediaStream *pStreamThatHasDesiredFormat, 509 DWORD dwFlags); 510void __RPC_STUB IMediaStream_SetSameFormat_Stub( 511 IRpcStubBuffer* This, 512 IRpcChannelBuffer* pRpcChannelBuffer, 513 PRPC_MESSAGE pRpcMessage, 514 DWORD* pdwStubPhase); 515HRESULT STDMETHODCALLTYPE IMediaStream_AllocateSample_Proxy( 516 IMediaStream* This, 517 DWORD dwFlags, 518 IStreamSample **ppSample); 519void __RPC_STUB IMediaStream_AllocateSample_Stub( 520 IRpcStubBuffer* This, 521 IRpcChannelBuffer* pRpcChannelBuffer, 522 PRPC_MESSAGE pRpcMessage, 523 DWORD* pdwStubPhase); 524HRESULT STDMETHODCALLTYPE IMediaStream_CreateSharedSample_Proxy( 525 IMediaStream* This, 526 IStreamSample *pExistingSample, 527 DWORD dwFlags, 528 IStreamSample **ppNewSample); 529void __RPC_STUB IMediaStream_CreateSharedSample_Stub( 530 IRpcStubBuffer* This, 531 IRpcChannelBuffer* pRpcChannelBuffer, 532 PRPC_MESSAGE pRpcMessage, 533 DWORD* pdwStubPhase); 534HRESULT STDMETHODCALLTYPE IMediaStream_SendEndOfStream_Proxy( 535 IMediaStream* This, 536 DWORD dwFlags); 537void __RPC_STUB IMediaStream_SendEndOfStream_Stub( 538 IRpcStubBuffer* This, 539 IRpcChannelBuffer* pRpcChannelBuffer, 540 PRPC_MESSAGE pRpcMessage, 541 DWORD* pdwStubPhase); 542 543#endif /* __IMediaStream_INTERFACE_DEFINED__ */ 544 545/***************************************************************************** 546 * IStreamSample interface 547 */ 548#ifndef __IStreamSample_INTERFACE_DEFINED__ 549#define __IStreamSample_INTERFACE_DEFINED__ 550 551DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 552#if defined(__cplusplus) && !defined(CINTERFACE) 553MIDL_INTERFACE("b502d1be-9a57-11d0-8fde-00c04fd9189d") 554IStreamSample : public IUnknown 555{ 556 virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 557 IMediaStream **ppMediaStream) = 0; 558 559 virtual HRESULT STDMETHODCALLTYPE GetSampleTimes( 560 STREAM_TIME *pStartTime, 561 STREAM_TIME *pEndTime, 562 STREAM_TIME *pCurrentTime) = 0; 563 564 virtual HRESULT STDMETHODCALLTYPE SetSampleTimes( 565 const STREAM_TIME *pStartTime, 566 const STREAM_TIME *pEndTime) = 0; 567 568 virtual HRESULT STDMETHODCALLTYPE Update( 569 DWORD dwFlags, 570 HANDLE hEvent, 571 PAPCFUNC pfnAPC, 572 DWORD dwAPCData) = 0; 573 574 virtual HRESULT STDMETHODCALLTYPE CompletionStatus( 575 DWORD dwFlags, 576 DWORD dwMilliseconds) = 0; 577 578}; 579#ifdef __CRT_UUID_DECL 580__CRT_UUID_DECL(IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 581#endif 582#else 583typedef struct IStreamSampleVtbl { 584 BEGIN_INTERFACE 585 586 /*** IUnknown methods ***/ 587 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 588 IStreamSample* This, 589 REFIID riid, 590 void **ppvObject); 591 592 ULONG (STDMETHODCALLTYPE *AddRef)( 593 IStreamSample* This); 594 595 ULONG (STDMETHODCALLTYPE *Release)( 596 IStreamSample* This); 597 598 /*** IStreamSample methods ***/ 599 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 600 IStreamSample* This, 601 IMediaStream **ppMediaStream); 602 603 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( 604 IStreamSample* This, 605 STREAM_TIME *pStartTime, 606 STREAM_TIME *pEndTime, 607 STREAM_TIME *pCurrentTime); 608 609 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( 610 IStreamSample* This, 611 const STREAM_TIME *pStartTime, 612 const STREAM_TIME *pEndTime); 613 614 HRESULT (STDMETHODCALLTYPE *Update)( 615 IStreamSample* This, 616 DWORD dwFlags, 617 HANDLE hEvent, 618 PAPCFUNC pfnAPC, 619 DWORD dwAPCData); 620 621 HRESULT (STDMETHODCALLTYPE *CompletionStatus)( 622 IStreamSample* This, 623 DWORD dwFlags, 624 DWORD dwMilliseconds); 625 626 END_INTERFACE 627} IStreamSampleVtbl; 628interface IStreamSample { 629 CONST_VTBL IStreamSampleVtbl* lpVtbl; 630}; 631 632#ifdef COBJMACROS 633#ifndef WIDL_C_INLINE_WRAPPERS 634/*** IUnknown methods ***/ 635#define IStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 636#define IStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This) 637#define IStreamSample_Release(This) (This)->lpVtbl->Release(This) 638/*** IStreamSample methods ***/ 639#define IStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) 640#define IStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) 641#define IStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) 642#define IStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) 643#define IStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) 644#else 645/*** IUnknown methods ***/ 646static FORCEINLINE HRESULT IStreamSample_QueryInterface(IStreamSample* This,REFIID riid,void **ppvObject) { 647 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 648} 649static FORCEINLINE ULONG IStreamSample_AddRef(IStreamSample* This) { 650 return This->lpVtbl->AddRef(This); 651} 652static FORCEINLINE ULONG IStreamSample_Release(IStreamSample* This) { 653 return This->lpVtbl->Release(This); 654} 655/*** IStreamSample methods ***/ 656static FORCEINLINE HRESULT IStreamSample_GetMediaStream(IStreamSample* This,IMediaStream **ppMediaStream) { 657 return This->lpVtbl->GetMediaStream(This,ppMediaStream); 658} 659static FORCEINLINE HRESULT IStreamSample_GetSampleTimes(IStreamSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) { 660 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime); 661} 662static FORCEINLINE HRESULT IStreamSample_SetSampleTimes(IStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { 663 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); 664} 665static FORCEINLINE HRESULT IStreamSample_Update(IStreamSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) { 666 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData); 667} 668static FORCEINLINE HRESULT IStreamSample_CompletionStatus(IStreamSample* This,DWORD dwFlags,DWORD dwMilliseconds) { 669 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds); 670} 671#endif 672#endif 673 674#endif 675 676HRESULT STDMETHODCALLTYPE IStreamSample_GetMediaStream_Proxy( 677 IStreamSample* This, 678 IMediaStream **ppMediaStream); 679void __RPC_STUB IStreamSample_GetMediaStream_Stub( 680 IRpcStubBuffer* This, 681 IRpcChannelBuffer* pRpcChannelBuffer, 682 PRPC_MESSAGE pRpcMessage, 683 DWORD* pdwStubPhase); 684HRESULT STDMETHODCALLTYPE IStreamSample_GetSampleTimes_Proxy( 685 IStreamSample* This, 686 STREAM_TIME *pStartTime, 687 STREAM_TIME *pEndTime, 688 STREAM_TIME *pCurrentTime); 689void __RPC_STUB IStreamSample_GetSampleTimes_Stub( 690 IRpcStubBuffer* This, 691 IRpcChannelBuffer* pRpcChannelBuffer, 692 PRPC_MESSAGE pRpcMessage, 693 DWORD* pdwStubPhase); 694HRESULT STDMETHODCALLTYPE IStreamSample_SetSampleTimes_Proxy( 695 IStreamSample* This, 696 const STREAM_TIME *pStartTime, 697 const STREAM_TIME *pEndTime); 698void __RPC_STUB IStreamSample_SetSampleTimes_Stub( 699 IRpcStubBuffer* This, 700 IRpcChannelBuffer* pRpcChannelBuffer, 701 PRPC_MESSAGE pRpcMessage, 702 DWORD* pdwStubPhase); 703HRESULT STDMETHODCALLTYPE IStreamSample_Update_Proxy( 704 IStreamSample* This, 705 DWORD dwFlags, 706 HANDLE hEvent, 707 PAPCFUNC pfnAPC, 708 DWORD dwAPCData); 709void __RPC_STUB IStreamSample_Update_Stub( 710 IRpcStubBuffer* This, 711 IRpcChannelBuffer* pRpcChannelBuffer, 712 PRPC_MESSAGE pRpcMessage, 713 DWORD* pdwStubPhase); 714HRESULT STDMETHODCALLTYPE IStreamSample_CompletionStatus_Proxy( 715 IStreamSample* This, 716 DWORD dwFlags, 717 DWORD dwMilliseconds); 718void __RPC_STUB IStreamSample_CompletionStatus_Stub( 719 IRpcStubBuffer* This, 720 IRpcChannelBuffer* pRpcChannelBuffer, 721 PRPC_MESSAGE pRpcMessage, 722 DWORD* pdwStubPhase); 723 724#endif /* __IStreamSample_INTERFACE_DEFINED__ */ 725 726/* Begin additional prototypes for all interfaces */ 727 728 729/* End additional prototypes */ 730 731#ifdef __cplusplus 732} 733#endif 734 735#endif /* __mmstream_h__ */ 736