Hi all,
I’m fairly new to Windows driver development and I have a question. I’ve been using the fx2_driver example provided with the WinDDK along with a USB device I have to get up and running. So far I’ve been able to install the driver and establish communication between the driver/device and multiple user apps. Previously, we’ve used WinUSB, but need to overcome the limitation of 1 application per device.
I’ve been able to do some Control I/O operations, and I’ve been able to get the target device WinUSB handle to directly use WinUSB functions.
My question is regarding how to address endpoints in different interfaces. I may want application 1 to communicate with EP1 in IF1, and application 2 to communicate with EP2 in IF2.
The UMDF examples seem to have a single input pipe and a single output pipe. When ReadFileEx or WriteFileEx is used, OnRead or OnWrite simply fetch the input or output pipe from the device pointer and do I/O.
With ReadFileEx, there’s just an output buffer pointer and some number of bytes to be read. So, how do you choose to read from a particular endpoint? Is there some ability to use different file handles from the two different applications for different endpoints? Or some other trick?
Thanks,
Don