Partilhar via


Habilitando a injeção de falha

A ferramenta WdfTester fornece uma interface WMI para configurar a injeção de falha de DDI para um driver específico. Um script (WdftesterScript.wsf) é fornecido que usa essa interface WMI para configurar a injeção de falha. Você pode escrever seu próprio script ou usar o script fornecido para habilitar a injeção de falha. Você pode executar um script (WdftesterScript.wsf) em uma janela do Prompt de Comando para registrar, configurar e cancelar o registro de um driver. O script também tem uma opção de linha de comando chamada runtest.

O que a opção runtest faz

A opção runtest executa desabilitação simples e habilita operações em um driver. Essa opção demonstra como usar a ferramenta. No início, o script desabilita o driver especificado e o habilita. Isso permite que o WdfTester monitore todas as chamadas DDI feitas durante as operações de desabilitar e habilitar. O script usa uma das interfaces WMI para obter a lista de DDIs que foram chamados durante esse período. O script determina qual desses DDIs pode falhar (somente aqueles que retornam NTSTATUS). Em seguida, o script chama outra interface WMI para configurar o WdfTester para falhar na primeira DDI da lista. O script desabilita e habilita o driver, o que faz com que a DDI falhe e dispare um evento WMI. O script já está aguardando o evento de falha do WMI para a DDI. Se o evento for recebido com êxito e a falha não tiver feito com que o computador ficasse sem resposta ou causasse um bug marcar (conforme determinado pelo desenvolvedor ou pelo testador do driver), o teste será considerado bem-sucedido. Em seguida, o script repete essas etapas para a próxima DDI na lista.

Nota A opção runtest exige que você copie a ferramenta DevCon (Devcon.exe) e a coloque no mesmo diretório que outros arquivos Wdftester. O aplicativo Devcon.exe está localizado no diretório %WDKRoot%\tools\<platform> .

A opção runtest:

  1. Registra seu driver com WdfTester. Se você não instalou o driver, deverá instalá-lo antes de usar runtest.

  2. Habilita o Verificador de Driver para esse driver (computadores que executam o Windows Vista ou posterior não exigem uma reinicialização).

  3. Desabilita o driver usando o aplicativo Devcon.

  4. Habilita o driver usando o aplicativo Devcon.

  5. Recupera os nomes das funções que foram chamadas durante as operações habilitar e desabilitar e identifica as funções que retornam NTSTATUS e que podem falhar.

  6. Inicia a notificação de evento WMI assíncrono.

  7. Para cada DDI que pode falhar na lista obtida na etapa 5:

    1. Configura a função para falha.
    2. Desabilita e habilita o driver usando Devcon.exe. Essa operação chama a função e wdfTester falha na chamada de função.
    3. Aguarda o evento WMI ser acionado.
    4. Se o evento WMI for acionado, a opção runtest repetirá a etapa 7 para a próxima função na lista.
  8. Cancela o registro do driver.