- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用PnP通知
在一个即插即用(PnP)的环境里,驱动程序和应用程序需要对机器里的设备配置的变化作出反应。例如,一个应用程序需要知道何时感兴趣的设备已经被添加到机器上,而一个驱动程序需要知道何时一个变化发生在一个特定的设备上。
当特定的PnP事件发生时,PnP管理器提供一个机制来通知驱动程序和应用程序。。本章描述了在内核模式代码里怎样使用PnP通知。用户模式应用程序的编写者应该看平台SDK文档获得关于RegisterDeviceNotification功能和相关的功能的信息。
本章包括以下的主题:
1.1??????? PnP通知总览
1.2??????? 编写PnP通知回调例程指南
1.3??????? 使用PnP设备接口改变通知
1.4??????? 使用PnP目标设备改变通知
1.5??????? 使用PnP硬件profile改变通知
1.6??????? 使用PnP定制通知
参见《Windows2000驱动程序开发参考》的卷一获得当一个设备的电源状态变化时关于使用PoRegisterDeviceNotify来为通知注册。为了了解系统状态、时间和策略变化的通知的有关内容,请看内核模式驱动程序设计指南里有关系统定义的回调的信息。
1.1 PnP通知总览
当特定的事件发生在指定的设备上或者在整个系统上时,PnP管理器提供一个机制来通知的驱动程序和应用程序。一个驱动程序能够为下面种类的事件的通知而注册。
????????? EventCategoryInterfaceChange
当一个驱动程序为设备接口上这个种类的事件而注册时,PnP管理器通知驱动程序下面的事件:
??????????? GUID_DEVICE_INTERFACE_ARRIVAL
表明一个特定类的设备接口已经启用。例如,一个用户给机器添加一个新的硬盘和卷管理器使一个新的卷可用(类“卷”的一个设备接口)。
??????????? GUID_DEVICE_INTERFACE_REMOVAL
表明指定类的一个设备接口已经被禁止。
在《Windows2000驱动程序开发参考》的卷一中参看IoRegisterDeviceInterface和相关的例程获得设备接口的更多信息。
????????? EventCategoryTargetDeviceChange
当一个驱动程序为设备上这类事件注册时,当在设备上发生下面的事件时,PnP管理器通知驱动程序:
??????????? GUID_TARGET_DEVICE_QUERY_REMOVE
表明PnP管理器准备删除设备的驱动程序。几种操作能够引起这个事件,包括一个用户请求从机器上删除指定的设备,或者一个用户发布设备的一个更新驱动程序请求。这个通知请求设备的驱动程序或者支持或者否决到来的删除操作。
??????????? GUID_TARGET_DEVICE_REMOVE_COMPLETE
表明指定的设备已经从机器中删除,或者一个用户正在改变设备的驱动程序。
??????????? GUID_TARGET_DEVICE_REMOVE_CANCELLED
表明指定的设备上的一个到来的删除操作已经被取消。
??????????? GUID_Xxx(定制事件)
表明一个定制事件已经发生在一个指定的设备上。
你能够定义设备的一个定制事件。当驱动程序(或另外的相关组件)通知PnP管理器定制事件已经发生时,PnP管理器通知设备上为目标设备的改变通知而注册的任何组件。
不象设备接口的改变的注册过程,它可被认为是设备接口里一个“被动的”权利,而为目标设备的改变的注册表明设备里一个“主动的”权利。
????????? EventCategoryHardwareProfileChange
本类包括下面的事件:
??????????? GUID_HWPROFILE_QUERY_CHANGE
表明一个用户已经请求改变机器的硬件profile。PnP管理器使用这个通知询问已注册的组件,是否它能够改变硬件profile而没有中断系统操作。已注册的组件典型地使这些查询请求成功。
??????????? GUID_HWPROFILE_CHANGE_COMPLETE
表明一个机器的硬件profile已经改变。如果一个驱动程序维护profile专用的设置,它应该在一个硬件profile改变之后更新这些设置。
??????????? GUID_HWPROFILE_CHANGE_CANCELLED
表明一个到来的硬件profile改变已经被取消。
为了内核模式组件,PnP通知如下工作:
1.??????? 通过调用IoRegisterPlugPlayNotification,驱动程序注册一个种类事件的通知。
一个PnP通知的回调例程保留被注册状态直到驱动
您可能关注的文档
- 2015年训练题11.doc
- 实 习 报 告 书 讲 解(写报告时可用).doc
- 研究生 阅读文章 第一次.doc
- 汽车离合器英语论文.doc
- 浙江省高考题阅读D篇.doc
- 雅思听力词汇1.doc
- 利用MasterCAM对FANUC_0i程序后处理修改.doc
- register_chrdev代码分析.doc
- 脚踏式休闲车设计毕业论文.doc
- Chassis 001 底盘.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)