对象名称
内核模式对象要么命名,要么未命名。 对象名称是一个 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 的文件的文件对象。 |
创建命名对象的驱动程序在特定对象目录中执行此操作。 有关详细信息,请参阅 对象目录。