Condividi tramite


Scrittura di routine di invio

L'elaborazione di qualsiasi pacchetto di richiesta di I/O (IRP) inizia in una routine di invio che il driver registra per gestire un codice di funzione principale IRP (IRP_MJ_*XXX). La routine DriverEntry del driver esporta punti di ingresso per le routine di invio in una tabella di invio all'interno della struttura DRIVER_OBJECT* del driver.

Un driver può fornire una routine di invio separata per ogni codice di funzione di I/O principale gestito. In alternativa, le routine di invio possono essere scritte per gestire più codici di funzione I/O.

Questa sezione contiene i seguenti argomenti:

Funzionalità di routine dispatch

Routine di invio necessarie

Routine di invio facoltative

Routine di invio e IRQLs

Quando controllare la posizione dello stack di I/O del driver

DispatchCreate, DispatchClose e DispatchCreateClose Routinese

Routine DispatchCleanup

Routine DispatchRead, DispatchWrite e DispatchReadWrite

Routine DispatchDeviceControl e DispatchInternalDeviceControl

Routine DispatchPnP

Routine DispatchPower

Routine DispatchQueryInformation

Routine DispatchSetInformation

Routine DispatchFlushBuffers

Routine DispatchShutdown

Routine DispatchSystemControl