SetupDiEnumDeviceInterfaces 関数 (setupapi.h)

SetupDiEnumDeviceInterfaces 関数は、デバイス情報セットに含まれているデバイス インターフェイスを列挙します。

構文

WINSETUPAPI BOOL SetupDiEnumDeviceInterfaces(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA          DeviceInfoData,
  [in]           const GUID                *InterfaceClassGuid,
  [in]           DWORD                     MemberIndex,
  [out]          PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

パラメーター

[in] DeviceInfoSet

情報を返すデバイス インターフェイスを含むデバイス 情報セット へのポインター。 このハンドルは通常、 SetupDiGetClassDevs によって返されます。

[in, optional] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 このパラメーターを指定すると、 SetupDiEnumDeviceInterfaces は列挙体を、指定したデバイスでサポートされているインターフェイスに制限します。 このパラメーターが NULL の場合、 SetupDiEnumDeviceInterfaces を繰り返し呼び出すと、 DeviceInfoSet 内のすべてのデバイス情報要素に関連付けられているインターフェイスに関する情報が返されます。 このポインターは通常、 SetupDiEnumDeviceInfo によって返されます。

[in] InterfaceClassGuid

要求されたインターフェイスのデバイス インターフェイス クラスを指定する GUID へのポインター。

[in] MemberIndex

デバイス情報セット内のインターフェイスの一覧への 0 から始まるインデックス。 呼び出し元は、最初のインターフェイスを取得するために MemberIndex を 0 に設定して、この関数を最初に呼び出す必要があります。 次に、 MemberIndex を繰り返しインクリメントし、この関数が失敗し 、GetLastError が ERROR_NO_MORE_ITEMSを返すまでインターフェイスを取得します。

DeviceInfoData で特定のデバイスが指定されている場合、MemberIndex は、そのデバイスによって公開されるインターフェイスのみに対して相対的です。

[out] DeviceInterfaceData

正常に戻った場合に、検索パラメーターを満たすインターフェイスを識別する完了 したSP_DEVICE_INTERFACE_DATA 構造体を含む呼び出し元割り当てバッファーへのポインター。 呼び出し元は DeviceInterfaceData を設定する必要があります。cbSize to sizeof(SP_DEVICE_INTERFACE_DATA) してから、この関数を呼び出してください。

戻り値

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

注釈

この関数の呼び出しを繰り返し実行すると、別のデバイス インターフェイスの SP_DEVICE_INTERFACE_DATA 構造体が返されます。 この関数を繰り返し呼び出して、特定のデバイス情報要素に関連付けられている、またはすべてのデバイス情報要素に関連付けられているデバイス情報セット内のインターフェイスに関する情報を取得できます。

DeviceInterfaceData は、要求されたデバイス インターフェイスを識別する構造体を指します。 インターフェイスに関する詳細情報を取得するには、 SetupDiGetDeviceInterfaceDetail を呼び出します。 詳細な情報には、CreateFile などの Win32 関数に渡すことができるデバイス インターフェイスの名前 (Microsoft Windows SDKドキュメントで説明) が含まれています。このインターフェイスへのハンドルを取得します。

詳細については、「 デバイス インターフェイス クラスの概要 」を参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
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 で導入)

こちらもご覧ください

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail