beginner question: a driver registers 2 devices, possible?

erm I’m really new on this windows driver things so pardon me if my question sound silly :wink:

Is it possible to have a driver to register a non HID device as 2 devices: HID device and Custom USB device?
Its like we have a device with two interface which will be registered as two devices, just in my case my custom device has only one interface.
what in my mind is my custom device has interrupt endpoints and bulk endpoints, I will use my interrupt endpoints for standard HID device (like mouse or keyboard)
and bulk endpoints for Custom USB device (for fast transfer as I read somewhere HID has limitation on speed)
Is this possible?

or is there any other solution?

right now I’m playing with kmdf example: hidusbfx2 and osrusbfx2, I managed to make them work with my own custom device but thats as far as I can go for now.
btw is it a good step for a beginner like me to start from kmdf first?

Thanks

SG

Yes you use the USB mutlifunction support in the WDK- your USB physical
device is enumerated as two separate USB functions by the usb common generic
parent driver. The WDK docs more or less explain how to set up inf files for
each of your functions. You end up with two separate and independent
drivers. Each of your drivers is a normal USB function driver. KMDF is a
fine way to go. As these are USB devices you could also use UMDF.

On Thu, Mar 27, 2008 at 2:03 AM, wrote:

> erm I’m really new on this windows driver things so pardon me if my
> question sound silly :wink:
>
>
> Is it possible to have a driver to register a non HID device as 2 devices:
> HID device and Custom USB device?
> Its like we have a device with two interface which will be registered as
> two devices, just in my case my custom device has only one interface.
> what in my mind is my custom device has interrupt endpoints and bulk
> endpoints, I will use my interrupt endpoints for standard HID device (like
> mouse or keyboard)
> and bulk endpoints for Custom USB device (for fast transfer as I read
> somewhere HID has limitation on speed)
> Is this possible?
>
> or is there any other solution?
>
> right now I’m playing with kmdf example: hidusbfx2 and osrusbfx2, I
> managed to make them work with my own custom device but thats as far as I
> can go for now.
> btw is it a good step for a beginner like me to start from kmdf first?
>
> Thanks
>
> SG
>
>
> —
> 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
>


Mark Roddy

thanks Mark

I’ll dig more on WDK :slight_smile:

> Is it possible to have a driver to register a non HID device as 2 devices:

HID device and Custom USB device?

From the OS’s perspective there is no such thing as multi-functional device - the OS thinks of every device interface as of independent device. Therefore, bus driver creates separate PDO for each device interface so that different function drivers get can attached to them. It means that if you provide multi-functional device you have to provide INF file and function driver for every interface that your device supports (certainly, with the exception of those interfaces that already have system-provided function driver -for example, USB storage device does not need a driver because the OS provides USBSTOR. SYS)…

Anton Bassov