Completamento degli IRP

"Completamento di un IRP" è una frase abbreviata che significa "consentire a tutti i membri dello stack di driver di completare un'operazione di I/O". Al termine dell'IRP, il gestore di I/O notifica all'applicazione in avvio che l'operazione di I/O richiesta è stata completata.

Quando un driver ha terminato l'elaborazione di un IRP, chiama IoCompleteRequest (in genere dall'interno di una routine DpcForIsr ). In questo modo il gestore di I/O determina se i driver di livello superiore hanno configurato routine IoCompletion per il protocollo IRP. In tal caso, ogni routine IoCompletion viene chiamata, a sua volta, fino a quando ogni driver a più livelli nella catena non ha completato il componente IRP.

Dopo che tutti i driver hanno completato il protocollo IRP, il gestore di I/O restituisce lo stato al richiedente originale dell'operazione. Si noti che un driver di livello superiore che configura un IRP creato dal driver deve fornire una routine IoCompletion per rilasciare il pacchetto IRP creato.

Questa sezione contiene i seguenti argomenti:

Quando completare un IRP

Completamento di IRP nelle routine di invio

Uso di routine IoCompletion