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枚举值,该值在“名称”中指定帐户名称的类型。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
名称 与 SAM 兼容。 采用与 SAM 兼容格式的名称的示例是“ExampleDomain\Username”。 |
|
名称 位于 SAM 帐户的 AltSecId 属性中。 此值与 Prefix 参数一起使用。 |
|
Name 是 UPN) 样式帐户名称 (平面 用户主体 名称。 |
|
Name 是对象的可分辨名称。 有关详细信息,请参阅“备注”。 |
[in] Prefix
指向 UNICODE_STRING 结构的指针,该结构指定要与使用 SecNameAlternateId 的 NameType 的名称一起使用的前缀。
[in] AllowGuest
指定在找不到 SAM 帐户时是否使用来宾帐户。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
如果未找到用户, OpenSamUser 函数调用将失败。 |
|
如果未找到用户并启用来宾帐户,则使用来宾帐户。 |
[in] Reserved
保留。 指定零。
[out] UserHandle
指向接收用户帐户句柄的指针的指针。
返回值
如果函数成功,则返回值STATUS_SUCCESS。
如果函数失败,则返回值是指示失败原因的以下 NTSTATUS 错误代码之一。
返回代码 | 说明 |
---|---|
|
NameType 为 SecNameAlternateId,Prefix 为 NULL。 |
|
找不到 SAM 帐户。 |
注解
若要关闭 UserHandle 参数收到的句柄,请调用 CloseSamUser 函数。
用户的可分辨名称标识代表该用户的名称、域和 Active Directory 对象的完整路径。
指向 OpenSamUser 函数的指针在 SpInitialize 函数接收的 LSA_SECPKG_FUNCTION_TABLE 结构中可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | ntsecpkg.h |