[New - Windows NT]
LookupSecurityDescriptorParts功能从自相关安全描述符中检索安全信息。
DWORD LookupSecurityDescriptorParts(
PTRUSTEE *【pOwner】, | //从安全描述符接收所有者SID |
PTRUSTEE *【PGROUP】, | //从安全描述符接收组SID |
PULONG 【cCountOfAccessEntries】, | //接收访问控制条目的数量 |
PEXPLICIT_ACCESS *【pListOfAccessEntries】, | //接收一个数组的DACL访问控制条目 |
PULONG 【cCountOfAuditEntries】, | //接收审计控制项的数量 |
PEXPLICIT_ACCESS *【pListOfAuditEntries】, | //接收一个SACL审计控制条目数组 |
PSECURITY_DESCRIPTOR 【pSD】 | //接收新安全描述符的指针 |
); |
参数
【pOwner】
指向接收指向TRUSTEE结构的指针的变量的指针。该函数将在【pSD】安全描述符中查找与所有者SID关联的名称,并返回指向TRUSTEE结构的ptstrNameaf成员中的名称的指针。该函数将TrusteeForm成员设置为TRUSTEE_IS_NAME。
如果您对所有者的名称不感兴趣,则此参数可以为NULL。
【PGROUP】
指向接收指向TRUSTEE结构的指针的变量的指针。该函数查找与安全描述符的主组SID相关联的名称,并返回一个指向TRUSTEE结构的ptstrNameaf成员名称的指针。该函数将TrusteeForm成员设置为TRUSTEE_IS_NAME。
如果您对组的名称不感兴趣,则此参数可以为NULL。
【cCountOfAccessEntries】
指向ULONG的【pListOfAccessEntries】,它接收【pListOfAccessEntries】数组中返回的EXPLICIT_ACCESS结构【.】只有【pListOfAccessEntries】参数也为NULL,此参数可以为NULL。
【pListOfAccessEntries】
指向接收到描述安全描述符的DACL中的ACE的EXPLICIT_ACCESS结构数组的指针的变量的指针。这些EXPLICIT_ACCESS结构中的TRUSTEE结构使用TRUSTEE_IS_NAME表单。有关EXPLICIT_ACCESS结构的阵列如何描述ACL中的ACE的说明,请参阅GetExplicitEntriesFromAcl功能。如果此参数为NULL,则【cCountOfAccessEntries】参数也必须为NULL。
【cCountOfAuditEntries】
指向ULONG} 【.】 【.】中返回的EXPLICIT_ACCESS结构的【.】结构的指针只有【pListOfAuditEntries】参数也为NULL时,此参数可以为NULL。
【pListOfAuditEntries】
指向接收到描述安全描述符的SACL中的ACE的EXPLICIT_ACCESS结构数组的指针的变量的指针。这些EXPLICIT_ACCESS结构中的TRUSTEE结构使用TRUSTEE_IS_NAME表单。如果此参数为NULL,则【cCountOfAuditEntries】参数也必须为NULL。
【pSD】
指向现有的自相关安全描述符,该函数从该函数检索安全信息。自相关安全描述符将SECURITY_DESCRIPTOR结构和关联的安全信息存储在连续的内存块中。这与绝对安全描述符不同,该描述符包含指向相关安全信息的指针。
返回值
如果函数成功,则返回值为ERROR_SUCCESS。
如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。
备注
LookupSecurityDescriptorParts函数检索安全描述符的所有者和主组的名称。它还返回安全描述符的SACL中的DACL中的访问控制条目和审计控制条目的描述。
如果您对信息不感兴趣,除【pSD】之外的参数可以为NULL。如果您不想要有关DACL的信息,【pListOfAccessEntries】和【cCountOfAccessEntries】必须为NULL。如果您不想要有关SACL的信息,【pListOfAuditEntries】和【cCountOfAuditEntries】必须为NULL。同样,如果您想要DACL或SACL信息,则相应的参数都必须为非NULL。
您必须调用LocalFree函数来释放【pOwner】,【PGROUP】,【pListOfAccessEntries】或【pListOfAuditEntries】参数返回的任何缓冲区。
LookupSecurityDescriptorParts功能适用于实现或暴露其自身对象上的安全性的可信服务器。该函数适用??于适合串行化到流中并自动存储到磁盘的自相关安全描述符,作为可信服务器可能需要的。
也可以看看
ACE, ACL, EXPLICIT_ACCESS, LocalFree, SECURITY_DESCRIPTOR, GetExplicitEntriesFromAcl, SID, TRUSTEE