Функция SeQuerySecurityDescriptorInfo (ntifs.h)

Подпрограмма SeQuerySecurityDescriptorInfo извлекает копию дескриптора безопасности объекта.

Синтаксис

NTSTATUS SeQuerySecurityDescriptorInfo(
  [in]      PSECURITY_INFORMATION SecurityInformation,
  [out]     PSECURITY_DESCRIPTOR  SecurityDescriptor,
  [in, out] PULONG                Length,
  [in, out] PSECURITY_DESCRIPTOR  *ObjectsSecurityDescriptor
);

Параметры

[in] SecurityInformation

Указатель на SECURITY_INFORMATION значение, указывающее, какие сведения о безопасности запрашиваются.

Значение Значение
DACL_SECURITY_INFORMATION Указывает, что запрашивается список управления доступом (DACL) для объекта. Требуется доступ READ_CONTROL.
GROUP_SECURITY_INFORMATION Указывает, что запрашивается первичный идентификатор группы объекта. Требуется доступ READ_CONTROL.
OWNER_SECURITY_INFORMATION Указывает, что запрашивается идентификатор владельца объекта. Требуется доступ READ_CONTROL.
SACL_SECURITY_INFORMATION Указывает, что запрашивается системный ACL (SACL) объекта. Требуется доступ ACCESS_SYSTEM_SECURITY.

[out] SecurityDescriptor

Выделенный вызывающим объектом пользовательский буфер, который SeQuerySecurityDescriptorInfo заполняет копией указанного дескриптора безопасности в самосображаемом формате.

[in, out] Length

Указатель на переменную, указывающую размер (в байтах) буфера, на который указывает SecurityDescriptor. После возврата SeQuerySecurityDescriptorInfo задает для этой переменной количество байтов, необходимых для хранения запрошенной информации.

[in, out] ObjectsSecurityDescriptor

Указатель на указатель на дескриптор безопасности объекта. Дескриптор безопасности должен иметь самостоятельный формат.

Возвращаемое значение

Код возврата Описание
STATUS_SUCCESS
Вызов SeQuerySecurityDescriptorInfo выполнен успешно.
STATUS_BUFFER_TOO_SMALL
Буфер слишком мал для дескриптора безопасности. Ни одна из сведений о безопасности не была скопирована в буфер.

Комментарии

Дескриптор безопасности может иметь абсолютный или относительный формат. Дескриптор безопасности в абсолютном формате содержит указатели на содержащиеся в нем сведения, а не сами сведения. Дескриптор безопасности в автономном формате содержит сведения в непрерывном блоке памяти. В самостоятельном дескрипторе безопасности SECURITY_DESCRIPTOR структура всегда запускает сведения, но другие компоненты дескриптора безопасности могут следовать за структурой SECURITY_DESCRIPTOR в любом порядке. Вместо использования адресов памяти компоненты дескриптора безопасности идентифицируются по смещениям от начала дескриптора безопасности. Этот формат удобен, когда дескриптор безопасности должен храниться на диске или передаваться по протоколу связи.

Так как дескриптор безопасности возвращается в само относительном формате, вызывающий объект SeQuerySecurityDescriptorInfo должен привести значение, возвращаемое в параметре SecurityDescriptor , к типу PISECURITY_DESCRIPTOR_RELATIVE.

Дополнительные сведения о безопасности и управлении доступом см. в статье Модель безопасности Windows для разработчиков драйверов и в документации по этим темам в windows SDK.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также раздел

ACL

RtlAbsoluteToSelfRelativeSD

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlGetOwnerSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR