Compartilhar via


Regra KsIrqlDeviceCallbacks ()

A regra KsIrqlDeviceCallbacks especifica que um driver de miniporto KS (streaming de kernel) retorna de uma função de retorno de chamada de dispositivo KS com o mesmo IRQL que tinha quando foi chamado.

Dicas para depuração

Quando o Verificador de Driver detecta uma violação dessa regra, ele dispara a Verificação de Bugs 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION, com um valor arg1 de 0x00081006. O arg3 (RuleState) e o arg4 (SubState) da verificação de bugs fornecem ponteiros para informações adicionais sobre a violação da regra.

Use a extensão do depurador !ruleinfo para descobrir quais eram os valores IRQL na entrada e saída da função.

Use o comando :

!ruleinfo 0x81006 subestado RuleState.

Nos dados de estado da regra, o OldIrql é o IRQL quando o retorno de chamada é inserido. O NewIrql é o IRQL quando a função de retorno de chamada é encerrada.

Não use !irql para determinar o IRQL atual porque o Verificador de Driver pode ter gerado o IRQL antes da verificação de bugs. Em vez disso, use o 0x008 !verifier para exibir os logs IRQL.

Modelo do driver: KS

Verificação de bug (s) encontrada (s) com esta regra: Verificação de bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081006)

Como testar

Em tempo de execução

Para verificar essa regra, abra uma janela do Prompt de Comando. Insira um comando do Verificador de Driver e especifique /domain ks.

Por exemplo:

verificador /domínio ks [opções] /driver <yourdriver>

Para obter mais informações, consulte Verificador de Driver.