Partilhar via


Escrevendo uma rotina StartIo

Como o próprio nome sugere, uma rotina StartIo é responsável por iniciar uma operação de E/S no dispositivo físico.

A maioria dos drivers de nível mais baixo fornece uma rotina StartIo e depende do gestor de E/S para colocar IRPs numa fila de dispositivos fornecida pelo sistema. Alguns drivers de nível mais baixo são projetados para configurar e gerenciar suas próprias filas de IRP suplementares, mas mesmo esses geralmente também fornecem uma rotina StartIo . (Para obter mais informações sobre filas suplementares, consulte Configurando e usando filas de dispositivos e Gerenciando filas de dispositivos.)

Drivers de nível superior, incluindo FSDs e drivers de função PnP e filtro, raramente têm uma rotina StartIo porque isso pode prejudicar o desempenho. Em vez disso, a maioria dos controladores do sistema de ficheiros configura e mantém filas internas de IRPs. Outros controladores de nível superior têm filas internas para IRPs ou simplesmente passam IRPs para controladores de nível inferior nas suas rotinas de despacho. Consulte Driver-Managed Filas de IRP para obter mais informações.

Você pode usar a rotina IoSetStartIoAttributes para definir atributos que modificam a manipulação de StartIo para seu driver.

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

Rotinas StartIo em Lowest-Level Drivers

Rotinas StartIo em Higher-Level Drivers

Pontos a considerar para as rotinas StartIo