WinCE流设备驱动简介及GPIO驱动的实现

游客

标题:WinCE流设备驱动简介及GPIO驱动的实现
正文:
作者：ARM-WinCE 流设备驱动实际上就是导出标准的流接口函数的驱动，这是文档上面的定义。在WinCE中，所有的流设备都导出流设备接口，这样WinCE中的Device Manager可以加载和管理这些流设备驱动。流设备驱动的架构如图： 首先我声明一下，这个图是我抄的，呵呵。在WinCE启动的时候，OAL(OAL.exe)首先加载kernel.dll，然后kernel.dll加载device.dll，device.dll会加载devmgr.dll，devmgr.dll实际上就是Device Manager模块，他会负责流设备的加载，卸载和交互操作。这个从图中可以看出的。再来说说应用程序，一般应用程序要通过文件系统接口来访问设备。首先调用CreateFile打开设备并获得相应的句柄，然后通过文件系统接口调用ReadFile或者WriteFile来访问相应的流设备驱动，或者通过DeviceIoControl直接访问。无论哪种方式，都是要通过Device Manager才能访问到相应的设备驱动，如上图。 不知道上面的架构解释清楚了没有，下面介绍一下流设备驱动的接口函数： 1. DWORD XXX_Init(LPCTSTR pContext, DWORD dwBusContext)：该函数用于初始化一个流设备驱动，在设备被加载的时候调用，调用成功后会返回一个句柄。 pContext：在Active注册表键路径下的一个字符串 dwBusContext：不常用，这里可以设为0 2. BOOL XXX_Deinit(DWORD hDeviceContext)： 卸载一个设备驱动。 &nbs
[<<][[1]][2][3][>>]

查看评论(0)
发表评论

首页