Поделиться через


Объекты раздела реестра

Системный драйвер PortCls реализует интерфейс IRegistryKey для использования драйверов miniport. Объект IRegistryKey представляет раздел реестра. Драйверы miniport используют объекты разделов реестра для выполнения следующих действий:

  • Создание и удаление разделов реестра

  • Перечисление разделов реестра

  • Запрос и настройка разделов реестра

При запросе к объекту раздела реестра для получения сведений о записи реестра в указанном разделе запрос может выводить сведения в одном из трех форматов, каждый из которых использует другую структуру запроса ключей. В следующей таблице показаны значения перечисления KEY_INFORMATION_CLASS , указывающие, какая из трех структур "ключ—запрос" выводится запросом.

Значение KEY_INFORMATION_CLASS Структура Key-Query

KeyBasicInformation

KEY_BASIC_INFORMATION

KeyFullInformation

KEY_FULL_INFORMATION

KeyNodeInformation

KEY_NODE_INFORMATION

Чтобы открыть существующий раздел реестра или создать новый раздел реестра, драйвер адаптера может вызвать функцию PcNewRegistryKey , а драйвер мини-порта — метод IPort::NewRegistryKey драйвера порта. Два вызова похожи, за исключением того, что для функции PcNewRegistryKey требуются два дополнительных параметра: DeviceObject и SubDevice. Дополнительные сведения см. в разделе PcNewRegistryKey.

Когда драйвер мини-порта создает новый объект IRegistryKey , объект либо открывает существующий подраздел, либо создает новый подраздел реестра, если он не существует. В любом случае объект раздела реестра сохраняет дескриптор ключа. При последующем освобождении этого объекта и уменьшении количества ссылок до нуля объект автоматически закрывает свой дескриптор для ключа.

Интерфейс IRegistryKey поддерживает следующие методы:

IRegistryKey::D eleteKey

IRegistryKey::EnumerateKey

IRegistryKey::EnumerateValueKey

IRegistryKey::NewSubKey

IRegistryKey::QueryKey

IRegistryKey::QueryRegistryValues

IRegistryKey::QueryValueKey

IRegistryKey::SetValueKey