Hi,
I developed a usbccgp.sys lower filter driver to capture HID data and do
some re-mapping from the USB HID-compliant device. The filter driver was a
KMDF driver built from WDK 6000 and it works fine on XP, however, the
filter driver doesn’t work on Vista. I used IoControlCode ==
IOCTL_INTERNAL_USB_SUBMIT_URB and pUrb->UrbHeader.Function ==
URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER to capture the data in my driver,
but I found that URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER was not passed
through my filter driver on Vista. Doesn’t Vista support usbccgp.sys lower
filter? or it’s a Vista bug?
Does anyone have idea what’s going on?
Thanks,
Haibo
Haibo Ye wrote:
I used IoControlCode == IOCTL_INTERNAL_USB_SUBMIT_URB and
pUrb->UrbHeader.Function == URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
to capture the data in my driver, but I found that
URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER was not passed through
my filter driver on Vista.
It could be that usbccgp.sys submits IRPs directly to the PDO. Have you checked that possibility?
Why are you filtering below usbccgp? You should be filtering above the usbccgp enumerated PDO and below hidusb+hidclass if you want to filter HID data. By filtering below usbccgp you are filtering all of the functions’ data, not just HID.
Are you sure you installed your filter correctly? Do you see a select config in your filter? What is the output of !devstack [PDO] for your device boejct (which you can get by running !wdfkd.wdfdevice )?
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@seagate.com
Sent: Monday, February 04, 2008 6:30 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] usbccgp.sys lower filter driver on Vista
Hi,
I developed a usbccgp.sys lower filter driver to capture HID data and do
some re-mapping from the USB HID-compliant device. The filter driver was a
KMDF driver built from WDK 6000 and it works fine on XP, however, the
filter driver doesn’t work on Vista. I used IoControlCode ==
IOCTL_INTERNAL_USB_SUBMIT_URB and pUrb->UrbHeader.Function ==
URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER to capture the data in my driver,
but I found that URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER was not passed
through my filter driver on Vista. Doesn’t Vista support usbccgp.sys lower
filter? or it’s a Vista bug?
Does anyone have idea what’s going on?
Thanks,
Haibo
—
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
Thanks for your reply. I think so, because my keyboard interface works fine
but my filter driver was unable to capture any data. The same driver and
installation work fine on XP, however, I didn’t find the document saying
its difference on Vista.
Thanks,
Haibo
chris.aseltine@gm
ail.com
Sent by: To
bounce-313708-309 “Windows System Software Devs
xxxxx@lists.osr.com Interest List”
No Phone Info
Available cc
Subject
02/04/2008 11:23 RE:[ntdev] usbccgp.sys lower filter
PM driver on Vista
Please respond to
“Windows System
Software Devs
Interest List”
com>
Haibo Ye wrote:
> I used IoControlCode == IOCTL_INTERNAL_USB_SUBMIT_URB and
> pUrb->UrbHeader.Function == URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
> to capture the data in my driver, but I found that
> URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER was not passed through
> my filter driver on Vista.
It could be that usbccgp.sys submits IRPs directly to the PDO. Have you
checked that possibility?
—
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
There is a bug in the vista usbccgp which sends the io from the fdo directly to the pdo. Like I said earlier, I think you are filtering too low in the device tree. You can filter between the usbccgp pdo and hidusb and still see urbs for the keyboard.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@seagate.com
Sent: Thursday, February 07, 2008 6:11 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] usbccgp.sys lower filter driver on Vista
Thanks for your reply. I think so, because my keyboard interface works fine
but my filter driver was unable to capture any data. The same driver and
installation work fine on XP, however, I didn’t find the document saying
its difference on Vista.
Thanks,
Haibo
chris.aseltine@gm
ail.com
Sent by: To
bounce-313708-309 “Windows System Software Devs
xxxxx@lists.osr.com Interest List”
No Phone Info
Available cc
Subject
02/04/2008 11:23 RE:[ntdev] usbccgp.sys lower filter
PM driver on Vista
Please respond to
“Windows System
Software Devs
Interest List”
com>
Haibo Ye wrote:
> I used IoControlCode == IOCTL_INTERNAL_USB_SUBMIT_URB and
> pUrb->UrbHeader.Function == URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
> to capture the data in my driver, but I found that
> URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER was not passed through
> my filter driver on Vista.
It could be that usbccgp.sys submits IRPs directly to the PDO. Have you
checked that possibility?
—
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
—
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
Doron Holan wrote:
There is a bug in the vista usbccgp which sends the io from the fdo
directly to the pdo.
Is this really a “bug”, or just an (albeit interesting) design decision? I mean why would this have been changed? (You’ve wondered why people write their own generic parent drivers: well… :))
Without writing one’s own generic parent, I wonder: could this be worked around by… hooking?
Most definitely a bug, most definitely fixed post vista. What are you going to hook? This is not some export in usbccgp that you can replace at will.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Thursday, February 07, 2008 9:22 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] usbccgp.sys lower filter driver on Vista
Doron Holan wrote:
There is a bug in the vista usbccgp which sends the io from the fdo
directly to the pdo.
Is this really a “bug”, or just an (albeit interesting) design decision? I mean why would this have been changed? (You’ve wondered why people write their own generic parent drivers: well… :))
Without writing one’s own generic parent, I wonder: could this be worked around by… hooking?
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