I am working on a Windows UMDF project which is a virtual hid and is a modified version of Microsoft "vhidmini2" example.
This driver is a namedPipe server and one application (client) can connect to it. I need this driver for two applications so that I change the device information in Device section of .inx file along with the name of the Pipes and device string name macros in "common.h" and build it again. So that I have two drivers now and they are successfully installed and visible in Device manager.
Checking the Kernel logs I found out that uninstalling of the drivers has an effect on the other one. It looks like when one is uninstalled or installed the other one is reinstalled!!!
Another issue is that if one of the drivers is not connected to a client (through namedPipe) while the other one is, disabling the "Not Connected" one won't delete the created pipes. I must enable/disable that driver twice or disable the other driver also to delete the created pipes!
What can cause such a conflict? Is there a specific file or parameter that must be different in drivers?
I tried changing the provider's name or the ".cat" file name or the maindriver.c file name and did not help.