Displaying a User Interface from a Kernel-Mode Device Driver (Windows Embedded CE 6.0)
1/6/2010
Kernel-mode code can display a user interface (UI) by calling the CeCallUserProc function, which utilizes the UI proxy device driver. Add this functionality to your run-time image by setting the SYSGEN_UIPROXY variable in your OS design.
Execution Path
The following list shows the process for displaying a UI from a kernel-mode device driver:
- A user-mode application makes a call into a kernel-mode driver.
- While the kernel-mode driver is running, the kernel-mode driver requires input from the user.
- The kernel-mode driver calls CeCallUserProc to load the UI proxy device driver.
- The kernel-mode function translates the call into an I/O control code call and forwards the call to the UI proxy device driver, which is hosted in udevice.exe.
- The UI proxy device driver does the following:
- Loads the UI proxy device driver that was passed to the CeCallUserProc function.
- Calls the entry point for the UI proxy device driver.
- Passes the UI proxy device driver data to the entry point.
- Returns the UI proxy device driver data back to the caller.
- The UI proxy device driver data is then marshaled back to the kernel, and the call returns to the kernel-mode device driver.
See Also
Reference
CeCallUserProc
PFN_UIENTRYPOINT
Concepts
Other Resources
Additional Kernel Functionality
Core OS Services Catalog Items