Condividi tramite


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)

Vedi anche

ObReferenceObjectByHandle

ObReleaseObjectSecurity

SECURITY_DESCRIPTOR