Funzione RegGetKeySecurity (winreg.h)
La funzione RegGetKeySecurity recupera una copia del descrittore di sicurezza che protegge la chiave del Registro di sistema aperta specificata.
Sintassi
LSTATUS RegGetKeySecurity(
[in] HKEY hKey,
[in] SECURITY_INFORMATION SecurityInformation,
[out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, out] LPDWORD lpcbSecurityDescriptor
);
Parametri
[in] hKey
Handle per una chiave aperta per cui recuperare il descrittore di sicurezza.
[in] SecurityInformation
Valore SECURITY_INFORMATION che indica le informazioni di sicurezza richieste.
[out, optional] pSecurityDescriptor
Puntatore a un buffer che riceve una copia del descrittore di sicurezza richiesto.
[in, out] lpcbSecurityDescriptor
Puntatore a una variabile che specifica le dimensioni, in byte, del buffer a cui punta il parametro pSecurityDescriptor . Quando la funzione restituisce, la variabile contiene il numero di byte scritti nel buffer.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce ERROR_SUCCESS.
Se la funzione ha esito negativo, restituisce un codice di errore diverso da zero definito in WinError.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore.
Commenti
Se il buffer specificato dal parametro pSecurityDescriptor è troppo piccolo, la funzione restituisce ERROR_INSUFFICIENT_BUFFER e il parametro lpcbSecurityDescriptor contiene il numero di byte necessari per il descrittore di sicurezza richiesto.
Per leggere il descrittore di sicurezza della chiave, il gruppo o l'elenco di controllo degli accessi discrezionali dal descrittore di sicurezza della chiave, il processo chiamante deve essere stato concesso READ_CONTROL accesso al momento dell'apertura dell'handle. Per ottenere READ_CONTROL accesso, il chiamante deve essere il proprietario della chiave o il daCL della chiave deve concedere l'accesso.
Per leggere l'elenco di controllo di accesso del sistema (SACL) dal descrittore di sicurezza, il processo chiamante deve essere stato concesso ACCESS_SYSTEM_SECURITY accesso al momento dell'apertura della chiave. Il modo corretto per ottenere questo accesso consiste nell'abilitare il privilegio SE_SECURITY_NAME nel token corrente del chiamante, aprire l'handle per l'accesso ACCESS_SYSTEM_SECURITY e quindi disabilitare il privilegio.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winreg.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Controllo di accesso di basso livello