Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O recurso de registro em log IRP do Verificador de Driver monitora o uso de IRPs por um driver e faz um registro do uso do IRP. Esse registro é armazenado como informações de WMI.
O WDK (Windows Driver Kit) inclui a ferramenta DC2WMIParser (dc2wmiparser.exe) que pode converter esse registro WMI em um arquivo de texto.
Essa opção Verificador de Driver só está disponível no Windows Server 2003 e posterior.
O registro WMI
O registro WMI não incluirá mais de vinte IRPs para cada dispositivo. Depois que o vigésimo primeiro IRP é registrado, o primeiro registro IRP é substituído. Portanto, se o registro listar vinte IRPs, estes são sempre os vinte mais recentes, mas não há como saber qual deles é o mais recente.
Como o registro WMI é armazenado na memória, ele será apagado quando o computador for reinicializado. Portanto, use DC2WMIParser para salvar essas informações em um arquivo.
Se você usar a opção /t , DC2WMIParser será executado continuamente durante a duração especificada. Nessa situação, o registro pode incluir mais de vinte IRPs por dispositivo (até vinte IRPs em cada período de amostragem).
Ativando essa opção
Você pode ativar o recurso de registro em log do IRP para um ou mais drivers usando o Gerenciador de Verificador de Driver ou a linha de comando Verifier.exe.
Para ativar o recurso de log do IRP, você também deve ativar a Verificação de E/S.
Na linha de comando
Na linha de comando, a opção log IRP é representada por 0x400 (Bit 10).
Para ativar o registro em log do IRP, use um valor de sinalizador de 0x410 ou adicione 0x410 ao valor do sinalizador. Esse valor ativa a Verificação de E/S (0x10) e o Log de IRP (0x400). Por exemplo:
verifier /flags 0x410 /driver MyDriver.sysO 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 o registro de logs IRP sem reinicializar o computador adicionando o parâmetro /volatile ao comando. Por exemplo:
verifier /volatile /flags 0x410 /adddriver MyDriver.sysEssa configuração é efetivada imediatamente, mas é perdida quando você desliga ou reinicializa o computador. Para obter detalhes, consulte Como usar configurações voláteis.
Usando o Gerenciador de Verificador de Driver
- Iniciar o Gerenciador de Verificador 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 (verificar) Log de IRP e Verificação de E/S.
DC2WMIParser
DC2WMIParser é uma ferramenta que coleta os registros WMI IRP criados pelo Verificador de Driver e converte esse log em um arquivo de texto.
A sintaxe DC2WMIParser é a seguinte:
dc2wmiparser [/f File] [/t Time]
Os parâmetros têm os seguintes significados:
/fArquivo
Especifica o caminho completo e o nome do arquivo de log a ser gravado. Caminhos relativos serão considerados em relação ao diretório atual. Se isso for omitido, o nome do arquivo dc2verifier.act no diretório atual será usado.
/tTime
Especifica o período de tempo, em minutos, que o DC2WMIParser continuará executando. Se Tempo for igual a zero, DC2WMIParser gravará todas as informações do WMI IRP que já foram armazenadas pelo Verificador de Driver e, em seguida, sairá. Se o Tempo for definido como um valor positivo, DC2WMIParser continuará a ser executado pelo período de tempo especificado, armazenando novas informações conforme elas chegam. O padrão é zero.
Formato de arquivos de log DC2WMIParser
O arquivo gerado por DC2WMIParser é um arquivo de texto ASCII.
A primeira linha desse arquivo contém um número decimal que representa o número de dispositivos registrados no arquivo.
Após a primeira linha, o arquivo é dividido em seções; cada seção descreve um dispositivo.
Para cada dispositivo, o formato é:
Em uma única linha: O nome do dispositivo.
Em uma única linha: Um número decimal que especifica quantos tipos e funções de dispositivo são direcionados para este dispositivo.
Em uma linha para cada tipo de dispositivo e função: Três números hexadecimal, separados por vírgulas. Elas representam o tipo de dispositivo e as funções mais baixas e mais altas que foram registradas nesse registro.
Em um grupo de linhas para cada tipo de dispositivo e função:
- Uma única linha com um número decimal especificando a contagem de IOCTLs para o tipo de dispositivo atual.
- Uma linha para cada IOCTL. Cada uma dessas linhas contém seis números hexadecimal separados por vírgulas. Elas especificam o tipo de dispositivo, a função, o método, o acesso, o comprimento do buffer de entrada e o comprimento do buffer de saída.
Aqui está um arquivo de log DC2WMIParser de exemplo. Em um arquivo real, não haverá espaços, comentários ou linhas em branco, mas eles foram adicionados a este exemplo para torná-lo mais claro.
2 There are two devices described by this log file.
The first device begins here:
DP(1)0x7e00-0x21dbda400+3 Device name of the first device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0
The second device begins here:
DP(1)0x7e00-0x21dbda400+2 Device name of the second device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0