¦ Bus-agnostic
Suggested Practice
To help you successfully master the exam objectives presented in this chapter, complete the following tasks:
Enhance Power Management Features
Continue to develop the string driver's power management code.
¦ Clear the string buffer Modify the string driver to delete the contents of the string buffer when the device driver switches into the power state D3 or D4.
¦ Change the power capabilities See what happens when you return a different POWER_CAPABILITIES value to Power Manager.
More IOCTLs
Expand on the features of the string driver by adding more IOCTL handlers.
¦ Reverse the stored string Add an IOCTL to reverse the contents of the string in the buffer.
¦ Concatenate a string Add an IOCTL that concatenates a second string to the string stored without overrunning the buffer.
¦ Embedded pointers Replace the string parameter with a pointer to a string and access it with CeOpenCallerBuffer.
Installable ISR
Learn more about installable ISRs by reading the product documentation.
¦ Learn more about installable ISRs Read the section 'Installable ISRs and Device Drivers' in the Windows Embedded CE 6.0 Documentation, available on the Microsoft MSDN Web site at
¦ Find an example of an installable ISR Find an example of an installable ISR and study its structure. A good starting point is the GIISR code that you can find in the %_WINCEROOT%Public CommonOakDriversGiisr folder.
Glossary
Application Programming Interface (API) An API is the function interface that an operating system or library provides to support requests from application programs.
Application Verifier (AppVerifier) AppVerifier enables developers to find subtle programming errors, such as heap corruption and incorrect handle usage, that can be difficult to identify with normal application testing
Asynchronous Access When two or more threads access the same buffer at the same time.
Binary Image Builder (.bib) A bib file defines which modules and files are included in a run-time image.
Boot Loader Piece of code executed at the processor startup to initialize the processor and then launch an operating system.
Board Support Package (BSP) A BSP is the common name for all board hardware- specific code. It typically consists of the boot loader, the OEM adaptation layer (OAL), and board-specific device drivers.
Catalog A container of components that presents a selectable feature for an OSDesign to the user.
Debugger Extension Commands (CeDebugX) CeDebugX is an extension to the Platform Builder debugger. It presents detailed information about the state of the system at break time and attempts to diagnose crashes, hangs, and deadlocks.
Windows Embedded CE Test Kit (CETK) The CETK is a tool you can use to test device drivers that you develop for the Windows Embedded CE operating system.
Cloning During cloning, you generate an exact copy of files to keep a secure copy of them before performing modifications. Code in the PUBLIC folder should always be cloned before making modifications.
Component A CE feature that can be added to or removed from an OS Design using the catalog.
Core Connectivity (CoreCon) Windows CE supports a unified communications infrastructure called Core Connectivity that enables full-featured connectivity for downloading and debugging.
Critical Section An object with a synchronization process that is similar to a mutex object. The difference is that a critical section can only be accessed by the threads of a single process.
Data Marshaling A process done on data to check the access rights and validity of the data for a different process.
Debug Zone A flag to enable or disable debug messages related to a certain functionality or mode of a driver.
Device Driver A device driver is software that manages the operation of a device by abstracting the functionality of a physical or virtual device.
Dirs File A Dirs file is a text file that specifies the subdirectories that contain source code to be built.
Embedded Pointer A pointer embedded in a memory structure.
Environment Variable A Windows environment variable that can enable or disable features. It is generally used to configure the build system and OS design from the catalog
Event Synchronization objects used by threads and the kernel to notify other threads in the system.
Exception An exception is an abnormal situation that happens while a program is running.
Iltiming Iltiming determines interrupt service routine (ISR) and interrupt service thread (IST) latencies on a Windows Embedded CE system.