Windows CE 5.0:驱动程序---设备管理器

转载 2007年09月14日 17:33:00

Windows CE 5.0:驱动程序---设备管理器

 

发布日期: 11/1/2004 | 更新日期: 11/1/2004

设备管理器是在 Windows CE 操作系统下运行的进程,它跟踪已加载的驱动程序和它们的接口。它连续不断地运行并且从内核中启动。设备管理器可以在设备接口变得可用和不可用时通知用户。用户或系统本身可以使设备接口变得可用或不可用。另外,设备管理器通知内核设备接口支持文件操作(例如,CreateFile)访问公开流接口的设备。设备管理器向设备驱动程序发送电源通知回调并提供电源管理服务。有关详细信息,请参阅 Power Management

设备管理器控制注册表中的 Active 项。只有设备管理器应当访问 Active 项以获取读取或写入访问权限。您可以通过设备驱动程序的初始化函数的参数间接访问 Active 项。

设备管理器搜索 HKEY_LOCAL_MACHINE/Drivers/RootKey 注册表项,以确定用于开始驱动程序加载过程的项。RootKey 的默认值是 Drivers,但是它通常等于 Drivers/BuiltIn。设备管理器调用 ActivateDeviceEx 以加载由 Dll 子项的值(它位于由 RootKey 值指定的项中)指定的驱动程序。Dll 子项的值默认情况下为 BusEnum.dll(也称为总线枚举器)。加载 BusEnum.dll 会使所有设备驱动程序加载。由 ActivateDeviceEx 加载的设备可以从它的 Active 注册表项中读取它的激活句柄。

当设备管理器加载时,它还加载 I/O 资源管理器,以便从注册表中读取可用资源的列表。有关 I/O 资源管理器的详细信息,请参阅 I/O Resource Manager

设备管理器将总线名称与驱动程序相关联。未命名的设备也可以具有总线名称,因为即使应用程序可能无法访问驱动程序,驱动程序也可能被其他驱动程序或系统实体(例如,电源管理器)访问。总线名称可以具有与正规设备名称不同的 ACL。

设备管理器跟踪由驱动程序公布的接口,并且支持基于全局唯一标识符 (GUID) 搜索驱动程序。IClass 接口可以将接口 GUID 与驱动程序的旧式名称、$device 名称或 $bus 名称(例如,“COM1 :”、“$device/com1”或“$bus/pci_0_3_0”)相关联。

驱动程序可以通过调用 DMAdvertiseInterface 以编程方式公布接口。DMAdvertiseInterface 使驱动程序能够将更多可搜索的 GUID 添加到它们的关联列表中。DMAdvertiseInterface 由 Devmgr.dll 公开,后者还实现了大多数设备管理器功能。因为只有设备管理器可以加载 Devmgr.dll,所以只有设备驱动程序可以调用 DMAdvertiseInterface。如果设备驱动程序在卸载时没有公布它的接口的不可用性,则设备管理器会自动清除接口公布通知。

设备管理器组件

设备管理器由 Device.exe 和 Devmgr.dll 组成。Device.exe 包含 Devmgr.dll,后者实现了核心设备管理器功能。因为设备管理器由两个单独的模块组成,所以设备驱动程序可以直接与设备管理器链接并调用特定的函数(例如,DMAdvertiseInterface),而不会引起系统调用的开销。

下表显示了设备管理器的组件。

组件 说明

devcore

提供核心设备管理器功能。

iorm

提供 I/O 资源管理器功能。Iorm 是必需的组件且无法移除。

nopmif

pmif

Pmif 提供了电源管理器 DLL 入口点的接口。

Nopmif 提供了电源管理器入口点的存根版本。

另请参阅

Device File Names | Device Manager Reference | Device Manager Registry Keys | I/O Resource Manager | Resolving Race Conditions in Device Drivers | Stream Interface Drivers

 

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Windows CE 5.0:驱动程序---设备接口

Windows CE 5.0:驱动程序---设备接口设备接口 发布日期: 11/1/2004 | 更新日期: 11/1/2004设备接口类是应用程序可用来访问设备驱动程序的功能的方法。它们向收到通知的...
  • danhu
  • danhu
  • 2007年09月14日 17:33
  • 1312

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

设备管理器中的非即插即用驱动程序

问题描述 右键"我的电脑"--"管理"--"设备管理器"点菜单"查看"--"显示隐藏的设备"然后点列表中的"非即插即用驱动程序"这样就能看到很多不明的系统设备   现在我给它们做个...
  • cd520yy
  • cd520yy
  • 2013年07月04日 09:49
  • 1072

如何在 Windows CE 5.0 中开发和测试设备驱动程序

发布日期 : 2005-3-31 | 更新日期 : 2005-3-31 Mike Hall Microsoft 适用于: Microsoft Windows CE version 5.0 摘...

Windows系统设备管理器

  • 2009年08月03日 09:52
  • 6.4MB
  • 下载

Windows设备管理器代码

  • 2010年07月22日 21:44
  • 58KB
  • 下载

windows设备管理器中找不到独立显卡

RT。 我的电脑是Thinkpad R400 2784 A42,独立显卡是ATI的HD3400系列。曾经到联想thinkpad官方维修店换了主板。现在使用everst或者是驱动精灵或者是驱动...

c#开发windows设备管理器

  • 2014年07月14日 09:16
  • 92KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows CE 5.0:驱动程序---设备管理器
举报原因:
原因补充:

(最多只允许输入30个字)