Funzione RtlGetDaclSecurityDescriptor (ntifs.h)

La routine RtlGetDaclSecurityDescriptor restituisce un puntatore all'ACL discrezionale (DACL) per un descrittore di sicurezza.

Sintassi

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

Parametri

[in] SecurityDescriptor

Puntatore al SECURITY_DESCRIPTOR il cui daCL deve essere restituito.

[out] DaclPresent

Puntatore a una variabile booleana che indica la presenza di un'elenco dati nel descrittore di sicurezza specificato. Se questa variabile riceve TRUE, il descrittore di sicurezza contiene un'elenco dati e i parametri di output rimanenti ricevono valori validi. Se questa variabile riceve FALSE, il descrittore di sicurezza non contiene un elenco dati e i parametri di output rimanenti non ricevono valori validi.

[out] Dacl

Puntatore a una variabile che riceve l'indirizzo dell'elenco dati per il descrittore di sicurezza. Se il descrittore di sicurezza non dispone di un elenco di controllo livello dati, questa variabile non riceve un valore. Se il descrittore di sicurezza ha un daCL NULL , questa variabile riceve NULL. Un daCL NULL consente in modo implicito l'accesso a un oggetto.

[out] DaclDefaulted

Puntatore a una variabile booleana che riceve il valore del flag di SE_DACL_DEFAULTED nella struttura di SECURITY_DESCRIPTOR_CONTROL del descrittore di sicurezza. Se questo flag è TRUE, l'elenco dati è stato recuperato da un meccanismo predefinito. Se è FALSE, l'elenco di controllo livello dati è stato specificato in modo esplicito da un utente. Questo valore è valido solo se *Dacl riceve un valore non NULL .

Valore restituito

RtlGetDaclSecurityDescriptor restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:

Codice restituito Descrizione
STATUS_UNKNOWN_REVISION
Il livello di revisione del descrittore di sicurezza è sconosciuto o non è supportato. Si tratta di un codice di errore.

Commenti

Un valore true per *DaclPresent non significa che *Dacl è diverso da NULL. In questo caso , *DaclPresent può essere TRUE mentre *Dacl è NULL, significa che un DACL NULL è effettivo. Un daCL NULL consente in modo implicito l'accesso a un oggetto e non è uguale a un daCL vuoto. Un daCL vuoto non consente l'accesso a un oggetto.

Per altre informazioni sul controllo di sicurezza e accesso, vedere Modello di sicurezza di Windows per sviluppatori driver e la documentazione su questi argomenti in Windows SDK.

Requisiti

Requisito Valore
Client minimo supportato Windows Server 2003 SP1
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR