KE_SRCU_LOCK - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

typedef struct _KE_SRCU_LOCK {
  ULONG_PTR Placeholder[2];
} *PKE_SRCU_LOCK, KE_SRCU_LOCK;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-wdm-ke_srcu_lock)

Description

The KE_SRCU_LOCK structure represents the lock context used in SRCU (Sleepable Read-Copy-Update) read-side critical sections.

Members

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.

Remarks

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:

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.

See also

KeSrcuReadLock

KeSrcuReadUnlock

KeRcuReadLock

KeRcuReadUnlock

KeSrcuAllocate

KeSrcuSynchronize