Share via


SetupDiSetDeviceInterfacePropertyW 함수(setupapi.h)

SetupDiSetDeviceInterfaceProperty 함수는 디바이스 인터페이스의 디바이스 속성을 설정합니다.

구문

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

매개 변수

[in] DeviceInfoSet

디바이스 인터페이스 속성을 설정할 디바이스 인터페이스를 포함하는 디바이스 정보 집합 에 대한 핸들입니다.

[in] DeviceInterfaceData

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

[in] PropertyKey

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

[in] PropertyType

설정할 디바이스 인터페이스 속성의 속성-데이터 형식 식별자를 나타내는 DEVPROPTYPE 형식 값입니다. property-data-type 식별자에 대한 자세한 내용은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.

[in, optional] PropertyBuffer

디바이스 인터페이스 속성 값이 포함된 버퍼에 대한 포인터입니다. 속성 또는 인터페이스 값이 삭제되는 경우 이 포인터를 NULL로 설정하고 PropertyBufferSize 를 0으로 설정해야 합니다. 속성 값 데이터에 대한 자세한 내용은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.

[in] PropertyBufferSize

PropertyBuffer 버퍼의 크기(바이트)입니다. 속성 버퍼 크기는 PropertyType에서 제공하는 property-data-type 식별자와 일치해야 합니다. PropertyBuffer NULL로 설정된 경우 PropertyBufferSize를 0으로 설정해야 합니다.

[in] Flags

0으로 설정해야 합니다.

반환 값

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

다음 표에는 이 함수가 기록할 수 있는 몇 가지 일반적인 오류 코드가 포함되어 있습니다.

반환 코드 설명
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이고 PropertBufferSize 가 0이 아니라는 것입니다.
ERROR_NO_SUCH_DEVICE_INTERFACE
DeviceInterfaceData로 지정된 디바이스 인터페이스가 없습니다.
ERROR_INSUFFICIENT_BUFFER
시스템 호출에 전달된 내부 데이터 버퍼가 너무 작습니다.
ERROR_NOT_ENOUGH_MEMORY
작업을 완료하는 데 사용할 수 있는 시스템 메모리가 부족했습니다.
ERROR_NOT_FOUND
지정되지 않은 내부 요소를 찾을 수 없습니다. 삭제할 속성이 없을 수 있습니다.
ERROR_ACCESS_DENIED
호출자에게 관리자 권한이 없습니다.

설명

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

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

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

SetupDiSetDeviceInterfaceProperty 는 property-data-type 식별자 및 속성 값에 대한 요구 사항을 적용합니다.

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

디바이스 인터페이스 속성을 검색하려면 SetupDiGetDeviceInterfaceProperty를 호출합니다.

요구 사항

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

추가 정보

SetupDiGetDeviceInterfaceProperty

SetupDiGetDeviceInterfacePropertyKeys