Funcionalidade de rotina de expedição

A funcionalidade necessária de uma rotina de expedição específica varia, dependendo do código de função de E/S que ele manipula, na posição do driver individual em uma cadeia de drivers e no tipo de dispositivo físico subjacente.

A maioria das rotinas de expedição processa IRPs (pacotes de solicitação de E/S) de entrada da seguinte maneira:

  1. Verifique o local da pilha de E/S do driver no IRP para determinar o que fazer e marcar os parâmetros, se houver, quanto à validade.

    Se um driver deve marcar seu local de pilha de E/S para determinar o que fazer e marcar parâmetros depende do IRP_MJ_XXX especificado, bem como se esse driver configurou uma rotina de Expedição separada para cada IRP_MJ_XXX que o driver manipula.

  2. Atenda à solicitação e conclua o IRP, se possível; caso contrário, passe-o para processamento adicional por drivers de nível inferior ou por outras rotinas de driver de dispositivo.

    Se um driver deve passar um IRP para processamento adicional depende da validade dos parâmetros, se houver, bem como do IRP_MJ_XXX e no nível do driver, se houver, em uma cadeia de drivers em camadas.

Para obter mais informações sobre IRPs, consulte Manipulando IRPs.