다음을 통해 공유


SetupDiGetDevicePropertyKeys 함수(setupapi.h)

SetupDiGetDevicePropertyKeys 함수는 디바이스 instance 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키의 배열을 검색합니다.

구문

WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [out, optional] DEVPROPKEY       *PropertyKeyArray,
  [in]            DWORD            PropertyKeyCount,
  [out, optional] PDWORD           RequiredPropertyKeyCount,
  [in]            DWORD            Flags
);

매개 변수

[in] DeviceInfoSet

디바이스 정보 집합에 대한 핸들입니다. 이 디바이스 정보 집합에는 이 함수가 디바이스 속성 키 배열을 검색하는 디바이스 instance 포함되어 있습니다. 속성 키는 디바이스 instance 대해 설정된 디바이스 속성을 나타냅니다.

[in] DeviceInfoData

디바이스 속성 키의 요청된 배열을 검색할 디바이스 instance 나타내는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다.

[out, optional] PropertyKeyArray

DEVPROPKEY 형식 값 배열을 수신하는 버퍼에 대한 포인터입니다. 여기서 각 값은 디바이스 instance 대해 설정된 디바이스 속성을 나타내는 디바이스 속성 키입니다. 포인터는 선택 사항이며 NULL일 수 있습니다. 자세한 내용은 이 항목의 뒷부 분에 있는 설명 섹션을 참조하세요.

[in] PropertyKeyCount

PropertyKeyArray 버퍼의 크기(DEVPROPKEY 형식 값)입니다. PropertyKeyArrayNULL로 설정된 경우 PropertyKeyCount를 0으로 설정해야 합니다.

[out, optional] RequiredPropertyKeyCount

요청된 디바이스 속성 키 수를 수신하는 DWORD 형식 변수에 대한 포인터입니다. 포인터는 선택 사항이며 NULL로 설정할 수 있습니다.

[in] Flags

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

반환 값

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

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

반환 코드 설명
ERROR_INVALID_FLAGS
Flags 값이 0이 아닙니다.
ERROR_INVALID_HANDLE
DevInfoSet에서 지정한 디바이스 정보 집합이 잘못되었습니다.
ERROR_INVALID_PARAMETER
제공된 매개 변수가 잘못되었습니다. 한 가지 가능성은 디바이스 정보 요소가 유효하지 않다는 것입니다.
ERROR_INVALID_DATA
내부 데이터 값이 잘못되었습니다.
ERROR_INVALID_USER_BUFFER
사용자 버퍼가 잘못되었습니다. 한 가지 가능성은 PropertyKeyArrayNULL 이고 PropertKeyCount 가 0이 아니라는 것입니다.
ERROR_NO_SUCH_DEVINST
DevInfoData에서 지정한 디바이스 instance 존재하지 않습니다.
ERROR_INSUFFICIENT_BUFFER
PropertyKeyArray 버퍼가 너무 작아서 요청된 모든 속성 키를 보유할 수 없습니다.
ERROR_NOT_ENOUGH_MEMORY
작업을 완료하는 데 사용할 수 있는 시스템 메모리가 부족했습니다.

설명

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

ProperKeyArray 버퍼가 요청된 모든 속성 키를 보유할 만큼 크지 않은 경우 SetupDiGetDevicePropertyKeys는 속성 키를 검색하지 않고 ERROR_INSUFFICIENT_BUFFER 반환합니다. 호출자가 RequiredPropertyKeyCount 포인터를 제공한 경우 SetupDiGetDevicePropertyKeys 는 *RequiredPropertyKeyCount 값을 PropertyKeyArray 버퍼의 DEVPROPKEY 형식 값으로 필요한 크기로 설정합니다.

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

요구 사항

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

추가 정보

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty