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.cbSize를 sizeof(SP_DEVICE_INTERFACE_DATA)로 설정해야 합니다.
반환 값
SetupDiGetDeviceInterfaceAlias는 함수가 오류 없이 완료되면 TRUE 를 반환합니다. 함수가 오류로 완료되면 FALSE 가 반환되고 GetLastError를 호출하여 오류 코드를 검색할 수 있습니다.
GetLastError에서 반환할 수 있는 오류는 다음 표에 나와 있습니다.
반환 코드 | 설명 |
---|---|
|
DeviceInfoSet이 잘못되었거나 DeviceInterfaceData 매개 변수가 잘못되었습니다. |
|
지정된 디바이스 인터페이스에 대한 AliasInterfaceClassGuid 클래스의 별칭은 없습니다. |
|
AliasDeviceInterfaceData 버퍼가 잘못되었습니다. |
설명
디바이스 인터페이스는 서로 다른 인터페이스 클래스이지만 동일한 디바이스에서 지원되고 동일한 참조 문자열이 있는 경우 별칭으로 간주됩니다.
SetupDiGetDeviceInterfaceAlias 를 사용하여 둘 이상의 인터페이스를 노출하는 디바이스를 찾을 수 있습니다. 예를 들어 내결함성 볼륨의 일부일 수 있고 암호화된 데이터를 포함할 수 있는 디스크를 고려합니다. 디스크 디바이스의 함수 드라이버는 내결함성 볼륨 인터페이스 및 암호화된 볼륨 인터페이스를 등록할 수 있습니다. 이러한 인터페이스는 함수 드라이버가 동일한 참조 문자열로 등록하고 동일한 디바이스를 참조하는 경우 디바이스 인터페이스 별칭입니다. (참조 문자열은 NULL 일 수 있으므로 같을 수 있습니다.)
이러한 다중 인터페이스 디바이스를 찾으려면 먼저 SetupDiGetClassDevs 및 SetupDiEnumDeviceInterfaces를 사용하여 내결함성 볼륨 인터페이스와 같은 인터페이스 중 하나를 노출하는 사용 가능한 모든 디바이스를 찾습니다. 그런 다음 첫 번째 인터페이스(내결함성 볼륨)가 있는 디바이스를 SetupDiGetDeviceInterfaceAlias 에 전달하고 다른 인터페이스 클래스(암호화된 볼륨)의 별칭을 요청합니다.
요청된 별칭이 있지만 호출자가 제공한 AliasDeviceInterfaceData 버퍼가 잘못된 경우 이 함수는 DevInfoSet 에 디바이스 인터페이스 요소를 성공적으로 추가하지만 반환 값에 대해 FALSE 를 반환합니다. 이 경우 GetLastError 는 ERROR_INVALID_USER_BUFFER 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | setupapi.h(Setupapi.h 포함) |
라이브러리 | Setupapi.lib |
DLL | Setupapi.dll |