Compartilhar via


Regra DrvAckIoStop (kmdf)

A regra DrvAckIoStop verifica se o driver está ciente das solicitações pendentes enquanto sua fila gerenciada por energia está sendo alimentada e o driver reconhece, conclui ou cancela as solicitações pendentes adequadamente. No caso de solicitações de E/S autogerenciadas, o driver também deve lidar corretamente com essas solicitações de sua função EvtDeviceSelfManagedIoSuspend . Um driver que não consegue lidar com essas solicitações durante uma desligar causaria 0x9F de Verificação de Bugs: DRIVER_POWER_STATE_FAILURE.

Em algumas circunstâncias, pode ser apropriado suprimir esse aviso. Se o driver não mantiver as solicitações ou não as encaminhar para outros drivers e se o driver concluir as solicitações diretamente nos manipuladores da fila, você poderá usar a função __analysis_assume para suprimir o aviso. Para obter mais informações, consulte Usando a função _analysis_assume para suprimir defeitos falsos e Como especificar informações adicionais de código usando __analysis_assume.

Modelo de driver: KMDF

Marcar de bug encontradas com esta regra: 0x9F de Verificação de Bugs: DRIVER_POWER_STATE_FAILURE

Como testar

Em tempo de compilação

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

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

WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate