SecLookupAccountName 函数 (ntifs.h)

SecLookupAccountName 接受帐户作为输入,并检索帐户的安全标识符 (SID) 以及在其中找到帐户的域的名称。

语法

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
  [in]               PUNICODE_STRING Name,
  [in, out]          PULONG          SidSize,
  [out]              PSID            Sid,
  [out]              PSID_NAME_USE   NameUse,
  [out]              PULONG          DomainSize,
  [in_out, optional] PUNICODE_STRING ReferencedDomain
);

参数

[in] Name

指向指定帐户名称的 Unicode 字符串的指针。 使用 domain_name\user_name 格式的完全限定字符串,以确保 SecLookupAccountName 在所需域中查找帐户。

[in, out] SidSize

指向变量的指针,该变量指定 Sid 缓冲区的大小。 输入时,此值指定输入 Sid 缓冲区的大小(以字节为单位)。 如果函数由于缓冲区太小或 SidSize 为零而失败,则此变量将接收所需的缓冲区大小。 成功后,此变量包含返回的 Sid 的大小。

[out] Sid

指向缓冲区的指针,该缓冲区接收 SID 结构,该结构对应于 Name 参数指向的帐户名称。 如果此参数为 NULL则 SidSize 必须为零。

[out] NameUse

指向接收帐户类型的 SID_NAME_USE 枚举类型的指针。

[out] DomainSize

指向接收 ReferencedDomain 参数大小的 ULONG 的指针。 如果函数因缓冲区太小而失败,则此变量将接收所需的缓冲区大小。 如果输入 ReferencedDomain 参数为 NULL,则此参数将接收零。

[in_out, optional] ReferencedDomain

指向在其中找到帐户名称的域名称的缓冲区的指针。 此参数是可选的,可以为 NULL。 对于未加入域的计算机,此缓冲区接收计算机名称。

返回值

SecLookupAccountName 在成功时返回STATUS_SUCCESS,或在失败时返回以下错误代码之一。

返回代码 说明
SEC_E_INTERNAL_ERROR 尝试连接到本地系统机构 (LSA) 或本地过程调用 (LPC) 安全提供程序失败时发生内部错误。
STATUS_ACCESS_DENIED 与当前正在执行的线程关联的进程 ID 与当前进程 ID 不匹配。
STATUS_BUFFER_TOO_SMALL SidReferencedDomain 参数的缓冲区大小太小。
STATUS_INVALID_PARAMETER Name 参数的长度超过了向本地系统机构发送的消息中允许的长度。
STATUS_NONE_MAPPED 找不到 Name 参数。
STATUS_PROCESS_IS_TERMINATING 此过程已终止,因此无法在 LPC) 连接 (建立本地过程调用。

注解

SecLookupAccountName 尝试查找指定名称的 SID。 函数检查内置和管理定义的本地帐户。 接下来,函数检查主域。 如果找不到该名称,则会检查受信任的域。

(使用完全限定的帐户名称,例如,domain_name\user_name) ,而不是 (独立名称,例如user_name) 。 完全限定的名称是明确的,在执行查找时提供更好的性能。 此函数还支持 (完全限定的 DNS 名称,例如,example.example.com\user_name) 和用户主体名称 (UPN) (例如 someone@example.com ,) 。

除了查找本地帐户、本地域帐户和显式受信任的域帐户外, SecLookupAccountName 还可以查找林中任何域中任何帐户的名称。

SecLookupAccountName 等效于 Win32 LookupAccountName 函数。

SecLookupAccountName 由 ksecdd 驱动程序导出,该驱动程序使用用户模式帮助程序服务实现此函数。 因此,在文件系统中使用此函数必须遵循与用户模式服务通信的常规规则。 在分页文件 I/O 期间无法使用 SecLookupAccountName

要求

要求
最低受支持的客户端 Windows XP
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library Ksecdd.lib
IRQL <= APC_LEVEL

另请参阅

SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid