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.

41 lines
1.3 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1998.
  5. //
  6. // File:
  7. // buffer.idl
  8. //
  9. // Contents:
  10. // Provides a virtual buffer for serialization operations
  11. // Intent is to have IStream support this interface if it
  12. // can provide buffer operations
  13. //
  14. // History:
  15. // VinayKr 01-16-98 Created
  16. //
  17. //--------------------------------------------------------------------------
  18. #ifndef DO_NO_IMPORTS
  19. import "iface.idl";
  20. import "wtypes.idl";
  21. import "objidl.idl";
  22. import "obase.idl";
  23. #endif
  24. [object,
  25. local,
  26. uuid(000001B4-0000-0000-C000-000000000046),
  27. pointer_default(unique)
  28. ]
  29. interface IBuffer:IUnknown
  30. {
  31. HRESULT GetOrCreateBuffer([in] DWORD dwRequestedSize,
  32. [out] DWORD *dwActualSize,
  33. [out, size_is(,*dwActualSize)] BYTE **ppBuff);
  34. HRESULT GetBuffer([out] DWORD *pdwLength, [out, size_is(,*pdwLength)] BYTE **ppBuff);
  35. HRESULT GetLength([out] DWORD *pdwLength);
  36. HRESULT GetCopy([in] BYTE *pBuff);
  37. HRESULT SetPosition([in] DWORD dwLenFromEnd, [in] DWORD dwPosFromStart);
  38. HRESULT SetBuffer([in] DWORD dwLength, [in, size_is(dwLength)] BYTE *pBuff);
  39. HRESULT SetCopyAlignment([in] DWORD dwCopyAlignment);
  40. }