次の方法で共有


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を返します。 考えられるエラー戻り値は次のとおりです。

リターン コード 形容
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 コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose