디바이스 드라이버 속성 액세스

Windows Vista 이상 버전의 Windows에서 통합 디바이스 속성 모델에는 디바이스 드라이버의 특징을 나타내는 디바이스 드라이버 속성이 포함됩니다. 통합 디바이스 속성 모델은 속성 키를 사용하여 이러한 속성을 나타냅니다.

Windows Server 2003, Windows XP 및 Windows 2000은 이러한 디바이스 드라이버 속성의 대부분도 지원합니다. 그러나 이러한 이전 버전의 Windows는 통합 디바이스 속성 모델의 속성 키를 지원하지 않습니다. 대신 이러한 버전의 Windows는 다음 메커니즘을 사용하여 해당 속성 정보를 나타내고 액세스합니다.

이러한 이전 버전의 Windows와 호환성을 유지하기 위해 Windows Vista 이상 버전에서는 디바이스 인터페이스에 대한 정보에 액세스하는 두 가지 방법도 지원합니다. 그러나 속성 키를 사용하여 Windows Vista 이상 버전에서 이러한 속성에 액세스해야 합니다. 속성 키를 사용하여 Windows Vista 이상 버전에서 디바이스 드라이버 속성에 액세스하는 방법에 대한 자세한 내용은 디바이스 인스턴스 속성 액세스(Windows Vista 이상)를 참조하세요.

해당 레지스트리 항목 값이 있는 디바이스 드라이버 속성에 액세스

Windows Server 2003, Windows XP 및 Windows 2000에서 디바이스 드라이버 속성에 액세스하려면 다음 단계를 수행합니다.

  1. CM_REGISTRY_SOFTWARE ulFlags를 사용하여 CM_Open_DevNode_Key 호출하거나 DICS_FLAG_GLOBAL 범위DIREG_DRVKeyType을 사용하여 SetupDiOpenDevRegKey를 호출하여 디바이스 instance 대한 소프트웨어 키에 대한 핸들을 검색합니다.

  2. RegQueryValueEx 또는 RegSetValueEx 호출에서 핸들을 제공하여 디바이스 instance 드라이버 속성에 해당하는 레지스트리 항목 값을 검색하거나 설정합니다.

  3. RegCloseKey 함수를 호출하여 키에 대한 액세스가 더 이상 필요하지 않은 후 소프트웨어 레지스트리 키를 닫습니다.

디바이스의 소프트웨어 키에 있는 통합 디바이스 속성 모델 속성 및 해당 레지스트리 값의 테이블은 다음과 같습니다.

Unified 속성 모델 속성 소프트웨어 키 레지스트리 값 이름( regstr.h에 정의됨)
DEVPKEY_Device_DriverDate REGSTR_VAL_DRIVERDATEDATA
DEVPKEY_Device_DriverVersion REGSTR_VAL_DRIVERVERSION
DEVPKEY_Device_DriverDesc REGSTR_VAL_DRVDESC
DEVPKEY_Device_DriverInfPath REGSTR_VAL_INFPATH
DEVPKEY_Device_DriverInfSection REGSTR_VAL_INFSECTION
DEVPKEY_Device_DriverInfSectionExt REGSTR_VAL_INFSECTIONEXT
DEVPKEY_Device_DriverProvider REGSTR_VAL_PROVIDER_NAME

SetupDiGetDriverInstallParams를 사용하여 드라이버 순위 검색

Windows Server 2003, Windows XP 및 Windows 2000에서는 SetupDiGetDriverInstallParams를 호출하여 디바이스에 대해 현재 설치된 드라이버의 순위를 검색할 수 있습니다. SetupDiGetDriverInstallParams는 출력 매개 변수 DriverInstallParams에서 드라이버의 SP_DRVINSTALL_PARAMS 구조에 대한 포인터를 검색합니다. 검색된 SP_DRVINSTALL_PARAMS 구조체의 Rank 멤버에는 드라이버 순위가 포함됩니다.