IoOpenDeviceInterfaceRegistryKey 函数 (wdm.h)
IoOpenDeviceInterfaceRegistryKey 例程返回注册表项的句柄,用于存储有关特定设备接口实例的信息。
NTSTATUS IoOpenDeviceInterfaceRegistryKey(
[in] PUNICODE_STRING SymbolicLinkName,
[in] ACCESS_MASK DesiredAccess,
[out] PHANDLE DeviceInterfaceRegKey
);
[in] SymbolicLinkName
指向标识设备接口实例的字符串的指针。 此字符串是从之前调用 IoGetDeviceInterfaces、IoGetDeviceInterfaceAlias或 IoRegisterDeviceInterface获取的。
[in] DesiredAccess
指定表示调用方对密钥所需的访问(如KEY_READ、KEY_WRITE或KEY_ALL_ACCESS)的 ACCESS_MASK 值。 有关每个 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) |