Bewerken

Delen via


ExRundownCompletedCacheAware function (wdm.h)

The ExRundownCompletedCacheAware routine updates the run-down status of a shared object to indicate that the run down of the object has completed.

Syntax

void ExRundownCompletedCacheAware(
  [in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware
);

Parameters

[in, out] RunRefCacheAware

Pointer to the rundown protection object that the function will operate on. This is a pointer to an opaque EX_RUNDOWN_REF_CACHE_AWARE structure returned by a previous call to ExAllocateCacheAwareRundownProtection or ExInitializeRundownProtectionCacheAware.

Return value

None

Remarks

This routine is called by the driver that owns an object that resides in shared memory and that is accessed by other drivers. The ExRundownCompletedCacheAware call must be preceded by a call to the ExWaitForRundownProtectionReleaseCacheAware routine that runs down the object.

After an ExRundownCompletedCacheAware call, additional calls to ExWaitForRundownProtectionReleaseCacheAware to run down the associated object return immediately without waiting. However, calls to ExAcquireRundownProtectionCacheAware to acquire run-down protection on the associated object fail (return FALSE).

After an ExRundownCompletedCacheAware call, the driver can call the ExReInitializeRundownProtectionCacheAware routine to associate the EX_RUNDOWN_REF_CACHE_AWARE structure with a new object and to initialize run-down protection on this object. After the ExReInitializeRundownProtection call, drivers can call ExAcquireRundownProtectionCacheAware to acquire run-down protection on the new object.

On entry, the status information in the EX_RUNDOWN_REF_CACHE_AWARE structure must indicate that the object that was associated with this structure was run down.

Requirements

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

See also

Cache-aware run-down protection

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExSizeOfRundownProtectionCacheAware

ExWaitForRundownProtectionReleaseCacheAware