Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (45.14 KB, 2 trang )
USB Device Driver Load Process
The USBD module takes the following steps when loading drivers, stopping as soon
as it finds a driver that accepts control of the device. The following rules describe the
algorithm that the USBD module uses to search for USB device drivers. In the
descriptions, GroupX_ID refers to a key with the specified group set to one of the
forms described in Registry Keys for USB Device Drivers and the remaining groups
set to Default. If multiple drivers are registered within the same group, the one that
contains the simplest form is loaded first. For example, a driver specifying a
Group1_ID with device class code only, such as Default\DeviceClass\Default,
loads before a driver specifying a Group1_ID with device class and subclass code,
such as Default\DeviceClass_Subclass\Default. This allows Windows CE to
conserve resources by loading as few drivers as possible. This procedure takes the
following steps:
1. The USBD module searches for a subkey with the name
Default\Default\Default. If present, the module loads the driver listed within
the Default\Default\Default\DriverName\DLL subkey. A driver registered in
this way is loaded for all USB devices that are connected to the system.
2. The USBD module searches for a vendor-specific driver. Vendor-specific
drivers are identified by searching for the most general Group1_ID subkey
that matches the device descriptor information. The most general subkey is the
one that has a matching Group1_ID subkey containing the simplest allowable
form and Default for the Group2_ID and Group3_ID subkeys. If a matching
subkey is found, the module loads the driver that is listed within the subkey’s
DriverName\DLL subkey. For more information on allowable forms, see
Registry Keys for USB Device Drivers.
3. The USBD module searches for a device class-specific driver. Class-specific
drivers are identified by searching for the most general Group2_ID subkey. If
a matching subkey is found, the module loads the driver listed within the
subkey’s DriverName\DLL subkey.
The searches in steps 1 through 3 may not yield a matching USB device driver to
control the device as a whole; that is, the device may have multiple interfaces, but no