Posts About Stream Interface Drivers
This post contains all of the code necessary to create a driver which will actually be loaded by the device manager. It gives a simple starting point for developing a Stream Interface driver.
A short post about what the DllEntry() function does in a device driver.
A discussion of what can and should be done by the driver XXX_Init() function.
A discussion of how to access the registry key that caused the driver to be loaded.
A discussion and sample code for adding support for the power manager in a stream interface driver. And as a side note, a discussion of testing the power management using the Device Emulator is in Platform Builder: Getting the Emulator to Resume.
A discussion of about stream interface driver registry settings.
 
Posts About Windows CE 6.0 UI Proxy
An example of using UIProxy to display an UI from a kernel mode driver. This includes downloadable source code for the driver, user mode dll and test application.
A discussion about calling CeCallUserProc() and using UIProxy and a user mode dll to present a UI from a kernel mode driver.
 
Posts About Managing Drivers
This post uses the ToolHelpAPI to list running drivers.
Drivers can be loaded using the registry or an application can request that a driver be loaded by using ActivateDeviceEx(). This post includes sample code to load the DriverShell driver.
A discussion of and sample code for loading drivers with an index greater than 9.
 
Posts of General Interest to Driver Developers
Step by step instructions for cloning an MDD lib. This example demonstrates how to clone ufnmddbase.lib, but the steps apply to other drivers as well.
A discussion about calling using the Interlocked functions to synchronize data access among different threads.
A discussion about using volatile to restrict compiler optimization.
 
When Things Go Wrong
A discussion of some of the reasons that the device manager will not load a driver.
A discussion of how an application can affect the performance of a driver.
A discussion of causes of page faults during resume in Windows CE 6.0.
 
Tags: Drivers
Copyright © 2009 – Bruce Eitman
All Rights Reserved