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. |