SetupDiOpenDevRegKey 関数 (setupapi.h)

SetupDiOpenDevRegKey 関数は、デバイス固有の構成情報のレジストリ キーを開きます。

構文

WINSETUPAPI HKEY SetupDiOpenDevRegKey(
  [in] HDEVINFO         DeviceInfoSet,
  [in] PSP_DEVINFO_DATA DeviceInfoData,
  [in] DWORD            Scope,
  [in] DWORD            HwProfile,
  [in] DWORD            KeyType,
  [in] REGSAM           samDesired
);

パラメーター

[in] DeviceInfoSet

レジストリ キーを開くデバイスを表すデバイス情報要素を含むデバイス情報 セット へのハンドル。

[in] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。

[in] Scope

開くレジストリ キーのスコープ。 スコープによって、情報が格納される場所が決まります。 スコープは、グローバルにすることも、ハードウェア プロファイルに固有にすることもできます。 スコープは、次のいずれかの値で指定されます。

DICS_FLAG_GLOBAL

キーを開いてグローバル構成情報を格納します。 この情報は、特定のハードウェア プロファイルに固有の情報ではありません。 これにより、HKEY_LOCAL_MACHINEにルート化されたキーが開きます 開かれる正確なキーは、 KeyType パラメーターの値によって異なります。

DICS_FLAG_CONFIGSPECIFIC

キーを開き、ハードウェア プロファイル固有の構成情報を格納します。 このキーは、HKEY_LOCAL_MACHINEではなく、ハードウェア プロファイル 固有のブランチのいずれかにルート化されます。 開かれる正確なキーは、 KeyType パラメーターの値によって異なります。

[in] HwProfile

ハードウェア プロファイル値。次のように設定されます。

  • Scope が DICS_FLAG_CONFIGSPECIFIC に設定されている場合、HwProfile は、開くキーのハードウェア プロファイルを指定します。
  • HwProfile が 0 の場合は、現在のハードウェア プロファイルのキーが開きます。
  • Scope がDICS_FLAG_GLOBAL場合、HwProfile は無視されます。

[in] KeyType

開くレジストリ ストレージ キーの種類。次のいずれかの値を指定できます。

DIREG_DEV

デバイスの ハードウェア キー を開きます。

DIREG_DRV

デバイスの ソフトウェア キー を開きます。

デバイスのハードウェア キーとソフトウェア キーの詳細については、「デバイス とドライバーのレジストリ ツリーとキー」を参照してください。

[in] samDesired

要求されたキーに必要なレジストリ セキュリティ アクセス。 REGSAM 型のレジストリ セキュリティ アクセス値の詳細については、Microsoft Windows SDKドキュメントを参照してください。

戻り値

関数が成功すると、このデバイス インスタンスに関するプライベート構成データを格納または取得できる、開かれたレジストリ キーへのハンドルが返されます。

関数が失敗した場合は、INVALID_HANDLE_VALUEを返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

samDesired パラメーターで渡される値によっては、この関数の呼び出し元が Administrators グループのメンバーであることが必要になる場合があります。

RegCloseKey を呼び出して、この関数から返されたハンドルを閉じます。

この関数を呼び出す前に、指定したデバイス インスタンスを登録する必要があります。 ただし、オペレーティング システムでは PnP デバイス インスタンスが自動的に登録されます。 PnP 以外のデバイス インスタンスを登録する方法については、「 SetupDiRegisterDeviceInfo」を参照してください。

要件

   
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム Desktopユニバーサルの場合は、CM_Open_DevNode_Keyを呼び出します
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll
API セット ext-ms-win-setupapi-classinstallers-l1-1-2 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

SetupDiCreateDevRegKey

SetupDiCreateDeviceInfo

SetupDiGetHwProfileList

SetupDiRegisterDeviceInfo