LSA_ALLOCATE_CLIENT_BUFFER callback function (ntsecpkg.h)
Allocates a buffer in the client's address space. Buffers allocated in the client's address space are used to hold information returned to the client from an authentication package.
Syntax
LSA_ALLOCATE_CLIENT_BUFFER LsaAllocateClientBuffer;
NTSTATUS LsaAllocateClientBuffer(
[in] PLSA_CLIENT_REQUEST ClientRequest,
[in] ULONG LengthRequired,
[out] PVOID *ClientBaseAddress
)
{...}
Parameters
[in] ClientRequest
Pointer to an opaque LSA_CLIENT_REQUEST data structure that contains information about the LSA client's authentication request. A custom authentication package should pass in the value received during the client's call to the function, such as LsaApCallPackage or LsaApLogonUser, that returns the output parameter.
[in] LengthRequired
Length of the buffer needed, in bytes.
[out] ClientBaseAddress
Pointer that receives the address of the buffer. This address is the virtual address of the buffer within the client process, not in the current process.
Return value
If the function succeeds, the return value is STATUS_SUCCESS.
If the function fails, the return value is an NTSTATUS code, which can be the following value or one of the LSA Policy Function Return Values.
Return code | Description |
---|---|
|
The client process does not have an adequate memory quota to allocate the buffer. |
The LsaNtStatusToWinError function converts an NTSTATUS code to a Windows error code.
Remarks
The authentication package or the client process must later free the buffer. The authentication process can free the buffer by using the FreeClientBuffer dispatch routine. The client process can free the buffer by using the LsaFreeReturnBuffer function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | ntsecpkg.h |