Kernel Servers: Windows CE 5.0 vs. Windows Embedded CE 6.0

1/6/2010

For Windows CE 5.0, a process server library (PSL) is a process that implements a set of APIs for applications to call. For Windows Embedded CE 6.0, a kernel-mode server is a DLL that loads into the kernel process and implements a set of APIs for applications to call. Kernel.dll, filesys.dll, device.dll, gwes.dll, and most of device drivers are kernel-mode servers.

The kernel-mode servers are supported by a kernel-only version of coredll named kcoredll.dll. Any code that loads into the kernel, but was linked to coredll.dll, is automatically redirected to use k.coredll.dll, instead. For Windows Embedded CE 6.0, a user-mode server is a process that registers an API set. Services.exe is a user-mode server that loads some drivers that in previous version of Windows Embedded CE were loaded by filesys, device, and gwes.

Benefits of the Kernel Servers

  • Improved performance for most API calls.
  • Simplified and improved security for API calls.

Tradeoffs of the Kernel Servers

  • API calls into user-mode servers are slower because of parameter marshalling.

See Also

Other Resources

Kernel Functionality Modifications: Windows CE 5.0 vs. Windows Embedded CE 6.0
Kernel API Modifications: Windows CE 5.0 vs. Windows Embedded CE 6.0