LSA_OPEN_SAM_USER回调函数 (ntsecpkg.h)

检索 安全帐户管理器 (SAM) 数据库中用户帐户的句柄。

语法

LSA_OPEN_SAM_USER LsaOpenSamUser;

NTSTATUS LsaOpenSamUser(
  [in]  PSECURITY_STRING Name,
  [in]  SECPKG_NAME_TYPE NameType,
  [in]  PSECURITY_STRING Prefix,
  [in]  BOOLEAN AllowGuest,
  [in]  ULONG Reserved,
  [out] PVOID *UserHandle
)
{...}

参数

[in] Name

指向指定 SAM 帐户名称 的UNICODE_STRING 结构的指针。

[in] NameType

一个SECPKG_NAME_TYPE枚举值,该值在“名称”中指定帐户名称的类型。 此参数的取值可为下列值之一:

含义
SecNameSamCompatible
名称 与 SAM 兼容。 采用与 SAM 兼容格式的名称的示例是“ExampleDomain\Username”。
SecNameAlternateId
名称 位于 SAM 帐户的 AltSecId 属性中。 此值与 Prefix 参数一起使用。
SecNameFlat
Name 是 UPN) 样式帐户名称 (平面 用户主体 名称。
SecNameDN
Name 是对象的可分辨名称。 有关详细信息,请参阅“备注”。

[in] Prefix

指向 UNICODE_STRING 结构的指针,该结构指定要与使用 SecNameAlternateId 的 NameType 的名称一起使用的前缀。

[in] AllowGuest

指定在找不到 SAM 帐户时是否使用来宾帐户。 此参数的取值可为下列值之一:

含义
FALSE
如果未找到用户, OpenSamUser 函数调用将失败。
TRUE
如果未找到用户并启用来宾帐户,则使用来宾帐户。

[in] Reserved

保留。 指定零。

[out] UserHandle

指向接收用户帐户句柄的指针的指针。

返回值

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

如果函数失败,则返回值是指示失败原因的以下 NTSTATUS 错误代码之一。

返回代码 说明
STATUS_INVALID_PARAMETER
NameType 为 SecNameAlternateId,Prefix 为 NULL
STATUS_NO_SUCH_USER
找不到 SAM 帐户。

注解

若要关闭 UserHandle 参数收到的句柄,请调用 CloseSamUser 函数。

用户的可分辨名称标识代表该用户的名称、域和 Active Directory 对象的完整路径。

指向 OpenSamUser 函数的指针在 SpInitialize 函数接收的 LSA_SECPKG_FUNCTION_TABLE 结构中可用。

要求

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

另请参阅

CloseSamUser

LSA_SECPKG_FUNCTION_TABLE

SpInitialize