Partager via


structure KE_SRCU_LOCK (wdm.h)

La structure KE_SRCU_LOCK représente le contexte de verrouillage utilisé dans les sections critiques en lectureCopy-Updateen mode veille (SRCU).

Syntaxe

typedef struct _KE_SRCU_LOCK {
  ULONG_PTR Placeholder[2];
} *PKE_SRCU_LOCK, KE_SRCU_LOCK;

Members

Placeholder[2]

Tableau de deux ULONG_PTR valeurs qui servent de stockage opaque pour le contexte de verrouillage SRCU. Le contenu de ce champ est spécifique à l’implémentation et ne doit pas être accessible ni modifié par les pilotes.

Remarques

Cette structure est retournée par les fonctions KeSrcuReadLock et KeRcuReadLock et doit être passée aux fonctions de déverrouillage correspondantes.

Cette structure est opaque pour les pilotes. Les pilotes ne doivent jamais :

  • Accédez au champ ou modifiez-le Placeholder directement.
  • Faites des hypothèses sur la disposition interne de la structure.
  • Copiez ou sérialisez le contenu de la structure.
  • Utilisez la structure entre différentes partitions SRCU.

La structure est généralement utilisée dans le modèle suivant :

PSRCU_PARTITION SrcuPartition = KeSrcuAllocate();
KE_SRCU_LOCK LockContext;

// Enter read-side critical section
LockContext = KeSrcuReadLock(SrcuPartition);

// Access RCU-protected data safely
// ...

// Exit read-side critical section
KeSrcuReadUnlock(SrcuPartition, LockContext);

Le contexte de verrouillage retourné par la fonction de verrouillage de lecture doit être transmis à la fonction de déverrouillage correspondante pour quitter correctement la section critique. L’utilisation d’un contexte de verrou incorrect ou non initialisé peut entraîner une instabilité du système.

Spécifications

Requirement Valeur
Client minimum requis Windows 11, version 24H2
Serveur minimal pris en charge Windows Server 2025
Header wdm.h (include Wdm.h)

Voir aussi

KeSrcuReadLock

KeSrcuReadUnlock

KeRcuReadLock

KeRcuReadUnlock

KeSrcuAllocate

KeSrcuSynchronize