You would write a Filter Manager Minifilter driver to implement on-access scanning of files such as anti-virus products , activity monitors, and file replication, deduplication, or backup solutions. And sometimes it is. Items in the first category, personal background knowledge, are actually pretty simple. To be able to write drivers for Windows and not just frustrate yourself, you need to have at least general knowledge of computer operating systems and Windows in particular.
You probably know most of what you need if you took a general OS Concepts class when you were in school. You can pick-up the Windows-specific information you need from doing a bit of reading. Doing that reading should set you up well for your task for writing Windows drivers. There are a couple of good books to which we regularly refer our students. These are:. This is the basic description of Windows OS Architecture. Everyone in the world of Windows has read it at some time.
Your hardware designer can give this to you. You need the specifics of your device, by the way. You need to know how the designer has implemented the register interface using the chosen PLD device, not the specs for the PLD itself. In recent history, the tools used for Windows driver development have undergone nothing short of a revolution.
Gone well, mostly are the days when you had to use special mystic project files and compile and link your code from the command line.
Today, Windows driver development is fully integrated with Visual Studio. At the current time May , Windows 10 is the current version , the most recent version of the tools for Windows driver development is Visual Studio You can even use Visual Studio Community Edition. This is a separate, but free yay! Visual Studio and the WDK together provide everything you need to create driver projects, and to compile, link, and even debug Windows drivers.
This driver will successfully build, and can even be installed on a test machine. Yup, it really is that simple. Ah, test machines. Driver development on Windows requires two Windows systems. One system where you run Visual Studio, do your development, and run the debugger. And a second, separate, system on which you run your driver. If you think about it, this makes good sense: Driver and hardware errors can quite easily destabilize or even crash a system. In many cases, the second system can be a virtual machine.
We mentioned the Windows kernel debugger. The debugger is included in the Windows Driver Kit and is automatically installed on your system when you install the WDK. There are several options available for using WinDbg for debugging your driver. Instead, we recommend that you run WinDbg directly from your development machine, outside of Visual Studio.
One quick note about debugging. Do not, under any circumstances, try to develop your driver without setting up WinDbg. While DebugView can be useful at times, we can guarantee that it is no substitute for having a debugger that allows you to set breakpoints, single step, and change the contents of structure fields and local variables.
Yay, WinDbg! Ignore this. Then disable and re-enable your device using Windows Device Manager. Kernel-Mode Driver Components describes which routines you must implement to have a functional driver and which routines are optional.
A device driver is a set of software code that must integrate into the operating system. To complete this integration, you must write a set of handler routines in your driver that process calls from the operating system.
Skip to main content. This browser is no longer supported. Download Microsoft Edge More info. Contents Exit focus mode. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Feedback will be sent to Microsoft: By pressing the submit button, your feedback will be used to improve Microsoft products and services.
Privacy policy. This section contains guidance on WDM drivers, which is no longer the recommended driver model. For guidance on choosing a driver model, see Choosing a driver model. To allow driver developers to write device drivers that are source-code compatible across all Microsoft Windows operating systems, the Windows Driver Model WDM was introduced.
Be designed as a bus driver, a function driver, or a filter driver, as described in Types of WDM Drivers.
0コメント