다음을 통해 공유


SetupDiSetDevicePropertyW 함수(setupapi.h)

SetupDiSetDeviceProperty 함수는 디바이스 instance 속성을 설정합니다.

구문

WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           DEVPROPTYPE      PropertyType,
  [in, optional] const PBYTE      PropertyBuffer,
  [in]           DWORD            PropertyBufferSize,
  [in]           DWORD            Flags
);

매개 변수

[in] DeviceInfoSet

디바이스 정보 집합에 대한 핸들입니다. 이 디바이스 정보 집합에는 디바이스 instance 속성을 설정할 디바이스 instance 나타내는 디바이스 정보 요소가 포함되어 있습니다.

[in] DeviceInfoData

디바이스 instance 속성을 설정할 디바이스 instance 식별하는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다.

[in] PropertyKey

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

[in] PropertyType

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

[in, optional] PropertyBuffer

디바이스 instance 속성 값이 포함된 버퍼에 대한 포인터입니다. 속성이 삭제되거나 NULL 값으로 설정된 경우 이 포인터는 NULL이어야 하며 PropertyBufferSize 는 0으로 설정해야 합니다.

[in] PropertyBufferSize

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

[in] Flags

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

반환 값

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

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

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

설명

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

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

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

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

디바이스에 대해 설정된 instance 디바이스 속성에 대한 디바이스 속성 키를 가져오려면 SetupDiGetDevicePropertyKeys를 호출합니다.

디바이스 instance 속성을 검색하려면 SetupDiGetDeviceProperty를 호출합니다.

요구 사항

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

추가 정보

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys