ExAllocateCacheAwareRundownProtection function (wdm.h)

The ExAllocateCacheAwareRundownProtection routine allocates a cache-friendly rundown protection structure for multi-processor scenarios. Rundown protection is a synchronization mechanism that allows for the safe cleanup of resources that might be accessed by multiple threads.

Syntax

PEX_RUNDOWN_REF_CACHE_AWARE ExAllocateCacheAwareRundownProtection(
  [in] __drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
  [in] ULONG                                          PoolTag
);

Parameters

[in] PoolType

The type of pool memory to allocate. For a description of the available pool memory types, see POOL_TYPE.

[in] PoolTag

A ULONG that specifies the pool tag for the memory allocation. The pool tag is a 32-bit value that is used to track memory usage.

Return value

Returns a pointer to an opaque EX_RUNDOWN_REF_CACHE_AWARE structure or NULL if allocation fails.

Remarks

A driver can call ExAllocateCacheAwareRundownProtection as an alternative to calling ExSizeOfRundownProtectionCacheAware followed by ExInitializeRundownProtectionCacheAware.

For more info, see Cache-aware run-down protection.

Requirements

Requirement Value
Minimum supported server Windows Server 2003, Service Pack 1
Header wdm.h (include Wdm.h)
IRQL <= APC_LEVEL

See also

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware

ExWaitForRundownProtectionReleaseCacheAware