Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A seguir estão erros adicionais que os controladores por vezes cometem ao lidar com IRPs.
IRPs perdidos ou duplicados
Esses problemas, juntamente com chamadas ausentes para rotinas de gerenciador de E/S, como IoStartNextPacket, geralmente ocorrem em caminhos de tratamento de erros. Revisões rápidas dos caminhos do condutor podem identificar esses problemas.
Convergência de caminhos públicos e privados de IOCTL
Como regra geral, os drivers devem conter caminhos de execução separados para IOCTLs públicas e privadas (ou FSCTLs). Um driver não pode determinar se uma solicitação IOCTL ou FSCTL se origina no modo kernel ou no modo de usuário examinando o código de controle. Consequentemente, lidar com códigos públicos e privados no mesmo caminho de execução (ou executar uma validação mínima e, em seguida, chamar as mesmas rotinas) pode abrir um driver para violações de segurança. Se uma IOCTL ou FSCTL privada for privilegiada, os usuários sem privilégios que conhecem os códigos de controle poderão ter acesso a ela. Portanto, se o seu driver suportar solicitações IOCTL ou FSCTL privadas, certifique-se de que lida com essas solicitações separadamente de quaisquer IOCTLs ou FSCTLs públicas que também deve suportar.