Destinos gerais de E/S no UMDF

Aviso

O UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2.

Os exemplos de UMDF 1 arquivados podem ser encontrados no Windows 11, versão 22H2 – Atualização de exemplos de driver de maio de 2022.

Para obter mais informações, consulte Introdução com UMDF.

Os destinos gerais de E/S, que podem ser locais ou remotos, são destinos de E/S que não dão suporte a formatos de dados especiais e específicos do dispositivo, como blocos de solicitação USB. Antes que os drivers enviem dados para um destino de E/S geral, eles devem colocar dados em um buffer de gravação em um formato que o destino de E/S e o dispositivo possam interpretar. Da mesma forma, quando os drivers leem dados de um destino de E/S geral, os drivers devem ser capazes de interpretar o conteúdo dos buffers de dados que recebem do destino.

Destinos de E/S locais
Os drivers geralmente enviam solicitações de E/S para o driver mais baixo na pilha do driver. Portanto, cada driver baseado em UMDF tem um destino de E/S padrão para cada dispositivo, que é o driver mais baixo do dispositivo. O destino de E/S padrão para o driver baseado em UMDF de nível mais baixo é o refletor do modo kernel.

Às vezes, um driver baseado em UMDF deve enviar solicitações de E/S para um destino de E/S baseado em identificador de arquivo, como um arquivo ou um soquete de rede. Portanto, a estrutura também fornece objetos de destino de E/S baseados em identificador de arquivo.

Os destinos de E/S padrão e de E/S baseados em identificador de arquivo são chamados de destinos de E/S locais, pois os drivers baseados em UMDF usam esses destinos para enviar solicitações de E/S para dispositivos compatíveis com a pilha de driver.

Destinos de E/S remotos
Ocasionalmente, um driver deve enviar uma solicitação de E/S para uma pilha de driver diferente. Portanto, a estrutura também fornece destinos remotos de E/S, que consistem em todos os destinos de E/S, exceto os destinos de E/S locais.

Um destino de E/S remoto pode ser um dispositivo que a pilha de driver não dá suporte, um arquivo nesse dispositivo ou uma interface de dispositivo para esse dispositivo.

As seções a seguir descrevem como inicializar e usar um destino de E/S geral: