注册表项对象

PortCls 系统驱动程序实现 IRegistryKey 接口,以实现微型端口驱动程序的好处。 IRegistryKey 对象表示注册表项。 微型端口驱动程序使用注册表项对象执行以下操作:

  • 创建和删除注册表项

  • 枚举注册表项

  • 查询和设置注册表项

查询注册表项对象以获取有关指定键下注册表项的信息时,查询可以输出三种格式之一的信息,每个格式都使用不同的键查询结构。 下表显示了 KEY_INFORMATION_CLASS 枚举值,这些值指示查询输出的三个键查询结构中的哪一个。

KEY_INFORMATION_CLASS值 键查询结构

KeyBasicInformation

KEY_BASIC_INFORMATION

KeyFullInformation

KEY_FULL_INFORMATION

KeyNodeInformation

KEY_NODE_INFORMATION

若要打开现有注册表项或创建新的注册表项,适配器驱动程序可以调用 PcNewRegistryKey 函数,微型端口驱动程序可以调用端口驱动程序的 IPort::NewRegistryKey 方法。 这两个调用类似,但 PcNewRegistryKey 函数需要两个附加参数 DeviceObjectSubDevice。 有关详细信息,请参阅 PcNewRegistryKey

当微型端口驱动程序创建新的 IRegistryKey 对象时,该对象将打开现有子项,或者创建新的注册表子项(如果不存在)。 在任一情况下,注册表项对象存储密钥的句柄。 当该对象稍后释放并且其引用计数递减为零时,该对象会自动将其句柄关闭到键。

IRegistryKey 接口支持以下方法:

IRegistryKey::D eleteKey

IRegistryKey::EnumerateKey

IRegistryKey::EnumerateValueKey

IRegistryKey::NewSubKey

IRegistryKey::QueryKey

IRegistryKey::QueryRegistryValues

IRegistryKey::QueryValueKey

IRegistryKey::SetValueKey