Funzione RtlSetDaclSecurityDescriptor (wdm.h)

La routine RtlSetDaclSecurityDescriptor imposta le informazioni DACL di un descrittore di sicurezza in formato assoluto oppure, se nel descrittore di sicurezza è già presente un DACL, viene sostituito.

Sintassi

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

Parametri

[in, out] SecurityDescriptor

Puntatore a una struttura SECURITY_DESCRIPTOR . Questa struttura è il descrittore di sicurezza a cui applicare l'elenco DACL.

[in] DaclPresent

Indica se un DACL è presente nel descrittore di sicurezza. Se questo parametro è FALSE, RtlSetDaclSecurityDescriptor imposta il flag di controllo SE_DACL_PRESENT nel descrittore di sicurezza su FALSE. In questo caso, i parametri facoltativi rimanenti (Dacl e DaclDefaulted) vengono ignorati. Se DaclPresent è TRUE, il flag SE_DACL_PRESENT nel descrittore di sicurezza è impostato su TRUE e i parametri facoltativi rimanenti non vengono ignorati. Per altre informazioni sul flag di SE_DACL_PRESENT, vedere SECURITY_DESCRIPTOR_CONTROL.

[in, optional] Dacl

Puntatore all'elenco DACL per il descrittore di sicurezza. Se questo parametro è NULL, il puntatore DACL nel descrittore di sicurezza è impostato su NULL. Un puntatore DACL NULL concede in modo condizionale l'accesso a un oggetto e non corrisponde a un DACL vuoto. Un DACL vuoto nega l'accesso a un oggetto . Se Dacl è diverso da NULL, viene fatto riferimento alla struttura ACL fornita dal chiamante, ma non copiata nel descrittore di sicurezza. Il chiamante può allocare la struttura ACL dalla memoria di sistema di paging e può chiamare la routine RtlCreateAcl per inizializzare la struttura.

[in, optional] DaclDefaulted

Indica se l'elenco DACL è stato fornito da un meccanismo predefinito o è stato specificato in modo esplicito dal chiamante. Se questo parametro è TRUE, l'elenco DACL è stato fornito da un meccanismo predefinito. Se DaclDefaulted è FALSE, il chiamante ha specificato in modo esplicito l'elenco DACL. RtlSetDaclSecurityDescriptor copia il valore specificato per questo parametro nel flag di controllo SE_DACL_DEFAULTED nel descrittore di sicurezza. Per altre informazioni sul flag di SE_DACL_DEFAULTED, vedere SECURITY_DESCRIPTOR_CONTROL.

Valore restituito

RtlSetDaclSecurityDescriptor può restituire uno dei valori di stato seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
La chiamata è stata completata correttamente.
STATUS_UNKNOWN_REVISION
La revisione del descrittore di sicurezza è sconosciuta.
STATUS_INVALID_SECURITY_DESCR
Il descrittore di sicurezza non è un descrittore di sicurezza del formato assoluto.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe (modalità kernel); Ntdll.dll (modalità utente)
IRQL PASSIVE_LEVEL

Vedi anche

ACL

RtlCreateAcl

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL