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

THE STREAM INTERFACE FUNCTIONS

Previous versions of Windows Embedded CE had 12 stream interface functions. Compact 7 has 13 (see Table 33-2) with the addition of Cancel for canceling asynchronous I/O. These functions implement functionality related to:

  • Loading/unloading the driver
  • Application I/O
  • Power management

TABLE 33-2: The Stream Driver Functions

LOADING/UNLOADING APPLICATION I/O POWER MANAGEMENT
DllEntryPoint or DllMain XXX_Open XXX_PowerDown
XXX_Init XXX_Read XXX_PowerUp
XXX_PreDeinit XXX_Write
XXX_Deinit XXX_Seek
XXX_IOControl
XXX_PreClose
XXX_Close
XXX_Cancel

In Chapter 32, “Stream Interface Drivers,” these functions are discussed in detail. A summary of their functionality follows:

They are called by Device Manager, not directly by an application. There is an application programming interface (API) for calling the functions via Device Manager. When implemented, the XXX in the function names is replaced by the stream prefix. The functions each have a specific parameter list and generally return a value to the operating system that indicates success or otherwise of the operation. Not all functions have to be implemented. The functions when coded are compiled into a driver DLL that is loaded according to its registry settings.

A Minimal Stream Driver

Two stream functions, apart from the DLL entry point, are required to build and load a stream driver. They are Init and Deinit. A driver that has only those parts of the stream can load but ...

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