KeSrcuReadUnlock - NtDoc

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

VOID KeSrcuReadUnlock(
  [in] PKE_SRCU      Rcu,
  [in] PKE_SRCU_LOCK Lock
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdm-kesrcureadunlock)

Description

The KeSrcuReadUnlock routine exits a read-side RCU critical section of a specified Sleepable Read-Copy-Update (SRCU) partition.

Parameters

Rcu [in]

A pointer to the SRCU instance that was used in the corresponding KeSrcuReadLock call.

Lock [in]

A pointer to the KE_SRCU_LOCK structure that was filled by the corresponding KeSrcuReadLock call.

Remarks

KeSrcuReadUnlock exits a read-side critical section that was entered with KeSrcuReadLock. This function must be called in the same thread that called the corresponding KeSrcuReadLock.

This function can be called at any IRQL when the thread is still on the same processor. If the thread migrated to a different processor, the maximum effective IRQL is DISPATCH_LEVEL due to inter-processor interrupt (IPI) requirements.

This function can be called with interrupts disabled.

If the calling thread migrated to a different processor since calling KeSrcuReadLock, this function will:

  1. Detect the processor change.
  2. Send an inter-processor interrupt (IPI) to the original processor.
  3. Complete the unlock operation remotely on the original processor.

After this call, the protected data should no longer be accessed.

See also

KE_SRCU_LOCK

KeSrcuAllocate

KeSrcuFree

KeSrcuReadLock

KeSrcuSynchronize