USB-Serial Windows device driver

xxxxx@pounceconsulting.com wrote:

But if use this approach you mention what about the usb select/config and pipes (captured from usbser.sys) that are in the lower filter? Are already configured with the PDEVICE_OBJECT sent and then I can send the usb custom ioctls directly to the pdo from the upper filter???

You can only do the select_configuration once. If you do it again, it
invalidates all of the pipe handles from the first call.

That leaves you two choices. One choice is to do the
select_configuration in your lower filter, store the information there,
and then respond to usbser.sys’s request yourself, without passing it
down to the host controller. The other choice is to just watch when
usbser.sys makes select_configuration or select_interface requests, add
your own completion routine to that IRP, and in the completion routine,
make a copy of the handles for your own use. The second choice is
probably easier in the long run.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

You could do that, but you would have to have some other type of query interface sent to the lower filter that is “give me all of the pipe handles”. Furthermore, if you need to coordinate your filter IO with the usbser io on those pipe handles (for instance, stalling usbser sent IOs until yours are completed), it is much easier to do that in the lower filter.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@pounceconsulting.com
Sent: Friday, July 23, 2010 8:37 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB-Serial Windows device driver

Doron:
But if use this approach you mention what about the usb select/config and pipes (captured from usbser.sys) that are in the lower filter? Are already configured with the PDEVICE_OBJECT sent and then I can send the usb custom ioctls directly to the pdo from the upper filter???


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