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


Функция IoOpenDriverRegistryKey (wdm.h)

Подпрограмма IoOpenDriverRegistryKey возвращает дескриптор в определенный раздел реестра для конкретного драйвера.

Синтаксис

NTSTATUS IoOpenDriverRegistryKey(
  [in]  PDRIVER_OBJECT     DriverObject,
  [in]  DRIVER_REGKEY_TYPE RegKeyType,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  ULONG              Flags,
  [out] PHANDLE            DriverRegKey
);

Параметры

[in] DriverObject

Указатель на структуру DRIVER_OBJECT . Эта структура должна быть объектом драйвера для вызывающего драйвера.

[in] RegKeyType

Перечисление типа DRIVER_REGKEY_TYPE , указывающее тип запрошенного раздела реестра.

[in] DesiredAccess

Задает значение ACCESS_MASK , представляющее права доступа, необходимые для ключа. Описание каждого права доступа KEY_XXX см. в разделе ZwCreateKey .

[in] Flags

Задайте нулевое значение.

[out] DriverRegKey

Указатель на переменную HANDLE, которая при успешном возвращении содержит дескриптор запрошенного раздела реестра.

Возвращаемое значение

IoOpenDriverRegistryKey возвращает STATUS_SUCCESS, если вызов успешно открыл дескриптор запрошенного раздела реестра.

Комментарии

Драйвер должен вызвать ZwClose , чтобы закрыть дескриптор, возвращенный этой подпрограммой, если доступ больше не нужен.

Разделы реестра, открытые этой подпрограммой, являются неизменяемы.

Для подготовки ключей и значений в неизменяемом разделе реестра DriverRegKeyParameters используйте директиву AddReg из раздела service-install-section для ссылки на раздел add-registry-section , содержащий записи с корнем HKR реестра и подразделом Parameters.

Вызывающие функции IoOpenDriverRegistryKey должны выполняться в irQL = PASSIVE_LEVEL в контексте системного потока.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1803
Верхняя часть wdm.h (включая wdm.h, ntddk.h или ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также раздел

ZwClose

ACCESS_MASK

DRIVER_REGKEY_TYPE