SetupDiOpenClassRegKeyExW 関数 (setupapi.h)

SetupDiOpenClassRegKeyEx 関数は、デバイス セットアップ クラスレジストリ キー、デバイス インターフェイス クラス レジストリ キー、または特定のクラスのサブキーを開きます。 この関数は、指定したキーをローカル コンピューターまたはリモート コンピューターで開きます。

構文

WINSETUPAPI HKEY SetupDiOpenClassRegKeyExW(
  [in, optional] const GUID *ClassGuid,
  [in]           REGSAM     samDesired,
  [in]           DWORD      Flags,
  [in, optional] PCWSTR     MachineName,
                 PVOID      Reserved
);

パラメーター

[in, optional] ClassGuid

レジストリ キーを開くクラスの GUID へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターが NULL の場合、クラス ツリーのルート (HKLM\SYSTEM\CurrentControlSet\Control\Class) が開きます。

[in] samDesired

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

[in] Flags

開くレジストリ キーの種類。これは、次のいずれかによって指定されます。

DIOCR_INSTALLER

セットアップ クラス キーを開きます。 ClassGuidNULL の場合は、クラス インストーラー ブランチのルート キーを開きます。

DIOCR_INTERFACE

インターフェイス クラス キーを開きます。 ClassGuidNULL の場合は、インターフェイス クラス ブランチのルート キーを開きます。

[in, optional] MachineName

必要に応じて、指定したキーを開くリモート コンピューターの名前を含む文字列を指します。

注意事項

この機能は削除されたため、この関数を使用してリモート マシンにアクセスすることは、Windows 8 および Windows Server 2012 以降ではサポートされていません。

Reserved

予約済み。 NULL にする必要があります。

戻り値

SetupDiOpenClassRegKeyEx は、このセットアップ クラスに関する情報を格納/取得できる、開いているレジストリ キーへのハンドルを返します。

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

解説

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

SetupDiOpenClassRegKeyEx では、レジストリ キーがまだ存在しない場合は作成されません。

この関数の呼び出し元は 、RegCloseKey を呼び出して、この関数から返されたハンドルを閉じる必要があります。

注意

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiOpenClassRegKeyEx を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

こちらもご覧ください

SetupDiCreateDeviceInterfaceRegKey

SetupDiOpenDevRegKey