Funzione GetPrivateObjectSecurity (securitybaseapi.h)
La funzione GetPrivateObjectSecurity recupera informazioni dal descrittore di sicurezza di un oggetto privato.
Sintassi
BOOL GetPrivateObjectSecurity(
[in] PSECURITY_DESCRIPTOR ObjectDescriptor,
[in] SECURITY_INFORMATION SecurityInformation,
[out, optional] PSECURITY_DESCRIPTOR ResultantDescriptor,
[in] DWORD DescriptorLength,
[out] PDWORD ReturnLength
);
Parametri
[in] ObjectDescriptor
Puntatore a una struttura SECURITY_DESCRIPTOR . Si tratta del descrittore di sicurezza da eseguire una query.
[in] SecurityInformation
Set di flag di bit che indicano le parti del descrittore di sicurezza da recuperare. Questo parametro può essere una combinazione dei flag SECURITY_INFORMATION bit.
[out, optional] ResultantDescriptor
Puntatore a un buffer che riceve una copia delle informazioni richieste dal descrittore di sicurezza specificato. La struttura SECURITY_DESCRIPTOR viene restituita in formato auto-relativo .
[in] DescriptorLength
Specifica le dimensioni, in byte, del buffer a cui punta il parametro ResultantDescriptor .
[out] ReturnLength
Puntatore a una variabile impostata su zero se il descrittore viene copiato correttamente. Se il buffer è troppo piccolo per il descrittore di sicurezza, questa variabile riceve il numero di byte necessari. Se il valore di questa variabile è maggiore del valore del parametro DescriptorLength quando la funzione restituisce, la funzione restituisce FALSE e nessuno del descrittore di sicurezza viene copiato nel buffer.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Questa funzione è progettata solo per l'uso da parte di gestione risorse. Per implementare la semantica del controllo di accesso standard per l'aggiornamento dei descrittori di sicurezza, un resource manager deve verificare che le condizioni seguenti vengano soddisfatte prima di chiamare GetPrivateObjectSecurity:
- Se il proprietario dell'oggetto è impostato, il processo chiamante deve avere l'autorizzazione WRITE_OWNER o essere il proprietario dell'oggetto.
- Se viene impostato l'elenco di controllo di accesso discrezionale dell'oggetto, il processo chiamante deve avere l'autorizzazione WRITE_DAC o essere il proprietario dell'oggetto.
- Se viene impostato l'elenco di controllo di accesso al sistema dell'oggetto, è necessario abilitare il privilegio SE_SECURITY_NAME per il processo chiamante.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | securitybaseapi.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |
Vedi anche
Funzioni di Controllo di accesso client/server