SetupDiCreateDeviceInterfaceRegKeyA 関数 (setupapi.h)

SetupDiCreateDeviceInterfaceRegKey 関数は、デバイス インターフェイスに関する情報を格納するためのレジストリ キーを作成し、キーへのハンドルを返します。

構文

WINSETUPAPI HKEY SetupDiCreateDeviceInterfaceRegKeyA(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
                 DWORD                     Reserved,
  [in]           REGSAM                    samDesired,
  [in, optional] HINF                      InfHandle,
  [in, optional] PCSTR                     InfSectionName
);

パラメーター

[in] DeviceInfoSet

レジストリ キーを作成するインターフェイスを含む デバイス情報セット へのハンドル。 デバイス情報セットにリモート要素を含めてはなりません。

[in] DeviceInterfaceData

DeviceInfoSet のデバイス インターフェイスを指定するSP_DEVICE_INTERFACE_DATA構造体へのポインター。 このポインターは、 SetupDiCreateDeviceInterface によって返される可能性があります。

Reserved

予約済み。 ゼロを指定してください。

[in] samDesired

作成中のキーに対して呼び出し元が要求するレジストリ セキュリティ アクセス。 REGSAM 型のレジストリ セキュリティ アクセス値の詳細については、Microsoft Windows SDKドキュメントを参照してください。

[in, optional] InfHandle

新しく作成されたキーに対して実行される DDInstall セクションを含む、開いている INF ファイルへのハンドル。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターが NULL でない場合は、 InfSectionName も指定する必要があります。

[in, optional] InfSectionName

InfHandle で指定された INF ファイル内の INF DDInstall セクションの名前へのポインター。 このセクションは、新しく作成されたキーに対して実行されます。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターを指定する場合は、 InfHandle も指定する必要があります。

戻り値

SetupDiCreateDeviceInterfaceRegKey が成功した場合、関数は、インターフェイス情報を格納および取得できる要求されたレジストリ キーへのハンドルを返します。 SetupDiCreateDeviceInterfaceRegKey が失敗した場合、関数は INVALID_HANDLE_VALUEを返します。 拡張されたエラー情報を取得するには、GetLastError を呼び出します。

解説

この関数の呼び出し元は、Administrators グループのメンバーである必要があります。

デバイス インターフェイスの要求されたキーが既に存在する場合、 SetupDiCreateDeviceInterfaceRegKey はそのキーへのハンドルを返します。それ以外の場合、 SetupDiCreateDeviceInterfaceRegKey は、指定されたデバイス インターフェイスの新しい不揮発性レジストリ キーを作成します。 この関数の呼び出し元は、デバイス インターフェイスのプライベート構成データをこのキーに格納できます。 デバイスのドライバーは、 IoXxx ルーチンを使用してこのキーにアクセスできます。

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

レイアウト ファイル (INF バージョン セクションLayoutFile エントリで指定) を使用するインストールの場合、SetupDiCreateDeviceInterfaceRegKey が呼び出される前に、SetupOpenAppendInfFile (Windows SDK ドキュメントで説明) を呼び出すことでレイアウト ファイルを開く必要があります。

DeviceInfoSet で指定されたデバイス情報セットには、ローカル コンピューター上の要素のみが含まれている必要があります。

注意

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

要件

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

こちらもご覧ください

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceRegKey

SetupDiOpenDeviceInterfaceRegKey