lookupAccountSidLocalA 函数 (winbase.h)

LookupAccountSidLocalA 定义为调用 LookupAccountSidA 的宏,并将 NULL 作为第一个参数。 检索本地计算机上指定 SID 的帐户的名称。

语法

BOOL LookupAccountSidLocalA(
  [in]            PSID          Sid,
  [out, optional] LPSTR         Name,
  [in, out]       LPDWORD       cchName,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

参数

[in] Sid

指向要查找的 SID 的指针。

[out, optional] Name

指向缓冲区的指针,该缓冲区接收以 null 结尾的字符串,该字符串包含与 lpSid 参数对应的帐户名称。

[in, out] cchName

输入时,指定 lpName 缓冲区的大小(以 TCHAR为单位)。 如果函数因缓冲区太小或 cchName 为零而失败, 则 cchName 将接收所需的缓冲区大小,包括终止 null 字符。

[out, optional] ReferencedDomainName

指向缓冲区的指针,该缓冲区接收以 null 结尾的字符串,该字符串包含在其中找到帐户名的域的名称。

在服务器上,为本地计算机的安全数据库中的大多数帐户返回的域名是服务器作为域控制器的域的名称。

在工作站上,本地计算机安全数据库中大多数帐户返回的域名是系统最后一次启动时的计算机名称, (反斜杠) 排除。 如果计算机名称发生更改,旧名称将继续作为域名返回,直到系统重启。

某些帐户由系统预定义。 为这些帐户返回的域名为 BUILTIN。

[in, out] cchReferencedDomainName

输入时,指定 lpReferencedDomainName 缓冲区的大小(以 TCHAR为单位)。 如果函数因缓冲区太小或 cchReferencedDomainName 为零而失败, 则 cchReferencedDomainName 将接收所需的缓冲区大小,包括终止 null 字符。

[out] peUse

指向变量的指针,该变量接收指示帐户类型的 SID_NAME_USE 值。

返回值

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

如果函数失败,则返回零。 要获得更多的错误信息,请调用 GetLastError。

注解

此函数类似于 LookupAccountSid,但将搜索限制为本地计算机。

注意

winbase.h 标头将 LookupAccountSidLocal 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

访问控制概述

基本访问控制函数

EqualPrefixSid

LookupAccountName

SID

SID_NAME_USE