Dear ntdev members,
I’m currently trying to fully understand the limitations of the WinUSB
driver development related to a - maybe - future scenario.
I have problems to clarify one last question and hope to get some more
information on this list here.
If we have a USB device with 2 interfaces (composite device), providing
an IAD, it seems we have to replace the windows composite device driver
(usbccgp.sys) to access all interfaces.
Regarding the future scenario we might have one process accessing both
interfaces, but we might also have 2 processes instead, each one using
exactly one of these interfaces.
Having a look at
https://msdn.microsoft.com/en-us/library/windows/hardware/dn376885(v=vs.85).aspx
I find the info that
- WinUSB functions allow one application at a time to communicate with
the device
but also that - For multifunction devices, you can use the device’s INF file to
specify either an in-box kernel-mode driver or Winusb.sys for each USB
function separately
Having a look at https://www.osronline.com/article.cfm?article=532 I
find the info that a WinUSB limitation is that it does not support
multiple concurrent applications.
After this I’m not sure: Is it possible to use WinUSB in combination
with 2 processes accessing the device, but each one using another
interface? I mean… it’s not really a concurrent application then.
If this is possible, where can I find more information about the
necessary inf file adaptions described at the msdn page above?
(especially for replacing the usbccgp)
Maybe someone can point me into the right direction?
Thank you,
Matthias