Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма 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 для инициализации структуры.
❗ПАРАМЕТР WARNING❗ ПАРАМЕТР NULL DACL разрешает неограниченный доступ к объекту и, следовательно, следует использовать только в стратегических сценариях, когда оценка безопасности подтвердила, что это приемлемый результат. Рекомендуется использовать пустой DACL, который по умолчанию по умолчанию запрещается всем доступом.
[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 |