Compartilhar via


Rotinas de expedição necessárias

A maioria dos drivers deve lidar com as seguintes rotinas de expedição :

  • DispatchPnP

    IRP_MJ_PNP indica uma solicitação envolvendo reconhecimento de dispositivo PnP, configuração de hardware ou alocação de recursos. Essas solicitações normalmente são enviadas para um driver de dispositivo do gerenciador PnP ou de um driver de nível superior intimamente acoplado.

  • DispatchPower

    IRP_MJ_POWER indica uma solicitação referente ao estado de energia do dispositivo ou do sistema. Essas solicitações são enviadas ao driver do dispositivo pelo gerenciador de energia ou por um driver de nível superior estreitamente acoplado.

  • DispatchCreate

    IRP_MJ_CREATE indica que um subsistema protegido no modo de usuário, possivelmente em nome de um aplicativo ou driver específico do subsistema, solicitou um identificador para o objeto de arquivo associado ao objeto de dispositivo de destino ou que um driver de nível superior está conectando ou anexando seu objeto de dispositivo ao objeto de dispositivo de destino.

  • FecharDespacho

    IRP_MJ_CLOSE indica que o último identificador do objeto de arquivo associado ao objeto de dispositivo de destino foi fechado e liberado. Todas as solicitações de E/S foram concluídas ou canceladas, portanto, não há referências pendentes ao ponteiro do objeto de arquivo.

  • DispatchRead

    IRP_MJ_READ indica uma solicitação de E/S para transferir dados do dispositivo físico subjacente para o sistema.

  • DispatchWrite

    IRP_MJ_WRITE indica uma solicitação de E/S para transferir dados do sistema para o dispositivo físico subjacente.

  • DispatchDeviceControl

    IRP_MJ_DEVICE_CONTROL indica uma solicitação que contém um código de controle de E/S específico do tipo de dispositivo definido pelo sistema especificando uma operação específica de tipo de dispositivo. Drivers de nível superior passam esses IRPs para seus drivers de dispositivo subjacentes, que normalmente processam a solicitação acessando o dispositivo.

  • DispatchInternalDeviceControl

    IRP_MJ_INTERNAL_DEVICE_CONTROL indica uma solicitação enviada ao driver do dispositivo, geralmente proveniente de um driver de nível superior intimamente associado. Essa solicitação contém um código de controle de E/S definido de forma privada, que é específico do tipo de dispositivo ou específico do dispositivo em questão, solicitando uma operação correspondente.

    Somente determinados tipos de drivers são necessários para lidar com solicitações de controle de E/S de dispositivo internas definidas pelo sistema, incluindo determinados drivers SCSI, drivers de dispositivo de teclado ou mouse e drivers paralelos que interoperam com drivers fornecidos pelo sistema.

  • DispatchSystemControl

    IRP_MJ_SYSTEM_CONTROL é usado para especificar solicitações WMI para drivers. Para obter mais informações sobre o WMI, consulte Instrumentação de Gerenciamento do Windows.

As rotinas de expedição que um driver deve fornecer variam de acordo com o tipo e a funcionalidade do dispositivo físico subjacente. Para obter informações específicas do tipo de dispositivo sobre códigos de função principais do IRP que os drivers devem manipular, consulte a documentação específica do tipo de dispositivo no WDK (Windows Driver Kit).