Compartilhar via


Criação de arquivo por um destino de E/S USB

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.

Durante sua inicialização, o destino de E/S USB cria um objeto de arquivo intra-stack, que representa uma sessão padrão que o destino de E/S USB mantém aberto. Para obter mais informações sobre um objeto de arquivo intra-stack, consulte Criando um objeto de arquivo para lidar com E/S. O destino de E/S USB ou seus filhos de destino de pipe USB usam esse objeto de arquivo para enviar qualquer E/S originada (por exemplo, E/S para obter o descritor de configuração USB).

O driver pode usar esse objeto de arquivo intra-stack em funções de formato (por exemplo, o driver pode passar um ponteiro para esse objeto de arquivo para o parâmetro pFile em uma chamada para o método IWDFIoTarget::FormatRequestForRead ) se o driver precisar enviar E/S na sessão padrão desse objeto de arquivo. Para obter o objeto de arquivo intra-stack, o driver pode chamar o método IWDFIoTarget::GetTargetFile .

Esse objeto de arquivo intra-stack é fechado quando o destino de E/S é descartado explicitamente, quando o driver chama o método IWDFObject::D eleteWdfObject no destino de E/S ou implicitamente, quando o pai do destino de E/S é descartado.

Se qualquer E/S permanecer pendente nesse objeto de arquivo intra-stack no momento da remoção do dispositivo, esse objeto de arquivo falhará ao fechar e o UMDF gerará uma parada de driver. Para obter mais informações, consulte Criando e usando objetos de arquivo Driver-Created.