6.1 WFMAllocateBuffer

HRESULT WFMAllocateBuffer( ulSize, ulFlags, lppvData )

Allocates a memory buffer for the service provider in which to return results.

Parameters ULONG ulSize

Size (in bytes) of the memory to be allocated.

ULONG ulFlags

Flags, see comments below.

LPVOID * lppvData

Address of the variable in which the XFS Manager will place the pointer to the allocated memory.

Comments A service provider must use this call when creating data structures for the XFS Manager or an application to use, and may use it when allocating memory for its own private use. The flags can be ORed together, and specify:

WFS_MEM_SHARE Allocates shareable memory.

WFS_MEM_ZEROINIT Initializes memory contents to zero (not required in 32 bit Windows).

The application, XFS Manager or service provider then must, in turn, use the WFSFreeResult or WFMFreeBuffer functions to deallocate the memory.

Error Codes If the function return is not WFS_SUCCESS, it is one of the following error conditions:

WFS_ERR_INVALID_POINTER
A pointer parameter does not point to accessible memory.
WFS_ERR_OUT_OF_MEMORY
There is not enough memory available to satisfy the request.

See also WFMAllocateMore, WFMFreeBuffer, WFSFreeResult and Section 3.13.