Объекты раздела реестра
Системный драйвер PortCls реализует интерфейс IRegistryKey для использования драйверов miniport. Объект IRegistryKey представляет раздел реестра. Драйверы miniport используют объекты разделов реестра для выполнения следующих действий:
Создание и удаление разделов реестра
Перечисление разделов реестра
Запрос и настройка разделов реестра
При запросе к объекту раздела реестра для получения сведений о записи реестра в указанном разделе запрос может выводить сведения в одном из трех форматов, каждый из которых использует другую структуру запроса ключей. В следующей таблице показаны значения перечисления KEY_INFORMATION_CLASS , указывающие, какая из трех структур "ключ—запрос" выводится запросом.
Значение KEY_INFORMATION_CLASS | Структура Key-Query |
---|---|
KeyBasicInformation |
|
KeyFullInformation |
|
KeyNodeInformation |
Чтобы открыть существующий раздел реестра или создать новый раздел реестра, драйвер адаптера может вызвать функцию PcNewRegistryKey , а драйвер мини-порта — метод IPort::NewRegistryKey драйвера порта. Два вызова похожи, за исключением того, что для функции PcNewRegistryKey требуются два дополнительных параметра: DeviceObject и SubDevice. Дополнительные сведения см. в разделе PcNewRegistryKey.
Когда драйвер мини-порта создает новый объект IRegistryKey , объект либо открывает существующий подраздел, либо создает новый подраздел реестра, если он не существует. В любом случае объект раздела реестра сохраняет дескриптор ключа. При последующем освобождении этого объекта и уменьшении количества ссылок до нуля объект автоматически закрывает свой дескриптор для ключа.
Интерфейс IRegistryKey поддерживает следующие методы:
IRegistryKey::EnumerateValueKey