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