Share via


Fonction ExAcquireRundownProtectionEx (wdm.h)

La routine ExAcquireRundownProtectionEx tente d’acquérir une protection d’exécution sur un objet partagé afin que l’appelant puisse accéder à l’objet en toute sécurité.

Syntaxe

BOOLEAN ExAcquireRundownProtectionEx(
  [in, out] PEX_RUNDOWN_REF RunRef,
  [in]      ULONG           Count
);

Paramètres

[in, out] RunRef

Pointeur vers une structure EX_RUNDOWN_REF qui a été initialisée par un appel précédent à la routine ExInitializeRundownProtection . Les routines de protection d’exécution utilisent cette structure pour suivre les status d’exécution de l’objet partagé associé. Cette structure est opaque pour les pilotes.

[in] Count

Quantité d’incrémentation vers l’instance nombre de l’objet. Le nombre est incrémenté uniquement si la routine retourne TRUE. Pour plus d’informations, consultez Remarques

Valeur retournée

ExAcquireRundownProtectionEx retourne TRUE si la routine acquiert correctement la protection contre l’exécution de l’appelant. Sinon, il retourne FALSE. Une valeur de retour FALSE indique que l’exécution de l’objet a démarré et que l’objet doit être traité comme non valide.

Remarques

Pour accéder en toute sécurité à un objet partagé, un pilote appelle ExAcquireRundownProtectionEx pour acquérir une protection d’exécution sur l’objet.

Le paramètre RunRef pointe vers une structure EX_RUNDOWN_REF qui effectue le suivi des status d’exécution de l’objet associé. Ces informations status incluent le nombre d’instances de protection contre l’exécution qui sont actuellement en vigueur sur l’objet. Les routines ExAcquireRundownProtectionEx et ExReleaseRundownProtectionEx incrémentent et décrémentent ce nombre par des quantités arbitraires. Deux routines associées, ExAcquireRundownProtection et ExReleaseRundownProtection, incrémentent et décrémentent ce nombre d’une.

Tant que le bloc d’exécution lui-même n’est pas paginé, cette fonction peut être appelée à DISPATCH_LEVEL.

Pour plus d’informations, consultez Protection contre les pannes.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Server 2003.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (voir Remarques)
Règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection

ExReleaseRundownProtectionEx