当前位置: 首页 > news >正文

在国外怎么做网站html网页设计源代码文件免费

在国外怎么做网站,html网页设计源代码文件免费,制作手机端网站,软件下载官网源码对于PNP设备来说#xff0c;理解它们的启动和删除顺序#xff0c;以及意外移除顺序非常重要#xff0c;在早期#xff0c;经常有拔插U盘导致windows重启的例子#xff0c;这就是意外移除带来的问题。 功能或Filter驱动程序的启动顺序 下图显示了框架调用 WDF (KMDF 和 U…对于PNP设备来说理解它们的启动和删除顺序以及意外移除顺序非常重要在早期经常有拔插U盘导致windows重启的例子这就是意外移除带来的问题。 功能或Filter驱动程序的启动顺序 下图显示了框架调用 WDF (KMDF 和 UMDF V2) 功能或Filter驱动程序的事件回调函数的顺序从图底部的“设备插入”状态开始 宽横线标记启动设备所涉及的步骤。 图左侧的列描述了步骤右侧的列列出了完成该步骤的事件回调。 在图的底部系统不存在该设备。 当用户插入设备时框架首先调用驱动程序的 EvtDriverDeviceAdd 回调以便驱动程序可以创建设备对象来表示设备。 框架继续调用驱动程序的回调例程方法是继续执行序列直到设备正常运行。 请记住框架按自下而上的顺序调用事件回调如图所示因此 在 EvtDeviceFilterAddResourceRequirements 等之前调用 EvtDeviceFilterRemoveResourceRequirements 。 如果设备已停止以重新平衡资源或实际存在但处于低功耗状态则并非所有步骤都是必需的如图所示。 总线驱动程序的启动顺序 下图显示了从图底部的“设备插入”状态开始使设备进入完全运行状态时框架调用 KMDF 总线驱动程序的事件回调函数的顺序 在从系统中物理删除相应的设备之前框架不会以物理方式删除 PDO。 例如如果用户在 设备管理器 中禁用了设备但没有实际删除该设备则框架会保留其设备对象。 因此图底部的三个步骤仅在即插即用枚举期间发生即在初始启动期间或用户插入新设备时。 如果设备以前已禁用但未实际删除框架会通过调用 EvtDevicePrepareHardware 回调启动。 功能或Filter驱动程序的电源关闭和删除顺序 下图显示了关闭和删除设备时框架调用 KMDF 功能或Filter驱动程序的事件回调函数的顺序。 序列从图的顶部开始设备处于工作电源状态 (D0) 如图所示KMDF 关机和删除序列涉及按框架调用使设备正常运行所涉及的函数的相反顺序调用相应的“撤消”回调。 框架在删除设备对象上下文区域后删除设备对象。 总线驱动程序的电源关闭和删除顺序 下图显示了在关闭并删除连接到总线的设备时框架调用 KMDF 总线驱动程序的事件回调函数的顺序。 序列从图的顶部开始设备处于工作电源状态 (D0) 在从系统物理删除设备之前框架不会删除 PDO。 例如如果用户在 设备管理器 中禁用设备或在“安全删除硬件”实用工具中将其停止但未以物理方式删除设备则框架将保留 PDO。 如果设备稍后重新启用框架将使用相同的 PDO并通过调用 EvtDevicePrepareHardware 回调来开始启动序列如 物理设备对象的电源启动序列中所示。 注意通常框架在为驱动程序枚举的所有子设备调用 EvtDeviceReleaseHardware 函数后会调用总线驱动程序的 EvtDeviceReleaseHardware 回调函数。 如果父级遇到设备开机或关机故障框架可能会在调用所有子设备的 EvtDeviceReleaseHardware 函数之前调用驱动程序的 EvtDeviceReleaseHardware 。 请考虑调用 WdfDeviceInitSetReleaseHardwareOrderOnFailure 以确保框架仅在删除所有子设备后调用总线驱动程序的 EvtDeviceReleaseHardware 回调。 意外删除顺序 如果用户在不发出警告的情况下移除设备只需在不使用 设备管理器 或安全删除硬件实用工具的情况下拔下设备则设备被视为“意外删除”。发生这种情况时框架遵循略有不同的删除顺序。 如果另一个驱动程序在设备上调用 IoInvalidateDeviceState 则也会遵循意外删除序列即使设备在物理上仍然存在。 在意外删除序列中框架先调用 EvtDeviceSurpriseRemoval 回调然后再调用删除序列中的其他任何回调。 序列完成后框架将销毁设备对象。 所有可移动设备的驱动程序必须确保关闭和启动路径中的回调可以处理故障尤其是硬件删除导致的故障。 访问硬件的任何尝试都不应无限期等待但应受到超时或监视程序计时器的约束。 下图显示了意外删除中涉及的回调 如果设备在删除时未处于工作状态框架会在 EvtDeviceSurpriseRemoval 之后立即调用 EvtDeviceReleaseHardware 事件回调。 它省略了在设备退出工作状态时已执行的干预步骤。  处理停止设备的请求 在两种情况下在要求设备的驱动程序停止设备之前PnP 管理器会询问驱动程序是否是一个好主意 用户已插入新设备PnP 管理器必须 重新分发系统的硬件资源 以适应新设备用户已指示他/她要 删除该设备 驱动程序可以通过多种方式处理这些情况 如果驱动程序由于设备支持特殊文件而调用了 WdfDeviceSetSpecialFileSupport 并且如果设备上打开了特殊文件则框架将不允许设备停止若要在相对较短的时间内暂时阻止所有停止驱动程序可以调用 WdfDeviceSetStaticStopRemove若要单独评估和处理每个停止尝试驱动程序可以提供 EvtDeviceQueryStop 和 EvtDeviceQueryRemove 回调函数 如果设备不支持特殊文件并且停止或删除设备绝不是驱动程序或设备的问题则驱动程序不提供 EvtDeviceQueryStop 和 EvtDeviceQueryRemove 回调函数并且从不调用 WdfDeviceSetStaticStopRemove。 在这种情况下PnP 管理器始终停止设备而无需先检查驱动程序是否允许它。 重新分发资源 有时PnP 管理器必须重新分发系统的硬件资源。 通常发生此重新分发是因为总线驱动程序已报告已插入新设备并且新设备需要已分配的资源。 在重新分配资源之前必须停止设备。 如果驱动程序有时需要阻止 PnP 管理器停止繁忙的设备驱动程序可以提供 EvtDeviceQueryStop 回调函数。 如果驱动程序的 EvtDeviceQueryStop 回调函数返回错误状态值则 PnP 管理器不会停止设备。 如果驱动程序确定停止设备是安全的则回调函数将返回STATUS_SUCCESS。 如果设备的其他驱动程序都无法阻止停止PnP 管理器将暂时停止设备。 用户删除或禁用设备 用户可以删除或禁用某些设备。 例如 如果驱动程序已设置可移动成员 (而不是设备WDF_DEVICE_PNP_CAPABILITIES结构的 SurpriseRemovalOK 成员) 则用户可以运行拔出或弹出硬件程序然后拔出或弹出设备如果驱动程序尚未设置设备的WDF_DEVICE_STATE结构的 NotDisable 成员则用户可以使用 设备管理器 禁用设备 在这种情况下PnP 管理器会尝试在用户删除设备之前将其停止。 如果驱动程序有时需要阻止删除繁忙设备驱动程序可以提供 EvtDeviceQueryRemove 回调函数。 如果任何驱动程序的 EvtDeviceQueryRemove 回调函数返回错误状态值则 PnP 管理器不会停止设备。 如果驱动程序确定用户删除设备是安全的则回调函数将返回STATUS_SUCCESS。 如果设备的其他驱动程序都无法阻止删除PnP 管理器将停止设备。
http://www.hkea.cn/news/14267516/

相关文章:

  • 企业英文网站建设嘉兴市建设教育网站
  • 网站建设维护书海南疾控发布问卷调查
  • 深圳手机商城网站设计制作注册中文域名
  • 深圳那家做网站好wordpress主题添加菜单
  • 猪八戒网网站建设shtml怎么做网站
  • 做网站手机适配需要加价吗php自己做网站访问量计算
  • 网站怎么做看起来好看怎样做网站优化排名
  • 网站开发是怎么样的wordpress设置自定义主页
  • 上海平台网站建设网站设置价格错误不愿意发货
  • 龙口建网站价格济宁网站建设服务
  • 外网网站建设调研报告网站制作培训班
  • 山东建设厅官方网站一级建造师青岛做网站的网络公司
  • 蓟县网站建设企业服务有哪些内容
  • 个人做淘宝客网站要备案建企业网站步骤
  • 网站首页专题怎么做邢台163官网
  • 网站怎么做下载连接经典软文案例分析
  • 酒泉建设厅网站旅游网站后台模板
  • 即墨公司做网站设计师作品集网站
  • 长沙网站 微信建设北京app制作公司
  • 微信官方网站怎么进入网站建设规模与类别
  • 网站有服务器怎么备案热门关键词排名查询
  • 海南网站建设哪里有网站你懂我意思正能量不用下载视频
  • 网站菜单怎么做大连制作网站软件
  • 做好的网站模板怎么修改贵阳有做网站的公司吗?
  • 大安区网站建设重庆装修公司排行榜一览表
  • 爱站网站排行榜做游戏网站要备案吗
  • 上海网站邮箱制作视觉传达设计培训机构有哪些
  • 竹子建站公司dw如何制作一个搜索栏
  • 网站信息系统设计高密做网站的价位
  • 成品网站管理系统源码地方网站收录