windows-nt/Source/XPSP1/NT/enduser/netmeeting/av/nmcap/ividpool.h
2020-09-26 16:20:57 +08:00

40 lines
1.2 KiB
C

// IVIDPOOL.H
//
// Contains the interfaces IVidPool
//
// Created 17-Jan-97 [RichP]
#ifndef _IVIDPOOL_H
#define _IVIDPOOL_H
// IIDs
// {36447652-7089-11d0-BC25-00AA00A13C86}
DEFINE_GUID(IID_IVidPool, 0x36447652, 0x7089, 0x11d0, 0xbc, 0x25, 0x0, 0xaa, 0x0, 0xa1, 0x3c, 0x86);
// Interfaces
#undef INTERFACE
#define INTERFACE IVidPool
DECLARE_INTERFACE_(IVidPool, IBitmapSurfaceFactory)
{
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// IBitmapSurfaceFactory methods
STDMETHOD(CreateBitmapSurface)(THIS_ long width, long height, BFID* pBFID, DWORD dwHintFlags, IBitmapSurface** ppBitmapSurface) PURE;
STDMETHOD(GetSupportedFormatsCount)(THIS_ long* pcFormats) PURE;
STDMETHOD(GetSupportedFormats)(THIS_ long cFormats, BFID* pBFIDs) PURE;
// IVidPool methods
STDMETHOD(InitPool)(THIS_ int nBuffers, BFID* format, long size, int pitch) PURE;
STDMETHOD(AddExternalBuffer)(THIS_ void* pBits, int pitch, void* refdata) PURE;
STDMETHOD(InvalidatePool)(void) PURE;
STDMETHOD(GetBuffer)(THIS_ IBitmapSurface** ppBitmapSurface, void** prefdata) PURE;
};
#endif // #ifndef _IVIDPOOL_H