



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
wince流接口驱动工作原理流接口驱动Windows CE.Net 支持四种驱动模型:本地驱动、流驱动、USB、NDIS。本文只针对流驱动进行介绍。1 流接口驱动体系结构流驱动将设备抽象为文件进行操作,它体系结构如图1所示。应用程序使用文件API对设备进行访问,文件API被操作系统转发到FileSys.exe进程中;然后FileSys.exe发现是对设备进行操作,就会把执行交给设备管理器;接着设备管理器根据具体的请求,调用不同的流接口驱动程序中暴露的接口;最终驱动程序负责与硬件交互。图1流接口驱动的体系结构2流接口函数流接口驱动程序是动态连接库,由设备管理程序的特殊程序加载、管理和卸载,与具有单独目的接口的内部驱动程序相比,流接口驱动程序使用同一个接口并调用同一个函数集-流接口函数4。Windows CE.Net 系统规定流接口的入口点如表1,对应着直接或者间接调用流接口函数的系统组件或文件API函数。生成一个DLL后,就用设备文件名前缀替换入口点名字中的XXX。表1 流接口入口函数流接口函数功能描述调用流接口对象XXX_Init()初始化设备系统设备管理器XXX_Denit()卸载设备系统设备管理器XXX_Open()打开设备进行读写操作文件API函数CreateFile()XXX_Close()关闭设备文件API函数CloseHandle()XXX_Read()读取设备数据文件API函数ReadFile()XXX_Write()向设备写数据文件API函数WriteFile()XXX_IOControl()对设备进行各种操作文件API函数DeviceIOControl()XXX_Seek()移动设备数据的指针位置文件API函数SetFilePointer()XXX_PowerDown()使设备休眠系统电源管理器XXX_PowerUp()恢复设备电源系统电源管理器3流接口驱动工作原理 在流驱动工作原理中需要包括几个重要的工作实体:硬件、流接口驱动驱动程序、系统注册表、设备管理器、应用程序。整个驱动程序工作原理如图2所示。图2 流驱动工作原理顺序图流驱动的工作顺序如下:1)加载驱动。在当系统启动时,设备管理器搜寻注册表的HKEY_LOCAL_MACHINEDriverBuiltIn键下面的子键,并逐一加载子键下的每个驱动,此过程叫BusEnum。2)设备管理器从注册表的dll键值中获取驱动程序所在的DLL文件名。3)设备管理器调用LoadDriver()函数把DLL加载到自己的虚拟地址空间内。4)设备管理器在注册表的HKEY_LOCAL_MACHINEDriverActive下面,记录所有已经加载的驱动程序2。5)设备管理器调用驱动中的XXX_Init()函数。6)在XXX_Init()中,通常对硬件进行一些基本的初始化操作。通过以上6步,流接口驱动被成功加载。7)应用程序使用该设备。首先它调用CreateFile()打开设备。CreateFile()是在FileSys.exe中实现的。但是FileSys.exe只作简单判断,如果发现打开的设备驱动程序而不是一个文件,那么就重新把主动权交还给设备管理器。8)设备管理器调用驱动程序中的XXX_Open()函数打开设备。在XXX_Open()中,驱动程序可能会对硬件进行一些额外的初始化工作,使硬件进入工作状态。9)XXX_Open()函数把打开设备的结果返回给设备管理器。10)设备管理器把XXX_Open()返回的结果,再返回给应用程序的CreateFile()函数调用。通过7-10步,设备已被成功打开,至此就可以对设备进行读写和控制操作。11)应用程序使用第7步CreateFile()函数返回的句柄作为ReadFile() / WriteFile()的第一个参数,向设备发送读请求。同样ReadFile() / WriteFile()要经过FileSys.exe转发给设备管理器。12)设备管理器调用驱动程序中的XXX_Read() / XXX_Write() 函数,读取设备的数据信息或向设备写信息。13)在流驱动程序中,XXX_Read() / XXX_Write() 函数可与硬件交互,从硬件中读取必要的信息或向硬件写必要的信息。然后返回给设备管理器,再返回给应用程序。当应用程序不再使用该设备时,它可调用CloseHandle()将设备关闭。当系统不再使用设备时,应用程序可调用DeactivateDevice()函数把该驱动程序卸载。ARMCE 源码分享:怎样从*.reg 动态加载驱动示例!示例, 加载, ARMCE, 源码, reg1. /*2. / PopzoneARMCEVS2005 学习代码:3. / 内容: 怎样从*.reg 动态加载驱动示例!4. / 测试平台:WINCE6模拟器 + VS2005 专业版 SP15. / 日期: 2009.06.28 6. /*7.8. 注册表样本(由 ETDrawer老大提供):9.10. REGEDIT411. HKEY_LOCAL_MACHINEDriversBuiltInABC112. Prefix=ABC13. Dll=ABC.dll14. Index=dword:015. Order=dword:116. IClass=A32942B7-920C-486b-B0E6-92A702A99B3517.18. 注册表样本(由 Walle老师 提供):19.20. HKEY_LOCAL_MACHINEDriversBuiltInCRKDRV21. Prefix=CRK22. Index=dword:323. Dll=CrackKernel.dll24. Order=dword:025.26. 注:CrackKernel.dll 版权归 Walle老师 所有前言:小生不才,若有BUG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆丰都县2025年上半年事业单位公开遴选试题含答案分析
- 毛皮市场:繁荣与机遇
- 河北省文安县2025年上半年事业单位公开遴选试题含答案分析
- 2025版石子行业绿色采购与销售战略合作协议
- 2025年度消防设备租赁与维护三方合作协议
- 2025版网络安全软件技术服务合同
- 2025定制加工合同范本:珠宝首饰定制加工合作协议
- 2025版新媒体内容运营与推广社会化媒体营销服务协议
- 2025版石材进出口贸易与金融服务合同
- 2025版彭园一处场地招租与电子商务平台合作协议
- 算法认识与体验(教学设计)-2024-2025学年人教版(2024)小学信息技术五年级全一册
- 2025年水利工程监理员网络培训考试试题与答案
- 初三化学上教学工作方案
- 微生物实验安全知识培训课件
- 2025危险品押运员模拟考试试题及答案
- 部队课件的教学设计方法
- 2025年农村个人房屋买卖合同协议书
- 2025官方版房屋租赁合同范本下载
- 2025至2030全球及中国港口疏浚行业发展研究与产业战略规划分析评估报告
- 小儿惊风的中医护理
- 第一单元第1课时乘法与加减法的混合运算(学习任务单)2025苏教版三年级上册
评论
0/150
提交评论