SetupDiGetDeviceInterfacePropertyW 함수(setupapi.h)

SetupDiGetDeviceInterfaceProperty 함수는 디바이스 인터페이스에 대해 설정된 디바이스 속성을 검색합니다.

구문

WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyW(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
  [in]            const DEVPROPKEY          *PropertyKey,
  [out]           DEVPROPTYPE               *PropertyType,
  [out]           PBYTE                     PropertyBuffer,
  [in]            DWORD                     PropertyBufferSize,
  [out, optional] PDWORD                    RequiredSize,
  [in]            DWORD                     Flags
);

매개 변수

[in] DeviceInfoSet

디바이스 인터페이스 속성을 검색할 디바이스 인터페이스가 포함된 디바이스 정보 집합 에 대한 핸들입니다.

[in] DeviceInterfaceData

디바이스 인터페이스 속성을 검색할 디바이스 인터페이스를 나타내는 SP_DEVICE_INTERFACE_DATA 구조체에 대한 포인터입니다.

[in] PropertyKey

검색할 디바이스 인터페이스 속성의 디바이스 인터페이스 속성 키를 나타내는 DEVPROPKEY 구조체에 대한 포인터입니다.

[out] PropertyType

요청된 디바이스 인터페이스 속성의 속성-데이터 형식 식별자를 수신하는 DEVPROPTYPE 형식 변수에 대한 포인터입니다. property-data-type 식별자는 기본 데이터 형식 식별자와 기본 데이터 형식이 수정된 경우 property-data-type 한정자 사이의 비트 OR입니다.

[out] PropertyBuffer

요청된 디바이스 인터페이스 속성을 수신하는 버퍼에 대한 포인터입니다. SetupDiGetDeviceInterfaceProperty 는 버퍼가 모든 속성 값 데이터를 저장할 수 있을 만큼 큰 경우에만 요청된 속성을 검색합니다. 포인터는 NULL일 수 있습니다. 포인터가 NULL 로 설정되고 RequiredSize 가 제공되면 SetupDiGetDeviceInterfaceProperty 는 *RequiredSize에서 속성의 크기를 바이트 단위로 반환합니다.

[in] PropertyBufferSize

PropertyBuffer 버퍼의 크기(바이트)입니다. PropertyBufferNULL로 설정된 경우 PropertyBufferSize를 0으로 설정해야 합니다.

[out, optional] RequiredSize

속성이 검색된 경우 디바이스 인터페이스 속성의 크기(바이트)를 수신하는 DWORD 형식 변수에 대한 포인터이거나 버퍼가 충분히 크지 않은 경우 필요한 버퍼 크기입니다. 이 포인터는 NULL로 설정할 수 있습니다.

[in] Flags

이 매개 변수는 0으로 설정해야 합니다.

반환 값

SetupDiGetDeviceInterfaceProperty 는 성공하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.

다음 표에는 이 함수가 기록할 수 있는 몇 가지 일반적인 오류 코드가 포함되어 있습니다. 다른 오류 코드는 이 API에서 호출하는 디바이스 설치 관리자 함수에서 설정할 수 있습니다.

반환 코드 설명
ERROR_INVALID_FLAGS
Flags 값이 0이 아닙니다.
ERROR_INVALID_HANDLE
DevInfoSet에서 지정한 디바이스 정보 집합이 잘못되었습니다.
ERROR_INVALID_PARAMETER
제공된 매개 변수가 잘못되었습니다. 한 가지 가능성은 DeviceInterfaceData 로 지정된 디바이스 인터페이스가 유효하지 않다는 것입니다.
ERROR_INVALID_REG_PROPERTY
PropertyKey에서 제공하는 속성 키가 잘못되었습니다.
ERROR_INVALID_DATA
지정되지 않은 내부 데이터 값이 잘못되었습니다.
ERROR_INVALID_USER_BUFFER
사용자 버퍼가 잘못되었습니다. 한 가지 가능성은 PropertyBufferNULL이고 PropertyBufferSize 가 0이 아니라는 것입니다.
ERROR_NO_SUCH_DEVICE_INTERFACE
DeviceInterfaceData로 지정된 디바이스 인터페이스가 없습니다.
ERROR_INSUFFICIENT_BUFFER
PropertyBuffer 버퍼가 속성 값을 보유할 만큼 크지 않거나 시스템 호출에 전달된 내부 데이터 버퍼가 너무 작습니다.
ERROR_NOT_ENOUGH_MEMORY
작업을 완료하는 데 사용할 수 있는 시스템 메모리가 부족했습니다.
ERROR_NOT_FOUND
요청된 디바이스 속성이 없습니다.
ERROR_ACCESS_DENIED
호출자에게 관리자 권한이 없습니다.

설명

SetupDiGetDeviceInterfaceProperty통합 디바이스 속성 모델의 일부입니다.

SetupAPI는 SetupDiGetDeviceInterfaceProperty의 유니코드 버전만 지원합니다.

SetupDiGetDeviceInterfaceProperty의 호출자는 디바이스 인터페이스 속성을 설정하려면 Administrators 그룹의 구성원이어야 합니다.

디바이스 인터페이스에 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키를 가져오려면 SetupDiGetDeviceInterfacePropertyKeys를 호출합니다.

디바이스 인터페이스 속성을 설정하려면 SetupDiSetDeviceInterfaceProperty를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 DesktopFor universal, call CM_Get_Device_Interface_Property
머리글 setupapi.h(Setupapi.h 포함)
라이브러리 Setupapi.lib

추가 정보

SetupDiGetDeviceInterfacePropertyKeys

SetupDiSetDeviceInterfaceProperty