i8042prt and kbdclass question

Hi guys,

I’m researching the keyboard mechanism on windows system. i8042prt and
kbdclass all have their AddDevice function. i8042prt’s AddDevice function
create a device object and attach it on a PDO. Kbdclass’s AddDevice function
create a device object and attach it on i8042prt’s device.
My question is why system know the sequence. In other words, how the system
attach kbdclass on i8042 instead i8042 attaching kbdclass ? Is it because of
inf ?

Fan Zhang

Order is determined by role:
Class lower filters
device lower rilters
Fdo
Device upper filters
Class upper filters

I8042per is the fdo (set by the inf), kbdclass is a class upper filter (system is configured this way on install).

d

dent from a phpne with no keynoard


From: Marvin(Fan) Zhang
Sent: November 02, 2010 1:56 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] i8042prt and kbdclass question

Hi guys,

I’m researching the keyboard mechanism on windows system. i8042prt and kbdclass all have their AddDevice function. i8042prt’s AddDevice function create a device object and attach it on a PDO. Kbdclass’s AddDevice function create a device object and attach it on i8042prt’s device.
My question is why system know the sequence. In other words, how the system attach kbdclass on i8042 instead i8042 attaching kbdclass ? Is it because of inf ?

Fan Zhang
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

>i8042 instead i8042 attaching kbdclass ? Is it because of inf ?

i8042 is a functional driver, while kbdclass is an upper filter.

Yes, because of the INF where the keyboard class is defined. In this INF, kbdclass is defined as class upper filter.

i8042’s INF just declares it to be of keyboard class.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Kbdclass is defined as a class upper filter in the registry, it is not specified in any INF. The INF is important in that it defines the device class (keyboard) into which the device will be installed under

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Maxim S. Shatskih
Sent: Tuesday, November 02, 2010 11:37 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] i8042prt and kbdclass question

i8042 instead i8042 attaching kbdclass ? Is it because of inf ?

i8042 is a functional driver, while kbdclass is an upper filter.

Yes, because of the INF where the keyboard class is defined. In this INF, kbdclass is defined as class upper filter.

i8042’s INF just declares it to be of keyboard class.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer