I have a system I am working on that communicates with some custom hardware via USB. I used the NI driver wizard to create some visa drives, and perform USB RAW writes and reads, and everything was working great. Unfortunately, I just found out that there is a whole other application written in C++ by someone else that also has to communicate with the same hardware on the same system. Their application uses WinUSB to communicate with the device, so currently the only way I know of to switch between the two applications is to uninstall the VISA drivers, and install the WinUSB drivers, or vice-versa, depending on which application one wants to use. This obviously isn't going to work long-term.
I'm not sure how to fix this so that we can use both application on the machine without having to constantly change the drivers back and forth. I thought about trying to call WinUSB.dll using LabVIEW, but I'm afraid that might get a little complication. I figured I can't be the first one to run into a problem like this before, so before I start down the WinUSB road, I thought I would check to see if anyone has any better ideas. I'm afraid trying to get at the source, or in anyway changing, the C++ application is not an option.
Thoughts? Ideas? Is calling WinUSB in LabVIEW my best bet?