?> 1) If I need to design a non-PnP driver that can be loaded by
> Openservice(..) API. WDF is not my base choice, becuase
> WDF support PnP only, is it correct?
KMDF supports non-pnp devices. Check out the nonpnp sample in the WDK.
> 2) I have tried to change my driver from WDM to WDF on USB stack, but
> the CPU usage in WDF is more than WDM.
> WDF increases 5% CPU usage while AP calls on going. Is it true or
> it just a problem on my WDF coding ?
There is usually going to be some overhead involved when using WDF. How
much that is and if you can reduce it really depends on your driver, and it
is hard for someone to give suggestions without sitting down and analyzing
the code.
> 3) My new USB client driver is re-designed with WDF. As I know, the
> sync event in WDF will not work around on others.
> What I mean: WDF has their sync event system that can not work
> with external WDM client driver if I need to pass sync object to
> external driver. This situation would have hung problem.
> In fact, I have tried to use InterLock to pass this sync object with
> other external client driver, but it's BSOD.
> Is it my code problem or WDF has the limition ????
I'm not really sure what your question is here. WDF is just a wrapper
around WDM, so if you want to pass synchronization objects between drivers
there is nothing stopping you. With that being said- trying to synchronize
state like this across drivers is extremely problematic, you should look at
improving your design to avoid doing this.
Brandon
|