LSA_CREATE_TOKEN回调函数 (ntsecpkg.h)
在处理对 SpAcceptLsaModeContext 的调用时,SSP/AP 使用 CreateToken 函数创建令牌。
语法
LSA_CREATE_TOKEN LsaCreateToken;
NTSTATUS LsaCreateToken(
[in] PLUID LogonId,
[in] PTOKEN_SOURCE TokenSource,
[in] SECURITY_LOGON_TYPE LogonType,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[in] LSA_TOKEN_INFORMATION_TYPE TokenInformationType,
[in] PVOID TokenInformation,
[in] PTOKEN_GROUPS TokenGroups,
[in] PUNICODE_STRING AccountName,
[in] PUNICODE_STRING AuthorityName,
[in] PUNICODE_STRING Workstation,
[in] PUNICODE_STRING ProfilePath,
[out] PHANDLE Token,
[out] PNTSTATUS SubStatus
)
{...}
参数
[in] LogonId
指向新令牌的登录会话标识符的指针。 此标识符是从先前对 CreateLogonSession 的调用中获取的。
[in] TokenSource
指向 TOKEN_SOURCE 结构的指针,该结构指定此令牌的源。 指定包名称。
[in] LogonType
指示登录类型的 SECURITY_LOGON_TYPE 值。
[in] ImpersonationLevel
一个SECURITY_IMPERSONATION_LEVEL值,该值指示服务器进程可以模拟客户端进程的程度。
[in] TokenInformationType
指定 TokenInformation 参数中的结构类型。
值 | 含义 |
---|---|
|
|
|
[in] TokenInformation
指向令牌信息的指针。 TokenInformation 指向的结构类型由 TokenInformationType 参数指示。
如果此参数指向的结构是LSA_TOKEN_INFORMATION_V1结构,则调用方必须通过调用 AllocatePrivateHeap 函数为该结构的 Groups 成员分配内存。
[in] TokenGroups
指向 TOKEN_GROUPS 结构的指针,该结构指定 未包含在 TokenInformation 中的组。
[in] AccountName
指向包含安全主体名称的UNICODE_STRING结构的指针。 此信息用于审核和名称搜索。
[in] AuthorityName
指向 UNICODE_STRING 结构的指针,该结构包含验证登录 凭据的颁发机构的名称,通常是 Windows 域名。
[in] Workstation
指向包含客户端工作站名称(通常是 NetBIOS 名称)的 UNICODE_STRING 结构的指针。
[in] ProfilePath
指向包含用户配置文件路径(如果有)的 UNICODE_STRING 结构的指针。
[out] Token
接收新令牌句柄地址的指针。 使用完句柄后,通过调用 CloseHandle 函数将其关闭。
[out] SubStatus
指向接收错误信息的变量的指针。
返回值
如果函数成功,则返回值STATUS_SUCCESS。
如果函数失败,则返回值是一个 NTSTATUS 代码,用于指示它失败的原因。
注解
指向 CreateToken 函数的指针在 SpInitialize 函数接收的 LSA_SECPKG_FUNCTION_TABLE 结构中可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | ntsecpkg.h |