Partilhar via


Regra ReqNotCanceledLocal (kmdf)

A regra ReqNotCanceledLocal especifica que, se uma solicitação marcada como cancelável for concluída em uma função de retorno de chamada de fila de E/S padrão, o método WdfRequestUnmarkCancelable deverá ser chamado na solicitação de E/S antes da conclusão. A solicitação de E/S deve ser concluída, a menos que a solicitação seja cancelada antes de chamar WdfRequestUnmarkCancelable.

Se uma solicitação marcada como cancelável por WdfRequestMarkCancelable for concluída (chamando WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost), o método WdfRequestUnmarkCancelable deverá ser chamado antes que a solicitação de E/S seja concluída. A solicitação pode ser concluída, a menos que o método WdfRequestUnmarkCancelable retorne status igual a STATUS_CANCELLED.

As funções de retorno de chamada de fila de E/S padrão para uma solicitação são EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl, EvtIoInternalDeviceControl.

Modelo de driver: KMDF

Como testar

Em tempo de compilação

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

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

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable