次の方法で共有


SetupDiCreateDeviceInterfaceA 関数 (setupapi.h)

SetupDiCreateDeviceInterface 関数は、ローカル システムまたはリモート システムにデバイス インターフェイスを登録します。

構文

WINSETUPAPI BOOL SetupDiCreateDeviceInterfaceA(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA          DeviceInfoData,
  [in]            const GUID                *InterfaceClassGuid,
  [in, optional]  PCSTR                     ReferenceString,
  [in]            DWORD                     CreationFlags,
  [out, optional] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

パラメーター

[in] DeviceInfoSet

デバイス情報セットへのハンドル。 このセットには、インターフェイスを登録するデバイスを表すデバイス情報要素が含まれています。 このハンドルは、通常、SetupDiGetClassDevsによって返されます。

[in] DeviceInfoData

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

[in] InterfaceClassGuid

新しいインターフェイスのインターフェイス クラスを指定するクラス GUID へのポインター。

[in, optional] ReferenceString

参照文字列を提供する NULL で終わる文字列へのポインター。 このポインターは省略可能であり、NULLできます。 参照文字列は、必要に応じて作成されるソフトウェア デバイスのプレースホルダーとしてデバイス インターフェイスを使用する少数のバス ドライバーでのみ使用されます。

[in] CreationFlags

引っ込み思案。 0 にする必要があります。

[out, optional] DeviceInterfaceData

新しいデバイス インターフェイスに関する情報を受け取る呼び出し元初期化 SP_DEVICE_INTERFACE_DATA 構造体へのポインター。 このポインターは省略可能であり、NULLできます。 構造体が指定されている場合、呼び出し元は、この関数を呼び出す前に、この構造体の cbSize メンバーを sizeof(SP_DEVICE_INTERFACE_DATA) に設定する必要があります。 詳細については、次の 解説 セクションを参照してください。

戻り値

SetupDiCreateDeviceInterface は、関数がエラーなしで完了した場合 TRUE を返します。 関数がエラーで完了した場合は、FALSE が返され、エラーのエラー コード GetLastErrorを呼び出すことによって取得できます。

備考

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

SetupDiCreateDeviceInterface デバイスのインターフェイスを登録します。 デバイスに複数のインターフェイスがある場合は、登録されているインターフェイスごとにこの関数を 1 回呼び出します。

この関数は、指定されたデバイス情報要素に対応するデバイスのインターフェイスを正常に登録した場合、指定されたデバイス情報セット内のデバイス情報要素に関連付けられているインターフェイス リストにもインターフェイスを追加します。

登録されたインターフェイスをアプリケーションや他のシステム コンポーネントで使用するには、デバイスのドライバーでインターフェイスを有効にする必要があります。

この関数は、新しいデバイス インターフェイスのレジストリ キーを作成します。 この関数の呼び出し元は、SetupDiOpenDeviceInterfaceRegKey使用して、このキーの下にある不揮発性ストレージにアクセスできます。

SetupDiCreateDeviceInterface 正常に新しいデバイス インターフェイスを作成 が、DeviceInterfaceData パラメーター内の呼び出し元が指定したバッファーが無効な場合、この関数は FALSE 返し、GetLastError への後続の呼び出し はERROR_INVALID_USER_BUFFERを返します。 ただし、この関数は新しいデバイス インターフェイスを作成して登録します。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー setupapi.h (Setupapi.h を含む)
ライブラリ Setupapi.lib

関連項目

SetupDiOpenDeviceInterfaceRegKey の

SetupDiRemoveDeviceInterface の