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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access