58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
|
|
For each HID minidriver in the system, the HID class driver keeps a
|
|
HIDCLASS_DRIVER_EXTENSION, like so:
|
|
|
|
HID.SYS -+--> HIDCLASS_DRIVER_EXTENSION
|
|
|
|
|
+--> HIDCLASS_DRIVER_EXTENSION
|
|
|
|
|
.
|
|
.
|
|
.
|
|
|
|
For each device object associated with a minidriver, the class
|
|
driver keeps a HIDCLASS_DEVICE_EXTENSION, like so:
|
|
|
|
HIDCLASS_DRIVER_EXTENSION -+--> HIDCLASS_DEVICE_EXTENSION
|
|
|
|
|
+--> HIDCLASS_DEVICE_EXTENSION
|
|
|
|
|
.
|
|
.
|
|
.
|
|
|
|
For each collection associated with a device object, the class driver keeps
|
|
a HIDCLASS_COLLECTION structure:
|
|
|
|
HIDCLASS_DEVICE_EXTENSION -+--> HIDCLASS_COLLECTION
|
|
|
|
|
+--> HIDCLASS_COLLECTION
|
|
|
|
|
.
|
|
.
|
|
.
|
|
|
|
For each file object associated with a collection, the class
|
|
driver keeps a HIDCLASS_FILE_EXTENSION structure:
|
|
|
|
HIDCLASS_COLLECTION -+--> HIDCLASS_FILE_EXTENSION
|
|
|
|
|
+--> HIDCLASS_FILE_EXTENSION
|
|
|
|
|
.
|
|
.
|
|
.
|
|
|
|
Finally, the class driver keeps a list of IRPs that are pending against
|
|
each file object:
|
|
|
|
HIDCLASS_FILE_EXTENSION -+--> IRP
|
|
|
|
|
+--> IRP
|
|
|
|
|
.
|
|
.
|
|
.
|
|
|
|
|