LSA_ALLOCATE_CLIENT_BUFFER回调函数 (ntsecpkg.h)

在客户端的地址空间中分配缓冲区。 在客户端地址空间中分配的缓冲区用于保存从身份验证包返回给客户端的信息。

语法

LSA_ALLOCATE_CLIENT_BUFFER LsaAllocateClientBuffer;

NTSTATUS LsaAllocateClientBuffer(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  ULONG LengthRequired,
  [out] PVOID *ClientBaseAddress
)
{...}

参数

[in] ClientRequest

指向不透明 LSA_CLIENT_REQUEST 数据结构的指针,该结构包含有关 LSA 客户端的身份验证请求的信息。 自定义身份验证包应传入在客户端调用函数期间收到的值,例如 LsaApCallPackageLsaApLogonUser,以返回输出参数。

[in] LengthRequired

所需缓冲区的长度(以字节为单位)。

[out] ClientBaseAddress

接收缓冲区地址的指针。 此地址是客户端进程内缓冲区的虚拟地址,而不是当前进程中的虚拟地址。

返回值

如果函数成功,则返回值STATUS_SUCCESS。

如果函数失败,则返回值是 NTSTATUS 代码,可以是以下值或 LSA 策略函数返回值之一。

返回代码 说明
STATUS_NO_MEMORY
客户端进程没有足够的内存配额来分配缓冲区。
 

LsaNtStatusToWinError 函数将 NTSTATUS 代码转换为 Windows 错误代码。

注解

身份验证包或客户端进程稍后必须释放缓冲区。 身份验证过程可以使用 FreeClientBuffer 调度例程释放缓冲区。 客户端进程可以使用 LsaFreeReturnBuffer 函数释放缓冲区。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntsecpkg.h

另请参阅

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE