O'Reilly logo

Professional Windows® Embedded Compact 7 by Thierry Joubert, David Jones, Samuel Phung

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

STREAM INTERFACE DRIVER DEVELOPMENT OVERVIEW

All Compact 7 drivers are coded as DLLs and therefore implement the DLL entry point (DllEntrypoint/DLLMain), the normal entry point for any Windows DLL whether a driver or just an application library (API DLL). Normally, the operating system uses the LoadDriver to load a driver’s DLL when its manager loads the driver, whereas LoadLibrary is always used to load an API DLL. LoadDriver makes sure that the driver is never paged out. A driver can be loaded using LoadLibrary and be paged out though using a registry setting. The source code for a driver DLL implements the functions required for the interface to the OS through which the driver interacts with the OS. For native drivers, these functions are specific to the type of driver. For a stream driver there is the standard set of functions, a specific API to load and interact with the driver, and some standard registry locations for stream driver configuration entries. Within the set of 13 functions for a Compact 7 stream driver, some must be implemented; some if implemented require others to be implemented, whereas others need to be implemented only if specific functionality is required. Besides the standardized interface provided by these functions, the IOControl (IOCTLs) interface provides a customizable interface for stream drivers. But even with this, there are standard sets of IOCTLs that a driver will implement depending upon the class of the driver and depending upon whether it ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required