// 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