Expand Minimize

ExRundownCompleted routine

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

Syntax


VOID ExRundownCompleted(
  _Out_  PEX_RUNDOWN_REF RunRef
);

Parameters

RunRef [out]

A pointer to an EX_RUNDOWN_REF structure that was initialized by a previous call to the ExInitializeRundownProtection routine. The run-down protection routines use this structure to track the run-down status of the associated shared object. This structure is opaque to drivers.

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 ExRundownCompleted call must be preceded by a call to the ExWaitForRundownProtectionRelease routine that runs down the object.

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

After an ExRundownCompleted call, the driver can call the ExReInitializeRundownProtection routine to associate the EX_RUNDOWN_REF structure with a new object and to initialize run-down protection on this object. After the ExReInitializeRundownProtection call, drivers can call ExAcquireRundownProtection to acquire run-down protection on the new object.

On entry, the status information in the EX_RUNDOWN_REF structure must indicate that the object that was associated with this structure was run down. Otherwise, ExReInitializeRundownProtection bug checks in checked builds.

For more information, see Run-Down Protection.

Requirements

Version

Available starting with Windows XP.

Header

Wdm.h (include Wdm.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

See also

ExInitializeRundownProtection
EX_RUNDOWN_REF

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft