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.
Um driver deve iniciar a conclusão do IRP quando qualquer uma das seguintes condições for atendida:
O driver determina que o processamento IRP não pode progredir devido a parâmetros inválidos ou outras condições.
O driver consegue executar a operação de E/S solicitada sem enviar o IRP para a pilha de drivers, e a operação já foi concluída.
O IRP está sendo cancelado. (Consulte Cancelamento de IRPs.)
Se essas condições não forem atendidas, a rotina de despacho de um condutor deve passar o IRP para o próximo condutor inferior, ou deve lidar com o processamento da solicitação de E/S. Se uma das condições for atendida, o driver deve chamar IoCompleteRequest.
Se um driver concluir uma solicitação porque o processamento não pode progredir, ou se concluir uma solicitação manipulando a operação solicitada sem realmente acessar o dispositivo, ele normalmente chama IoCompleteRequest de uma de suas rotinas de despacho. Para obter mais informações, consulte Concluindo IRPs em rotinas de despacho.
Se um driver deve acessar um dispositivo para satisfazer a solicitação, ele normalmente chama IoCompleteRequest de uma rotina DpcForIsr . Essas rotinas são discutidas extensivamente em Interrupções de manutenção.