1/*** Autogenerated by WIDL 1.5.25 from direct-x/include/amstream.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 __amstream_h__ 16#define __amstream_h__ 17 18/* Forward declarations */ 19 20#ifndef __IDirectShowStream_FWD_DEFINED__ 21#define __IDirectShowStream_FWD_DEFINED__ 22typedef interface IDirectShowStream IDirectShowStream; 23#endif 24 25#ifndef __IAMMultiMediaStream_FWD_DEFINED__ 26#define __IAMMultiMediaStream_FWD_DEFINED__ 27typedef interface IAMMultiMediaStream IAMMultiMediaStream; 28#endif 29 30#ifndef __IAMMediaStream_FWD_DEFINED__ 31#define __IAMMediaStream_FWD_DEFINED__ 32typedef interface IAMMediaStream IAMMediaStream; 33#endif 34 35#ifndef __IMediaStreamFilter_FWD_DEFINED__ 36#define __IMediaStreamFilter_FWD_DEFINED__ 37typedef interface IMediaStreamFilter IMediaStreamFilter; 38#endif 39 40#ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ 41#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ 42typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator; 43#endif 44 45#ifndef __IDirectDrawMediaSample_FWD_DEFINED__ 46#define __IDirectDrawMediaSample_FWD_DEFINED__ 47typedef interface IDirectDrawMediaSample IDirectDrawMediaSample; 48#endif 49 50#ifndef __IAMMediaTypeStream_FWD_DEFINED__ 51#define __IAMMediaTypeStream_FWD_DEFINED__ 52typedef interface IAMMediaTypeStream IAMMediaTypeStream; 53#endif 54 55#ifndef __IAMMediaTypeSample_FWD_DEFINED__ 56#define __IAMMediaTypeSample_FWD_DEFINED__ 57typedef interface IAMMediaTypeSample IAMMediaTypeSample; 58#endif 59 60#ifndef __AMMultiMediaStream_FWD_DEFINED__ 61#define __AMMultiMediaStream_FWD_DEFINED__ 62#ifdef __cplusplus 63typedef class AMMultiMediaStream AMMultiMediaStream; 64#else 65typedef struct AMMultiMediaStream AMMultiMediaStream; 66#endif /* defined __cplusplus */ 67#endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */ 68 69/* Headers for imported files */ 70 71#include <unknwn.h> 72#include <mmstream.h> 73#include <strmif.h> 74 75#ifdef __cplusplus 76extern "C" { 77#endif 78 79#include <ddraw.h> 80#include <mmsystem.h> 81#include <mmstream.h> 82#include <ddstream.h> 83#include <austream.h> 84#if 0 85#ifndef __IDirectDraw_FWD_DEFINED__ 86#define __IDirectDraw_FWD_DEFINED__ 87typedef interface IDirectDraw IDirectDraw; 88#endif 89 90#ifndef __IDirectDrawSurface_FWD_DEFINED__ 91#define __IDirectDrawSurface_FWD_DEFINED__ 92typedef interface IDirectDrawSurface IDirectDrawSurface; 93#endif 94 95#endif 96#ifndef __IAMMultiMediaStream_FWD_DEFINED__ 97#define __IAMMultiMediaStream_FWD_DEFINED__ 98typedef interface IAMMultiMediaStream IAMMultiMediaStream; 99#endif 100 101#ifndef __IAMMediaStream_FWD_DEFINED__ 102#define __IAMMediaStream_FWD_DEFINED__ 103typedef interface IAMMediaStream IAMMediaStream; 104#endif 105 106#ifndef __IMediaStreamFilter_FWD_DEFINED__ 107#define __IMediaStreamFilter_FWD_DEFINED__ 108typedef interface IMediaStreamFilter IMediaStreamFilter; 109#endif 110 111#ifndef __IAMMediaTypeStream_FWD_DEFINED__ 112#define __IAMMediaTypeStream_FWD_DEFINED__ 113typedef interface IAMMediaTypeStream IAMMediaTypeStream; 114#endif 115 116#ifndef __IAMMediaTypeSample_FWD_DEFINED__ 117#define __IAMMediaTypeSample_FWD_DEFINED__ 118typedef interface IAMMediaTypeSample IAMMediaTypeSample; 119#endif 120 121enum { 122 AMMSF_NOGRAPHTHREAD = 0x1 123}; 124 125enum { 126 AMMSF_ADDDEFAULTRENDERER = 0x1, 127 AMMSF_CREATEPEER = 0x2, 128 AMMSF_STOPIFNOSAMPLES = 0x4, 129 AMMSF_NOSTALL = 0x8 130}; 131 132enum { 133 AMMSF_RENDERTYPEMASK = 0x3, 134 AMMSF_RENDERTOEXISTING = 0x0, 135 AMMSF_RENDERALLSTREAMS = 0x1, 136 AMMSF_NORENDER = 0x2, 137 AMMSF_NOCLOCK = 0x4, 138 AMMSF_RUN = 0x8 139}; 140 141typedef enum __WIDL_amstream_generated_name_00000000 { 142 Disabled = 0, 143 ReadData = 1, 144 RenderData = 2 145} OUTPUT_STATE; 146/***************************************************************************** 147 * IDirectShowStream interface 148 */ 149#ifndef __IDirectShowStream_INTERFACE_DEFINED__ 150#define __IDirectShowStream_INTERFACE_DEFINED__ 151 152DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 153#if defined(__cplusplus) && !defined(CINTERFACE) 154MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d") 155IDirectShowStream : public IDispatch 156{ 157 virtual HRESULT STDMETHODCALLTYPE get_FileName( 158 BSTR *pVal) = 0; 159 160 virtual HRESULT STDMETHODCALLTYPE put_FileName( 161 BSTR newVal) = 0; 162 163 virtual HRESULT STDMETHODCALLTYPE get_Video( 164 OUTPUT_STATE *pVal) = 0; 165 166 virtual HRESULT STDMETHODCALLTYPE put_Video( 167 OUTPUT_STATE newVal) = 0; 168 169 virtual HRESULT STDMETHODCALLTYPE get_Audio( 170 OUTPUT_STATE *pVal) = 0; 171 172 virtual HRESULT STDMETHODCALLTYPE put_Audio( 173 OUTPUT_STATE newVal) = 0; 174 175}; 176#ifdef __CRT_UUID_DECL 177__CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 178#endif 179#else 180typedef struct IDirectShowStreamVtbl { 181 BEGIN_INTERFACE 182 183 /*** IUnknown methods ***/ 184 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 185 IDirectShowStream* This, 186 REFIID riid, 187 void **ppvObject); 188 189 ULONG (STDMETHODCALLTYPE *AddRef)( 190 IDirectShowStream* This); 191 192 ULONG (STDMETHODCALLTYPE *Release)( 193 IDirectShowStream* This); 194 195 /*** IDispatch methods ***/ 196 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( 197 IDirectShowStream* This, 198 UINT *pctinfo); 199 200 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( 201 IDirectShowStream* This, 202 UINT iTInfo, 203 LCID lcid, 204 ITypeInfo **ppTInfo); 205 206 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( 207 IDirectShowStream* This, 208 REFIID riid, 209 LPOLESTR *rgszNames, 210 UINT cNames, 211 LCID lcid, 212 DISPID *rgDispId); 213 214 HRESULT (STDMETHODCALLTYPE *Invoke)( 215 IDirectShowStream* This, 216 DISPID dispIdMember, 217 REFIID riid, 218 LCID lcid, 219 WORD wFlags, 220 DISPPARAMS *pDispParams, 221 VARIANT *pVarResult, 222 EXCEPINFO *pExcepInfo, 223 UINT *puArgErr); 224 225 /*** IDirectShowStream methods ***/ 226 HRESULT (STDMETHODCALLTYPE *get_FileName)( 227 IDirectShowStream* This, 228 BSTR *pVal); 229 230 HRESULT (STDMETHODCALLTYPE *put_FileName)( 231 IDirectShowStream* This, 232 BSTR newVal); 233 234 HRESULT (STDMETHODCALLTYPE *get_Video)( 235 IDirectShowStream* This, 236 OUTPUT_STATE *pVal); 237 238 HRESULT (STDMETHODCALLTYPE *put_Video)( 239 IDirectShowStream* This, 240 OUTPUT_STATE newVal); 241 242 HRESULT (STDMETHODCALLTYPE *get_Audio)( 243 IDirectShowStream* This, 244 OUTPUT_STATE *pVal); 245 246 HRESULT (STDMETHODCALLTYPE *put_Audio)( 247 IDirectShowStream* This, 248 OUTPUT_STATE newVal); 249 250 END_INTERFACE 251} IDirectShowStreamVtbl; 252interface IDirectShowStream { 253 CONST_VTBL IDirectShowStreamVtbl* lpVtbl; 254}; 255 256#ifdef COBJMACROS 257#ifndef WIDL_C_INLINE_WRAPPERS 258/*** IUnknown methods ***/ 259#define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 260#define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This) 261#define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This) 262/*** IDispatch methods ***/ 263#define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) 264#define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) 265#define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 266#define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 267/*** IDirectShowStream methods ***/ 268#define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal) 269#define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal) 270#define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal) 271#define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal) 272#define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal) 273#define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal) 274#else 275/*** IUnknown methods ***/ 276static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) { 277 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 278} 279static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) { 280 return This->lpVtbl->AddRef(This); 281} 282static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) { 283 return This->lpVtbl->Release(This); 284} 285/*** IDispatch methods ***/ 286static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) { 287 return This->lpVtbl->GetTypeInfoCount(This,pctinfo); 288} 289static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { 290 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); 291} 292static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { 293 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); 294} 295static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) { 296 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr); 297} 298/*** IDirectShowStream methods ***/ 299static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) { 300 return This->lpVtbl->get_FileName(This,pVal); 301} 302static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) { 303 return This->lpVtbl->put_FileName(This,newVal); 304} 305static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) { 306 return This->lpVtbl->get_Video(This,pVal); 307} 308static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) { 309 return This->lpVtbl->put_Video(This,newVal); 310} 311static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) { 312 return This->lpVtbl->get_Audio(This,pVal); 313} 314static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) { 315 return This->lpVtbl->put_Audio(This,newVal); 316} 317#endif 318#endif 319 320#endif 321 322HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy( 323 IDirectShowStream* This, 324 BSTR *pVal); 325void __RPC_STUB IDirectShowStream_get_FileName_Stub( 326 IRpcStubBuffer* This, 327 IRpcChannelBuffer* pRpcChannelBuffer, 328 PRPC_MESSAGE pRpcMessage, 329 DWORD* pdwStubPhase); 330HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy( 331 IDirectShowStream* This, 332 BSTR newVal); 333void __RPC_STUB IDirectShowStream_put_FileName_Stub( 334 IRpcStubBuffer* This, 335 IRpcChannelBuffer* pRpcChannelBuffer, 336 PRPC_MESSAGE pRpcMessage, 337 DWORD* pdwStubPhase); 338HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy( 339 IDirectShowStream* This, 340 OUTPUT_STATE *pVal); 341void __RPC_STUB IDirectShowStream_get_Video_Stub( 342 IRpcStubBuffer* This, 343 IRpcChannelBuffer* pRpcChannelBuffer, 344 PRPC_MESSAGE pRpcMessage, 345 DWORD* pdwStubPhase); 346HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy( 347 IDirectShowStream* This, 348 OUTPUT_STATE newVal); 349void __RPC_STUB IDirectShowStream_put_Video_Stub( 350 IRpcStubBuffer* This, 351 IRpcChannelBuffer* pRpcChannelBuffer, 352 PRPC_MESSAGE pRpcMessage, 353 DWORD* pdwStubPhase); 354HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy( 355 IDirectShowStream* This, 356 OUTPUT_STATE *pVal); 357void __RPC_STUB IDirectShowStream_get_Audio_Stub( 358 IRpcStubBuffer* This, 359 IRpcChannelBuffer* pRpcChannelBuffer, 360 PRPC_MESSAGE pRpcMessage, 361 DWORD* pdwStubPhase); 362HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy( 363 IDirectShowStream* This, 364 OUTPUT_STATE newVal); 365void __RPC_STUB IDirectShowStream_put_Audio_Stub( 366 IRpcStubBuffer* This, 367 IRpcChannelBuffer* pRpcChannelBuffer, 368 PRPC_MESSAGE pRpcMessage, 369 DWORD* pdwStubPhase); 370 371#endif /* __IDirectShowStream_INTERFACE_DEFINED__ */ 372 373/***************************************************************************** 374 * IAMMultiMediaStream interface 375 */ 376#ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__ 377#define __IAMMultiMediaStream_INTERFACE_DEFINED__ 378 379DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 380#if defined(__cplusplus) && !defined(CINTERFACE) 381MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d") 382IAMMultiMediaStream : public IMultiMediaStream 383{ 384 virtual HRESULT STDMETHODCALLTYPE Initialize( 385 STREAM_TYPE StreamType, 386 DWORD dwFlags, 387 IGraphBuilder *pFilterGraph) = 0; 388 389 virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( 390 IGraphBuilder **ppGraphBuilder) = 0; 391 392 virtual HRESULT STDMETHODCALLTYPE GetFilter( 393 IMediaStreamFilter **ppFilter) = 0; 394 395 virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 396 IUnknown *pStreamObject, 397 const MSPID *PurposeId, 398 DWORD dwFlags, 399 IMediaStream **ppNewStream) = 0; 400 401 virtual HRESULT STDMETHODCALLTYPE OpenFile( 402 LPCWSTR pszFileName, 403 DWORD dwFlags) = 0; 404 405 virtual HRESULT STDMETHODCALLTYPE OpenMoniker( 406 IBindCtx *pCtx, 407 IMoniker *pMoniker, 408 DWORD dwFlags) = 0; 409 410 virtual HRESULT STDMETHODCALLTYPE Render( 411 DWORD dwFlags) = 0; 412 413}; 414#ifdef __CRT_UUID_DECL 415__CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 416#endif 417#else 418typedef struct IAMMultiMediaStreamVtbl { 419 BEGIN_INTERFACE 420 421 /*** IUnknown methods ***/ 422 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 423 IAMMultiMediaStream* This, 424 REFIID riid, 425 void **ppvObject); 426 427 ULONG (STDMETHODCALLTYPE *AddRef)( 428 IAMMultiMediaStream* This); 429 430 ULONG (STDMETHODCALLTYPE *Release)( 431 IAMMultiMediaStream* This); 432 433 /*** IMultiMediaStream methods ***/ 434 HRESULT (STDMETHODCALLTYPE *GetInformation)( 435 IAMMultiMediaStream* This, 436 DWORD *pdwFlags, 437 STREAM_TYPE *pStreamType); 438 439 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 440 IAMMultiMediaStream* This, 441 REFMSPID idPurpose, 442 IMediaStream **ppMediaStream); 443 444 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( 445 IAMMultiMediaStream* This, 446 LONG Index, 447 IMediaStream **ppMediaStream); 448 449 HRESULT (STDMETHODCALLTYPE *GetState)( 450 IAMMultiMediaStream* This, 451 STREAM_STATE *pCurrentState); 452 453 HRESULT (STDMETHODCALLTYPE *SetState)( 454 IAMMultiMediaStream* This, 455 STREAM_STATE NewState); 456 457 HRESULT (STDMETHODCALLTYPE *GetTime)( 458 IAMMultiMediaStream* This, 459 STREAM_TIME *pCurrentTime); 460 461 HRESULT (STDMETHODCALLTYPE *GetDuration)( 462 IAMMultiMediaStream* This, 463 STREAM_TIME *pDuration); 464 465 HRESULT (STDMETHODCALLTYPE *Seek)( 466 IAMMultiMediaStream* This, 467 STREAM_TIME SeekTime); 468 469 HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( 470 IAMMultiMediaStream* This, 471 HANDLE *phEOS); 472 473 /*** IAMMultiMediaStream methods ***/ 474 HRESULT (STDMETHODCALLTYPE *Initialize)( 475 IAMMultiMediaStream* This, 476 STREAM_TYPE StreamType, 477 DWORD dwFlags, 478 IGraphBuilder *pFilterGraph); 479 480 HRESULT (STDMETHODCALLTYPE *GetFilterGraph)( 481 IAMMultiMediaStream* This, 482 IGraphBuilder **ppGraphBuilder); 483 484 HRESULT (STDMETHODCALLTYPE *GetFilter)( 485 IAMMultiMediaStream* This, 486 IMediaStreamFilter **ppFilter); 487 488 HRESULT (STDMETHODCALLTYPE *AddMediaStream)( 489 IAMMultiMediaStream* This, 490 IUnknown *pStreamObject, 491 const MSPID *PurposeId, 492 DWORD dwFlags, 493 IMediaStream **ppNewStream); 494 495 HRESULT (STDMETHODCALLTYPE *OpenFile)( 496 IAMMultiMediaStream* This, 497 LPCWSTR pszFileName, 498 DWORD dwFlags); 499 500 HRESULT (STDMETHODCALLTYPE *OpenMoniker)( 501 IAMMultiMediaStream* This, 502 IBindCtx *pCtx, 503 IMoniker *pMoniker, 504 DWORD dwFlags); 505 506 HRESULT (STDMETHODCALLTYPE *Render)( 507 IAMMultiMediaStream* This, 508 DWORD dwFlags); 509 510 END_INTERFACE 511} IAMMultiMediaStreamVtbl; 512interface IAMMultiMediaStream { 513 CONST_VTBL IAMMultiMediaStreamVtbl* lpVtbl; 514}; 515 516#ifdef COBJMACROS 517#ifndef WIDL_C_INLINE_WRAPPERS 518/*** IUnknown methods ***/ 519#define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 520#define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 521#define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This) 522/*** IMultiMediaStream methods ***/ 523#define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType) 524#define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) 525#define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) 526#define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState) 527#define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState) 528#define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime) 529#define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) 530#define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime) 531#define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS) 532/*** IAMMultiMediaStream methods ***/ 533#define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph) 534#define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder) 535#define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter) 536#define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) 537#define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags) 538#define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags) 539#define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags) 540#else 541/*** IUnknown methods ***/ 542static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) { 543 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 544} 545static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) { 546 return This->lpVtbl->AddRef(This); 547} 548static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) { 549 return This->lpVtbl->Release(This); 550} 551/*** IMultiMediaStream methods ***/ 552static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) { 553 return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType); 554} 555static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 556 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 557} 558static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) { 559 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 560} 561static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) { 562 return This->lpVtbl->GetState(This,pCurrentState); 563} 564static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) { 565 return This->lpVtbl->SetState(This,NewState); 566} 567static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) { 568 return This->lpVtbl->GetTime(This,pCurrentTime); 569} 570static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) { 571 return This->lpVtbl->GetDuration(This,pDuration); 572} 573static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) { 574 return This->lpVtbl->Seek(This,SeekTime); 575} 576static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) { 577 return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS); 578} 579/*** IAMMultiMediaStream methods ***/ 580static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) { 581 return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph); 582} 583static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) { 584 return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder); 585} 586static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) { 587 return This->lpVtbl->GetFilter(This,ppFilter); 588} 589static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) { 590 return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream); 591} 592static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) { 593 return This->lpVtbl->OpenFile(This,pszFileName,dwFlags); 594} 595static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) { 596 return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags); 597} 598static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) { 599 return This->lpVtbl->Render(This,dwFlags); 600} 601#endif 602#endif 603 604#endif 605 606HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Initialize_Proxy( 607 IAMMultiMediaStream* This, 608 STREAM_TYPE StreamType, 609 DWORD dwFlags, 610 IGraphBuilder *pFilterGraph); 611void __RPC_STUB IAMMultiMediaStream_Initialize_Stub( 612 IRpcStubBuffer* This, 613 IRpcChannelBuffer* pRpcChannelBuffer, 614 PRPC_MESSAGE pRpcMessage, 615 DWORD* pdwStubPhase); 616HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy( 617 IAMMultiMediaStream* This, 618 IGraphBuilder **ppGraphBuilder); 619void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub( 620 IRpcStubBuffer* This, 621 IRpcChannelBuffer* pRpcChannelBuffer, 622 PRPC_MESSAGE pRpcMessage, 623 DWORD* pdwStubPhase); 624HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy( 625 IAMMultiMediaStream* This, 626 IMediaStreamFilter **ppFilter); 627void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub( 628 IRpcStubBuffer* This, 629 IRpcChannelBuffer* pRpcChannelBuffer, 630 PRPC_MESSAGE pRpcMessage, 631 DWORD* pdwStubPhase); 632HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_AddMediaStream_Proxy( 633 IAMMultiMediaStream* This, 634 IUnknown *pStreamObject, 635 const MSPID *PurposeId, 636 DWORD dwFlags, 637 IMediaStream **ppNewStream); 638void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub( 639 IRpcStubBuffer* This, 640 IRpcChannelBuffer* pRpcChannelBuffer, 641 PRPC_MESSAGE pRpcMessage, 642 DWORD* pdwStubPhase); 643HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenFile_Proxy( 644 IAMMultiMediaStream* This, 645 LPCWSTR pszFileName, 646 DWORD dwFlags); 647void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub( 648 IRpcStubBuffer* This, 649 IRpcChannelBuffer* pRpcChannelBuffer, 650 PRPC_MESSAGE pRpcMessage, 651 DWORD* pdwStubPhase); 652HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_OpenMoniker_Proxy( 653 IAMMultiMediaStream* This, 654 IBindCtx *pCtx, 655 IMoniker *pMoniker, 656 DWORD dwFlags); 657void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub( 658 IRpcStubBuffer* This, 659 IRpcChannelBuffer* pRpcChannelBuffer, 660 PRPC_MESSAGE pRpcMessage, 661 DWORD* pdwStubPhase); 662HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_Render_Proxy( 663 IAMMultiMediaStream* This, 664 DWORD dwFlags); 665void __RPC_STUB IAMMultiMediaStream_Render_Stub( 666 IRpcStubBuffer* This, 667 IRpcChannelBuffer* pRpcChannelBuffer, 668 PRPC_MESSAGE pRpcMessage, 669 DWORD* pdwStubPhase); 670 671#endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */ 672 673/***************************************************************************** 674 * IAMMediaStream interface 675 */ 676#ifndef __IAMMediaStream_INTERFACE_DEFINED__ 677#define __IAMMediaStream_INTERFACE_DEFINED__ 678 679DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 680#if defined(__cplusplus) && !defined(CINTERFACE) 681MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d") 682IAMMediaStream : public IMediaStream 683{ 684 virtual HRESULT STDMETHODCALLTYPE Initialize( 685 IUnknown *pSourceObject, 686 DWORD dwFlags, 687 REFMSPID PurposeId, 688 const STREAM_TYPE StreamType) = 0; 689 690 virtual HRESULT STDMETHODCALLTYPE SetState( 691 FILTER_STATE State) = 0; 692 693 virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( 694 IAMMultiMediaStream *pAMMultiMediaStream) = 0; 695 696 virtual HRESULT STDMETHODCALLTYPE JoinFilter( 697 IMediaStreamFilter *pMediaStreamFilter) = 0; 698 699 virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 700 IFilterGraph *pFilterGraph) = 0; 701 702}; 703#ifdef __CRT_UUID_DECL 704__CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 705#endif 706#else 707typedef struct IAMMediaStreamVtbl { 708 BEGIN_INTERFACE 709 710 /*** IUnknown methods ***/ 711 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 712 IAMMediaStream* This, 713 REFIID riid, 714 void **ppvObject); 715 716 ULONG (STDMETHODCALLTYPE *AddRef)( 717 IAMMediaStream* This); 718 719 ULONG (STDMETHODCALLTYPE *Release)( 720 IAMMediaStream* This); 721 722 /*** IMediaStream methods ***/ 723 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( 724 IAMMediaStream* This, 725 IMultiMediaStream **ppMultiMediaStream); 726 727 HRESULT (STDMETHODCALLTYPE *GetInformation)( 728 IAMMediaStream* This, 729 MSPID *pPurposeId, 730 STREAM_TYPE *pType); 731 732 HRESULT (STDMETHODCALLTYPE *SetSameFormat)( 733 IAMMediaStream* This, 734 IMediaStream *pStreamThatHasDesiredFormat, 735 DWORD dwFlags); 736 737 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 738 IAMMediaStream* This, 739 DWORD dwFlags, 740 IStreamSample **ppSample); 741 742 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( 743 IAMMediaStream* This, 744 IStreamSample *pExistingSample, 745 DWORD dwFlags, 746 IStreamSample **ppNewSample); 747 748 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( 749 IAMMediaStream* This, 750 DWORD dwFlags); 751 752 /*** IAMMediaStream methods ***/ 753 HRESULT (STDMETHODCALLTYPE *Initialize)( 754 IAMMediaStream* This, 755 IUnknown *pSourceObject, 756 DWORD dwFlags, 757 REFMSPID PurposeId, 758 const STREAM_TYPE StreamType); 759 760 HRESULT (STDMETHODCALLTYPE *SetState)( 761 IAMMediaStream* This, 762 FILTER_STATE State); 763 764 HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)( 765 IAMMediaStream* This, 766 IAMMultiMediaStream *pAMMultiMediaStream); 767 768 HRESULT (STDMETHODCALLTYPE *JoinFilter)( 769 IAMMediaStream* This, 770 IMediaStreamFilter *pMediaStreamFilter); 771 772 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 773 IAMMediaStream* This, 774 IFilterGraph *pFilterGraph); 775 776 END_INTERFACE 777} IAMMediaStreamVtbl; 778interface IAMMediaStream { 779 CONST_VTBL IAMMediaStreamVtbl* lpVtbl; 780}; 781 782#ifdef COBJMACROS 783#ifndef WIDL_C_INLINE_WRAPPERS 784/*** IUnknown methods ***/ 785#define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 786#define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) 787#define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This) 788/*** IMediaStream methods ***/ 789#define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) 790#define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) 791#define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) 792#define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) 793#define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) 794#define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) 795/*** IAMMediaStream methods ***/ 796#define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) 797#define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State) 798#define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream) 799#define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter) 800#define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph) 801#else 802/*** IUnknown methods ***/ 803static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) { 804 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 805} 806static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) { 807 return This->lpVtbl->AddRef(This); 808} 809static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) { 810 return This->lpVtbl->Release(This); 811} 812/*** IMediaStream methods ***/ 813static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) { 814 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 815} 816static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 817 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 818} 819static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 820 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 821} 822static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) { 823 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 824} 825static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 826 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 827} 828static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) { 829 return This->lpVtbl->SendEndOfStream(This,dwFlags); 830} 831/*** IAMMediaStream methods ***/ 832static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) { 833 return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType); 834} 835static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) { 836 return This->lpVtbl->SetState(This,State); 837} 838static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) { 839 return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream); 840} 841static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) { 842 return This->lpVtbl->JoinFilter(This,pMediaStreamFilter); 843} 844static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) { 845 return This->lpVtbl->JoinFilterGraph(This,pFilterGraph); 846} 847#endif 848#endif 849 850#endif 851 852HRESULT STDMETHODCALLTYPE IAMMediaStream_Initialize_Proxy( 853 IAMMediaStream* This, 854 IUnknown *pSourceObject, 855 DWORD dwFlags, 856 REFMSPID PurposeId, 857 const STREAM_TYPE StreamType); 858void __RPC_STUB IAMMediaStream_Initialize_Stub( 859 IRpcStubBuffer* This, 860 IRpcChannelBuffer* pRpcChannelBuffer, 861 PRPC_MESSAGE pRpcMessage, 862 DWORD* pdwStubPhase); 863HRESULT STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy( 864 IAMMediaStream* This, 865 FILTER_STATE State); 866void __RPC_STUB IAMMediaStream_SetState_Stub( 867 IRpcStubBuffer* This, 868 IRpcChannelBuffer* pRpcChannelBuffer, 869 PRPC_MESSAGE pRpcMessage, 870 DWORD* pdwStubPhase); 871HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy( 872 IAMMediaStream* This, 873 IAMMultiMediaStream *pAMMultiMediaStream); 874void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub( 875 IRpcStubBuffer* This, 876 IRpcChannelBuffer* pRpcChannelBuffer, 877 PRPC_MESSAGE pRpcMessage, 878 DWORD* pdwStubPhase); 879HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy( 880 IAMMediaStream* This, 881 IMediaStreamFilter *pMediaStreamFilter); 882void __RPC_STUB IAMMediaStream_JoinFilter_Stub( 883 IRpcStubBuffer* This, 884 IRpcChannelBuffer* pRpcChannelBuffer, 885 PRPC_MESSAGE pRpcMessage, 886 DWORD* pdwStubPhase); 887HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilterGraph_Proxy( 888 IAMMediaStream* This, 889 IFilterGraph *pFilterGraph); 890void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub( 891 IRpcStubBuffer* This, 892 IRpcChannelBuffer* pRpcChannelBuffer, 893 PRPC_MESSAGE pRpcMessage, 894 DWORD* pdwStubPhase); 895 896#endif /* __IAMMediaStream_INTERFACE_DEFINED__ */ 897 898/***************************************************************************** 899 * IMediaStreamFilter interface 900 */ 901#ifndef __IMediaStreamFilter_INTERFACE_DEFINED__ 902#define __IMediaStreamFilter_INTERFACE_DEFINED__ 903 904DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 905#if defined(__cplusplus) && !defined(CINTERFACE) 906MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d") 907IMediaStreamFilter : public IBaseFilter 908{ 909 virtual HRESULT STDMETHODCALLTYPE AddMediaStream( 910 IAMMediaStream *pAMMediaStream) = 0; 911 912 virtual HRESULT STDMETHODCALLTYPE GetMediaStream( 913 REFMSPID idPurpose, 914 IMediaStream **ppMediaStream) = 0; 915 916 virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( 917 LONG Index, 918 IMediaStream **ppMediaStream) = 0; 919 920 virtual HRESULT STDMETHODCALLTYPE SupportSeeking( 921 WINBOOL bRenderer) = 0; 922 923 virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( 924 REFERENCE_TIME *pTime) = 0; 925 926 virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( 927 REFERENCE_TIME *pCurrentStreamTime) = 0; 928 929 virtual HRESULT STDMETHODCALLTYPE WaitUntil( 930 REFERENCE_TIME WaitStreamTime) = 0; 931 932 virtual HRESULT STDMETHODCALLTYPE Flush( 933 WINBOOL bCancelEOS) = 0; 934 935 virtual HRESULT STDMETHODCALLTYPE EndOfStream( 936 ) = 0; 937 938}; 939#ifdef __CRT_UUID_DECL 940__CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 941#endif 942#else 943typedef struct IMediaStreamFilterVtbl { 944 BEGIN_INTERFACE 945 946 /*** IUnknown methods ***/ 947 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 948 IMediaStreamFilter* This, 949 REFIID riid, 950 void **ppvObject); 951 952 ULONG (STDMETHODCALLTYPE *AddRef)( 953 IMediaStreamFilter* This); 954 955 ULONG (STDMETHODCALLTYPE *Release)( 956 IMediaStreamFilter* This); 957 958 /*** IPersist methods ***/ 959 HRESULT (STDMETHODCALLTYPE *GetClassID)( 960 IMediaStreamFilter* This, 961 CLSID *pClassID); 962 963 /*** IMediaFilter methods ***/ 964 HRESULT (STDMETHODCALLTYPE *Stop)( 965 IMediaStreamFilter* This); 966 967 HRESULT (STDMETHODCALLTYPE *Pause)( 968 IMediaStreamFilter* This); 969 970 HRESULT (STDMETHODCALLTYPE *Run)( 971 IMediaStreamFilter* This, 972 REFERENCE_TIME tStart); 973 974 HRESULT (STDMETHODCALLTYPE *GetState)( 975 IMediaStreamFilter* This, 976 DWORD dwMilliSecsTimeout, 977 FILTER_STATE *State); 978 979 HRESULT (STDMETHODCALLTYPE *SetSyncSource)( 980 IMediaStreamFilter* This, 981 IReferenceClock *pClock); 982 983 HRESULT (STDMETHODCALLTYPE *GetSyncSource)( 984 IMediaStreamFilter* This, 985 IReferenceClock **pClock); 986 987 /*** IBaseFilter methods ***/ 988 HRESULT (STDMETHODCALLTYPE *EnumPins)( 989 IMediaStreamFilter* This, 990 IEnumPins **ppEnum); 991 992 HRESULT (STDMETHODCALLTYPE *FindPin)( 993 IMediaStreamFilter* This, 994 LPCWSTR Id, 995 IPin **ppPin); 996 997 HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( 998 IMediaStreamFilter* This, 999 FILTER_INFO *pInfo); 1000 1001 HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( 1002 IMediaStreamFilter* This, 1003 IFilterGraph *pGraph, 1004 LPCWSTR pName); 1005 1006 HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( 1007 IMediaStreamFilter* This, 1008 LPWSTR *pVendorInfo); 1009 1010 /*** IMediaStreamFilter methods ***/ 1011 HRESULT (STDMETHODCALLTYPE *AddMediaStream)( 1012 IMediaStreamFilter* This, 1013 IAMMediaStream *pAMMediaStream); 1014 1015 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 1016 IMediaStreamFilter* This, 1017 REFMSPID idPurpose, 1018 IMediaStream **ppMediaStream); 1019 1020 HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( 1021 IMediaStreamFilter* This, 1022 LONG Index, 1023 IMediaStream **ppMediaStream); 1024 1025 HRESULT (STDMETHODCALLTYPE *SupportSeeking)( 1026 IMediaStreamFilter* This, 1027 WINBOOL bRenderer); 1028 1029 HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)( 1030 IMediaStreamFilter* This, 1031 REFERENCE_TIME *pTime); 1032 1033 HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)( 1034 IMediaStreamFilter* This, 1035 REFERENCE_TIME *pCurrentStreamTime); 1036 1037 HRESULT (STDMETHODCALLTYPE *WaitUntil)( 1038 IMediaStreamFilter* This, 1039 REFERENCE_TIME WaitStreamTime); 1040 1041 HRESULT (STDMETHODCALLTYPE *Flush)( 1042 IMediaStreamFilter* This, 1043 WINBOOL bCancelEOS); 1044 1045 HRESULT (STDMETHODCALLTYPE *EndOfStream)( 1046 IMediaStreamFilter* This); 1047 1048 END_INTERFACE 1049} IMediaStreamFilterVtbl; 1050interface IMediaStreamFilter { 1051 CONST_VTBL IMediaStreamFilterVtbl* lpVtbl; 1052}; 1053 1054#ifdef COBJMACROS 1055#ifndef WIDL_C_INLINE_WRAPPERS 1056/*** IUnknown methods ***/ 1057#define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1058#define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This) 1059#define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This) 1060/*** IPersist methods ***/ 1061#define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) 1062/*** IMediaFilter methods ***/ 1063#define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This) 1064#define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This) 1065#define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart) 1066#define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State) 1067#define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock) 1068#define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock) 1069/*** IBaseFilter methods ***/ 1070#define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum) 1071#define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin) 1072#define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo) 1073#define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName) 1074#define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo) 1075/*** IMediaStreamFilter methods ***/ 1076#define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream) 1077#define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) 1078#define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) 1079#define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer) 1080#define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime) 1081#define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime) 1082#define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime) 1083#define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS) 1084#define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This) 1085#else 1086/*** IUnknown methods ***/ 1087static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) { 1088 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1089} 1090static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) { 1091 return This->lpVtbl->AddRef(This); 1092} 1093static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) { 1094 return This->lpVtbl->Release(This); 1095} 1096/*** IPersist methods ***/ 1097static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) { 1098 return This->lpVtbl->GetClassID(This,pClassID); 1099} 1100/*** IMediaFilter methods ***/ 1101static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) { 1102 return This->lpVtbl->Stop(This); 1103} 1104static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) { 1105 return This->lpVtbl->Pause(This); 1106} 1107static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) { 1108 return This->lpVtbl->Run(This,tStart); 1109} 1110static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) { 1111 return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State); 1112} 1113static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) { 1114 return This->lpVtbl->SetSyncSource(This,pClock); 1115} 1116static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) { 1117 return This->lpVtbl->GetSyncSource(This,pClock); 1118} 1119/*** IBaseFilter methods ***/ 1120static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) { 1121 return This->lpVtbl->EnumPins(This,ppEnum); 1122} 1123static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) { 1124 return This->lpVtbl->FindPin(This,Id,ppPin); 1125} 1126static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) { 1127 return This->lpVtbl->QueryFilterInfo(This,pInfo); 1128} 1129static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) { 1130 return This->lpVtbl->JoinFilterGraph(This,pGraph,pName); 1131} 1132static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) { 1133 return This->lpVtbl->QueryVendorInfo(This,pVendorInfo); 1134} 1135/*** IMediaStreamFilter methods ***/ 1136static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) { 1137 return This->lpVtbl->AddMediaStream(This,pAMMediaStream); 1138} 1139static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) { 1140 return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream); 1141} 1142static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) { 1143 return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream); 1144} 1145static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) { 1146 return This->lpVtbl->SupportSeeking(This,bRenderer); 1147} 1148static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) { 1149 return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime); 1150} 1151static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) { 1152 return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime); 1153} 1154static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) { 1155 return This->lpVtbl->WaitUntil(This,WaitStreamTime); 1156} 1157static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) { 1158 return This->lpVtbl->Flush(This,bCancelEOS); 1159} 1160static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) { 1161 return This->lpVtbl->EndOfStream(This); 1162} 1163#endif 1164#endif 1165 1166#endif 1167 1168HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy( 1169 IMediaStreamFilter* This, 1170 IAMMediaStream *pAMMediaStream); 1171void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub( 1172 IRpcStubBuffer* This, 1173 IRpcChannelBuffer* pRpcChannelBuffer, 1174 PRPC_MESSAGE pRpcMessage, 1175 DWORD* pdwStubPhase); 1176HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetMediaStream_Proxy( 1177 IMediaStreamFilter* This, 1178 REFMSPID idPurpose, 1179 IMediaStream **ppMediaStream); 1180void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub( 1181 IRpcStubBuffer* This, 1182 IRpcChannelBuffer* pRpcChannelBuffer, 1183 PRPC_MESSAGE pRpcMessage, 1184 DWORD* pdwStubPhase); 1185HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EnumMediaStreams_Proxy( 1186 IMediaStreamFilter* This, 1187 LONG Index, 1188 IMediaStream **ppMediaStream); 1189void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub( 1190 IRpcStubBuffer* This, 1191 IRpcChannelBuffer* pRpcChannelBuffer, 1192 PRPC_MESSAGE pRpcMessage, 1193 DWORD* pdwStubPhase); 1194HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy( 1195 IMediaStreamFilter* This, 1196 WINBOOL bRenderer); 1197void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub( 1198 IRpcStubBuffer* This, 1199 IRpcChannelBuffer* pRpcChannelBuffer, 1200 PRPC_MESSAGE pRpcMessage, 1201 DWORD* pdwStubPhase); 1202HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy( 1203 IMediaStreamFilter* This, 1204 REFERENCE_TIME *pTime); 1205void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub( 1206 IRpcStubBuffer* This, 1207 IRpcChannelBuffer* pRpcChannelBuffer, 1208 PRPC_MESSAGE pRpcMessage, 1209 DWORD* pdwStubPhase); 1210HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy( 1211 IMediaStreamFilter* This, 1212 REFERENCE_TIME *pCurrentStreamTime); 1213void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub( 1214 IRpcStubBuffer* This, 1215 IRpcChannelBuffer* pRpcChannelBuffer, 1216 PRPC_MESSAGE pRpcMessage, 1217 DWORD* pdwStubPhase); 1218HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy( 1219 IMediaStreamFilter* This, 1220 REFERENCE_TIME WaitStreamTime); 1221void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub( 1222 IRpcStubBuffer* This, 1223 IRpcChannelBuffer* pRpcChannelBuffer, 1224 PRPC_MESSAGE pRpcMessage, 1225 DWORD* pdwStubPhase); 1226HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy( 1227 IMediaStreamFilter* This, 1228 WINBOOL bCancelEOS); 1229void __RPC_STUB IMediaStreamFilter_Flush_Stub( 1230 IRpcStubBuffer* This, 1231 IRpcChannelBuffer* pRpcChannelBuffer, 1232 PRPC_MESSAGE pRpcMessage, 1233 DWORD* pdwStubPhase); 1234HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy( 1235 IMediaStreamFilter* This); 1236void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub( 1237 IRpcStubBuffer* This, 1238 IRpcChannelBuffer* pRpcChannelBuffer, 1239 PRPC_MESSAGE pRpcMessage, 1240 DWORD* pdwStubPhase); 1241 1242#endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */ 1243 1244/***************************************************************************** 1245 * IDirectDrawMediaSampleAllocator interface 1246 */ 1247#ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ 1248#define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ 1249 1250DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1251#if defined(__cplusplus) && !defined(CINTERFACE) 1252MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d") 1253IDirectDrawMediaSampleAllocator : public IUnknown 1254{ 1255 virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( 1256 IDirectDraw **ppDirectDraw) = 0; 1257 1258}; 1259#ifdef __CRT_UUID_DECL 1260__CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1261#endif 1262#else 1263typedef struct IDirectDrawMediaSampleAllocatorVtbl { 1264 BEGIN_INTERFACE 1265 1266 /*** IUnknown methods ***/ 1267 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1268 IDirectDrawMediaSampleAllocator* This, 1269 REFIID riid, 1270 void **ppvObject); 1271 1272 ULONG (STDMETHODCALLTYPE *AddRef)( 1273 IDirectDrawMediaSampleAllocator* This); 1274 1275 ULONG (STDMETHODCALLTYPE *Release)( 1276 IDirectDrawMediaSampleAllocator* This); 1277 1278 /*** IDirectDrawMediaSampleAllocator methods ***/ 1279 HRESULT (STDMETHODCALLTYPE *GetDirectDraw)( 1280 IDirectDrawMediaSampleAllocator* This, 1281 IDirectDraw **ppDirectDraw); 1282 1283 END_INTERFACE 1284} IDirectDrawMediaSampleAllocatorVtbl; 1285interface IDirectDrawMediaSampleAllocator { 1286 CONST_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl; 1287}; 1288 1289#ifdef COBJMACROS 1290#ifndef WIDL_C_INLINE_WRAPPERS 1291/*** IUnknown methods ***/ 1292#define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1293#define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This) 1294#define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This) 1295/*** IDirectDrawMediaSampleAllocator methods ***/ 1296#define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw) 1297#else 1298/*** IUnknown methods ***/ 1299static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) { 1300 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1301} 1302static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) { 1303 return This->lpVtbl->AddRef(This); 1304} 1305static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) { 1306 return This->lpVtbl->Release(This); 1307} 1308/*** IDirectDrawMediaSampleAllocator methods ***/ 1309static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) { 1310 return This->lpVtbl->GetDirectDraw(This,ppDirectDraw); 1311} 1312#endif 1313#endif 1314 1315#endif 1316 1317HRESULT STDMETHODCALLTYPE IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy( 1318 IDirectDrawMediaSampleAllocator* This, 1319 IDirectDraw **ppDirectDraw); 1320void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub( 1321 IRpcStubBuffer* This, 1322 IRpcChannelBuffer* pRpcChannelBuffer, 1323 PRPC_MESSAGE pRpcMessage, 1324 DWORD* pdwStubPhase); 1325 1326#endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */ 1327 1328/***************************************************************************** 1329 * IDirectDrawMediaSample interface 1330 */ 1331#ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__ 1332#define __IDirectDrawMediaSample_INTERFACE_DEFINED__ 1333 1334DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1335#if defined(__cplusplus) && !defined(CINTERFACE) 1336MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d") 1337IDirectDrawMediaSample : public IUnknown 1338{ 1339 virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( 1340 IDirectDrawSurface **ppDirectDrawSurface, 1341 RECT *pRect) = 0; 1342 1343 virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( 1344 ) = 0; 1345 1346}; 1347#ifdef __CRT_UUID_DECL 1348__CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1349#endif 1350#else 1351typedef struct IDirectDrawMediaSampleVtbl { 1352 BEGIN_INTERFACE 1353 1354 /*** IUnknown methods ***/ 1355 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1356 IDirectDrawMediaSample* This, 1357 REFIID riid, 1358 void **ppvObject); 1359 1360 ULONG (STDMETHODCALLTYPE *AddRef)( 1361 IDirectDrawMediaSample* This); 1362 1363 ULONG (STDMETHODCALLTYPE *Release)( 1364 IDirectDrawMediaSample* This); 1365 1366 /*** IDirectDrawMediaSample methods ***/ 1367 HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)( 1368 IDirectDrawMediaSample* This, 1369 IDirectDrawSurface **ppDirectDrawSurface, 1370 RECT *pRect); 1371 1372 HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)( 1373 IDirectDrawMediaSample* This); 1374 1375 END_INTERFACE 1376} IDirectDrawMediaSampleVtbl; 1377interface IDirectDrawMediaSample { 1378 CONST_VTBL IDirectDrawMediaSampleVtbl* lpVtbl; 1379}; 1380 1381#ifdef COBJMACROS 1382#ifndef WIDL_C_INLINE_WRAPPERS 1383/*** IUnknown methods ***/ 1384#define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1385#define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1386#define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This) 1387/*** IDirectDrawMediaSample methods ***/ 1388#define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) 1389#define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This) 1390#else 1391/*** IUnknown methods ***/ 1392static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) { 1393 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1394} 1395static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) { 1396 return This->lpVtbl->AddRef(This); 1397} 1398static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) { 1399 return This->lpVtbl->Release(This); 1400} 1401/*** IDirectDrawMediaSample methods ***/ 1402static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) { 1403 return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect); 1404} 1405static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) { 1406 return This->lpVtbl->LockMediaSamplePointer(This); 1407} 1408#endif 1409#endif 1410 1411#endif 1412 1413HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy( 1414 IDirectDrawMediaSample* This, 1415 IDirectDrawSurface **ppDirectDrawSurface, 1416 RECT *pRect); 1417void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub( 1418 IRpcStubBuffer* This, 1419 IRpcChannelBuffer* pRpcChannelBuffer, 1420 PRPC_MESSAGE pRpcMessage, 1421 DWORD* pdwStubPhase); 1422HRESULT STDMETHODCALLTYPE IDirectDrawMediaSample_LockMediaSamplePointer_Proxy( 1423 IDirectDrawMediaSample* This); 1424void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub( 1425 IRpcStubBuffer* This, 1426 IRpcChannelBuffer* pRpcChannelBuffer, 1427 PRPC_MESSAGE pRpcMessage, 1428 DWORD* pdwStubPhase); 1429 1430#endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */ 1431 1432/***************************************************************************** 1433 * IAMMediaTypeStream interface 1434 */ 1435#ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__ 1436#define __IAMMediaTypeStream_INTERFACE_DEFINED__ 1437 1438DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1439#if defined(__cplusplus) && !defined(CINTERFACE) 1440MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d") 1441IAMMediaTypeStream : public IMediaStream 1442{ 1443 virtual HRESULT STDMETHODCALLTYPE GetFormat( 1444 AM_MEDIA_TYPE *pMediaType, 1445 DWORD dwFlags) = 0; 1446 1447 virtual HRESULT STDMETHODCALLTYPE SetFormat( 1448 AM_MEDIA_TYPE *pMediaType, 1449 DWORD dwFlags) = 0; 1450 1451 virtual HRESULT STDMETHODCALLTYPE CreateSample( 1452 LONG lSampleSize, 1453 BYTE *pbBuffer, 1454 DWORD dwFlags, 1455 IUnknown *pUnkOuter, 1456 IAMMediaTypeSample **ppAMMediaTypeSample) = 0; 1457 1458 virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( 1459 ALLOCATOR_PROPERTIES *pProps) = 0; 1460 1461 virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( 1462 ALLOCATOR_PROPERTIES *pProps) = 0; 1463 1464}; 1465#ifdef __CRT_UUID_DECL 1466__CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1467#endif 1468#else 1469typedef struct IAMMediaTypeStreamVtbl { 1470 BEGIN_INTERFACE 1471 1472 /*** IUnknown methods ***/ 1473 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1474 IAMMediaTypeStream* This, 1475 REFIID riid, 1476 void **ppvObject); 1477 1478 ULONG (STDMETHODCALLTYPE *AddRef)( 1479 IAMMediaTypeStream* This); 1480 1481 ULONG (STDMETHODCALLTYPE *Release)( 1482 IAMMediaTypeStream* This); 1483 1484 /*** IMediaStream methods ***/ 1485 HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( 1486 IAMMediaTypeStream* This, 1487 IMultiMediaStream **ppMultiMediaStream); 1488 1489 HRESULT (STDMETHODCALLTYPE *GetInformation)( 1490 IAMMediaTypeStream* This, 1491 MSPID *pPurposeId, 1492 STREAM_TYPE *pType); 1493 1494 HRESULT (STDMETHODCALLTYPE *SetSameFormat)( 1495 IAMMediaTypeStream* This, 1496 IMediaStream *pStreamThatHasDesiredFormat, 1497 DWORD dwFlags); 1498 1499 HRESULT (STDMETHODCALLTYPE *AllocateSample)( 1500 IAMMediaTypeStream* This, 1501 DWORD dwFlags, 1502 IStreamSample **ppSample); 1503 1504 HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( 1505 IAMMediaTypeStream* This, 1506 IStreamSample *pExistingSample, 1507 DWORD dwFlags, 1508 IStreamSample **ppNewSample); 1509 1510 HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( 1511 IAMMediaTypeStream* This, 1512 DWORD dwFlags); 1513 1514 /*** IAMMediaTypeStream methods ***/ 1515 HRESULT (STDMETHODCALLTYPE *GetFormat)( 1516 IAMMediaTypeStream* This, 1517 AM_MEDIA_TYPE *pMediaType, 1518 DWORD dwFlags); 1519 1520 HRESULT (STDMETHODCALLTYPE *SetFormat)( 1521 IAMMediaTypeStream* This, 1522 AM_MEDIA_TYPE *pMediaType, 1523 DWORD dwFlags); 1524 1525 HRESULT (STDMETHODCALLTYPE *CreateSample)( 1526 IAMMediaTypeStream* This, 1527 LONG lSampleSize, 1528 BYTE *pbBuffer, 1529 DWORD dwFlags, 1530 IUnknown *pUnkOuter, 1531 IAMMediaTypeSample **ppAMMediaTypeSample); 1532 1533 HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)( 1534 IAMMediaTypeStream* This, 1535 ALLOCATOR_PROPERTIES *pProps); 1536 1537 HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)( 1538 IAMMediaTypeStream* This, 1539 ALLOCATOR_PROPERTIES *pProps); 1540 1541 END_INTERFACE 1542} IAMMediaTypeStreamVtbl; 1543interface IAMMediaTypeStream { 1544 CONST_VTBL IAMMediaTypeStreamVtbl* lpVtbl; 1545}; 1546 1547#ifdef COBJMACROS 1548#ifndef WIDL_C_INLINE_WRAPPERS 1549/*** IUnknown methods ***/ 1550#define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1551#define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This) 1552#define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This) 1553/*** IMediaStream methods ***/ 1554#define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) 1555#define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) 1556#define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) 1557#define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) 1558#define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) 1559#define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) 1560/*** IAMMediaTypeStream methods ***/ 1561#define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags) 1562#define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags) 1563#define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) 1564#define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps) 1565#define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps) 1566#else 1567/*** IUnknown methods ***/ 1568static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) { 1569 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1570} 1571static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) { 1572 return This->lpVtbl->AddRef(This); 1573} 1574static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) { 1575 return This->lpVtbl->Release(This); 1576} 1577/*** IMediaStream methods ***/ 1578static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) { 1579 return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream); 1580} 1581static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) { 1582 return This->lpVtbl->GetInformation(This,pPurposeId,pType); 1583} 1584static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) { 1585 return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags); 1586} 1587static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) { 1588 return This->lpVtbl->AllocateSample(This,dwFlags,ppSample); 1589} 1590static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) { 1591 return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample); 1592} 1593static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) { 1594 return This->lpVtbl->SendEndOfStream(This,dwFlags); 1595} 1596/*** IAMMediaTypeStream methods ***/ 1597static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { 1598 return This->lpVtbl->GetFormat(This,pMediaType,dwFlags); 1599} 1600static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) { 1601 return This->lpVtbl->SetFormat(This,pMediaType,dwFlags); 1602} 1603static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) { 1604 return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample); 1605} 1606static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { 1607 return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps); 1608} 1609static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) { 1610 return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps); 1611} 1612#endif 1613#endif 1614 1615#endif 1616 1617HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetFormat_Proxy( 1618 IAMMediaTypeStream* This, 1619 AM_MEDIA_TYPE *pMediaType, 1620 DWORD dwFlags); 1621void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub( 1622 IRpcStubBuffer* This, 1623 IRpcChannelBuffer* pRpcChannelBuffer, 1624 PRPC_MESSAGE pRpcMessage, 1625 DWORD* pdwStubPhase); 1626HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetFormat_Proxy( 1627 IAMMediaTypeStream* This, 1628 AM_MEDIA_TYPE *pMediaType, 1629 DWORD dwFlags); 1630void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub( 1631 IRpcStubBuffer* This, 1632 IRpcChannelBuffer* pRpcChannelBuffer, 1633 PRPC_MESSAGE pRpcMessage, 1634 DWORD* pdwStubPhase); 1635HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_CreateSample_Proxy( 1636 IAMMediaTypeStream* This, 1637 LONG lSampleSize, 1638 BYTE *pbBuffer, 1639 DWORD dwFlags, 1640 IUnknown *pUnkOuter, 1641 IAMMediaTypeSample **ppAMMediaTypeSample); 1642void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub( 1643 IRpcStubBuffer* This, 1644 IRpcChannelBuffer* pRpcChannelBuffer, 1645 PRPC_MESSAGE pRpcMessage, 1646 DWORD* pdwStubPhase); 1647HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy( 1648 IAMMediaTypeStream* This, 1649 ALLOCATOR_PROPERTIES *pProps); 1650void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub( 1651 IRpcStubBuffer* This, 1652 IRpcChannelBuffer* pRpcChannelBuffer, 1653 PRPC_MESSAGE pRpcMessage, 1654 DWORD* pdwStubPhase); 1655HRESULT STDMETHODCALLTYPE IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy( 1656 IAMMediaTypeStream* This, 1657 ALLOCATOR_PROPERTIES *pProps); 1658void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub( 1659 IRpcStubBuffer* This, 1660 IRpcChannelBuffer* pRpcChannelBuffer, 1661 PRPC_MESSAGE pRpcMessage, 1662 DWORD* pdwStubPhase); 1663 1664#endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */ 1665 1666/***************************************************************************** 1667 * IAMMediaTypeSample interface 1668 */ 1669#ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__ 1670#define __IAMMediaTypeSample_INTERFACE_DEFINED__ 1671 1672DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); 1673#if defined(__cplusplus) && !defined(CINTERFACE) 1674MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d") 1675IAMMediaTypeSample : public IStreamSample 1676{ 1677 virtual HRESULT STDMETHODCALLTYPE SetPointer( 1678 BYTE *pBuffer, 1679 LONG lSize) = 0; 1680 1681 virtual HRESULT STDMETHODCALLTYPE GetPointer( 1682 BYTE **ppBuffer) = 0; 1683 1684 virtual LONG STDMETHODCALLTYPE GetSize( 1685 ) = 0; 1686 1687 virtual HRESULT STDMETHODCALLTYPE GetTime( 1688 REFERENCE_TIME *pTimeStart, 1689 REFERENCE_TIME *pTimeEnd) = 0; 1690 1691 virtual HRESULT STDMETHODCALLTYPE SetTime( 1692 REFERENCE_TIME *pTimeStart, 1693 REFERENCE_TIME *pTimeEnd) = 0; 1694 1695 virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( 1696 ) = 0; 1697 1698 virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 1699 WINBOOL bIsSyncPoint) = 0; 1700 1701 virtual HRESULT STDMETHODCALLTYPE IsPreroll( 1702 ) = 0; 1703 1704 virtual HRESULT STDMETHODCALLTYPE SetPreroll( 1705 WINBOOL bIsPreroll) = 0; 1706 1707 virtual LONG STDMETHODCALLTYPE GetActualDataLength( 1708 ) = 0; 1709 1710 virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 1711 LONG Len) = 0; 1712 1713 virtual HRESULT STDMETHODCALLTYPE GetMediaType( 1714 AM_MEDIA_TYPE **ppMediaType) = 0; 1715 1716 virtual HRESULT STDMETHODCALLTYPE SetMediaType( 1717 AM_MEDIA_TYPE *pMediaType) = 0; 1718 1719 virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( 1720 ) = 0; 1721 1722 virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 1723 WINBOOL bDiscontinuity) = 0; 1724 1725 virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 1726 LONGLONG *pTimeStart, 1727 LONGLONG *pTimeEnd) = 0; 1728 1729 virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 1730 LONGLONG *pTimeStart, 1731 LONGLONG *pTimeEnd) = 0; 1732 1733}; 1734#ifdef __CRT_UUID_DECL 1735__CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d) 1736#endif 1737#else 1738typedef struct IAMMediaTypeSampleVtbl { 1739 BEGIN_INTERFACE 1740 1741 /*** IUnknown methods ***/ 1742 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1743 IAMMediaTypeSample* This, 1744 REFIID riid, 1745 void **ppvObject); 1746 1747 ULONG (STDMETHODCALLTYPE *AddRef)( 1748 IAMMediaTypeSample* This); 1749 1750 ULONG (STDMETHODCALLTYPE *Release)( 1751 IAMMediaTypeSample* This); 1752 1753 /*** IStreamSample methods ***/ 1754 HRESULT (STDMETHODCALLTYPE *GetMediaStream)( 1755 IAMMediaTypeSample* This, 1756 IMediaStream **ppMediaStream); 1757 1758 HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( 1759 IAMMediaTypeSample* This, 1760 STREAM_TIME *pStartTime, 1761 STREAM_TIME *pEndTime, 1762 STREAM_TIME *pCurrentTime); 1763 1764 HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( 1765 IAMMediaTypeSample* This, 1766 const STREAM_TIME *pStartTime, 1767 const STREAM_TIME *pEndTime); 1768 1769 HRESULT (STDMETHODCALLTYPE *Update)( 1770 IAMMediaTypeSample* This, 1771 DWORD dwFlags, 1772 HANDLE hEvent, 1773 PAPCFUNC pfnAPC, 1774 DWORD dwAPCData); 1775 1776 HRESULT (STDMETHODCALLTYPE *CompletionStatus)( 1777 IAMMediaTypeSample* This, 1778 DWORD dwFlags, 1779 DWORD dwMilliseconds); 1780 1781 /*** IAMMediaTypeSample methods ***/ 1782 HRESULT (STDMETHODCALLTYPE *SetPointer)( 1783 IAMMediaTypeSample* This, 1784 BYTE *pBuffer, 1785 LONG lSize); 1786 1787 HRESULT (STDMETHODCALLTYPE *GetPointer)( 1788 IAMMediaTypeSample* This, 1789 BYTE **ppBuffer); 1790 1791 LONG (STDMETHODCALLTYPE *GetSize)( 1792 IAMMediaTypeSample* This); 1793 1794 HRESULT (STDMETHODCALLTYPE *GetTime)( 1795 IAMMediaTypeSample* This, 1796 REFERENCE_TIME *pTimeStart, 1797 REFERENCE_TIME *pTimeEnd); 1798 1799 HRESULT (STDMETHODCALLTYPE *SetTime)( 1800 IAMMediaTypeSample* This, 1801 REFERENCE_TIME *pTimeStart, 1802 REFERENCE_TIME *pTimeEnd); 1803 1804 HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( 1805 IAMMediaTypeSample* This); 1806 1807 HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( 1808 IAMMediaTypeSample* This, 1809 WINBOOL bIsSyncPoint); 1810 1811 HRESULT (STDMETHODCALLTYPE *IsPreroll)( 1812 IAMMediaTypeSample* This); 1813 1814 HRESULT (STDMETHODCALLTYPE *SetPreroll)( 1815 IAMMediaTypeSample* This, 1816 WINBOOL bIsPreroll); 1817 1818 LONG (STDMETHODCALLTYPE *GetActualDataLength)( 1819 IAMMediaTypeSample* This); 1820 1821 HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( 1822 IAMMediaTypeSample* This, 1823 LONG Len); 1824 1825 HRESULT (STDMETHODCALLTYPE *GetMediaType)( 1826 IAMMediaTypeSample* This, 1827 AM_MEDIA_TYPE **ppMediaType); 1828 1829 HRESULT (STDMETHODCALLTYPE *SetMediaType)( 1830 IAMMediaTypeSample* This, 1831 AM_MEDIA_TYPE *pMediaType); 1832 1833 HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( 1834 IAMMediaTypeSample* This); 1835 1836 HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( 1837 IAMMediaTypeSample* This, 1838 WINBOOL bDiscontinuity); 1839 1840 HRESULT (STDMETHODCALLTYPE *GetMediaTime)( 1841 IAMMediaTypeSample* This, 1842 LONGLONG *pTimeStart, 1843 LONGLONG *pTimeEnd); 1844 1845 HRESULT (STDMETHODCALLTYPE *SetMediaTime)( 1846 IAMMediaTypeSample* This, 1847 LONGLONG *pTimeStart, 1848 LONGLONG *pTimeEnd); 1849 1850 END_INTERFACE 1851} IAMMediaTypeSampleVtbl; 1852interface IAMMediaTypeSample { 1853 CONST_VTBL IAMMediaTypeSampleVtbl* lpVtbl; 1854}; 1855 1856#ifdef COBJMACROS 1857#ifndef WIDL_C_INLINE_WRAPPERS 1858/*** IUnknown methods ***/ 1859#define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1860#define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This) 1861#define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This) 1862/*** IStreamSample methods ***/ 1863#define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) 1864#define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) 1865#define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) 1866#define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) 1867#define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) 1868/*** IAMMediaTypeSample methods ***/ 1869#define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize) 1870#define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer) 1871#define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This) 1872#define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd) 1873#define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd) 1874#define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This) 1875#define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint) 1876#define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This) 1877#define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll) 1878#define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This) 1879#define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len) 1880#define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType) 1881#define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType) 1882#define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This) 1883#define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity) 1884#define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd) 1885#define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd) 1886#else 1887/*** IUnknown methods ***/ 1888static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) { 1889 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1890} 1891static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) { 1892 return This->lpVtbl->AddRef(This); 1893} 1894static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) { 1895 return This->lpVtbl->Release(This); 1896} 1897/*** IStreamSample methods ***/ 1898static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) { 1899 return This->lpVtbl->GetMediaStream(This,ppMediaStream); 1900} 1901static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) { 1902 return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime); 1903} 1904static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) { 1905 return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime); 1906} 1907static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) { 1908 return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData); 1909} 1910static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) { 1911 return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds); 1912} 1913/*** IAMMediaTypeSample methods ***/ 1914static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) { 1915 return This->lpVtbl->SetPointer(This,pBuffer,lSize); 1916} 1917static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) { 1918 return This->lpVtbl->GetPointer(This,ppBuffer); 1919} 1920static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) { 1921 return This->lpVtbl->GetSize(This); 1922} 1923static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 1924 return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd); 1925} 1926static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) { 1927 return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd); 1928} 1929static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) { 1930 return This->lpVtbl->IsSyncPoint(This); 1931} 1932static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) { 1933 return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint); 1934} 1935static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) { 1936 return This->lpVtbl->IsPreroll(This); 1937} 1938static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) { 1939 return This->lpVtbl->SetPreroll(This,bIsPreroll); 1940} 1941static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) { 1942 return This->lpVtbl->GetActualDataLength(This); 1943} 1944static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) { 1945 return This->lpVtbl->SetActualDataLength(This,Len); 1946} 1947static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) { 1948 return This->lpVtbl->GetMediaType(This,ppMediaType); 1949} 1950static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) { 1951 return This->lpVtbl->SetMediaType(This,pMediaType); 1952} 1953static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) { 1954 return This->lpVtbl->IsDiscontinuity(This); 1955} 1956static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) { 1957 return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity); 1958} 1959static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 1960 return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd); 1961} 1962static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) { 1963 return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd); 1964} 1965#endif 1966#endif 1967 1968#endif 1969 1970HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPointer_Proxy( 1971 IAMMediaTypeSample* This, 1972 BYTE *pBuffer, 1973 LONG lSize); 1974void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub( 1975 IRpcStubBuffer* This, 1976 IRpcChannelBuffer* pRpcChannelBuffer, 1977 PRPC_MESSAGE pRpcMessage, 1978 DWORD* pdwStubPhase); 1979HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy( 1980 IAMMediaTypeSample* This, 1981 BYTE **ppBuffer); 1982void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub( 1983 IRpcStubBuffer* This, 1984 IRpcChannelBuffer* pRpcChannelBuffer, 1985 PRPC_MESSAGE pRpcMessage, 1986 DWORD* pdwStubPhase); 1987LONG STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy( 1988 IAMMediaTypeSample* This); 1989void __RPC_STUB IAMMediaTypeSample_GetSize_Stub( 1990 IRpcStubBuffer* This, 1991 IRpcChannelBuffer* pRpcChannelBuffer, 1992 PRPC_MESSAGE pRpcMessage, 1993 DWORD* pdwStubPhase); 1994HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetTime_Proxy( 1995 IAMMediaTypeSample* This, 1996 REFERENCE_TIME *pTimeStart, 1997 REFERENCE_TIME *pTimeEnd); 1998void __RPC_STUB IAMMediaTypeSample_GetTime_Stub( 1999 IRpcStubBuffer* This, 2000 IRpcChannelBuffer* pRpcChannelBuffer, 2001 PRPC_MESSAGE pRpcMessage, 2002 DWORD* pdwStubPhase); 2003HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetTime_Proxy( 2004 IAMMediaTypeSample* This, 2005 REFERENCE_TIME *pTimeStart, 2006 REFERENCE_TIME *pTimeEnd); 2007void __RPC_STUB IAMMediaTypeSample_SetTime_Stub( 2008 IRpcStubBuffer* This, 2009 IRpcChannelBuffer* pRpcChannelBuffer, 2010 PRPC_MESSAGE pRpcMessage, 2011 DWORD* pdwStubPhase); 2012HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy( 2013 IAMMediaTypeSample* This); 2014void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub( 2015 IRpcStubBuffer* This, 2016 IRpcChannelBuffer* pRpcChannelBuffer, 2017 PRPC_MESSAGE pRpcMessage, 2018 DWORD* pdwStubPhase); 2019HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy( 2020 IAMMediaTypeSample* This, 2021 WINBOOL bIsSyncPoint); 2022void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub( 2023 IRpcStubBuffer* This, 2024 IRpcChannelBuffer* pRpcChannelBuffer, 2025 PRPC_MESSAGE pRpcMessage, 2026 DWORD* pdwStubPhase); 2027HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy( 2028 IAMMediaTypeSample* This); 2029void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub( 2030 IRpcStubBuffer* This, 2031 IRpcChannelBuffer* pRpcChannelBuffer, 2032 PRPC_MESSAGE pRpcMessage, 2033 DWORD* pdwStubPhase); 2034HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy( 2035 IAMMediaTypeSample* This, 2036 WINBOOL bIsPreroll); 2037void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub( 2038 IRpcStubBuffer* This, 2039 IRpcChannelBuffer* pRpcChannelBuffer, 2040 PRPC_MESSAGE pRpcMessage, 2041 DWORD* pdwStubPhase); 2042LONG STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy( 2043 IAMMediaTypeSample* This); 2044void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub( 2045 IRpcStubBuffer* This, 2046 IRpcChannelBuffer* pRpcChannelBuffer, 2047 PRPC_MESSAGE pRpcMessage, 2048 DWORD* pdwStubPhase); 2049HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy( 2050 IAMMediaTypeSample* This, 2051 LONG Len); 2052void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub( 2053 IRpcStubBuffer* This, 2054 IRpcChannelBuffer* pRpcChannelBuffer, 2055 PRPC_MESSAGE pRpcMessage, 2056 DWORD* pdwStubPhase); 2057HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaType_Proxy( 2058 IAMMediaTypeSample* This, 2059 AM_MEDIA_TYPE **ppMediaType); 2060void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub( 2061 IRpcStubBuffer* This, 2062 IRpcChannelBuffer* pRpcChannelBuffer, 2063 PRPC_MESSAGE pRpcMessage, 2064 DWORD* pdwStubPhase); 2065HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaType_Proxy( 2066 IAMMediaTypeSample* This, 2067 AM_MEDIA_TYPE *pMediaType); 2068void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub( 2069 IRpcStubBuffer* This, 2070 IRpcChannelBuffer* pRpcChannelBuffer, 2071 PRPC_MESSAGE pRpcMessage, 2072 DWORD* pdwStubPhase); 2073HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy( 2074 IAMMediaTypeSample* This); 2075void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub( 2076 IRpcStubBuffer* This, 2077 IRpcChannelBuffer* pRpcChannelBuffer, 2078 PRPC_MESSAGE pRpcMessage, 2079 DWORD* pdwStubPhase); 2080HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy( 2081 IAMMediaTypeSample* This, 2082 WINBOOL bDiscontinuity); 2083void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub( 2084 IRpcStubBuffer* This, 2085 IRpcChannelBuffer* pRpcChannelBuffer, 2086 PRPC_MESSAGE pRpcMessage, 2087 DWORD* pdwStubPhase); 2088HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_GetMediaTime_Proxy( 2089 IAMMediaTypeSample* This, 2090 LONGLONG *pTimeStart, 2091 LONGLONG *pTimeEnd); 2092void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub( 2093 IRpcStubBuffer* This, 2094 IRpcChannelBuffer* pRpcChannelBuffer, 2095 PRPC_MESSAGE pRpcMessage, 2096 DWORD* pdwStubPhase); 2097HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetMediaTime_Proxy( 2098 IAMMediaTypeSample* This, 2099 LONGLONG *pTimeStart, 2100 LONGLONG *pTimeEnd); 2101void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub( 2102 IRpcStubBuffer* This, 2103 IRpcChannelBuffer* pRpcChannelBuffer, 2104 PRPC_MESSAGE pRpcMessage, 2105 DWORD* pdwStubPhase); 2106 2107#endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */ 2108 2109/***************************************************************************** 2110 * AMMultiMediaStream coclass 2111 */ 2112 2113DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); 2114 2115#ifdef __cplusplus 2116class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream; 2117#ifdef __CRT_UUID_DECL 2118__CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45) 2119#endif 2120#endif 2121 2122DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 2123DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 2124DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 2125DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); 2126DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); 2127/* Begin additional prototypes for all interfaces */ 2128 2129ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); 2130unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); 2131unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); 2132void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); 2133 2134/* End additional prototypes */ 2135 2136#ifdef __cplusplus 2137} 2138#endif 2139 2140#endif /* __amstream_h__ */ 2141