Функция 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, эта переменная не получает значение. Если дескриптор безопасности содержит NULL DACL, эта переменная получает NULL. NULL DACL неявно разрешает доступ ко всему объекту.
[out] DaclDefaulted
Указатель на логическую переменную, которая получает значение флага SE_DACL_DEFAULTED в структуре SECURITY_DESCRIPTOR_CONTROL дескриптора безопасности. Если этот флаг TRUE, daCL был получен механизмом по умолчанию. Если FALSE, daCL был явно указан пользователем. Это значение допустимо, только если *Dacl получает значение, отличное отNULL.
Возвращаемое значение
RtlGetDaclSecurityDescriptor возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Возвращаемый код | Описание |
---|---|
|
Уровень редакции дескриптора безопасности неизвестен или не поддерживается. Это код ошибки. |
Замечания
Значение TRUE для *DaclPresent не означает, что *Dacl не являетсяNULL. То есть *DaclPresent можно TRUE, а *DaclNULL, то есть ЗНАЧЕНИЕ NULL DACL действует. NULL DACL неявно разрешает доступ ко всему объекту и не совпадает с пустым DACL. Пустой DACL не разрешает доступ к объекту.
Дополнительные сведения о безопасности и управлении доступом см. в модели безопасности Windows для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Server 2003 с пакетом обновления 1 (SP1) |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |