Función GetSecurityDescriptorDacl (securitybaseapi.h)

La función GetSecurityDescriptorDacl recupera un puntero a la lista de control de acceso discrecional (DACL) en un descriptor de seguridad especificado.

Sintaxis

BOOL GetSecurityDescriptorDacl(
  [in]  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [out] LPBOOL               lpbDaclPresent,
  [out] PACL                 *pDacl,
  [out] LPBOOL               lpbDaclDefaulted
);

Parámetros

[in] pSecurityDescriptor

Puntero a la estructura SECURITY_DESCRIPTOR que contiene la DACL. La función recupera un puntero a él.

[out] lpbDaclPresent

Puntero a un valor que indica la presencia de una DACL en el descriptor de seguridad especificado. Si lpbDaclPresent es TRUE, el descriptor de seguridad contiene una DACL y el resto de parámetros de salida de esta función reciben valores válidos. Si lpbDaclPresent es FALSE, el descriptor de seguridad no contiene una DACL y los parámetros de salida restantes no reciben valores válidos.

Un valor de TRUE para lpbDaclPresent no significa que pDacl no sea NULL. Es decir, lpbDaclPresent puede ser TRUE mientras pDacl es NULL, lo que significa que una DACL NULL está en vigor. Una DACL NULL permite implícitamente todo el acceso a un objeto y no es el mismo que una DACL vacía. Una DACL vacía no permite ningún acceso a un objeto. Para obtener información sobre cómo crear una DACL adecuada, consulte Creación de una DACL.

[out] pDacl

Puntero a un puntero a una lista de control de acceso (ACL). Si existe una DACL, la función establece el puntero al que apunta pDacl en la dirección de la DACL del descriptor de seguridad. Si no existe una DACL, no se almacena ningún valor.

Si la función almacena un valor NULL en el puntero al que apunta pDacl, el descriptor de seguridad tiene una DACL NULL . Una DACL NULL permite implícitamente todo el acceso a un objeto .

Si una aplicación espera una DACL que no es NULL , pero encuentra una DACL NULL , la aplicación debe producir un error de forma segura y no permitir el acceso.

[out] lpbDaclDefaulted

Puntero a una marca establecida en el valor de la marca SE_DACL_DEFAULTED en la estructura SECURITY_DESCRIPTOR_CONTROL si existe una DACL para el descriptor de seguridad. Si esta marca es TRUE, la DACL se recuperó mediante un mecanismo predeterminado; si es FALSE, un usuario especificó explícitamente la DACL.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero.

Si se produce un error en la función, devuelve cero. Para obtener información de error extendida, llame a GetLastError.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado securitybaseapi.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

Access Control de bajo nivel

Funciones de Access Control de bajo nivel

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl