Функция 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, если вызов был выполнен успешно. Возможные возвращаемые значения ошибок включают следующее.
Код возврата | Описание |
---|---|
|
Подпрограмме не удалось найти раздел реестра для экземпляра интерфейса устройства, вероятно, из-за ошибки в SymbolicLinkName. |
|
Подпрограмме не удалось найти раздел реестра для экземпляра интерфейса устройства, вероятно, из-за ошибки в SymbolicLinkName. |
|
Возможно, указывает на ошибку в 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) |