Freigeben über


Von USBPRINT.SYS generierte Bezeichner

Ab Windows 2000 stellt das Betriebssystem einen Kernelmodus-USB-Drucktreiber usbprint.sys bereit, der das Druckersubsystem mit dem USB-Stapel verbindet. Der systemeigene USB-Druckertreiber befreit Anbieter von der Notwendigkeit, eigene Kernelmodus-USB-Druckertreiber zu entwickeln. Auf diese Weise können Anbieter high-level User-Mode-Druckertreiber entwickeln, die sowohl mit USB- als auch parallelen Druckern funktionieren.

Die Installationsdatei "usbprint.inf " enthält eine kompatible ID, die mit allen USB-Druckergeräten der Klasse 7 übereinstimmt. Wenn der USB-Hubtreiber eines dieser Geräte aufzählt, findet das Betriebssystem eine Übereinstimmung für die ID, die der Hubtreiber in usbprint.inf generiert, und lädt den USB-Druckertreiber ,usbprint.sys. Die in usbprint.inf gefundene kompatible ID weist die folgende Form auf:

USB\CLASS_07

Ort:

  • Klasse 07h = Geräte, die zur USB-Druckerklasse gehören

Sobald er geladen wird, erstellt der USB-Druckertreiber einen neuen PDO für das Druckergerät. Wenn der Plug and Play-Manager (PnP) die Geräteidentifikationszeichenfolgen des neu erstellten PDO abfragt, erstellt der USB-Druckertreiber eine neue Hardware-ID, die von der IEEE 1284-Zeichenfolge des Geräts abgeleitet wird, die mit den vom parallelen Bus-Enumerationsmodul generierten Zeichenfolgenbezeichnern kompatibel ist. Diese Hardware-ID weist das folgende Format auf:

USBPRINT\NameModel(20)Prüfsumme(4)

Ort:

  • NameModel(20) ist die Verkettung des Herstellernamens und des Modells des Geräts, abgeschnitten auf maximal 20 Zeichen.

  • Checksum(4) ist ein zyklischer Redundanzprüfcode (CRC), der aus dem Herstellernamen und dem Modellnamen berechnet wird.

Leerzeichen in der Zeichenfolge werden durch Unterstriche ersetzt. Wenn beispielsweise der Herstellername "Hewlett-Packard" lautet, lautet der Modellname "HP Color LaserJet 550", und die Prüfsumme ist 3115, lautet die Hardware-ID wie folgt:

USBPRINT\Hewlett-PackardHP_Co3115

Im vorherigen Beispiel wurde das Leerzeichen zwischen "HP" und "Color" im Modellnamen durch einen Unterstrich ersetzt, um die abgeschnittene Make/Model-Zeichenfolge "Hewlett-PackardHP_Co" zu erzeugen.

Anmerkung Das vom Betriebssystem generierte CRC stimmt möglicherweise nicht mit dem CRC überein, das wie im vorherigen Abschnitt beschrieben oder durch einen anderen CRC-Algorithmus berechnet wird. Aus diesem Grund kann Ihr Druckertreiber möglicherweise nicht die richtige Hardware-ID berechnen, die mit der INF-Datei für den Druckertreiber verwendet wird. Um die Hardware-ID abzurufen, ist es besser, die setupapi.dev.log Datei zu durchsuchen, die dem installierten USB-Drucker zugeordnet ist.