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) |