Regla SpinlockRelease (wdm)

La regla SpinlockRelease especifica que las llamadas a KeReleaseSpinLock se realizan en una alternancia estricta con KeAcquireSpinLock y KeAcquireSpinLockRaiseToDpc. Es decir, el controlador debe llamar a KeReleaseSpinLock después de llamar a KeAcquireSpinLock o KeAcquireSpinLockRaiseToDpc y antes de las llamadas posteriores a KeAcquireSpinLock o a KeAcquireSpinLockRaiseToDpc.

Modelo de controlador: WDM

Comprobaciones de errores encontradas con esta regla: Comprobación de errores 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x0004000B)

Cómo probar

En tiempo de compilación

Ejecute el Comprobador de controladores estáticos y especifique la regla SpinlockRelease .

Usa los pasos siguientes para ejecutar un análisis de tu código:
  1. Prepara el código (usa declaraciones de tipos de rol).
  2. Ejecuta el comprobador de controlador estático.
  3. Consulta y analiza los resultados.

Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores.

En tiempo de ejecución

Ejecute comprobador de controladores y seleccione la opción comprobación de cumplimiento de DDI (adicional).

Se aplica a

KeAcquireSpinLockKeAcquireSpinLockRaiseTodpcKeReleaseSpinLockKeTryToAcquireSpinLockAtdpcLevel