Функция RtlGetDaclSecurityDescriptor (ntifs.h)
Подпрограмма RtlGetDaclSecurityDescriptor возвращает указатель на дискреционный ACL (DACL) для дескриптора безопасности.
Синтаксис
NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
[in] PSECURITY_DESCRIPTOR SecurityDescriptor,
[out] PBOOLEAN DaclPresent,
[out] PACL *Dacl,
[out] PBOOLEAN DaclDefaulted
);
Параметры
[in] SecurityDescriptor
Указатель на SECURITY_DESCRIPTOR , для которого требуется вернуть DACL.
[out] DaclPresent
Указатель на логическую переменную, указывающую на наличие DACL в указанном дескрипторе безопасности. Если эта переменная получает значение TRUE, дескриптор безопасности содержит DACL, а остальные выходные параметры получают допустимые значения. Если эта переменная получает значение FALSE, дескриптор безопасности не содержит DACL, а остальные выходные параметры не получают допустимых значений.
[out] Dacl
Указатель на переменную, которая получает адрес DACL для дескриптора безопасности. Если дескриптор безопасности не имеет DACL, эта переменная не получает значение. Если дескриптор безопасности имеет DACL NULL , эта переменная получает значение NULL. DACL NULL неявно разрешает всем доступ к объекту.
[out] DaclDefaulted
Указатель на логическую переменную, которая получает значение флага SE_DACL_DEFAULTED в структуре SECURITY_DESCRIPTOR_CONTROL дескриптора безопасности. Если этот флаг имеет значение TRUE, daCL был получен механизмом по умолчанию. Если он имеет значение FALSE, daCL был явно указан пользователем. Это значение допустимо, только если *Dacl получает значение, отличное от NULL .
Возвращаемое значение
RtlGetDaclSecurityDescriptor возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Код возврата | Описание |
---|---|
|
Уровень редакции дескриптора безопасности неизвестен или не поддерживается. Это код ошибки. |
Комментарии
Значение TRUE для *DaclPresent не означает, что значение *Dacl не равно NULL. То есть значение *DaclPresent может иметь значение TRUE, а *Dacl имеет значение NULL, что означает, что dacl null действует. СПИСОК DACL NULL неявно разрешает всем доступ к объекту и не совпадает с пустым DACL. Пустой DACL не разрешает доступ к объекту.
Дополнительные сведения о безопасности и управлении доступом см. в статье Модель безопасности Windows для разработчиков драйверов и в документации по этим темам в windows SDK.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Server 2003 с пакетом обновления 1 (SP1) |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |