Partilhar via


Redação de rotinas de despacho

O processamento de qualquer pacote de solicitação de E/S (IRP) começa em uma rotina de despacho que o driver registra para lidar com um código de função principal IRP (IRP_MJ_*XXX). A rotina DriverEntry do motorista exporta pontos de entrada para rotinas de despacho em uma tabela de despacho dentro da estrutura de DRIVER_OBJECT* do motorista.

Um driver pode fornecer uma rotina de despacho separada para cada código de função de E/S principal que ele manipula. Como alternativa, rotinas de despacho podem ser escritas para lidar com vários códigos de função de E/S.

Esta seção contém os seguintes tópicos:

Funcionalidade da Rotina de Despacho

Rotinas de despacho necessárias

Rotinas de despacho opcionais

Rotinas de Despacho e IRQLs

Quando verificar a localização da pilha de E/S do driver

DispatchCreate, DispatchClose e DispatchCreateClose rotinas

Rotinas de Limpeza de Despacho

Rotinas DispatchRead, DispatchWrite e DispatchReadWrite

Rotinas DispatchDeviceControl e DispatchInternalDeviceControl

Rotinas DispatchPnP

DispatchPower Rotinas

Rotinas de Consulta de Informação de Despacho

DispatchSetInformation Rotinas

Rotinas de DispatchFlushBuffers

Rotinas de desligamento do DispatchShutdown

DispatchSystemControl Rotinas