Funzione ObGetObjectSecurity (wdm.h)
La routine ObGetObjectSecurity ottiene il descrittore di sicurezza per un determinato oggetto.
Sintassi
NTSTATUS ObGetObjectSecurity(
[in] PVOID Object,
[out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
[out] PBOOLEAN MemoryAllocated
);
Parametri
[in] Object
Puntatore all'oggetto.
[out] SecurityDescriptor
Puntatore a una variabile fornita dal chiamante impostata sull'indirizzo di un buffer contenente il SECURITY_DESCRIPTOR per l'oggetto specificato. Se l'oggetto specificato non dispone di descrittore di sicurezza, questa variabile viene impostata su NULL in caso di ritorno da ObGetObjectSecurity.
[out] MemoryAllocated
Puntatore a una variabile fornita dal chiamante impostata su TRUE se allocata un buffer per contenere il descrittore di sicurezza.
Valore restituito
ObGetObjectSecurity restituisce STATUS_SUCCESS o uno stato di errore, ad esempio STATUS_INSUFFICIENT_RESOURCES se non è stato possibile allocare memoria sufficiente per restituire le informazioni richieste.
Commenti
Una chiamata riuscita a ObGetObjectSecurity restituisce un descrittore di sicurezza self-relativo nel buffer in *SecurityDescriptor oppure restituisce NULL in *SecurityDescriptor se l'oggetto specificato non ha descrittori di sicurezza. Ad esempio, qualsiasi oggetto senza nome, ad esempio un oggetto evento, non dispone di descrittore di sicurezza.
Se ObGetObjectSecurity restituisce STATUS_SUCCESS, il chiamante deve salvare il valore restituito in MemoryAllocated. Tale chiamante deve passare MemoryAllocated in una chiamata reciproca a ObReleaseObjectSecurity , ripristinando quindi il conteggio dei riferimenti sul descrittore di sicurezza al relativo valore originale e rilasciando il buffer, se presente, allocato da ObGetObjectSecurity.
ObGetObjectSecurity deve essere chiamato solo a livello di IRQL = PASSIVE_LEVEL con LE API abilitate, altrimenti potrebbero verificarsi deadlock o arresti anomali.
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 |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDDIs(storport), IrqlApcLte(wdm) |