共用方式為


USBPRINT.SYS產生的標識碼

從 Windows 2000 開始,作業系統提供核心模式 USB 列印驅動程式, usbprint.sys 將印表機子系統連線到 USB 堆疊。 原生 USB 印表機驅動程式可讓廠商無需開發自己的核心模式 USB 印表機驅動程式。 這可讓廠商開發可與 USB 和平行印表機搭配使用的高階使用者模式印表機驅動程式。

usbprint.inf 安裝檔案包含符合所有 USB 類別 7 印表機裝置的相容標識碼。 如果 USB 中樞驅動程式列舉其中一個裝置,作業系統會尋找中樞驅動程式在 usbprint.inf 中產生的識別碼相符,並載入 USB 印表機驅動程式 usbprint.sys。 在 usbprint.inf 中找到的相容標識碼具有下列形式:

USB\CLASS_07

地點:

  • class 07h = 屬於 USB 印表機類別的裝置

載入後,USB 印表機驅動程式會為印表機裝置建立新的 PDO。 當隨插即用 (PnP) 管理員查詢新建立 PDO 的裝置識別字串時,USB 印表機驅動程式會建立新的硬體識別碼,衍生自裝置的 IEEE 1284 字串,與平行匯流排列舉值所產生的字串識別碼相容。 此硬體識別碼具有下列格式:

USBPRINT\NameModel(20)總和檢查碼(4)

地點:

  • NameModel(20) 是製造商名稱與裝置型號的串連,最多截斷為 20 個字元。

  • 校驗和(4) 是根據製造商名稱和型號名稱計算的4個字符的循環冗餘校驗(CRC)代碼。

字串中的空格會以底線取代。 例如,如果製造商的名稱是「Hewlett-Packard」,型號名稱是「HP Color LaserJet 550」,總和檢查碼為 3115,則硬體 ID 將如下所示:

USB列印\Hewlett-PackardHP_Co3115

在上一個範例中,模型名稱中 “HP” 和 “Color” 之間的空格已取代為底線,以產生截斷的品牌/型號字串 “Hewlett-PackardHP_Co”。

注意 作業系統產生的 CRC 可能與上一節中所述的 CRC 或任何其他 CRC 演算法所計算的 CRC 不符。 因此,您的印表機驅動程式可能無法計算正確的硬體標識碼,以搭配印表機驅動程式的 INF 檔案使用。 若要擷取 hardwareID,最好搜尋與正在安裝之 USB 印表機相關聯的setupapi.dev.log檔案。