KeSrcuAllocate - NtDoc

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

PKE_SRCU KeSrcuAllocate(
  [in] ULONG Tag
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

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

Description

The KeSrcuAllocate routine allocates and initializes a sleepable Read-Copy-Update (SRCU) partition for synchronization purposes.

Parameters

Tag [in]

A four-character tag value used to identify this SRCU instance.

Return value

KeSrcuAllocate returns a pointer to the allocated SRCU instance on success, or NULL if the allocation fails.

Remarks

KeSrcuAllocate creates a new SRCU synchronization domain that allows multiple readers to access shared data concurrently while ensuring safe updates. SRCU differs from regular RCU in that readers can sleep while holding the read lock.

The SRCU partition returned by this function must be freed using KeSrcuFree when no longer needed.

Each SRCU partition is independent and maintains its own grace periods. SRCU is designed for scenarios where readers may need to sleep or perform blocking operations.

The Tag parameter should be unique to help identify the instance during debugging.

Typical Usage Pattern

See also

KeSrcuFree

KeSrcuReadLock

KeSrcuReadUnlock

KeSrcuSynchronize