Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.2 KiB

  1. // IVIDPOOL.H
  2. //
  3. // Contains the interfaces IVidPool
  4. //
  5. // Created 17-Jan-97 [RichP]
  6. #ifndef _IVIDPOOL_H
  7. #define _IVIDPOOL_H
  8. // IIDs
  9. // {36447652-7089-11d0-BC25-00AA00A13C86}
  10. DEFINE_GUID(IID_IVidPool, 0x36447652, 0x7089, 0x11d0, 0xbc, 0x25, 0x0, 0xaa, 0x0, 0xa1, 0x3c, 0x86);
  11. // Interfaces
  12. #undef INTERFACE
  13. #define INTERFACE IVidPool
  14. DECLARE_INTERFACE_(IVidPool, IBitmapSurfaceFactory)
  15. {
  16. // IUnknown methods
  17. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
  18. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  19. STDMETHOD_(ULONG,Release) (THIS) PURE;
  20. // IBitmapSurfaceFactory methods
  21. STDMETHOD(CreateBitmapSurface)(THIS_ long width, long height, BFID* pBFID, DWORD dwHintFlags, IBitmapSurface** ppBitmapSurface) PURE;
  22. STDMETHOD(GetSupportedFormatsCount)(THIS_ long* pcFormats) PURE;
  23. STDMETHOD(GetSupportedFormats)(THIS_ long cFormats, BFID* pBFIDs) PURE;
  24. // IVidPool methods
  25. STDMETHOD(InitPool)(THIS_ int nBuffers, BFID* format, long size, int pitch) PURE;
  26. STDMETHOD(AddExternalBuffer)(THIS_ void* pBits, int pitch, void* refdata) PURE;
  27. STDMETHOD(InvalidatePool)(void) PURE;
  28. STDMETHOD(GetBuffer)(THIS_ IBitmapSurface** ppBitmapSurface, void** prefdata) PURE;
  29. };
  30. #endif // #ifndef _IVIDPOOL_H