Compartir a través de


Función RtlSetDaclSecurityDescriptor (wdm.h)

La rutina RtlSetDaclSecurityDescriptor establece la información DACL de un descriptor de seguridad de formato absoluto, o si ya hay una DACL presente en el descriptor de seguridad, se sustituye.

Sintaxis

NTSYSAPI NTSTATUS RtlSetDaclSecurityDescriptor(
  [in, out]      PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           BOOLEAN              DaclPresent,
  [in, optional] PACL                 Dacl,
  [in, optional] BOOLEAN              DaclDefaulted
);

Parámetros

[in, out] SecurityDescriptor

Puntero a una estructura SECURITY_DESCRIPTOR . Esta estructura es el descriptor de seguridad al que se va a aplicar la DACL.

[in] DaclPresent

Indica si hay que indicar que una DACL está presente en el descriptor de seguridad. Si este parámetro es FALSE, RtlSetDaclSecurityDescriptor establece la marca de control SE_DACL_PRESENT en el descriptor de seguridad en FALSE. En este caso, se omiten los parámetros opcionales restantes (Dacl y DaclDefaulted). Si DaclPresent es TRUE, la marca SE_DACL_PRESENT en el descriptor de seguridad se establece en TRUE y no se omiten los parámetros opcionales restantes. Para obtener más información sobre la marca de SE_DACL_PRESENT, vea SECURITY_DESCRIPTOR_CONTROL.

[in, optional] Dacl

Puntero a la DACL para el descriptor de seguridad. Si este parámetro es NULL, el puntero DACL del descriptor de seguridad se establece en NULL. Un puntero DACL NULL concede incondicionalmente todo el acceso a un objeto y no es el mismo que una DACL vacía. Una DACL vacía deniega todo el acceso a un objeto . Si Dacl no es NULL, se hace referencia a la estructura de ACL proporcionada por el autor de la llamada, pero no se copia en, el descriptor de seguridad. El autor de la llamada puede asignar la estructura de ACL desde la memoria del sistema paginada y puede llamar a la rutina RtlCreateAcl para inicializar la estructura.

[in, optional] DaclDefaulted

Indica si la DACL se proporcionó mediante algún mecanismo predeterminado o se especificó explícitamente por el autor de la llamada. Si este parámetro es TRUE, la DACL se proporcionó mediante un mecanismo predeterminado. Si DaclDefaulted es FALSE, el autor de la llamada especificó explícitamente la DACL. RtlSetDaclSecurityDescriptor copia el valor especificado para este parámetro en la marca de control SE_DACL_DEFAULTED en el descriptor de seguridad. Para obtener más información sobre la marca de SE_DACL_DEFAULTED, vea SECURITY_DESCRIPTOR_CONTROL.

Valor devuelto

RtlSetDaclSecurityDescriptor puede devolver uno de los siguientes valores de estado.

Código devuelto Descripción
STATUS_SUCCESS
La llamada se ha realizado correctamente.
STATUS_UNKNOWN_REVISION
Se desconoce la revisión del descriptor de seguridad.
STATUS_INVALID_SECURITY_DESCR
El descriptor de seguridad no es un descriptor de seguridad de formato absoluto.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario)
IRQL PASSIVE_LEVEL

Consulte también

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL