여러 운영 체제 버전 지원
드라이버 패키지는 일반적으로 많은 버전의 Windows 운영 체제를 지원합니다. 여러 버전의 운영 체제를 지원하는 과정의 일환으로 드라이버 패키지는 새 기능을 사용하거나 새 운영 체제 버전의 새 요구 사항을 충족하기 위해 운영 체제의 다른 버전에서 다른 동작을 수행해야 할 수 있습니다. 예를 들어 드라이버 패키지는 Windows 드라이버의 요구 사항을 충족하기 위해 특정 버전 이후 운영 체제에서 다른 동작을 원할 수 있습니다. 다음 섹션에서는 드라이버 패키지의 INF 파일과 드라이버 패키지에 있는 이진 파일의 런타임 동작에서 서로 다른 동작을 수행할 수 있는 방법을 설명합니다.
INF 지원
INF의 INF 모델 섹션에서 TargetOSVersion 장식을 사용하면 INF 작성자가 운영 체제의 다양한 버전에 대해 다양한 설치 지침과 설정을 제공할 수 있습니다.
자세한 내용은 플랫폼 확장과 운영 체제 버전 결합을 참조하세요.
런타임 지원
여러 운영 체제 버전을 지원하기 위해 런타임 시 동작을 변경하려는 경우 코드가 특정 운영 체제 버전 이상에서 실행 중인지 확인하는 대신 가능하면 기능 또는 API 가용성을 확인하는 것이 좋습니다. 예를 들어 사용 가능한 경우 사용하려는 API가 있는 경우 정적으로 연결하지 않고 동적으로 찾을 수 있습니다. 찾을 수 있는 경우 사용할 수 있지만 현재 실행 중인 환경에 없는 경우 일부 대체 동작으로 대체할 수 있습니다.
커널 모드
커널 모드의 경우 단일 드라이버에서 여러 버전의 Windows를 지원하는 방법에 대한 자세한 내용은 다양한 버전의 Windows용 드라이버 작성을 참조하세요.
사용자 모드
사용자 모드에서는 GetProcAddress와 함께 LoadLibraryEx를 사용하여 현재 실행 중인 환경에서 사용하려는 특정 API를 사용할 수 있는지 확인하고 해당 API를 호출하기 위해 사용할 함수 포인터를 가져올 수 있습니다. 자세한 내용은 런타임 동적 연결 및 런타임 동적 연결 사용을 참조하세요.