Функция 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

См. также раздел

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

Низкоуровневые контроль доступа

Низкоуровневые функции контроль доступа

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl