SetupDiGetDeviceRegistryPropertyA 함수(setupapi.h)
SetupDiGetDeviceRegistryProperty 함수는 지정된 플러그 앤 플레이 디바이스 속성을 검색합니다.
구문
WINSETUPAPI BOOL SetupDiGetDeviceRegistryPropertyA(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Property,
[out, optional] PDWORD PropertyRegDataType,
[out, optional] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize
);
매개 변수
[in] DeviceInfoSet
플러그 앤 플레이 속성을 검색할 디바이스를 나타내는 디바이스 정보 요소가 포함된 디바이스 정보 집합 에 대한 핸들입니다.
[in] DeviceInfoData
DeviceInfoSet에서 디바이스 정보 요소를 지정하는 SP_DEVINFO_DATA 구조체에 대한 포인터입니다.
[in] Property
검색할 속성을 지정하는 다음 값 중 하나입니다.
SPDRP_ADDRESS
함수는 디바이스의 주소를 검색합니다.
SPDRP_BUSNUMBER
함수는 디바이스의 버스 번호를 검색합니다.
SPDRP_BUSTYPEGUID
함수는 디바이스의 버스 유형에 대한 GUID를 검색합니다.
SPDRP_CAPABILITIES
함수는 DWORD에서 다음 CM_DEVCAP_Xxx 플래그 중 비트 OR을 검색합니다. 이러한 플래그로 표시되는 디바이스 기능은 DEVICE_CAPABILITIES 구조체의 멤버가 나타내는 디바이스 기능에 해당합니다. CM_DEVCAP_Xxx 상수는 Cfgmgr32.h에 정의되어 있습니다.
CM_DEVCAP_Xxx 플래그 | 해당 DEVICE_CAPABILITIES 구조체 멤버 |
---|---|
CM_DEVCAP_LOCKSUPPORTED | LockSupported |
CM_DEVCAP_EJECTSUPPORTED | EjectSupported |
CM_DEVCAP_REMOVABLE | 이동식 |
CM_DEVCAP_DOCKDEVICE | DockDevice |
CM_DEVCAP_UNIQUEID | Uniqueid |
CM_DEVCAP_SILENTINSTALL | SilentInstall |
CM_DEVCAP_RAWDEVICEOK | RawDeviceOK |
CM_DEVCAP_SURPRISEREMOVALOK | SurpriseRemovalOK |
CM_DEVCAP_HARDWAREDISABLED | HardwareDisabled |
CM_DEVCAP_NONDYNAMIC | 비다이내믹 |
SPDRP_CHARACTERISTICS
함수는 DWORD에서 디바이스의 특성 플래그에 대한 비트 OR을 검색합니다. Wdm.h 및 Ntddk.h에 정의된 이러한 플래그에 대한 설명은 IoCreateDevice 함수의 DeviceCharacteristics 매개 변수를 참조하세요.
SPDRP_CLASS
함수는 디바이스의 디바이스 설정 클래스 를 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_CLASSGUID
함수는 디바이스의 디바이스 설정 클래스를 나타내는 GUID가 포함된 REG_SZ 문자열을 검색합니다.
SPDRP_COMPATIBLEIDS
함수는 디바이스에 대해 호환되는 ID 목록을 포함하는 REG_MULTI_SZ 문자열을 검색합니다. 호환되는 ID에 대한 자세한 내용은 디바이스 식별 문자열을 참조하세요.
SPDRP_CONFIGFLAGS
함수는 DWORD 값에서 디바이스 구성 플래그의 비트 OR을 검색합니다. 구성 플래그는 Regstr.h에 정의된 CONFIGFLAG_Xxx 비트 마스크로 표시됩니다.
SPDRP_DEVICE_POWER_DATA
(Windows XP 이상) 함수는 디바이스의 전원 관리 정보를 포함하는 CM_POWER_DATA 구조를 검색합니다.
SPDRP_DEVICEDESC
함수는 디바이스에 대한 설명이 포함된 REG_SZ 문자열을 검색합니다.
SPDRP_DEVTYPE
함수는 디바이스 유형을 나타내는 DWORD 값을 검색합니다. 자세한 내용은 디바이스 유형 지정을 참조하세요.
SPDRP_DRIVER
함수는 디바이스의 소프트웨어 키 ( 드라이버 키라고도 함)를 식별하는 문자열을 검색합니다. 드라이버 키에 대한 자세한 내용은 레지스트리 트리 및 디바이스 및 드라이버용 키를 참조하세요.
SPDRP_ENUMERATOR_NAME
함수는 디바이스의 열거자의 이름을 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_EXCLUSIVE
함수는 사용자가 디바이스를 단독으로 사용할 수 있는지 여부를 나타내는 DWORD 값을 검색합니다. 배타적 사용이 허용되는 경우 반환된 값은 1이거나, 그렇지 않으면 0입니다. 자세한 내용은 IoCreateDevice를 참조하세요.
SPDRP_FRIENDLYNAME
함수는 디바이스의 이름을 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_HARDWAREID
함수는 디바이스의 하드웨어 ID 목록을 포함하는 REG_MULTI_SZ 문자열을 검색합니다. 하드웨어 ID에 대한 자세한 내용은 디바이스 식별 문자열을 참조하세요.
SPDRP_INSTALL_STATE
(Windows XP 이상) 함수는 디바이스의 설치 상태를 나타내는 DWORD 값을 검색합니다. 설치 상태는 Cfgmgr32.h에 정의된 CM_INSTALL_STATE_Xxx 값 중 하나로 표시됩니다. CM_INSTALL_STATE_Xxx 값은 DEVICE_INSTALL_STATE 열거형 값에 해당합니다.
SPDRP_LEGACYBUSTYPE
함수는 디바이스의 레거시 버스 유형을 INTERFACE_TYPE 값으로 검색합니다( Wdm.h 및 Ntddk.h에 정의됨).
SPDRP_LOCATION_INFORMATION
함수는 디바이스의 하드웨어 위치를 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_LOCATION_PATHS
(Windows Server 2003 이상) 함수는 디바이스 트리에서 디바이스의 위치를 나타내는 REG_MULTI_SZ 문자열을 검색합니다.
SPDRP_LOWERFILTERS
함수는 디바이스의 하위 필터 드라이버 이름을 포함하는 REG_MULTI_SZ 문자열을 검색합니다.
SPDRP_MFG
함수는 디바이스 제조업체의 이름을 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
함수는 디바이스의 PDO와 연결된 이름을 포함하는 REG_SZ 문자열을 검색합니다. 자세한 내용은 IoCreateDevice를 참조하세요.
SPDRP_REMOVAL_POLICY
(Windows XP 이상) 함수는 디바이스의 현재 제거 정책을 Cfgmgr32.h에 정의된 CM_REMOVAL_POLICY_Xxx 값 중 하나를 포함하는 DWORD로 검색합니다.
SPDRP_REMOVAL_POLICY_HW_DEFAULT
(Windows XP 이상) 함수는 디바이스의 하드웨어 지정 기본 제거 정책을 Cfgmgr32.h에 정의된 CM_REMOVAL_POLICY_Xxx 값 중 하나를 포함하는 DWORD로 검색합니다.
SPDRP_REMOVAL_POLICY_OVERRIDE
(Windows XP 이상) 함수는 Cfgmgr32.h에 정의된 CM_REMOVAL_POLICY_Xxx 값 중 하나를 포함하는 DWORD로 레지스트리에서 디바이스의 재정의 제거 정책(있는 경우)을 검색합니다.
SPDRP_SECURITY
함수는 디바이스에 대한 SECURITY_DESCRIPTOR 구조를 검색합니다.
SPDRP_SECURITY_SDS
함수는 디바이스의 보안 설명자가 포함된 REG_SZ 문자열을 검색합니다. 보안 설명자 문자열에 대한 자세한 내용은 보안 설명자 정의 언어(Windows)를 참조하세요. 보안 설명자 문자열 형식에 대한 자세한 내용은 보안 설명자 정의 언어(Windows)를 참조하세요.
SPDRP_SERVICE
함수는 디바이스의 서비스 이름을 포함하는 REG_SZ 문자열을 검색합니다.
SPDRP_UI_NUMBER
함수는 디바이스 DEVICE_CAPABILITIES 구조의UINumber 멤버 값으로 설정된 DWORD 값을 검색합니다.
SPDRP_UI_NUMBER_DESC_FORMAT
함수는 UINumber 값을 표시하는 데 사용되는 형식 문자열(REG_SZ)을 검색합니다.
SPDRP_UPPERFILTERS
함수는 디바이스의 상위 필터 드라이버 이름을 포함하는 REG_MULTI_SZ 문자열을 검색합니다.
[out, optional] PropertyRegDataType
검색되는 속성의 데이터 형식을 수신하는 변수에 대한 포인터입니다. 표준 레지스트리 데이터 형식 중 하나입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
[out, optional] PropertyBuffer
검색되는 속성을 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL로 설정되고 PropertyBufferSize 도 0으로 설정된 경우 함수는 RequiredSize에서 버퍼에 필요한 크기를 반환합니다.
[in] PropertyBufferSize
PropertyBuffer 버퍼의 크기(바이트)입니다.
[out, optional] RequiredSize
요청된 속성에 대한 데이터를 보유하는 데 필요한 PropertyBuffer 버퍼의 필요한 크기(바이트)를 수신하는 DWORD 형식의 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
SetupDiGetDeviceRegistryProperty 는 호출이 성공하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE 를 반환하고 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다. SetupDiGetDeviceRegistryProperty 는 디바이스에 대해 요청된 속성이 없거나 속성 데이터가 유효하지 않은 경우 ERROR_INVALID_DATA 오류 코드를 반환합니다.
설명
참고
setupapi.h 헤더는 SETUPDiGetDeviceRegistryProperty를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | DesktopFor universal, call CM_Get_DevNode_Registry_Property |
머리글 | setupapi.h(Setupapi.h 포함) |
라이브러리 | Setupapi.lib |
추가 정보
SetupDiGetClassRegistryProperty