Regla StartIoCancel (wdm)
La regla StartIoCancel especifica que el controlador no debe llamar a IoSetStartIoAttributes con el parámetro NonCancelable establecido en FALSE antes de llamar a IoSetCancelRoutine con una rutina Cancel que no sea NULL.
Establecer el parámetro NonCancelable en FALSE antes de registrar la rutina Cancel puede dar lugar a una condición de carrera de cancelación.
Dado que la rutina Cancel de un controlador debe incluir una llamada a IoReleaseCancelSpinLock (para liberar el bloqueo de número que adquiere el Administrador de E/S antes de llamar a la rutina Cancelar ), considere la posibilidad de comprobar el controlador con la regla StartIoCancel y la regla CancelSpinLock .
Modelo de controlador: WDM
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla StartIoCancel . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
IoSetCancelRoutineIoSetStartIoAttributes