Verificação de E/S aprimorada
Esse recurso está disponível apenas no Windows XP e versões posteriores do sistema operacional Windows.
No Windows 7 e versões posteriores do sistema operacional Windows, a Verificação de E/S aprimorada é ativada automaticamente quando você seleciona Verificação de E/S. Não está disponível ou não é necessário selecioná-lo como uma opção separada.
Quando a Verificação de E/S Avançada é ativada, o Verificador de Driver monitora as chamadas de várias rotinas do Gerenciador de E/S e executa testes de estresse de IRPs PnP, IRPs de energia e IRPs WMI.
No Windows Vista e no Windows XP, a Verificação de E/S Aprimorada é ativada independentemente da Verificação de E/S, mas a seleção de ambas as opções fornece um teste mais completo dos métodos de interface de E/S em um driver.
Recursos da verificação de E/S aprimorada
O Verificador de Driver adiciona as seguintes verificações quando você ativa a Verificação de E/S Avançada.
Monitora todos os IRPs para garantir que o driver retorne STATUS_PENDING se e somente se ele tiver chamado IoMarkIrpPending.
Monitora o uso de IoDeleteDevice para verificar se o driver não está excluindo o mesmo dispositivo mais de uma vez e para detectar desanexação e exclusão inadequadas de objetos de dispositivo.
Verifica se o driver desenrola corretamente todas as chamadas IoSkipCurrentIrpStackLocation.
Novas tensões e testes incluem:
Embaralhar a ordem dos dispositivos enumerados para garantir que os drivers PnP (Plug and Play) não façam suposições sobre a ordem de início do dispositivo.
Ajustando o status de IRPs PnP e Power quando eles são concluídos, para capturar drivers que retornam um status incorreto de suas rotinas de expedição.
Envio de IRPs de energia falsos para testar bugs de caminho de código de driver.
Envio de IRPs WMI falsos para testar bugs de caminho de código de driver.
Inserindo um filtro falso em cada pilha WDM.
Exibindo erros de verificação de E/S aprimorada
Os erros de driver capturados pela Verificação de E/S aprimorada são exibidos da mesma maneira que aqueles capturados pela Verificação de E/S de nível 2.
Na tela azul, esses erros são anotados pela mensagem ERRO DE VERIFICAÇÃO DO SISTEMA DE E/S e pela string ERRO DE DRIVER WDM XXX, em que XXX é um código de erro de E/S.
Em um arquivo de despejo de memória, esses erros são anotados pela mensagem BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION), juntamente com o código de erro de E/S. Nesse caso, o código de erro de E/S aparece como o primeiro parâmetro da 0xC9 de verificação de bugs.
Em um depurador de kernel (KD ou WinDbg), esses erros são anotados pela mensagem WDM DRIVER ERROR e uma cadeia de caracteres de texto descritiva. Quando o depurador de kernel está ativo, é possível ignorar os erros de Nível 2 e retomar a operação do sistema. (Isso não é possível com nenhuma outra verificação de bug.)
A tela azul, o arquivo de despejo de memória e o depurador de kernel também exibem informações adicionais. Para obter uma descrição completa de todas as mensagens de erro de nível 2 de verificação de E/S, consulte Verificação de bugs 0xC9.
Ativando esta opção
Você pode ativar o recurso Verificação de E/S Aprimorada para um ou mais drivers usando o Gerenciador de Verificação de Driver ou a linha de comando Verifier.exe. Para obter detalhes, consulte Selecionando opções do verificador de driver.
Observação No Windows 7 e versões posteriores do sistema operacional Windows, a Verificação de E/S Aprimorada é ativada automaticamente quando você seleciona Verificação de E/S. Não está disponível ou não é necessário selecioná-lo como uma opção separada.
Na linha de comando
Na linha de comando, a opção Verificação de E/S aprimorada é representada pelo Bit 6 (0x40). Para ativar a Verificação de E/S Aprimorada, use um valor de sinalizador de 0x40 ou adicione 0x40 ao valor do sinalizador. Por exemplo:
verifier /flags 0x40 /driver MyDriver.sys
O recurso estará ativo após a próxima inicialização.
No Windows Vista e versões posteriores do Windows, você também pode ativar e desativar a Verificação de E/S Avançada sem reinicializar o computador adicionando o parâmetro /volatile ao comando. Por exemplo:
verifier /volatile /flags 0x40 /adddriver MyDriver.sys
Essa configuração entra em vigor imediatamente, mas é perdida quando você desliga ou reinicializa o computador. Para obter detalhes, consulte Usando configurações voláteis.
Usando o Gerenciador de Verificação de Driver
- Inicie o Gerenciador de Verificação de Driver. Digite Verificador em uma janela do Prompt de Comando.
- Selecione Criar configurações personalizadas (para desenvolvedores de código) e clique em Avançar.
- Selecione Selecionar configurações individuais em uma lista completa.
- Selecione (marque) Verificação de E/S aprimorada.
O recurso de verificação de DMA também está incluído nas configurações padrão. Para usar esse recurso, no Gerenciador de Verificação de Driver, clique em Criar Configurações Padrão.