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.
A opção Verificação Invariável de MDL para Pilha monitora como o driver lida com buffers MDL invariáveis na pilha de driver. O Verificador de Driver pode detectar modificações ilegais de buffers MDL invariáveis. Para usar essa opção, a Verificação de E/S deve ser habilitada em pelo menos um driver.
Nota Essa opção está disponível a partir do Windows 8.
A opção de Verificação Invariável de MDL para Pilha garante que os drivers sigam as regras para buffers MDL invariáveis somente no ponto em que a solicitação está saindo da pilha do driver.
Na primeira vez que um IRP com MDL invariável é visto na rotina do IoCallDriver , uma assinatura exclusiva é computada a partir do conteúdo do buffer MDL invariável e armazenada em um banco de dados interno. Durante a conclusão do IRP na rotina IoCompleteRequest , se o IRP ainda carrega um MDL invariável para o qual registramos a assinatura, o Verificador de Driver valida que o buffer não foi alterado.
Um buffer invariável, para a solicitação de gravação, não pode ser modificado durante todo o tempo de vida do IRP. Para uma solicitação de leitura, um buffer invariável não pode ser modificado em seu caminho de expedição, portanto, a comparação da assinatura do buffer é feita na última chamada para IoCallDriver.
A opção Verificação invariável de MDL para Pilha verifica a invariância do buffer de MDL em toda a pilha de driver, sem levar em conta o que acontece com o buffer à medida que ele passa por drivers individuais na pilha. Essa opção é global e não pode ser imposta seletivamente por driver. A opção De verificação invariável de MDL para Stack só pode capturar a violação, sem poder identificar o driver que violou a invariância do buffer. Para ajudar a identificar o driver defeituoso, use a opção Verificação invariável de MDL para Driver , que faz a validação da invariância do conteúdo do buffer em cada chamada para DDIs IoCallDriver e IoCompleteRequest .
Ativando essa opção
Você pode ativar o recurso verificação de MDL invariável para um ou mais drivers usando o Driver Verifier Manager ou a linha de comando Verifier.exe. Você deve reiniciar o computador para ativar ou desativar a opção de verificação de MDL invariável para o Stack. Para obter mais informações, consulte Selecionar opções do Verificador de Driver.
Para ativar a opção Verificação invariável de MDL para Stack, você também deve ativar a Verificação de E/S.
Na linha de comando
Na linha de comando, a Verificação invariável de MDL para Stack é representada por 0x00002000 (Bit 13). Para ativar a Verificação Invariável de MDL para Stack, use um valor de sinalizador de 0x00002010 ou adicione 0x00002010 ao valor do sinalizador. Esse valor ativa a Verificação de E/S (0x10) e a Verificação Invariável de MDL para Pilha (0x00002000). Por exemplo:
verifier /flags 0x00002010 /driver MyDriver.sysO recurso estará ativo após a próxima inicialização.
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) Verificação de E/S e Verificação invariável de MDL para Pilha.
- Reinicie o computador.