Different processes load different drivers. The following table shows the processes that load drivers and what drivers each process loads.
Process | Drivers |
---|---|
File System (FileSys.dll) | FileSys.dll loads file system drivers. For more information, see File Systems. |
Device Manager (Device.dll) | Device.dll loads audio drivers, battery drivers, keyboard drivers, mouse drivers, NDIS drivers, notification LED drivers, serial drivers, PC Card drivers, USB drivers, and any other driver that exposes the stream interface. Device.dll loads most of its drivers with ActivateDeviceEx, and these drivers expose a stream interface. For more information, see Device Manager. |
Graphics, Windowing, and Events Subsystem (GWES.dll) | GWES.dll loads a device driver if GWES is the only client of a driver. Device drivers loaded by GWES present a standard set of functionality for all similar devices. Drivers that GWES loads might expose the stream interface or they might expose other interfaces. Having alternatives make accessing the drivers much faster. GWES loads display drivers, printer drivers, and touch screen drivers. For more information, see Shell, GWES, and User Interface. |
The device driver source code is separated into hardware platform dependent code, system-on-chip (SOC) drivers, and common drivers. With this directory structure, you can copy a public driver to your %_TGTPLAT% directory, and then optimize and test the driver.
The following table shows the location of the device driver source code.
Path | Description |
---|---|
%_WINCEROOT%\Platform\%_TGTPLAT% | Contains hardware platform dependent code. This directory primarily contains the OAL, configuration files, and BSP drivers. You should not have to modify the hardware platform dependent drivers in %_WINCEROOT%\Platform\%_TGTPLAT%\Drivers. |
%_WINCEROOT%\Platform\Common\Src\SOC | Contains SOC drivers for high-integration microprocessors or microprocessor companions with many native peripherals integrated onto the microprocessor. SOC drivers include microprocessor-specific OAL drivers for real-time clocks, timers, debug Ethernet cards, and so on. Standard development boards (SDBs) with the same microprocessors can use the same set of SOC drivers. |
| |
%_WINCEROOT%\Public\Common\OAK\Drivers | Contains common drivers for non-native peripherals, which are devices that exist on a plug-in card or are wired directly to a circuit board. Common drivers contain platform-independent code that links to the platform-dependent code to create a hardware driver. Common drivers are not specific to a hardware platform or microprocessor. Any SDB can use common drivers. |