Compartilhar via


Verificação de conformidade da DDI

A opção de verificação de conformidade da DDI (Interface de Driver de Dispositivo) determina se o driver interage corretamente com o kernel do sistema operacional Windows.

Nota Essa opção está disponível a partir do Windows 8. Começando no Windows 8.1, você pode testar regras adicionais selecionando Ativando a opção verificação de conformidade DDI (adicional).

Verificação de conformidade da DDI

A opção de verificação de conformidade DDI aplica as mesmas regras de uso da DDI (interface de driver de dispositivo) que o Verificador de Driver Estático usa para verificar se o driver faz chamadas de função no IRQL necessário para a função ou adquire e libera corretamente spinlocks.

Quando essa opção está ativa e o Verificador de Driver detecta que o driver viola uma das regras de conformidade da DDI, o Verificador de Driver emite marcar 0xC4 de bugs (com o Parâmetro 1 igual ao identificador da regra de conformidade específica).

Quando você seleciona a opção de verificação de conformidade da DDI, as regras a seguir são incluídas.

GuardedRegions (começando no Windows 8.1)

IoSetCompletionExCompleteIrp (começando no Windows 8.1)

IrqlApcLte

IrqlDispatch

IrqlExAllocatePool

IrqlExApcLte1

IrqlExApcLte2

IrqlExApcLte3

IrqlExPassive

IrqlIoApcLte

IrqlIoDispatch

IrqlIoPassive1

IrqlIoPassive2

IrqlIoPassive3

IrqlIoPassive4

IrqlIoPassive5

IrqlKeApcLte1

IrqlKeApcLte2

IrqlKeDispatchLte

IrqlKeReleaseSpinLock

IrqlKeSetEvent

IrqlMmApcLte

IrqlMmDispatch

IrqlObPassive

IrqlPsPassive

IrqlReturn (começando no Windows 8.1)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (começando no Windows 8.1)

NdisOidDoubleComplete (começando no Windows 8.1)

PnpRemove (começando no Windows 8.1)

RequestedPowerIrp (começando no Windows 8.1)

QueuedSpinLock (começando no Windows 8.1)

SpinLock (começando no Windows 8.1)

Essas duas regras são opcionais no momento, mas recomendadas.

(Opcional) IrqlNtifsApcPassive

(Opcional) IrqlIoRtlZwPassive

Ativando a opção de verificação de conformidade DDI

Você pode ativar o recurso de verificação de conformidade DDI para um ou mais drivers usando o Gerenciador de Verificador de Driver ou a linha de comando Verifier.exe. Para obter detalhes, consulte Selecionando opções do verificador de driver. Você deve reiniciar o computador para ativar ou desativar a opção de verificação de conformidade da DDI. O recurso de verificação de conformidade da DDI é ativado quando você usa as configurações padrão (/standard).

  • Na linha de comando

    Na linha de comando, a verificação de conformidade da DDI é representada pelo verificador /flags 0x00020000 (Bit 17). Para ativar a verificação de conformidade da DDI, use um valor de sinalizador de 0x00020000 ou adicione 0x00020000 ao valor do sinalizador. Por exemplo:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    O recurso estará ativo após a próxima inicialização.

  • Usando o Gerenciador de Verificador de Driver

    1. Inicie o Gerenciador de Verificador de Driver. Digite Verificador em uma janela do Prompt de Comando.
    2. Selecione Criar configurações personalizadas (para desenvolvedores de código) e clique em Avançar.
    3. Selecione Selecionar configurações individuais em uma lista completa.
    4. Selecione (marcar) Verificação de conformidade de DDI.
    5. Reinicie o computador.

Verificação de conformidade da DDI (adicional)

A partir do Windows 8.1, a opção de verificação de conformidade DDI (adicional) fornece regras adicionais para determinar se o driver interage corretamente com o kernel do sistema operacional Windows. Quando você seleciona a opção verificação de conformidade da DDI (adicional), as seguintes regras são testadas:

Ativando a opção de verificação de conformidade DDI (adicional)

Observação

Este marcar foi preterido a partir do Windows 10 Build 19042 e superior

Você pode ativar as regras de verificação de conformidade DDI (adicional) para um ou mais drivers usando o Gerenciador de Verificador de Driver ou a linha de comando Verifier.exe. Para obter detalhes, consulte Selecionando opções do verificador de driver. Você deve reiniciar o computador para ativar ou desativar a opção de verificação de conformidade DDI (adicional ).

  • Na linha de comando

    Na linha de comando, a verificação de conformidade da DDI é representada pelo verificador /flags 0x00080000 (Bit 19). Para ativar a verificação de conformidade da DDI (adicional), use um valor de sinalizador de 0x00080000 ou adicione 0x00080000 ao valor do sinalizador. Por exemplo:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    O recurso estará ativo após a próxima inicialização.

  • Usando o Gerenciador de Verificador de Driver

    1. Para iniciar o Gerenciador de Verificador de Driver, digite Verificador em uma janela do Prompt de Comando.
    2. Selecione Criar configurações personalizadas (para desenvolvedores de código) e clique em Avançar.
    3. Selecione Selecionar configurações individuais em uma lista completa.
    4. Selecione (marcar) Verificação de conformidade de DDI (adicional).
    5. Reinicie o computador.

Ativando a opção de verificação de conformidade DDI (IRQL adicional)

Você pode ativar as regras IRQL adicionais de Conformidade da DDI para um ou mais drivers usando a linha de comando Verifier.exe. Para obter detalhes, consulte Selecionando opções do verificador de driver. Você deve reiniciar o computador para ativar ou desativar as regras IRQL adicionais de Conformidade da DDI.

Na linha de comando, a verificação irql adicional de conformidade da DDI é representada por um valor de classe de regra de 35. Por exemplo:

verifier /ruleclasses 35 /driver MyDriver.sys

OU

verifier /rc 35 /driver MyDriver.sys

O conjunto de regras IRQL adicional consiste nas duas regras a seguir.

(Opcional) IrqlNtifsApcPassive

(Opcional) IrqlIoRtlZwPassive