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를 설정해야 합니다. 이 함수를 호출하기 전에 sizeof(SP_DEVICE_INTERFACE_DATA)로 cbSize합니다.

반환 값

함수가 오류 없이 완료된 경우 SetupDiEnumDeviceInterfacesTRUE를 반환합니다. 함수가 오류로 완료되면 FALSE 가 반환되고 GetLastError를 호출하여 오류에 대한 오류 코드를 검색할 수 있습니다.

설명

이 함수를 반복적으로 호출하면 다른 디바이스 인터페이스에 대한 SP_DEVICE_INTERFACE_DATA 구조가 반환됩니다. 이 함수는 특정 디바이스 정보 요소와 연결되거나 모든 디바이스 정보 요소와 연결된 디바이스 정보 집합의 인터페이스에 대한 정보를 가져오기 위해 반복적으로 호출할 수 있습니다.

DeviceInterfaceData 는 요청된 디바이스 인터페이스를 식별하는 구조를 가리킵니다. 인터페이스에 대한 자세한 정보를 얻으려면 SetupDiGetDeviceInterfaceDetail을 호출합니다. 자세한 정보에는 인터페이스에 대한 핸들을 가져오기 위해 CreateFile(Microsoft Windows SDK 설명서에 설명됨)과 같은 Win32 함수에 전달할 수 있는 디바이스 인터페이스의 이름이 포함됩니다.

자세한 내용은 디바이스 인터페이스 클래스 개요 를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 setupapi.h(Setupapi.h 포함)
라이브러리 Setupapi.lib
DLL Setupapi.dll
API 세트 ext-ms-win-setupapi-classinstallers-l1-1-2(Windows 10 버전 10.0.14393에 도입됨)

추가 정보

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail