Compartir a través de


Función RtlGetDaclSecurityDescriptor (ntifs.h)

La rutina rtlGetDaclSecurityDescriptor devuelve un puntero a la ACL discrecional (DACL) para un descriptor de seguridad.

Sintaxis

NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [out] PBOOLEAN             DaclPresent,
  [out] PACL                 *Dacl,
  [out] PBOOLEAN             DaclDefaulted
);

Parámetros

[in] SecurityDescriptor

Puntero al SECURITY_DESCRIPTOR cuya DACL se va a devolver.

[out] DaclPresent

Puntero a una variable booleana que indica la presencia de una DACL en el descriptor de seguridad especificado. Si esta variable recibe TRUE, el descriptor de seguridad contiene una DACL y los parámetros de salida restantes reciben valores válidos. Si esta variable recibe FALSE, el descriptor de seguridad no contiene una DACL y los parámetros de salida restantes no reciben valores válidos.

[out] Dacl

Puntero a una variable que recibe la dirección de la DACL para el descriptor de seguridad. Si el descriptor de seguridad no tiene una DACL, esta variable no recibe un valor. Si el descriptor de seguridad tiene un DACL de NULL, esta variable recibe NULL. Un NULL DACL permite implícitamente todo el acceso a un objeto .

[out] DaclDefaulted

Puntero a una variable booleana que recibe el valor de la marca SE_DACL_DEFAULTED en la estructura SECURITY_DESCRIPTOR_CONTROL del 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. Este valor solo es válido si *Dacl recibe un valornull que no es de.

Valor devuelto

rtlGetDaclSecurityDescriptor devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_UNKNOWN_REVISION
El nivel de revisión del descriptor de seguridad es desconocido o no se admite. Se trata de un código de error.

Observaciones

Un valor de TRUE para *DaclPresent no significa que *Dacl no seaNULL. Es decir, *DaclPresent se puede TRUE mientras que *Dacl es NULL, lo que significa que una DACL NULL está en vigor. Un NULL DACL 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 acceso a un objeto .

Para obtener más información sobre la seguridad y el control de acceso, consulte modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Server 2003 SP1
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL

Consulte también

de ACL

rtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR