1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/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__ 22 typedef interface IMultiMediaStream IMultiMediaStream; 23 #endif 24 25 #ifndef __IMediaStream_FWD_DEFINED__ 26 #define __IMediaStream_FWD_DEFINED__ 27 typedef interface IMediaStream IMediaStream; 28 #endif 29 30 #ifndef __IStreamSample_FWD_DEFINED__ 31 #define __IStreamSample_FWD_DEFINED__ 32 typedef interface IStreamSample IStreamSample; 33 #endif 34 35 /* Headers for imported files */ 36 37 #include <unknwn.h> 38 39 #ifdef __cplusplus 40 extern "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) 58 DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 59 DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 60 #if 0 61 typedef void *PAPCFUNC; 62 #endif 63 typedef LONGLONG STREAM_TIME; 64 typedef GUID MSPID; 65 typedef REFGUID REFMSPID; 66 typedef enum __WIDL_mmstream_generated_name_00000000 { 67 STREAMTYPE_READ = 0, 68 STREAMTYPE_WRITE = 1, 69 STREAMTYPE_TRANSFORM = 2 70 } STREAM_TYPE; 71 typedef enum __WIDL_mmstream_generated_name_00000001 { 72 STREAMSTATE_STOP = 0, 73 STREAMSTATE_RUN = 1 74 } STREAM_STATE; 75 typedef enum __WIDL_mmstream_generated_name_00000002 { 76 COMPSTAT_NOUPDATEOK = 0x1, 77 COMPSTAT_WAIT = 0x2, 78 COMPSTAT_ABORT = 0x4 79 } COMPLETION_STATUS_FLAGS; 80 enum { 81 MMSSF_HASCLOCK = 0x1, 82 MMSSF_SUPPORTSEEK = 0x2, 83 MMSSF_ASYNCHRONOUS = 0x4 84 }; 85 86 enum { 87 SSUPDATE_ASYNC = 0x1, 88 SSUPDATE_CONTINUOUS = 0x2 89 }; 90 91 #ifndef __IMultiMediaStream_FWD_DEFINED__ 92 #define __IMultiMediaStream_FWD_DEFINED__ 93 typedef interface IMultiMediaStream IMultiMediaStream; 94 #endif 95 96 #ifndef __IMediaStream_FWD_DEFINED__ 97 #define __IMediaStream_FWD_DEFINED__ 98 typedef interface IMediaStream IMediaStream; 99 #endif 100 101 #ifndef __IStreamSample_FWD_DEFINED__ 102 #define __IStreamSample_FWD_DEFINED__ 103 typedef interface IStreamSample IStreamSample; 104 #endif 105 106 /***************************************************************************** 107 * IMultiMediaStream interface 108 */ 109 #ifndef __IMultiMediaStream_INTERFACE_DEFINED__ 110 #define __IMultiMediaStream_INTERFACE_DEFINED__ 111 112 DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 113 #if defined(__cplusplus) && !defined(CINTERFACE) 114 MIDL_INTERFACE("b502d1bc-9a57-11d0-8fde-00c04fd9189d") 115 IMultiMediaStream : 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 152 typedef 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; 209 interface 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 ***/ 231 static FORCEINLINE HRESULT IMultiMediaStream_QueryInterface(IMultiMediaStream* This,REFIID riid,void **ppvObject) { 232 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 233 } 234 static FORCEINLINE ULONG IMultiMediaStream_AddRef(IMultiMediaStream* This) { 235 return This->lpVtbl->AddRef(This); 236 } 237 static FORCEINLINE ULONG IMultiMediaStream_Release(IMultiMediaStream* This) { 238 return This->lpVtbl->Release(This); 239 } 240 /*** IMultiMediaStream methods ***/ 241 static FORCEINLINE HRESULT IMultiMediaStream_GetInformation(IMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) { 242 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType); 243 } 244 static FORCEINLINE HRESULT IMultiMediaStream_GetMediaStream(IMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 245 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 246 } 247 static FORCEINLINE HRESULT IMultiMediaStream_EnumMediaStreams(IMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) { 248 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 249 } 250 static FORCEINLINE HRESULT IMultiMediaStream_GetState(IMultiMediaStream* This,STREAM_STATE *pCurrentState) { 251 return This->lpVtbl->GetState(This,pCurrentState); 252 } 253 static FORCEINLINE HRESULT IMultiMediaStream_SetState(IMultiMediaStream* This,STREAM_STATE NewState) { 254 return This->lpVtbl->SetState(This,NewState); 255 } 256 static FORCEINLINE HRESULT IMultiMediaStream_GetTime(IMultiMediaStream* This,STREAM_TIME *pCurrentTime) { 257 return This->lpVtbl->GetTime(This,pCurrentTime); 258 } 259 static FORCEINLINE HRESULT IMultiMediaStream_GetDuration(IMultiMediaStream* This,STREAM_TIME *pDuration) { 260 return This->lpVtbl->GetDuration(This,pDuration); 261 } 262 static FORCEINLINE HRESULT IMultiMediaStream_Seek(IMultiMediaStream* This,STREAM_TIME SeekTime) { 263 return This->lpVtbl->Seek(This,SeekTime); 264 } 265 static FORCEINLINE HRESULT IMultiMediaStream_GetEndOfStreamEventHandle(IMultiMediaStream* This,HANDLE *phEOS) { 266 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS); 267 } 268 #endif 269 #endif 270 271 #endif 272 273 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetInformation_Proxy( 274 IMultiMediaStream* This, 275 DWORD *pdwFlags, 276 STREAM_TYPE *pStreamType); 277 void __RPC_STUB IMultiMediaStream_GetInformation_Stub( 278 IRpcStubBuffer* This, 279 IRpcChannelBuffer* pRpcChannelBuffer, 280 PRPC_MESSAGE pRpcMessage, 281 DWORD* pdwStubPhase); 282 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetMediaStream_Proxy( 283 IMultiMediaStream* This, 284 REFMSPID idPurpose, 285 IMediaStream **ppMediaStream); 286 void __RPC_STUB IMultiMediaStream_GetMediaStream_Stub( 287 IRpcStubBuffer* This, 288 IRpcChannelBuffer* pRpcChannelBuffer, 289 PRPC_MESSAGE pRpcMessage, 290 DWORD* pdwStubPhase); 291 HRESULT STDMETHODCALLTYPE IMultiMediaStream_EnumMediaStreams_Proxy( 292 IMultiMediaStream* This, 293 LONG Index, 294 IMediaStream **ppMediaStream); 295 void __RPC_STUB IMultiMediaStream_EnumMediaStreams_Stub( 296 IRpcStubBuffer* This, 297 IRpcChannelBuffer* pRpcChannelBuffer, 298 PRPC_MESSAGE pRpcMessage, 299 DWORD* pdwStubPhase); 300 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetState_Proxy( 301 IMultiMediaStream* This, 302 STREAM_STATE *pCurrentState); 303 void __RPC_STUB IMultiMediaStream_GetState_Stub( 304 IRpcStubBuffer* This, 305 IRpcChannelBuffer* pRpcChannelBuffer, 306 PRPC_MESSAGE pRpcMessage, 307 DWORD* pdwStubPhase); 308 HRESULT STDMETHODCALLTYPE IMultiMediaStream_SetState_Proxy( 309 IMultiMediaStream* This, 310 STREAM_STATE NewState); 311 void __RPC_STUB IMultiMediaStream_SetState_Stub( 312 IRpcStubBuffer* This, 313 IRpcChannelBuffer* pRpcChannelBuffer, 314 PRPC_MESSAGE pRpcMessage, 315 DWORD* pdwStubPhase); 316 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetTime_Proxy( 317 IMultiMediaStream* This, 318 STREAM_TIME *pCurrentTime); 319 void __RPC_STUB IMultiMediaStream_GetTime_Stub( 320 IRpcStubBuffer* This, 321 IRpcChannelBuffer* pRpcChannelBuffer, 322 PRPC_MESSAGE pRpcMessage, 323 DWORD* pdwStubPhase); 324 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetDuration_Proxy( 325 IMultiMediaStream* This, 326 STREAM_TIME *pDuration); 327 void __RPC_STUB IMultiMediaStream_GetDuration_Stub( 328 IRpcStubBuffer* This, 329 IRpcChannelBuffer* pRpcChannelBuffer, 330 PRPC_MESSAGE pRpcMessage, 331 DWORD* pdwStubPhase); 332 HRESULT STDMETHODCALLTYPE IMultiMediaStream_Seek_Proxy( 333 IMultiMediaStream* This, 334 STREAM_TIME SeekTime); 335 void __RPC_STUB IMultiMediaStream_Seek_Stub( 336 IRpcStubBuffer* This, 337 IRpcChannelBuffer* pRpcChannelBuffer, 338 PRPC_MESSAGE pRpcMessage, 339 DWORD* pdwStubPhase); 340 HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetEndOfStreamEventHandle_Proxy( 341 IMultiMediaStream* This, 342 HANDLE *phEOS); 343 void __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 357 DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 358 #if defined(__cplusplus) && !defined(CINTERFACE) 359 MIDL_INTERFACE("b502d1bd-9a57-11d0-8fde-00c04fd9189d") 360 IMediaStream : 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 390 typedef 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; 437 interface 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 ***/ 456 static FORCEINLINE HRESULT IMediaStream_QueryInterface(IMediaStream* This,REFIID riid,void **ppvObject) { 457 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 458 } 459 static FORCEINLINE ULONG IMediaStream_AddRef(IMediaStream* This) { 460 return This->lpVtbl->AddRef(This); 461 } 462 static FORCEINLINE ULONG IMediaStream_Release(IMediaStream* This) { 463 return This->lpVtbl->Release(This); 464 } 465 /*** IMediaStream methods ***/ 466 static FORCEINLINE HRESULT IMediaStream_GetMultiMediaStream(IMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { 467 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 468 } 469 static FORCEINLINE HRESULT IMediaStream_GetInformation(IMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 470 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 471 } 472 static FORCEINLINE HRESULT IMediaStream_SetSameFormat(IMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 473 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 474 } 475 static FORCEINLINE HRESULT IMediaStream_AllocateSample(IMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { 476 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 477 } 478 static FORCEINLINE HRESULT IMediaStream_CreateSharedSample(IMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 479 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 480 } 481 static FORCEINLINE HRESULT IMediaStream_SendEndOfStream(IMediaStream* This,DWORD dwFlags) { 482 return This->lpVtbl->SendEndOfStream(This,dwFlags); 483 } 484 #endif 485 #endif 486 487 #endif 488 489 HRESULT STDMETHODCALLTYPE IMediaStream_GetMultiMediaStream_Proxy( 490 IMediaStream* This, 491 IMultiMediaStream **ppMultiMediaStream); 492 void __RPC_STUB IMediaStream_GetMultiMediaStream_Stub( 493 IRpcStubBuffer* This, 494 IRpcChannelBuffer* pRpcChannelBuffer, 495 PRPC_MESSAGE pRpcMessage, 496 DWORD* pdwStubPhase); 497 HRESULT STDMETHODCALLTYPE IMediaStream_GetInformation_Proxy( 498 IMediaStream* This, 499 MSPID *pPurposeId, 500 STREAM_TYPE *pType); 501 void __RPC_STUB IMediaStream_GetInformation_Stub( 502 IRpcStubBuffer* This, 503 IRpcChannelBuffer* pRpcChannelBuffer, 504 PRPC_MESSAGE pRpcMessage, 505 DWORD* pdwStubPhase); 506 HRESULT STDMETHODCALLTYPE IMediaStream_SetSameFormat_Proxy( 507 IMediaStream* This, 508 IMediaStream *pStreamThatHasDesiredFormat, 509 DWORD dwFlags); 510 void __RPC_STUB IMediaStream_SetSameFormat_Stub( 511 IRpcStubBuffer* This, 512 IRpcChannelBuffer* pRpcChannelBuffer, 513 PRPC_MESSAGE pRpcMessage, 514 DWORD* pdwStubPhase); 515 HRESULT STDMETHODCALLTYPE IMediaStream_AllocateSample_Proxy( 516 IMediaStream* This, 517 DWORD dwFlags, 518 IStreamSample **ppSample); 519 void __RPC_STUB IMediaStream_AllocateSample_Stub( 520 IRpcStubBuffer* This, 521 IRpcChannelBuffer* pRpcChannelBuffer, 522 PRPC_MESSAGE pRpcMessage, 523 DWORD* pdwStubPhase); 524 HRESULT STDMETHODCALLTYPE IMediaStream_CreateSharedSample_Proxy( 525 IMediaStream* This, 526 IStreamSample *pExistingSample, 527 DWORD dwFlags, 528 IStreamSample **ppNewSample); 529 void __RPC_STUB IMediaStream_CreateSharedSample_Stub( 530 IRpcStubBuffer* This, 531 IRpcChannelBuffer* pRpcChannelBuffer, 532 PRPC_MESSAGE pRpcMessage, 533 DWORD* pdwStubPhase); 534 HRESULT STDMETHODCALLTYPE IMediaStream_SendEndOfStream_Proxy( 535 IMediaStream* This, 536 DWORD dwFlags); 537 void __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 551 DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 552 #if defined(__cplusplus) && !defined(CINTERFACE) 553 MIDL_INTERFACE("b502d1be-9a57-11d0-8fde-00c04fd9189d") 554 IStreamSample : 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 583 typedef 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; 628 interface 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 ***/ 646 static FORCEINLINE HRESULT IStreamSample_QueryInterface(IStreamSample* This,REFIID riid,void **ppvObject) { 647 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 648 } 649 static FORCEINLINE ULONG IStreamSample_AddRef(IStreamSample* This) { 650 return This->lpVtbl->AddRef(This); 651 } 652 static FORCEINLINE ULONG IStreamSample_Release(IStreamSample* This) { 653 return This->lpVtbl->Release(This); 654 } 655 /*** IStreamSample methods ***/ 656 static FORCEINLINE HRESULT IStreamSample_GetMediaStream(IStreamSample* This,IMediaStream **ppMediaStream) { 657 return This->lpVtbl->GetMediaStream(This,ppMediaStream); 658 } 659 static 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 } 662 static FORCEINLINE HRESULT IStreamSample_SetSampleTimes(IStreamSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { 663 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); 664 } 665 static 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 } 668 static 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 676 HRESULT STDMETHODCALLTYPE IStreamSample_GetMediaStream_Proxy( 677 IStreamSample* This, 678 IMediaStream **ppMediaStream); 679 void __RPC_STUB IStreamSample_GetMediaStream_Stub( 680 IRpcStubBuffer* This, 681 IRpcChannelBuffer* pRpcChannelBuffer, 682 PRPC_MESSAGE pRpcMessage, 683 DWORD* pdwStubPhase); 684 HRESULT STDMETHODCALLTYPE IStreamSample_GetSampleTimes_Proxy( 685 IStreamSample* This, 686 STREAM_TIME *pStartTime, 687 STREAM_TIME *pEndTime, 688 STREAM_TIME *pCurrentTime); 689 void __RPC_STUB IStreamSample_GetSampleTimes_Stub( 690 IRpcStubBuffer* This, 691 IRpcChannelBuffer* pRpcChannelBuffer, 692 PRPC_MESSAGE pRpcMessage, 693 DWORD* pdwStubPhase); 694 HRESULT STDMETHODCALLTYPE IStreamSample_SetSampleTimes_Proxy( 695 IStreamSample* This, 696 const STREAM_TIME *pStartTime, 697 const STREAM_TIME *pEndTime); 698 void __RPC_STUB IStreamSample_SetSampleTimes_Stub( 699 IRpcStubBuffer* This, 700 IRpcChannelBuffer* pRpcChannelBuffer, 701 PRPC_MESSAGE pRpcMessage, 702 DWORD* pdwStubPhase); 703 HRESULT STDMETHODCALLTYPE IStreamSample_Update_Proxy( 704 IStreamSample* This, 705 DWORD dwFlags, 706 HANDLE hEvent, 707 PAPCFUNC pfnAPC, 708 DWORD dwAPCData); 709 void __RPC_STUB IStreamSample_Update_Stub( 710 IRpcStubBuffer* This, 711 IRpcChannelBuffer* pRpcChannelBuffer, 712 PRPC_MESSAGE pRpcMessage, 713 DWORD* pdwStubPhase); 714 HRESULT STDMETHODCALLTYPE IStreamSample_CompletionStatus_Proxy( 715 IStreamSample* This, 716 DWORD dwFlags, 717 DWORD dwMilliseconds); 718 void __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