Функция GetSecurityDescriptorDacl (securitybaseapi.h)
Функция GetSecurityDescriptorDacl извлекает указатель на список управления доступом на уровне пользователей (DACL) в указанном дескрипторе безопасности.
Синтаксис
BOOL GetSecurityDescriptorDacl(
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[out] LPBOOL lpbDaclPresent,
[out] PACL *pDacl,
[out] LPBOOL lpbDaclDefaulted
);
Параметры
[in] pSecurityDescriptor
Указатель на структуру SECURITY_DESCRIPTOR , содержащую DACL. Функция извлекает указатель на нее.
[out] lpbDaclPresent
Указатель на значение, указывающее на наличие DACL в указанном дескрипторове безопасности. Если lpbDaclPresent имеет значение TRUE, дескриптор безопасности содержит DACL, а остальные выходные параметры в этой функции получают допустимые значения. Если lpbDaclPresent имеет значение FALSE, дескриптор безопасности не содержит DACL, а остальные выходные параметры не получают допустимых значений.
Значение TRUE для lpbDaclPresent не означает, что pDacl не имеет значение NULL. То есть lpbDaclPresent может иметь значение TRUE , а pDacl имеет значение NULL, а это означает, что daCL null действует. СПИСОК DACL NULL неявно разрешает всем доступ к объекту и не совпадает с пустым DACL. Пустой DACL не разрешает доступ к объекту. Сведения о создании соответствующего daCL см. в разделе Создание DACL.
[out] pDacl
Указатель на указатель на список управления доступом (ACL). Если dacl существует, функция устанавливает указатель, на который указывает pDacl , на адрес DACL дескриптора безопасности. Если DACL не существует, значение не сохраняется.
Если функция сохраняет значение NULL в указателе, на который указывает pDacl, дескриптор безопасности имеет NULL DACL. DACL NULL неявно разрешает всем доступ к объекту.
Если приложение ожидает daCL, отличного от NULL , но обнаруживает список DACL null , приложение должно безопасно завершить сбой и запретить доступ.
[out] lpbDaclDefaulted
Указатель на флаг, заданный на значение флага SE_DACL_DEFAULTED в структуре SECURITY_DESCRIPTOR_CONTROL , если для дескриптора безопасности существует DACL. Если этот флаг имеет значение TRUE, daCL был получен механизмом по умолчанию; Значение false, daCL был явно указан пользователем.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение.
Если функция завершается сбоем, она возвращает ноль. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | securitybaseapi.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Низкоуровневые контроль доступа