Partager via


Fonction ObGetObjectSecurity (wdm.h)

La routine ObGetObjectSecurity obtient le descripteur de sécurité pour un objet donné.

Syntaxe

NTSTATUS ObGetObjectSecurity(
  [in]  PVOID                Object,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PBOOLEAN             MemoryAllocated
);

Paramètres

[in] Object

Pointeur vers l’objet.

[out] SecurityDescriptor

Pointeur vers une variable fournie par l’appelant que cette routine définit sur l’adresse d’une mémoire tampon contenant le SECURITY_DESCRIPTOR pour l’objet donné. Si l’objet donné n’a pas de descripteur de sécurité, cette variable est définie sur NULL en retour à partir d’ObGetObjectSecurity.

[out] MemoryAllocated

Pointeur vers une variable fournie par l’appelant que cette routine définit sur TRUE si elle a alloué une mémoire tampon pour contenir le descripteur de sécurité.

Valeur retournée

ObGetObjectSecurity retourne STATUS_SUCCESS ou une status d’erreur, comme STATUS_INSUFFICIENT_RESOURCES s’il n’a pas pu allouer suffisamment de mémoire pour retourner les informations demandées.

Remarques

Un appel réussi à ObGetObjectSecurity retourne un descripteur de sécurité auto-relatif dans la mémoire tampon à l’emplacement *SecurityDescriptor ou retourne NULL à *SecurityDescriptor si l’objet donné n’a pas de descripteur de sécurité. Par exemple, tout objet sans nom, tel qu’un objet d’événement, n’a pas de descripteur de sécurité.

Si ObGetObjectSecurity retourne STATUS_SUCCESS, l’appelant doit enregistrer la valeur retournée dans MemoryAllocated. Un tel appelant doit passer MemoryAllocated dans un appel réciproque à ObReleaseObjectSecurity , rétablissant ainsi le nombre de références sur le descripteur de sécurité à sa valeur d’origine et libérant la mémoire tampon, le cas échéant, qui a été allouée par ObGetObjectSecurity.

ObGetObjectSecurity ne doit être appelé qu’au niveau IRQL = PASSIVE_LEVEL avec les API activés, sinon des blocages ou des blocages peuvent se produire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),IrqlApcLte(wdm)

Voir aussi

ObReferenceObjectByHandle

ObReleaseObjectSecurity

SECURITY_DESCRIPTOR