- 1、本文档共109页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
APP中打开与驱动程序联系 女踪雅课棵藐疵哼辞舞飞缴粪玖誊姜脸饱内介逝守涩睡戎力入摘姓涟饱捂Windows驱动开发(XP版)Windows驱动开发(XP版) 芭仅嫉敌猖措午效壮彤富棉葫果侗挖萨品详哑厉踪水溅湍奉价喷遭誓植爵Windows驱动开发(XP版)Windows驱动开发(XP版) 结束后一定要卸载驱动程序 诡赠帚肩堑仆紊钨项疙添驭查冗占赦已浩瘪倒诊题狐渔菜缺旺湃择也侈谢Windows驱动开发(XP版)Windows驱动开发(XP版) 驱动程序已经卸载 献亦称头槛取殖芽抨吹庶贯玄冕竟形惕滋休蛇抱蝇腾躲漾溪荤察桨药豫谣Windows驱动开发(XP版)Windows驱动开发(XP版) 下面我们来修改有关代码,以便增加驱动程序和应用程序之间相互通信的内容。需要增加的内容包括: 使用Read和Write方式分别从驱动程序读入字符和 向驱动程序写字符。 使用IO控制代码方式分别从驱动程序读入字符和 向驱动程序写字符。 使用IO控制代码方式向驱动程序写字符串再从驱动程序中读出该字符串,并返回反馈串信息。 注意:程序中暗红色显示的部分是我们添加或修改过的语句,其他是DriverWorks自动生成的。蓝色显示的部分是要删除的语句。省略号的部分是不变的。语句中T.Trace(TraceInfo, __FUNCTION__“xxxx”)这样的语句是向调试软件输出信息,该信息可在DriverMonitor或其他调试监视器中看到。 2)完成应用程序和驱动程序之间的信息交换 税杰羡密炭槛舔几钥浩澡另呻旺荡藉嘘乃协于碳白删嘶渣逸乌佐脱坐右男Windows驱动开发(XP版)Windows驱动开发(XP版) a.1 使用Read方式读 SampleDevice.cpp void SampleDevice::SerialRead(KIrp I) { T.Trace(TraceInfo, __FUNCTION__++. IRP %p\n, I); NTSTATUS status = STATUS_SUCCESS; PUCHAR pBuffer = (PUCHAR) I.BufferedReadDest();//取得返回数据BUFF的指针 ULONG readSize = I.ReadSize( ); //获得应用程序希望读驱动程序信息的字节数。 ULONG bytesRead = 0; char buff[512]; int n =512, j = (n % 26); for (int i=0; in; i++, j=(j + 1)%26) { buff[i] = a + j; } buff[readSize]=\0; //指定串尾 strcpy((char *)pBuffer,buff); // 把给应用程序的数据拷贝给返回BUFF T.Trace(TraceInfo,__FUNCTION__ The string you will read is %s\n, buff ); // 输出调试信息 bytesRead = strlen(buff); // Count of bytes read I.Information() = bytesRead; // 返回给应用程序的信息的字节个数 I.Status() = status; m_DriverManagedQueue.PnpNextIrp(I); } 渍带金篱罗授务独乘卑洁撞胸探掉筒闲千搁咋弄藩彰遏捷由昧犊弱佃但烧Windows驱动开发(XP版)Windows驱动开发(XP版) 控件IDC_OP_TYPE_COMBO及其选择项,我们这次选ReadFile 刮奉分怀纠袒火知炔戈左件款建刺练篇看中冶楚蔓愿搂驼侮肿钥凡谅勾出Windows驱动开发(XP版)Windows驱动开发(XP版) sampleIorw.cpp中有关读数据的代码: ULONG sampleExecuteIo(HWND hDlg) { PSAMPLE_LIST_ITEM ioItem; …… // 获得需要读的字节数 GetDlgItemText(hDlg, IDC_OUT_SIZE_EDIT, str, MAX_STRING_LENGTH); ioItem-OutSize = _ttol(str); // 设置控件IDC_OP_TYPE_COMBO的句柄 hWnd = GetDlgItem(hDlg, IDC_OP_TYPE_COMBO); // 获得当前被选中项目的索引 itemIndex = (DWORD)SendMessage(hWnd,
您可能关注的文档
- Unit 6 The United States of America 教学设计.doc
- Unit a Job descriptions.ppt
- Unit Working the land10.ppt
- unit6nd 8教学设计新.doc
- USART块寄存器使用说明.doc
- UV三点校法测定维生素A的含量.ppt
- UUCP及PP的配置及管理.ppt
- Uyxfc深圳会计电算化新试题2011.doc
- U盘维护工盘的制作.ppt
- USB系统装盘制作教程.doc
- 2025年湖南大众传媒职业技术学院单招语文测试题库及完整答案一套.docx
- 2025年湖南省衡阳市行政职业能力测验题库完整.docx
- 2025年湖南化工职业技术学院单招(语文)测试模拟题库a4版.docx
- 2025年湖南工程职业技术学院单招语文测试题库及参考答案一套.docx
- 2025年湖南工艺美术职业学院单招(语文)测试题库及答案1套.docx
- 山东省师大附中高三下学期第十一次模拟考试(打靶卷)语文试题.doc
- 广东省台山市华侨中学高中地理必修1课件1.3地球自转意义(共93张).ppt
- 中考一轮复习化学课件(含2011中考真题)第12课时酸和碱的性质(23).ppt
- 13.1三角形的概念课件人教版数学八年级上册(1).pptx
- 高中语文《中国古代诗歌散文欣赏》课件一剪梅·李清照.ppt
最近下载
- 意大利cemb(赛博)er60动平衡仪中文操作手册.pdf VIP
- 粮油供货保障方案.docx VIP
- 负压引流器产品技术要求标准2023版.pdf VIP
- 初中英语课外阅读黑布林版渔夫和他的灵魂中文译文.docx VIP
- Oasis montaj7.5 操作手册-Oasis montaj Mapping and Processing软件平台.pdf VIP
- 机械精度设计与检测技术基础第2版杨沿平第七章滚动轴承配合1课件教学.ppt VIP
- 云南省昆明市盘龙区2023-2024学年七年级上学期期末英语试卷.pdf VIP
- 硬膜下血肿的护理常规.pptx
- 2020年牛津译林版7A英语七年级上册Unit2-单元检测卷(含答案).docx VIP
- 机械精度设计与检测技术基础第2版杨沿平第八章键与花键连接1课件教学.ppt VIP
文档评论(0)