// wdm.h
typedef struct _KE_SRCU_LOCK {
ULONG_PTR Placeholder[2];
} *PKE_SRCU_LOCK, KE_SRCU_LOCK;
View the official Windows Driver Kit DDI referenceNo description available.
The KE_SRCU_LOCK structure represents the lock context used in SRCU (Sleepable Read-Copy-Update) read-side critical sections.
Placeholder[2]An array of two ULONG_PTR values that serve as opaque storage for the SRCU lock context. The contents of this field are implementation-specific and should not be accessed or modified by drivers.
This structure is returned by KeSrcuReadLock and KeRcuReadLock functions and must be passed to the corresponding unlock functions.
This structure is opaque to drivers. Drivers should never:
Placeholder field directly.The structure is typically used in the following pattern:
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);
The lock context returned by the read lock function must be passed to the corresponding unlock function to properly exit the critical section. Using an incorrect or uninitialized lock context may result in system instability.