Функция RtlSetDaclSecurityDescriptor (wdm.h)
Подпрограмма RtlSetDaclSecurityDescriptor задает сведения о daCL дескриптора безопасности в абсолютном формате или, если в дескрипторе безопасности уже присутствует dacl, он замежается.
Синтаксис
NTSYSAPI NTSTATUS RtlSetDaclSecurityDescriptor(
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] BOOLEAN DaclPresent,
[in, optional] PACL Dacl,
[in, optional] BOOLEAN DaclDefaulted
);
Параметры
[in, out] SecurityDescriptor
Указатель на структуру SECURITY_DESCRIPTOR . Эта структура представляет собой дескриптор безопасности, к которому применяется DACL.
[in] DaclPresent
Указывает, присутствует ли DACL в дескрипторе безопасности. Если этот параметр имеет значение FALSE, параметр RtlSetDaclSecurityDescriptor устанавливает для флага элемента управления SE_DACL_PRESENT в дескрипторе безопасности значение FALSE. В этом случае остальные необязательные параметры (Dacl и DaclDefaulted) игнорируются. Если daclPresent имеет значение TRUE, флаг SE_DACL_PRESENT в дескрипторове безопасности имеет значение TRUE , а остальные необязательные параметры не игнорируются. Дополнительные сведения о флаге SE_DACL_PRESENT см. в разделе SECURITY_DESCRIPTOR_CONTROL.
[in, optional] Dacl
Указатель на DACL для дескриптора безопасности. Если этот параметр имеет значение NULL, для указателя DACL в дескрипторе безопасности устанавливается значение NULL. Указатель DACL NULL безоговорочно предоставляет всем доступ к объекту и не совпадает с пустым DACL. Пустой DACL запрещает любой доступ к объекту. Если значение Dacl не равно NULL, на структуру ACL , предоставляемую вызывающим элементом, ссылается дескриптор безопасности, но не копируется в нее. Вызывающий объект может выделить структуру ACL из выгружаемой системной памяти и вызвать подпрограмму RtlCreateAcl для инициализации структуры.
[in, optional] DaclDefaulted
Указывает, был ли DACL предоставлен каким-либо механизмом по умолчанию или явно указан вызывающим объектом. Если этот параметр имеет значение TRUE, daCL был предоставлен механизмом по умолчанию. Если daclDefaulted имеет значение FALSE, вызывающий объект явно указал DACL. RtlSetDaclSecurityDescriptor копирует значение, указанное для этого параметра, в флаг элемента управления SE_DACL_DEFAULTED в дескрипторе безопасности. Дополнительные сведения о флаге SE_DACL_DEFAULTED см. в разделе SECURITY_DESCRIPTOR_CONTROL.
Возвращаемое значение
RtlSetDaclSecurityDescriptor может возвращать одно из следующих значений состояния.
Код возврата | Описание |
---|---|
|
Вызов успешно завершен. |
|
Редакция дескриптора безопасности неизвестна. |
|
Дескриптор безопасности не является дескриптором безопасности абсолютного формата. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe (режим ядра); Ntdll.dll (пользовательский режим) |
IRQL | PASSIVE_LEVEL |