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 参数中的结构类型。

含义
LsaTokenInformationNull

LSA_TOKEN_INFORMATION_NULL

LsaTokenInformationV1

LSA_TOKEN_INFORMATION_V1

[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

另请参阅

LSA_SECPKG_FUNCTION_TABLE

SpAcceptLsaModeContext

SpInitialize