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

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

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

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

시스템 정의 디바이스 드라이버 속성 목록은 디바이스 드라이버 속성을 참조하세요. 디바이스 드라이버 속성은 Windows Vista 이상 버전의 속성에 액세스하는 데 사용하는 속성 키 식별자에 의해 나열됩니다. 속성 키와 함께 제공되는 정보에는 Windows Server 2003, Windows XP 및 Windows 2000에서 속성에 액세스하는 데 사용할 수 있는 해당 시스템 정의 레지스트리 항목 값의 이름이 포함됩니다.

속성 키를 사용하여 Windows Vista 이상 버전에서 디바이스 드라이버 속성에 액세스하는 방법에 대한 자세한 내용은 디바이스 인스턴스 속성 액세스(Windows Vista 이상)를 참조하세요.

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

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

  1. SetupDiOpenDevRegKey를 호출하여 디바이스 인스턴스에 대한 소프트웨어 키에 대한 핸들을 검색합니다. 다음 매개 변수 값을 제공합니다.

    • DeviceInfoSet을 전역 소프트웨어 키를 검색할 디바이스 정보 요소가 포함된 디바이스 정보 집합의 핸들로 설정합니다.
    • DeviceInfoData를 전역 소프트웨어 키를 검색할 디바이스 정보 요소를 나타내는 SP_DEVINFO_DATA 구조체에 대한 포인터로 설정합니다.
    • 범위를 DICS_FLAG_GLOBAL 설정합니다.
    • HwProfile을 0으로 설정합니다.
    • KeyType을 DIREG_DRV 설정합니다. 이 키는 디바이스 인스턴스의 소프트웨어 키에 대한 핸들을 검색하도록 SetupDiOpenDevRegKey를 구성합니다.
    • samDesired를 이 키에 필요한 액세스를 지정하는 REGSAM 형식 값으로 설정합니다. 모든 액세스에 대해 samDesired 를 KEY_ALL_ACCESS 설정합니다.

    SetupDiOpenDevRegKey에 대한 호출이 성공하면 SetupDiOpenDevRegKey는 요청된 소프트웨어 키에 대한 핸들을 반환합니다. 함수 호출이 실패하면 SetupDiOpenDevRegKey 는 INVALID_HANDLE_VALUE 반환합니다. GetLastError에 대한 후속 호출은 가장 최근에 기록된 오류 코드를 반환합니다.

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

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

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

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