ISecurityInformation2::LookupSids 方法 (aclui.h)

LookupSids 方法返回与指定 SID 列表中每个元素对应的公用名称。

语法

HRESULT LookupSids(
  [in]  ULONG        cSids,
  [in]  PSID         *rgpSids,
  [out] LPDATAOBJECT *ppdo
);

参数

[in] cSids

指向 rgpSids 指向的 SID 结构的指针数。

[in] rgpSids

指向 指向 SID 结构的指针数组的指针。

[out] ppdo

指向返回的数据传输对象的指针的指针,该对象包含 SID 的公用名称。 (可选)此参数还会返回 rgpSids 参数中 SID (UPN) 的用户主体名称。 数据传输对象是 一个SID_INFO 结构。

返回值

如果成功,则返回S_OK。

如果发生错误,则返回非零错误代码。

注解

如果访问控制编辑器要确定与指定 SID 对应的公用名称, 则 LookupSids 的实现可以返回E_NOTIMPL。 但是,如果访问控制编辑器收到除S_OK以外的任何返回代码,编辑器将确定此信息。

客户端必须使用以下格式通过数据对象返回公用名称。

#include <windows.h>

// HGLOBAL containing SID_INFO_LIST returned by
// ISecurityInformation2::LookupSids
#define CFSTR_ACLUI_SID_INFO_LIST   TEXT("CFSTR_ACLUI_SID_INFO_LIST")

// Data structures corresponding to CFSTR_ACLUI_SID_INFO_LIST
typedef struct _SID_INFO
{
    PSID    pSid;
    PWSTR   pwzCommonName;
    PWSTR   pwzClass;       // Used for selecting icon, for example,
                            // "User" or "Group"
    PWSTR   pwzUPN;         // Optional pointer to a user principal
                            // name
} SID_INFO, *PSID_INFO;

typedef struct _SID_INFO_LIST
{
    ULONG       cItems;
    SID_INFO    aSidInfo[ANYSIZE_ARRAY];
} SID_INFO_LIST, *PSID_INFO_LIST;

要求

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

另请参阅

访问控制编辑器

访问控制编辑器函数

ISecurityInformation2

SID

SID_INFO

SID_INFO_LIST