Compartilhar via


Regra StartIoCancel (wdm)

A regra StartIoCancel especifica que o driver não deve chamar IoSetStartIoAttributes com o parâmetro NonCancelable definido como FALSE antes de chamar IoSetCancelRoutine com uma rotina de cancelamento não NULL.

Definir o parâmetro NonCancelable como FALSE antes de registrar a rotina Cancelar pode resultar em uma condição de corrida de cancelamento.

Como a rotina cancelar de um driver deve incluir uma chamada para IoReleaseCancelSpinLock (para liberar o bloqueio de rotação que o Gerenciador de E/S adquire antes de chamar a rotina Cancelar ), considere verificar o driver com a regra StartIoCancel e a regra CancelSpinLock .

Modelo de driver: WDM

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra StartIoCancel .

Use as seguintes etapas para executar uma análise do código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers.

Aplica-se a

IoSetCancelRoutineIoSetStartIoAttributes

Confira também

CancelSpinLock