Developing a Device Driver

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.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值