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