| Предыдущий | Следующий |
| ERROR_INVALID_SID | ERROR_BAD_INHERITANCE_ACL |
ERROR_INVALID_SECURITY_DESCR
ERROR_INVALID_SECURITY_DESCR (1338, 0x0000053A) означает, что дескриптор безопасности или один из переданных его компонентов структурно недопустим. Это следует исследовать как повреждённые данные безопасности, а не как обычный отказ в разрешениях.
Проверяйте на нескольких уровнях
IsValidSecurityDescriptor проверяет компоненты, присутствующие в дескрипторе безопасности, но не содержимое отдельных ACL или ACE. Поэтому дескриптор может требовать отдельной проверки DACL или SACL с помощью IsValidAcl, а любого переданного SID — с помощью IsValidSid.
Распространённые ошибки построения
- Передача неинициализированного
SECURITY_DESCRIPTORвместо начала сInitializeSecurityDescriptor. - Смешение абсолютного и самосвязного дескриптора при хранении или передаче данных безопасности.
- Непреднамеренное использование NULL DACL. NULL DACL предоставляет полный доступ и отличается от пустого DACL, который не предоставляет никакого доступа.
- Освобождение памяти, содержащей ACL, SID или дескриптор, до завершения использующего её API.
См. документацию Microsoft по IsValidSecurityDescriptor, InitializeSecurityDescriptorи Обработка DACL.
Нужно найти другой код? Найти другой код состояния или ошибки.