Das Beispielprogramm "USBView.exe" listet unter Windows-Versionen vor Windows XP SP1 Geräte nicht auf

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 838100 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
838100 The USBView.exe sample program does not enumerate devices on pre-Windows XP SP1-based computers
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie das Programm "USBView.exe" verwenden, um USB-Geräte und USB-Hostcontroller (USB = Universal Serial Bus) auflisten zu lassen, können die folgenden Probleme auftreten:
  • Problem A - USB 2.0-Hostcontroller auf Computern mit Microsoft Windows 2000 werden nicht aufgelistet.
  • Problem B - Angeschlossene USB-Geräte werden nicht angezeigt.

    Die Version des Programms "USBView.exe", die mit dem Windows Driver Development Kit (Treiberentwicklungskit/DDK) aus Windows XP Service Pack 1 erstellt wurde, zeigt keinerlei USB-Geräte an, wenn es unter den folgenden Betriebssystemen ausgeführt wird:
    • Ursprüngliche Freigabeversion von Microsoft Windows XP.
    • Alle Versionen von Microsoft Windows 2000, Microsoft Windows Millennium Edition und Microsoft Windows 98.

Ursache

Problem A - USB 2.0-Hostcontroller auf Computern mit Windows 2000 werden nicht aufgelistet

Das Programm "USBView.exe" listet auf Computern mit dem Betriebssystem Windows 2000 keine USB 2.0-Hostcontroller auf, weil auf Windows 2000-Computern zwei verschiedene USB-Treiberstapel ausgeführt werden:
  • Der erste Treiberstapel wird für USB 1.1-Hostcontroller verwendet.
  • Der zweite Treiberstapel wird für USB 2.0-Hostcontroller verwendet.
Beide USB-Treiberstapel erstellen symbolische Verknüpfungsnamen im folgenden Format, wobei x für die Nummer einer Instanz steht:
\DosDevices\HCDx
Beide USB-Treiberstapel beginnen mit der Instanzennummerierung bei 0. Dies bedeutet, dass beide USB-Treiberstapel versuchen, den folgenden symbolischen Verknüpfungsnamen zu erstellen:
\DosDevices\HCD0
Der USB 2.0-Treiberstapel versucht, diesen symbolischen Verknüpfungsnamen zu erstellen, nachdem der USB 1.1-Treiberstapel diesen erstellt hat. Der symbolische Verknüpfungsname wird daher nicht erstellt, und auf den USB 2.0-Hostcontroller kann nicht über die symbolische Verknüpfung zugegriffen werden.

Problem B - Angeschlossene USB-Geräte werden nicht angezeigt

Der USB-Treiberstapel, der in Windows XP SP1 enthalten ist, beinhaltet die Unterstützung für ein neues Eingabe/Ausgabe-Steuerelement (IOCTL) mit dem folgenden Namen:
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
Dieses IOCTL ersetzt die frühere Version des IOCTL mit dem Namen IOCTL_USB_GET_NODE_CONNECTION_INFORMATION. Diese frühere Version des IOCTL wurde in früheren Versionen des Programms "USBView.exe" verwendet.

Das Programm "USBView.exe" wurde so modifiziert, dass es dieses neuere IOCTL verwendet, da es Informationen darüber zurückgibt, ob das USB-Gerät im Hochgeschwindigkeitsmodus arbeitet.

Wenn Sie versuchen, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX auf einem Computer mit einem Betriebssystem vor Windows XP SP1 zu verwenden, schlägt dieser Versuch fehl. Darüber hinaus werden keinerlei Informationen zu dem USB-Gerät angezeigt.

Lösung

Problem A - USB 2.0-Hostcontroller auf Computern mit Microsoft Windows 2000 werden nicht aufgelistet

Der neue USB-Treiberstapel unterstützt nicht nur die Verwendung eines symbolischen Verknüpfungsnamens, sondern auch die Verwendung einer GUID-basierten Geräteschnittstelle.

Die Funktion EnumerateHostControllers in der Datei "Enum.c" enthält einen Abschnitt, der erklärt, wie diese Technik einzusetzen ist, um den Hostcontroller auflisten zu lassen. Sie können diese Funktion so modifizieren, dass sie erkennt, wenn sie auf einem Computer mit Windows 2000 ausgeführt wird. Sie können dann die GUID-basierte Auflistungsmethode und die Methode mit der symbolischen Verknüpfung verwenden, um alle USB-Hostcontroller auflisten zu lassen.

Problem B - Angeschlossene USB-Geräte werden nicht angezeigt

Sie können alle Verwendungsmöglichkeiten des neuen IOCTL (IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX) im Programm "USBView.exe" modifizieren. Sie können das IOCTL so modifizieren, dass das Programm "USBView.exe" wieder die frühere Version des IOCTL (IOCTL_USB_GET_NODE_CONNECTION_INFORMATION) verwendet, falls die Ausführung des neuen IOCTL fehlschlägt.

Durch diese Rückkehr zur alten Version kann das Programm "USBView.exe" weiterhin melden, ob ein Gerät im Hochgeschwindigkeitsmodus auf einem Computer mit Windows XP SP1 oder späteren Versionen von Windows ausgeführt wird. Außerdem können dadurch auch USB-Geräte auf Computern angezeigt werden, auf denen Betriebssysteme ausgeführt werden, die älter sind als Windows XP SP1.

Weitere Informationen

Dieses Problem wurde im Treiberentwicklungskit (DDK) von Service Pack 1 für Windows Server 2003 behoben.

Eigenschaften

Artikel-ID: 838100 - Geändert am: Freitag, 16. Juni 2006 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows XP Driver Development Kit
Keywords: 
kbprb KB838100
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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