다음을 통해 공유


SetupDiGetDeviceInterfaceAlias 함수(setupapi.h)

SetupDiGetDeviceInterfaceAlias 함수는 지정된 디바이스 인터페이스의 별칭을 반환합니다.

구문

WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
  [in]  HDEVINFO                  DeviceInfoSet,
  [in]  PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [in]  const GUID                *AliasInterfaceClassGuid,
  [out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);

매개 변수

[in] DeviceInfoSet

별칭을 검색할 디바이스 인터페이스가 포함된 디바이스 정보 집합 에 대한 포인터입니다. 이 핸들은 일반적으로 SetupDiGetClassDevs에서 반환됩니다.

[in] DeviceInterfaceData

별칭을 검색할 DeviceInfoSet의 디바이스 인터페이스를 지정하는 SP_DEVICE_INTERFACE_DATA 구조체에 대한 포인터입니다. 이 포인터는 일반적으로 SetupDiEnumDeviceInterfaces에서 반환됩니다.

[in] AliasInterfaceClassGuid

검색할 별칭의 인터페이스 클래스를 지정하는 GUID에 대한 포인터입니다.

[out] AliasDeviceInterfaceData

요청된 별칭을 식별하는 완료된 SP_DEVICE_INTERFACE_DATA 구조체를 포함하는 호출자 할당 버퍼에 대한 포인터입니다. 호출자는 이 함수를 호출하기 전에 AliasDeviceInterfaceData.cbSizesizeof(SP_DEVICE_INTERFACE_DATA)로 설정해야 합니다.

반환 값

SetupDiGetDeviceInterfaceAlias는 함수가 오류 없이 완료되면 TRUE 를 반환합니다. 함수가 오류로 완료되면 FALSE 가 반환되고 GetLastError를 호출하여 오류 코드를 검색할 수 있습니다.

GetLastError에서 반환할 수 있는 오류는 다음 표에 나와 있습니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
DeviceInfoSet이 잘못되었거나 DeviceInterfaceData 매개 변수가 잘못되었습니다.
ERROR_NO_SUCH_INTERFACE_DEVICE
지정된 디바이스 인터페이스에 대한 AliasInterfaceClassGuid 클래스의 별칭은 없습니다.
ERROR_INVALID_USER_BUFFER
AliasDeviceInterfaceData 버퍼가 잘못되었습니다.

설명

디바이스 인터페이스는 서로 다른 인터페이스 클래스이지만 동일한 디바이스에서 지원되고 동일한 참조 문자열이 있는 경우 별칭으로 간주됩니다.

SetupDiGetDeviceInterfaceAlias 를 사용하여 둘 이상의 인터페이스를 노출하는 디바이스를 찾을 수 있습니다. 예를 들어 내결함성 볼륨의 일부일 수 있고 암호화된 데이터를 포함할 수 있는 디스크를 고려합니다. 디스크 디바이스의 함수 드라이버는 내결함성 볼륨 인터페이스 및 암호화된 볼륨 인터페이스를 등록할 수 있습니다. 이러한 인터페이스는 함수 드라이버가 동일한 참조 문자열로 등록하고 동일한 디바이스를 참조하는 경우 디바이스 인터페이스 별칭입니다. (참조 문자열은 NULL 일 수 있으므로 같을 수 있습니다.)

이러한 다중 인터페이스 디바이스를 찾으려면 먼저 SetupDiGetClassDevsSetupDiEnumDeviceInterfaces를 사용하여 내결함성 볼륨 인터페이스와 같은 인터페이스 중 하나를 노출하는 사용 가능한 모든 디바이스를 찾습니다. 그런 다음 첫 번째 인터페이스(내결함성 볼륨)가 있는 디바이스를 SetupDiGetDeviceInterfaceAlias 에 전달하고 다른 인터페이스 클래스(암호화된 볼륨)의 별칭을 요청합니다.

요청된 별칭이 있지만 호출자가 제공한 AliasDeviceInterfaceData 버퍼가 잘못된 경우 이 함수는 DevInfoSet 에 디바이스 인터페이스 요소를 성공적으로 추가하지만 반환 값에 대해 FALSE 를 반환합니다. 이 경우 GetLastError 는 ERROR_INVALID_USER_BUFFER 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 setupapi.h(Setupapi.h 포함)
라이브러리 Setupapi.lib
DLL Setupapi.dll

추가 정보

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs