LookupSecurityDescriptorPartsW 函数 (aclapi.h)

LookupSecurityDescriptorParts 函数从 自相关安全描述符检索安全信息。

语法

DWORD LookupSecurityDescriptorPartsW(
  [out, optional] PTRUSTEE_W           *ppOwner,
  [out, optional] PTRUSTEE_W           *ppGroup,
  [out, optional] PULONG               pcCountOfAccessEntries,
  [out, optional] PEXPLICIT_ACCESS_W   *ppListOfAccessEntries,
  [out, optional] PULONG               pcCountOfAuditEntries,
  [out, optional] PEXPLICIT_ACCESS_W   *ppListOfAuditEntries,
  [in]            PSECURITY_DESCRIPTOR pSD
);

参数

[out, optional] ppOwner

指向接收指向 受信者 结构的指针的变量的指针。 该函数查找与 pSD安全描述符中所有者 安全标识符(SID)关联的名称,并返回指向 受托人 结构的 ptstrName 成员中名称的指针。 该函数将 TrusteeForm 成员设置为TRUSTEE_IS_NAME。

如果对所有者的名称不感兴趣,则可以 NULL 此参数。

[out, optional] ppGroup

指向接收指向 受信者 结构的指针的变量的指针。 该函数查找与安全描述符的主组 SID 关联的名称,并返回指向 受信者 结构的 ptstrName 成员中名称的指针。 该函数将 TrusteeForm 成员设置为TRUSTEE_IS_NAME。

如果对组的名称不感兴趣,可以 NULL 此参数。

[out, optional] pcCountOfAccessEntries

指向 ULONG 的指针,用于接收 pListOfAccessEntries 数组中返回的 EXPLICIT_ACCESS 结构数。 仅当 pListOfAccessEntries 参数也 NULL时,此参数才能 NULL

[out, optional] ppListOfAccessEntries

指向一个变量的指针,该变量接收指向 EXPLICIT_ACCESS 结构的指针,这些结构描述安全描述符 自由访问控制列表(DACL)中描述 访问控制项(ACE)。 这些 EXPLICIT_ACCESS 结构中的 受托人 结构使用TRUSTEE_IS_NAME形式。 有关 EXPLICIT_ACCESS 结构的数组如何描述 访问控制列表 中的 ACE 的说明,请参阅 GetExplicitEntriesFromAcl 函数。 如果此参数 NULL,则 cCountOfAccessEntries 参数也必须 NULL

[out, optional] pcCountOfAuditEntries

指向 ULONG 的指针,该 接收 pListOfAuditEntries 数组中返回的 EXPLICIT_ACCESS 结构数。 仅当 pListOfAuditEntries 参数也 NULL时,此参数才能 NULL

[out, optional] ppListOfAuditEntries

指向一个变量的指针,该变量接收指向 EXPLICIT_ACCESS 结构数组的指针,这些结构描述 系统访问控制列表中的 ACE(SACL)的安全描述符。 这些 EXPLICIT_ACCESS 结构中的 受托人 结构使用TRUSTEE_IS_NAME形式。 如果此参数 NULL,则 cCountOfAuditEntries 参数也必须 NULL

[in] pSD

指向函数从中检索安全信息的现有 自相对安全描述符 的指针。

返回值

如果函数成功,该函数将返回ERROR_SUCCESS。

如果函数失败,它将返回 WinError.h 中定义的非零错误代码。

言论

LookupSecurityDescriptorParts 函数检索安全描述符的所有者和主组的名称。 此函数还返回 DACL 中的 ACE 的说明,以及安全描述符 SACL 中的审核控制条目。

如果对信息不感兴趣,pSD 以外的参数可以 NULL。 如果不希望有关 DACL 的信息,pListOfAccessEntriescCountOfAuditEntries 都必须 NULL。 如果不希望有关 SACL 的信息,pListOfAuditEntriescCountOfAuditEntries 都必须 NULL。 同样,如果确实需要 DACL 或 SACL 信息,则两个相应的参数不得 NULL

使用完 pOwnerpGrouppListOfAccessEntriespListOfAuditEntries 参数返回的任何缓冲区后,通过调用 LocalFree 函数释放它们。

LookupSecurityDescriptorParts 函数适用于在其自己的对象上实现或公开安全性的受信任服务器。 该函数适用于适合序列化到流和存储到磁盘的自相对安全描述符,因为受信任的服务器可能需要。

注意

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

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 aclapi.h
Advapi32.lib
DLL Advapi32.dll

另请参阅

ACE

ACL

客户端/服务器访问控制函数

客户端/服务器访问控制概述

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

受托人