Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um computador consiste em vários dispositivos que fornecem entrada e saída (E/S) de e para o mundo exterior. Os dispositivos típicos são teclados, mouses, controladores de áudio, controladores de vídeo, unidades de disco, portas de rede e assim por diante. Os drivers de dispositivo fornecem a conexão de software entre os dispositivos e o sistema operacional. Por esse motivo, a E/S é importante para o desenvolvedor de driver de dispositivo.
O gerenciador de E/S do modo kernel do Windows gerencia a comunicação entre aplicativos e as interfaces fornecidas pelos drivers de dispositivo. Como os dispositivos operam em velocidades que podem não corresponder ao sistema operacional, a comunicação entre o sistema operacional e os drivers de dispositivo é feita principalmente por meio de IRPs (pacotes de solicitação de E/S). Esses pacotes são semelhantes a pacotes de rede ou pacotes de mensagens do Windows. Eles são passados do sistema operacional para drivers específicos e de um driver para outro.
O sistema de E/S do Windows fornece um modelo de driver em camadas chamado stacks. Normalmente, os IRPs vão de um driver para outro na mesma pilha para facilitar a comunicação. Por exemplo, um driver de joystick precisaria se comunicar com um hub USB, que, por sua vez, precisaria se comunicar com um controlador de host USB, que precisaria se comunicar por meio de um barramento PCI para o restante do hardware do computador. A pilha consiste no driver do joystick, hub USB, controlador de host USB e o barramento PCI. Essa comunicação é coordenada fazendo com que cada driver na pilha envie e receba IRPs.
Não se pode enfatizar o suficiente que o seu driver deve enviar e receber IRPs em tempo hábil para que toda a pilha opere com eficiência. Se seu driver fizer parte de uma pilha e não receber, manipular e passar as informações corretamente, ele poderá causar crashes do sistema.
Para obter mais informações sobre IRPs, consulte Como lidar com IRPs.
Para obter mais informações sobre pilhas de driver, consulte Objetos de Dispositivo e Pilhas de Dispositivo.
Para técnicas de programação relacionadas ao gerenciamento de E/S, consulte Técnicas de Programação do Gerenciador de E/S.
Rotinas que fornecem uma interface direta para o gerenciador de E/S geralmente são prefixadas com as letras "Io"; por exemplo, IoCreateDevice. Para obter uma lista de rotinas de gerente de E/S, consulte Rotinas do Gerente de E/S.
Para obter mais informações, consulte pacotes de solicitação de E/S e estrutura IRP (wdm.h).
O gerente de E/S tem dois subcomponentes: o gerenciador de Plug and Play e o power manager. Eles gerenciam a funcionalidade de E/S para as tecnologias de Plug and Play e gerenciamento de energia. Para obter mais informações sobre o gerenciamento de Plug and Play, consulte o Windows Kernel-Mode Plug and Play Manager e para obter mais informações sobre o gerenciamento de energia, consulte o Windows Kernel-Mode Power Manager.