#ifndef IAMMEDIASTREAM_H #define IAMMEDIASTREAM_H #define WIN32_LEAN_AND_MEAN #include DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f, 0xde, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f, 0xde, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); extern struct IAMMediaStreamImplVtbl g_ms_vtbl; struct IAMMediaStreamImpl; struct IAMMediaStreamImplVtbl; typedef struct IAMMediaStreamImpl { struct IAMMediaStreamImplVtbl* lpVtbl; ULONG ref; } IAMMediaStreamImpl; typedef struct IAMMediaStreamImplVtbl IAMMediaStreamImplVtbl; struct IAMMediaStreamImplVtbl { HRESULT(__stdcall* QueryInterface) (IAMMediaStreamImpl*, const IID* const riid, LPVOID* ppvObj); ULONG(__stdcall* AddRef) (IAMMediaStreamImpl*); ULONG(__stdcall* Release) (IAMMediaStreamImpl*); /* IMediaStream */ HRESULT(__stdcall* GetMultiMediaStream)(IAMMediaStreamImpl* This, int a); HRESULT(__stdcall* GetInformation)(IAMMediaStreamImpl* This, int a, int b); HRESULT(__stdcall* SetSameFormat)(IAMMediaStreamImpl* This, int a, int b); HRESULT(__stdcall* AllocateSample)(IAMMediaStreamImpl* This, int a, int b); HRESULT(__stdcall* CreateSharedSample)(IAMMediaStreamImpl* This, int a, int b, int c); HRESULT(__stdcall* SendEndOfStream)(IAMMediaStreamImpl* This, int a); /* IAMMediaStream */ HRESULT(__stdcall* Initialize)(IAMMediaStreamImpl* This, int a, int b, int c, int d); HRESULT(__stdcall* SetState)(IAMMediaStreamImpl* This, int a); HRESULT(__stdcall* JoinAMMultiMediaStream)(IAMMediaStreamImpl* This, int a); HRESULT(__stdcall* JoinFilter)(IAMMediaStreamImpl* This, int a); HRESULT(__stdcall* JoinFilterGraph)(IAMMediaStreamImpl* This, int a); }; #endif