ETW 早在 Windows 2000 中就已引入,而当 ETW 使用 WHEA 后,硬件制造商和软件供应商就可轻松地开发利用 WHEA 事件的设备诊断管理应用程序。
WHEA 的另一关键部分是位于 %Systemroot%\System32\Pshed.dll 中的平台特定的硬件错误驱动程序 (PSHED)。内核与 PSHED 链接,而它与平台和固件硬件连接,实质上是用作错误通知和 WHEA 错误报告 API 之间的转换层。Microsoft 为每种平台体系结构(x86、x64、Itanium)提供有一种 PSHED 并且 PSHED 公开了插件模型,所以硬件供应商和制造商可使用特定于其平台的行为来覆盖默认行为。
最后,与其他错误源相连的系统组件 — 包括设备驱动程序、硬件抽象层 (HAL) 和内核 — 可实现底层硬件错误处理程序 (LLHEL)(它将首先处理错误状况)。LLHEL 的工作是从设备中提取错误信息,通知 PSHED 允许其收集其他平台错误信息,然后调用内核的 WHEA 错误报告 API。
驱动程序验证程序
从 Windows 2000 起,每个 Windows 副本中都包含有驱动程序验证程序,它是一个用于跟踪出错的设备驱动程序和故障硬件的强大工具。管理员通常将驱动程序验证程序(%Systemroot%\System32\Verifier.exe) 配置为密切监控可能导致系统崩溃的可疑设备驱动程序的行为。驱动程序验证程序可捕获非法驱动程序操作,这样崩溃转储文件就可以直接指出罪魁祸首。
之前驱动程序验证程序的缺陷在于大多数配置更改都需要重新启动系统,而生产服务器明显不愿出现这种情形。Windows Server 2008 中的驱动程序验证程序通过取消最有用验证的重启要求而改进了这一过程,因此可在不重新启动系统的情况下对出现问题的服务器进行故障排除。
此外,驱动程序验证程序还引入了三种新的验证(如图 3 所示)。安全检查确保设备驱动程序在用于与应用程序连接的对象上设置了安全权限。强制挂起 I/O 请求测试了驱动程序对于需立即完成而非一段延迟后再完成的异步 I/O 操作的恢复能力。杂项检查则确认驱动程序有无错误释放使用中的资源、错误使用 Windows 管理规范 (WMI) 注册 API 以及泄漏资源处理程序。
图 3 选中 Windows Server 2008 选项的驱动程序验证程序
相关专题
- Windows操作系统安装 (15842篇文章)
- Windows权限设置 (10387篇文章)
- Windows操作系统安全集 (18958篇文章)
- 全面解析 Linux2.6内核 (621篇文章)
- Windows频道 (9951篇文章)
- Windows Server 2003 如何升级为域控 (69次浏览)
- 微软下一代操作系统Windows 7截图曝光 (63次浏览)
- windows 2003安全配置问题 (59次浏览)
- 量身定制 让Windows 2008系统为我所用 (52次浏览)
- 升级Windows 2003到Windows 2008活动目录 (47次浏览)
- 安装Windows Server 2008 with Hyper-V (39次浏览)
- Windows Server 2008应用 密码重设盘 (37次浏览)
- Windows 2003网络负载平衡全攻略 (36次浏览)
- 教你申请Windows Server 2008序列号 (35次浏览)
- 浅谈Windows Server 2003设置技巧 (30次浏览)




