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

Подпрограмма IoOpenDeviceInterfaceRegistryKey возвращает дескриптор в раздел реестра для хранения сведений об определенном экземпляре интерфейса устройства.

Синтаксис

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  ACCESS_MASK     DesiredAccess,
  [out] PHANDLE         DeviceInterfaceRegKey
);

Параметры

[in] SymbolicLinkName

Указатель на строку, определяющую экземпляр интерфейса устройства. Эта строка была получена из предыдущего вызова IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias или IoRegisterDeviceInterface.

[in] DesiredAccess

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

[out] DeviceInterfaceRegKey

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

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

IoOpenDeviceInterfaceRegistryKey возвращает STATUS_SUCCESS, если вызов был выполнен успешно. Возможные возвращаемые значения ошибок включают следующее.

Код возврата Описание
STATUS_OBJECT_NAME_NOT_FOUND
Подпрограмме не удалось найти раздел реестра для экземпляра интерфейса устройства, вероятно, из-за ошибки в SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
Подпрограмме не удалось найти раздел реестра для экземпляра интерфейса устройства, вероятно, из-за ошибки в SymbolicLinkName.
STATUS_INVALID_PARAMETER
Возможно, указывает на ошибку в SymbolicLinkName.

Комментарии

IoOpenDeviceInterfaceRegistryKey открывает неизменяемый подраздел раздела реестра для экземпляра интерфейса устройства, указанного параметром SymbolicLinkName. Драйверы могут хранить в этом подразделе сведения, относящиеся к данному экземпляру интерфейса устройства, например разрешение камеры по умолчанию. Приложения пользовательского режима могут получить доступ к этому подразделу с помощью подпрограмм SetupDiXxx .

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

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

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

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

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose