windows-nt/Source/XPSP1/NT/com/ole32/idl/internal/buffer.idl
2020-09-26 16:20:57 +08:00

42 lines
1.3 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1998.
//
// File:
// buffer.idl
//
// Contents:
// Provides a virtual buffer for serialization operations
// Intent is to have IStream support this interface if it
// can provide buffer operations
//
// History:
// VinayKr 01-16-98 Created
//
//--------------------------------------------------------------------------
#ifndef DO_NO_IMPORTS
import "iface.idl";
import "wtypes.idl";
import "objidl.idl";
import "obase.idl";
#endif
[object,
local,
uuid(000001B4-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IBuffer:IUnknown
{
HRESULT GetOrCreateBuffer([in] DWORD dwRequestedSize,
[out] DWORD *dwActualSize,
[out, size_is(,*dwActualSize)] BYTE **ppBuff);
HRESULT GetBuffer([out] DWORD *pdwLength, [out, size_is(,*pdwLength)] BYTE **ppBuff);
HRESULT GetLength([out] DWORD *pdwLength);
HRESULT GetCopy([in] BYTE *pBuff);
HRESULT SetPosition([in] DWORD dwLenFromEnd, [in] DWORD dwPosFromStart);
HRESULT SetBuffer([in] DWORD dwLength, [in, size_is(dwLength)] BYTE *pBuff);
HRESULT SetCopyAlignment([in] DWORD dwCopyAlignment);
}