WithinCriticalRegion rule (wdm)

The WithinCriticalRegion rule specifies that the driver's calls to particular synchronization functions appear only after calling KeEnterCriticalRegion and before calling KeLeaveCriticalRegion.

The affected synchronization functions are the following:

This rule does not recognize other methods of disabling normal APC delivery. For more information, see Disabling APCs.

Driver model: WDM

How to test

At compile time

Run Static Driver Verifier and specify the WithinCriticalRegion rule.

Use the following steps to run an analysis of your code:
  1. Prepare your code (use role type declarations).
  2. Run Static Driver Verifier.
  3. View and analyze the results.

For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Applies to

ExAcquireResourceExclusiveLite ExAcquireResourceSharedLite ExAcquireSharedStarveExclusive ExAcquireSharedWaitForExclusive ExReleaseResourceForThreadLite ExReleaseResourceLite KeEnterCriticalRegion KeEnterGuardedRegion KeLeaveCriticalRegion KeLeaveGuardedRegion

See also

Managing Hardware Priorities Preventing Errors and Deadlocks While Using Spin Locks