次の方法で共有


IoOpenDeviceRegistryKey 関数 (wdm.h)

IoOpenDeviceRegistryKey ルーチンは、特定のデバイス インスタンスのレジストリ状態の場所にハンドルを返します。

構文

NTSTATUS IoOpenDeviceRegistryKey(
  [in]  PDEVICE_OBJECT DeviceObject,
  [in]  ULONG          DevInstKeyType,
  [in]  ACCESS_MASK    DesiredAccess,
  [out] PHANDLE        DeviceRegKey
);

パラメーター

[in] DeviceObject

レジストリ状態の場所を開くデバイス インスタンスの 物理デバイス オブジェクト (PDO) へのポインター。

[in] DevInstKeyType

デバイス固有のハードウェア キーまたはドライバー固有のソフトウェア キーのどちらを開くかを示すフラグを指定します。 フラグは、キーが現在のハードウェア プロファイルに対して相対的であるかどうかを示します。 ハードウェア キーとソフトウェア キーの詳細については、「ドライバーのレジストリ キーの概要」を参照してください。

フラグは次のように定義されます。

PLUGPLAY_REGKEY_DEVICE

デバイスに関する情報を含むデバイス固有のレジストリ状態の場所であるデバイスのハードウェア キーを開きます。 このフラグは、PLUGPLAY_REGKEY_DRIVERでは指定できません。

PLUGPLAY_REGKEY_DRIVER

ドライバー固有の情報を格納するためのデバイス固有のレジストリ状態の場所である、デバイスのソフトウェア キーを開きます。 このフラグは、PLUGPLAY_REGKEY_DEVICEでは指定できません。

PLUGPLAY_REGKEY_CURRENT_HWPROFILE

ハードウェア プロファイルは非推奨であり、状態はハードウェア プロファイルに対して相対的に格納しないでください。

デバイスまたはドライバー情報の現在のハードウェア プロファイルに関連するキーを開きます。 これにより、ドライバーはハードウェア プロファイル固有の構成情報にアクセスできます。 呼び出し元は、このフラグでPLUGPLAY_REGKEY_DEVICEまたはPLUGPLAY_REGKEY_DRIVERを指定する必要があります。

[in] DesiredAccess

呼び出し元がキーに対して必要とするアクセスを表す ACCESS_MASK 値を指定します。 各KEY_XXX アクセス権の説明については、ZwCreateKey ルーチンを参照してください。

[out] DeviceRegKey

正常に戻った場合に、要求されたレジストリ状態の場所へのハンドルを含む呼び出し元によって割り当てられたバッファーへのポインター。

戻り値

IoOpenDeviceRegistryKey は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 考えられるエラー戻り値は次のとおりです。

リターン コード 形容
STATUS_INVALID_PARAMETER 呼び出し元が DevInstKeyType フラグの無効なセット 指定したか、有効な PDO ではない DeviceObject を指定したことを示している可能性があります。

備考

ドライバーは、アクセスが不要になったときにこのルーチンから返されるハンドルを閉じるには、ZwClose を呼び出す必要があります。

このルーチンによって開かれるレジストリ キーは不揮発性です。

ユーザー モード セットアップ アプリケーションは、CM_Open_DevNode_Key または setupDiOpenDevRegKey や SetupDiCreateDevRegKey などの デバイス情報関数を使用して、これらのレジストリ キーにアクセスできます。

ドライバー パッケージのインストール時にこれらのレジストリ状態の場所に状態を事前に設定するには、INF ファイル INF AddReg ディレクティブを使用します。

IoOpenDeviceRegistryKey の呼び出し元は、システム スレッドのコンテキストで IRQL = PASSIVE_LEVELで実行されている必要があります。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (「解説」セクションを参照)
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

ドライバー のレジストリ キーの概要

ACCESS_MASK

ZwCreateKey

ZwClose

デバイス ノードとデバイス スタック