Hi All,
First of all some back ground.
-
We have a WDM driver for a video decoder hardware. This WDM driver support only one application decode at a time.
-
We have a DIL (Driver Interface Library, a dll) which abstracts all the driver IOCTLS. All applications talk to DIL which in turn talks to driver.
-
We are trying to add multiple application support to the solution.
My team has been thinking about this for quite some time now and we understand that the correct solution will be to redesign/modify the driver to let it handle the multiple applications. There is another suggestion that we can modify the DIL and enable it to acquire a shared lock (and talk to different instances through IPC) when a particular application is doing some processing. This way we can keep the driver same and with some changes in DIL we will be able to achieve a solution which may not be optimal but might work. This saves development time.
Really speaking I hate this solution because I know this is not the way to do this.
Can someone there give me opinions about the correct approach and reasons why one is better than other.
It will be a great help.
Thanks in Advance.
– Aj.