对象名称

内核模式对象要么命名,要么未命名。 对象名称是一个 Unicode 字符串,用户模式和内核模式组件都可以使用该字符串来引用对象。 例如, \KernelObjects\LowMemoryCondition 是当系统中可用内存量较低时发出信号的标准事件对象的名称。

用户模式和内核模式组件都使用对象名称打开对象的句柄。 所有后续操作都是使用 句柄执行的。

如果对象未命名,则用户模式组件无法打开该对象的句柄。 内核模式组件可以通过指针或句柄来引用未命名的对象。

命名对象被组织到层次结构中。 每个对象都相对于父对象命名。 对象名称的每个组件都以反斜杠字符开头。 例如, \KernelObjects\KernelObjects\LowMemoryCondition 的父对象。

只有某些类型的对象可以有子对象。 下面是一些示例:

  • 对象目录具有子对象。 对象管理器使用对象目录来组织对象。 例如 ,\KernelObjects 是保存标准事件对象的对象目录。 对象目录与磁盘上的实际目录不对应。 有关详细信息,请参阅 对象目录

  • 磁盘驱动器的设备对象具有对应于磁盘上的文件的子对象。

  • 表示目录的文件对象具有与目录中的文件对应的子对象。

  • WDM 驱动程序的设备对象有自己的命名空间,可以以驱动程序定义的方式使用。 有关详细信息,请参阅 控制设备命名空间访问

文件具有相对于 \DosDevices 的对象名称。 例如,可以将文件 C:\Directory\File 指定为 \DosDevices\C:\Directory\File

例如,对象名称的组件可按如下所述进行描述。

对象名称 说明

\DosDevices

对象目录。

\DosDevices\C:

表示 C: 驱动器的设备对象。

\DosDevices\C:\Directory

表示名为 C:\Directory 的目录的文件对象。

\DosDevices\C:\Directory\文件

表示名为 C:\Directory\File 的文件的文件对象。

创建命名对象的驱动程序在特定对象目录中执行此操作。 有关详细信息,请参阅 对象目录