Bagikan melalui


Pengidentifikasi Yang Dihasilkan oleh USBPRINT.SYS

Dimulai dengan Windows 2000, sistem operasi menyediakan driver cetak USB mode kernel, usbprint.sys yang menghubungkan subsistem printer ke tumpukan USB. Driver printer USB asli membebaskan vendor dari kebutuhan untuk mengembangkan driver printer USB mode kernel mereka sendiri. Ini memungkinkan vendor untuk mengembangkan driver printer mode pengguna tingkat tinggi yang bekerja dengan printer USB dan paralel.

File penginstalan usbprint.inf berisi ID kompatibel yang cocok dengan semua perangkat printer kelas USB 7. Jika driver hub USB menghitung salah satu perangkat ini, sistem operasi akan menemukan kecocokan untuk ID yang dihasilkan driver hub di usbprint.inf dan akan memuat driver printer USB, usbprint.sys. ID yang kompatibel yang ditemukan dalam usbprint.inf memiliki formulir berikut:

USB\CLASS_07

Lokasi:

  • kelas 07h = perangkat yang termasuk dalam kelas printer USB

Segera setelah dimuat, driver printer USB membuat PDO baru untuk perangkat printer. Ketika manajer Plug and Play (PnP) meminta string identifikasi perangkat dari PDO yang baru dibuat, driver printer USB membuat ID perangkat keras baru, yang berasal dari string IEEE 1284 perangkat yang kompatibel dengan pengidentifikasi string yang dihasilkan oleh enumerator bus paralel. ID perangkat keras ini memiliki format berikut:

USBPRINT\NameModel(20)Checksum(4)

Lokasi:

  • NameModel(20) adalah perangkaian nama produsen dan model perangkat, dipotong hingga maksimum 20 karakter.

  • Checksum(4) adalah kode pemeriksaan redundansi siklik 4 karakter (CRC) yang dihitung dari nama produsen dan nama model.

Spasi dalam string diganti dengan garis bawah. Misalnya, jika nama produsen adalah "Hewlett-Packard," nama modelnya adalah "HP Color LaserJet 550," dan checksum adalah 3115, ID perangkat kerasnya adalah sebagai berikut:

USBPRINT\Hewlett-PackardHP_Co3115

Dalam contoh sebelumnya, spasi antara "HP" dan "Color" dalam nama model diganti dengan garis bawah untuk menghasilkan string merek/model terpotong "Hewlett-PackardHP_Co."

Nota CRC yang dihasilkan oleh sistem operasi mungkin tidak cocok dengan CRC yang dihitung seperti yang dijelaskan di bagian sebelumnya, atau oleh algoritma CRC lainnya. Akibatnya, driver printer Anda mungkin tidak bisa menghitung hardwareID yang benar untuk digunakan dengan file INF untuk driver printer. Untuk mengambil hardwareID, lebih baik mencari file setupapi.dev.log yang terkait dengan printer USB yang sedang diinstal.