Partager via


ExAcquireSpinLockExclusiveAtDpcLevel, fonction (wdm.h)

La routine ExAcquireSpinLockExclusiveAtDpcLevel acquiert une de verrouillage de rotation pour un accès exclusif par un appelant qui s’exécute déjà à IRQL >= DISPATCH_LEVEL.

Syntaxe

void ExAcquireSpinLockExclusiveAtDpcLevel(
  [in, out] PEX_SPIN_LOCK SpinLock
);

Paramètres

[in, out] SpinLock

Pointeur vers le verrou de rotation à acquérir. L’appelant ne doit pas déjà posséder ce verrou de rotation.

Valeur de retour

Aucun

Remarques

Lors de l’entrée à cette routine, l’appelant doit s’exécuter au >IRQL = DISPATCH_LEVEL. Cette routine ne modifie pas le runtime d’intégration.

Pour libérer le verrou de rotation, le pilote appelle la routine ExReleaseSpinLockExclusiveFromDpcLevel.

Un verrou de rotation est une variable 32 bits de type EX_SPIN_LOCK. Le pilote doit allouer le stockage pour le verrou de rotation et initialiser le verrou de rotation à zéro. Ce stockage doit se trouver dans la mémoire de l’espace système non paginé.

L’appelant doit contenir le verrou de rotation uniquement brièvement avant de le libérer. Pour plus d’informations, consultez Présentation des verrous de rotation.

L’acquisition récursive d’un verrou de rotation provoque un blocage et n’est pas autorisée.

Exigences

Exigence Valeur
d’en-tête wdm.h
IRQL IRQL >= DISPATCH_LEVEL

Voir aussi

ExReleaseSpinLockExclusiveFromDpcLevel