次の方法で共有


WdfDeviceOpenDevicemapKey 関数 (wdfdevice.h)

[KMDF と UMDF に適用]

WdfDeviceOpenDevicemapKey メソッドは、DEVICEMAP キーを開き、レジストリ キーを表すフレームワーク レジストリ キー オブジェクトを作成します。

構文

NTSTATUS WdfDeviceOpenDevicemapKey(
  [in]           WDFDEVICE              Device,
  [in]           PCUNICODE_STRING       KeyName,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] KeyName

DEVICEMAP で開くサブキーの名前を指定するUNICODE_STRING構造体へのポインター。

[in] DesiredAccess

ドライバーが指定したレジストリ キーに対して要求するアクセス権を指定する、 ACCESS_MASK型指定された値。

KMDF ドライバーは通常、 KEY_READKEY_WRITE、または KEY_READを要求します。 |KEY_WRITE

UMDF ドライバーは通常、 KEY_READ または KEY_SET_VALUEを要求します。

[in, optional] KeyAttributes

新しいレジストリ キー オブジェクトのドライバー指定の属性を含む WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。

[out] Key

新しいレジストリ キー オブジェクトへのハンドルを受け取る場所へのポインター。 次に、

戻り値

WdfDeviceOpenDevicemapKey は 、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは次のいずれかの値を返す可能性があります。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST

IRQL = PASSIVE_LEVEL で WdfDeviceOpenDevicemapKey が呼び出されませんでした。

STATUS_INVALID_PARAMETER
無効なパラメーターが指定されました。 UMDF の場合、この戻り値はアクセス権が不十分であることを示している可能性があります。
STATUS_INSUFFICIENT_RESOURCES
レジストリ キー オブジェクトを割り当てませんでした。
STATUS_OBJECT_NAME_NOT_FOUND
指定されたレジストリ キーが存在しません。
 

WdfDeviceOpenDevicemapKey メソッドが返す可能性があるその他の戻り値の一覧については、「Framework オブジェクト作成エラー」を参照してください。

メソッドは、他の NTSTATUS 値を返す場合があります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

レジストリには、シリアル ポートや並列ポートなど、古いテクノロジの一部のドライバーが使用する HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP キーが含まれています。 ドライバーが DEVICEMAP キーを使用するテクノロジをサポートしている場合、ドライバーは WdfDeviceOpenDevicemapKey を呼び出すことによって、キーの下のサブキーと値にアクセスできます。

WdfDeviceOpenDevicemapKey は 揮発性キーを返 します。 これは、対応するレジストリ ハイブがアンロードされるときに情報が保持されないことを意味します。

ドライバーが WdfDeviceOpenDevicemapKey で開いたレジストリ キーの使用が完了したら、ドライバーは WdfRegistryClose を呼び出す必要があります。

レジストリ、ハードウェアおよびソフトウェア キー、およびレジストリ オブジェクトの詳細については、「 Framework-Based ドライバーでのレジストリの使用」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.15
最小 UMDF バージョン 2.15
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

こちらもご覧ください

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey