O programa de exemplo USBView.exe não enumera dispositivos anteriores ao Windows computadores baseados no XP SP1

Traduções deste artigo Traduções deste artigo
ID do artigo: 838100 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Poderá detectar os seguintes sintomas quando você usar o programa USBView.exe para enumerar dispositivos de barramento serial universal (USB) e controladores de host:
  • Problema A - controladores de host USB 2.0 não são enumeradas em computadores com Microsoft Windows 2000.
  • Problema B - dispositivos USB conectado não são exibidos.

    A versão do programa USBView.exe que é criado usando o Windows XP Service Pack 1 Windows Driver Development Kit (DDK) não mostra os dispositivos USB ao executar o exemplo nos seguintes sistemas operacionais:
    • A versão do Microsoft Windows XP.
    • Qualquer versão do Microsoft Windows 2000, Microsoft Windows Millennium Edition ou Microsoft Windows 98.

Causa

Problema A - controladores de host USB 2.0 não são enumeradas em computadores com Windows 2000

O programa USBView.exe não enumera controladores de host USB 2.0 em computadores baseados no Windows 2000 porque dois diferentes pilhas de driver USB executado em computadores com Windows 2000, da seguinte maneira:
  • A pilha primeira é usada para controladores de host USB 1.1.
  • A pilha do segunda é usada para controladores de host USB 2.0.
Ambas as pilhas de driver USB criar nomes de vínculo simbólico que possuem o seguinte formato, onde x representa um número de instância:
\DosDevices\HCD x
Ambas as pilhas de driver USB iniciar o número de instância em 0. Esse comportamento significa que ambas as pilhas de driver tentem criar o nome de vínculo simbólico a seguir:
\DosDevices\HCD0
A pilha de driver tenta criar este nome de vínculo simbólico depois que a pilha de driver USB 1.1 do USB 2.0 cria o nome do vínculo simbólico. Portanto, o nome do vínculo simbólico não é criado e o controlador de host USB 2.0 não pode ser acessado através de um link simbólico.

Problema B - dispositivos USB conectado não são exibidos

A pilha de driver USB está incluída no Windows XP SP1 inclui suporte para um novo controle de entrada/saída (IOCTL) que é chamado da seguinte maneira:
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
Este IOCTL substitui a versão anterior do IOCTL é denominado IOCTL_USB_GET_NODE_CONNECTION_INFORMATION. A versão anterior do IOCTL foi usada em versões anteriores do programa USBView.exe.

O programa USBView.exe foi modificado para usar este IOCTL mais recente porque ela retorna informações sobre se o dispositivo USB está operando em alta velocidade.

Se você tentar usar IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX em computadores baseados no XP SP1 anterior ao Windows, a tentativa não é bem-sucedida. Além disso, nenhuma informação sobre o dispositivo USB é exibida.

Resolução

Problema A - controladores de host USB 2.0 não são enumeradas em computadores com Microsoft Windows 2000

Ao suporte ao uso de um nome de vínculo simbólico, a nova pilha de driver USB suporta o uso de uma interface de dispositivo baseado em GUI.

A função EnumerateHostControllers no arquivo Enum.c inclui uma seção cujos comentários explicam como usar essa técnica para enumerar o controlador de host. Você pode modificar esta função para detectar quando ele está sendo executado em um computador baseado no Windows 2000. Em seguida, você pode usar o método de enumeração baseado em GUI e o método de vínculo simbólico para enumerar todos os controladores de host USB.

Problema B - dispositivos USB conectado não são exibidos

Você pode modificar todos os usos do IOCTL novo, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, no programa USBView.exe. Você pode modificar o IOCTL para que se o IOCTL não for bem-sucedido, o programa USBView.exe volta ao usar a versão anterior do IOCTL, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION.

Esse comportamento fallback permite que o programa USBView.exe ainda relatório se um dispositivo esteja operando em alta velocidade em um computador que está executando o Windows XP SP1 ou versões posteriores do Windows. Além disso, esse comportamento fallback também exibe dispositivos USB no anterior ao Windows computadores baseados no XP SP1.

Mais Informações

Esse problema foi corrigido no Windows Server 2003 Service Pack 1 DDK.

Propriedades

ID do artigo: 838100 - Última revisão: quinta-feira, 4 de agosto de 2005 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Driver Development Kit
Palavras-chave: 
kbmt kbprb KB838100 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 838100

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com