Hi all,
My first post here. We have an existing Kernel Mode Driver that works great under XP. It was written with NuMega’s Driverworks years ago under 2000 originally to simplify driver writing. We now want to make this driver work under Windows 7/8/10 (at minimum Win7 for Standard Embedded). It uses IOCTL calls only and does not share memory with Usermode outside of this. Most of it works under one ISR from a hardware generated interrupt at DIRQL.
I have two questions:
-
Generally speaking, how hard is it to convert a DriverWorks project to straight MS kernel calls, if someone happens to know? I’m assuming it’s required to move to Win7 and up.
-
Our driver (out of necessity) is attached to one specific hardware card, but the driver ALSO enumerates the buss and finds all the other cards in the system, and those other cards we talk to directly in hardware. Device Mangler shows the one card with our driver, but the other cards show a bang ! with no driver. The code all works fine…under 2000 and XP. However, I am told that enumerating the buss in this way is (or was!) being deprecated, and I’m concerned that we won’t be able to have access to all the cards in the system like we currently have. It’s ok if the method changes, we just need to have access to all the cards like we do now.
Despite having written a good chunk of this driver (years ago) I would consider myself a novice. I have only written this one driver, so if you answer with “Well, why don’t you just write these three filter drivers that do this or that and talk together” I’m not likely to understand what you’re talking about, although I’m very happy to RTFM and get down to business if pointed in the right direction. The reason the one driver has to have access to all the cards is because I need to be able to talk to them EXACTLY at the time of the DIRQL interrupt, not later with a DPC etc. microseconds count…
Thanks SO MUCH for anyone who takes the time to read this, let alone respond.
Cheers,
Jeff