42 lines
1.3 KiB
Plaintext
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);
|
|
}
|