Escribir rutinas de envío

El procesamiento de cualquier paquete de solicitud de E/S (IRP) comienza en una rutina de envío que el controlador registra para controlar un código de función principal irP (IRP_MJ_*XXX). La rutina DriverEntry del controlador exporta los puntos de entrada para las rutinas de envío de una tabla de distribución dentro de la estructura DRIVER_OBJECT* del controlador.

Un controlador puede proporcionar una rutina de distribución independiente para cada código de función de E/S principal que controla. Como alternativa, las rutinas de envío se pueden escribir para controlar varios códigos de función de E/S.

Esta sección contiene los siguientes temas:

Funcionalidad de rutina de envío

Rutinas de envío necesarias

Rutinas de envío opcionales

Rutinas de envío e IRQL

Cuándo comprobar la ubicación de la pila de E/S del controlador

DispatchCreate, DispatchClose y DispatchCreateClose Routines

Rutinas dispatchCleanup

Rutinas DispatchRead, DispatchWrite y DispatchReadWrite

Rutinas DispatchDeviceControl y DispatchInternalDeviceControl

Rutinas dispatchPnP

Rutinas DispatchPower

Rutinas DispatchQueryInformation

Rutinas DispatchSetInformation

Rutinas dispatchFlushBuffers

Rutinas DispatchShutdown

Rutinas dispatchSystemControl