從 Windows 2000 開始,作業系統為許多 USB 大容量儲存裝置提供原生支援。 The Usbstor.inf installation file contains device IDs for those devices that are explicitly supported. If the USB hub driver enumerates one of these devices, the operating system will automatically load the USB storage port driver, Usbstor.sys.
The device IDs for USB mass storage devices in Usbstor.inf take the usual form for USB device IDs composed by using information in the USB device's device descriptor:
USB\VID_v(4)&PID_d(4)&REV_r(4)
Where:
v(4) is the 4-digit vendor code that the USB committee assigns to the vendor.
d(4) is the 4-digit product code that the vendor assigns to the device.
r(4) is the revision code.
In addition to these device IDs, Usbstor.inf contains compatible IDs for class 8 ATAPI CD-ROM and removable media devices that support bulk-only transport:
USB\CLASS_08&SUBCLASS_02&PROT_50
USB\CLASS_08&SUBCLASS_05&PROT_50
USB\CLASS_08&SUBCLASS_06&PROT_50
Where:
Class 08H = 大容量儲存裝置。
子類 02h = SFF-8020i ATAPI CD-ROM 設備。
子類 05h = SFF-8070i ATAPI 可移動媒體。
子類別 06h = 通用 SCSI 媒體。
通訊協定 50h = 僅大量傳輸通訊協定。
If the data retrieved from the device's device descriptor matches any of these compatible IDs, the operating system will load Usbstor.sys.
載入之後,USB 儲存埠驅動程式會為裝置的每個邏輯單元建立新的 PDO。 For more information, see the example device stack created by Usbstor.sys illustrated in Device Object Example for a USB Mass Storage Device.
當 PnP 管理員查詢新建立 PDO 的裝置識別字串時,USB 儲存埠驅動程式會從裝置的 SCSI 查詢資料建立一組新的裝置、硬體和相容標識碼。 裝置 ID 格式如下:
USBSTOR\v(8)p(16)r(4)
Where:
v(8) is an 8-character vendor identifier.
p(16) is a 16-character product identifier.
r(4) is a 4-character revision level value.
磁碟機的裝置 ID 範例如下:
USBSTOR\SEAGATE_ST39102LW_______0004
USB 儲存埠驅動程式產生的硬體識別碼如下:
USBSTOR\t*v(8)p(16)r(4)
USBSTOR\t*v(8)p(16)
USBSTOR\t*v(8)
USBSTOR\v(8)p(16)r(1)
v(8)p(16)r(1)
USBSTOR\GenericTypeString
GenericTypeString
Where:
t* is a SCSI device type code of variable length.
v(8) is an 8-character vendor identifier.
p(16) is a 16-character product identifier.
r(4) is a 4-character revision level value. In these additional identifiers, r(1) represents just the first character of the revision identifier.
下表包含 USB 儲存埠驅動程式用來產生識別碼字串的 SCSI 裝置類型代碼。
| SCSI 類型代碼 | Device type | Generic type |
|---|---|---|
DIRECT_ACCESS_DEVICE (0) |
磁碟或 SFloppy |
GenDisk 或 GenSFloppy |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequential |
GenSequential |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Worm |
GenWorm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
CdRom |
GenCdRom |
OPTICAL_DEVICE (7) |
Optical |
GenOptical |
MEDIUM_CHANGER (8) |
Changer |
GenChanger |
預設型別 (先前未列出的所有值) |
Other |
UsbstorOther |
這些範例顯示 USB 儲存埠驅動程式所產生的硬體識別碼:
USBSTOR\DiskSEAGATE_ST39102LW_______0004
USBSTOR\DiskSEAGATE_ST39102LW_______
USBSTOR\DiskSEAGATE_
USBSTOR\SEAGATE_ST39102LW_______0
SEAGATE_ST39102LW_______0
USBSTOR\GenDisk
GenDisk
USB 儲存埠驅動程式會產生兩個相容的識別碼。
USBSTOR\t*
USBSTOR\RAW
where t* is a SCSI device type code of variable length.
下列範例說明 USB 儲存埠驅動程式所產生的相容識別碼:
USBSTOR\Disk
USBSTOR\RAW