Funzione GetSecurityDescriptorDacl (securitybaseapi.h)

La funzione GetSecurityDescriptorDacl recupera un puntatoreall'elenco di controllo di accesso discrezionale (DACL) in un descrittore di sicurezza specificato.

Sintassi

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

Parametri

[in] pSecurityDescriptor

Puntatore alla struttura SECURITY_DESCRIPTOR che contiene l'elenco DACL. La funzione recupera un puntatore.

[out] lpbDaclPresent

Puntatore a un valore che indica la presenza di un DACL nel descrittore di sicurezza specificato. Se lpbDaclPresent è TRUE, il descrittore di sicurezza contiene un DACL e i parametri di output rimanenti in questa funzione ricevono valori validi. Se lpbDaclPresent è FALSE, il descrittore di sicurezza non contiene un DACL e i parametri di output rimanenti non ricevono valori validi.

Il valore TRUE per lpbDaclPresent non significa che pDacl non è NULL. Vale a dire, lpbDaclPresent può essere TRUE mentre pDacl è NULL, ovvero un DACL NULL è attivo. 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 informazioni sulla creazione di un DACL appropriato, vedere Creazione di un DACL.

[out] pDacl

Puntatore a un puntatore a un elenco di controllo di accesso (ACL). Se esiste un DACL, la funzione imposta il puntatore a cui fa riferimento pDacl all'indirizzo dell'elenco DACL del descrittore di sicurezza. Se non esiste un DACL, non viene archiviato alcun valore.

Se la funzione archivia un valore NULL nel puntatore a cui punta pDacl, il descrittore di sicurezza ha un DACL NULL . Un DACL NULL consente in modo implicito l'accesso a un oggetto .

Se un'applicazione prevede un DACL non NULL ma rileva un DACL NULL , l'applicazione deve avere esito negativo in modo sicuro e non consentire l'accesso.

[out] lpbDaclDefaulted

Puntatore a un flag impostato sul valore del flag SE_DACL_DEFAULTED nella struttura SECURITY_DESCRIPTOR_CONTROL se esiste un DACL per il descrittore di sicurezza. Se questo flag è TRUE, il DACL è stato recuperato da un meccanismo predefinito; se FALSE, l'elenco DACL è stato specificato in modo esplicito da un utente.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero.

Se la funzione ha esito negativo, restituisce zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione securitybaseapi.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

GetSecurityDescriptorControl

GetSecurityDescriptorGroup

GetSecurityDescriptorLength

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

InitializeSecurityDescriptor

IsValidSecurityDescriptor

Controllo di accesso di basso livello

Funzioni di Controllo di accesso di basso livello

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SetSecurityDescriptorDacl