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 형식 값)입니다. PropertyKeyArray가 NULL로 설정된 경우 PropertyKeyCount를 0으로 설정해야 합니다.
[out, optional] RequiredPropertyKeyCount
요청된 디바이스 속성 키 수를 수신하는 DWORD 형식 변수에 대한 포인터입니다. 포인터는 선택 사항이며 NULL로 설정할 수 있습니다.
[in] Flags
이 매개 변수는 0으로 설정해야 합니다.
반환 값
SetupDiGetDevicePropertyKeys 는 성공하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.
다음 표에는 이 함수가 기록할 수 있는 몇 가지 일반적인 오류 코드가 포함되어 있습니다.
반환 코드 | 설명 |
---|---|
|
Flags 값이 0이 아닙니다. |
|
DevInfoSet에서 지정한 디바이스 정보 집합이 잘못되었습니다. |
|
제공된 매개 변수가 잘못되었습니다. 한 가지 가능성은 디바이스 정보 요소가 유효하지 않다는 것입니다. |
|
내부 데이터 값이 잘못되었습니다. |
|
사용자 버퍼가 잘못되었습니다. 한 가지 가능성은 PropertyKeyArray 가 NULL 이고 PropertKeyCount 가 0이 아니라는 것입니다. |
|
DevInfoData에서 지정한 디바이스 instance 존재하지 않습니다. |
|
PropertyKeyArray 버퍼가 너무 작아서 요청된 모든 속성 키를 보유할 수 없습니다. |
|
작업을 완료하는 데 사용할 수 있는 시스템 메모리가 부족했습니다. |
설명
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 |