Prise en charge de plusieurs versions du système d’exploitation
Les packages de pilotes prendront généralement en charge plusieurs versions du système d’exploitation Windows. Dans le cadre de la prise en charge de plusieurs versions du système d’exploitation, il se peut que le package de pilotes doive avoir un comportement différent selon les versions afin d’utiliser de nouvelles fonctionnalités ou de répondre aux nouvelles exigences de la nouvelle version du système d’exploitation. Par exemple, un package de pilotes peut vouloir adopter un comportement différent sur les systèmes d’exploitation postérieurs à une certaine version afin de répondre aux exigences des pilotes Windows. Les sections suivantes décrivent comment vous pouvez avoir des comportements différents à la fois dans le fichier INF du package de pilotes et dans le comportement à l’exécution des binaires du package de pilotes.
Prise en charge de INF
Les décorations TargetOSVersion dans les sections modèles INF de l’INF permettent à l’auteur de l’INF de fournir des instructions d’installation et des paramètres différents pour différentes versions du système d’exploitation.
Veuillez consulter la section Combinaison des extensions de plateforme avec les versions du système d’exploitation pour plus d’informations.
Prise en charge du runtime
Lorsque vous essayez de modifier le comportement à l’exécution pour prendre en charge plusieurs versions du système d’exploitation, il est recommandé de vérifier la disponibilité d’une fonctionnalité ou d’une API dès que possible, plutôt que d’essayer de vérifier si le code s’exécute sur une version donnée ou ultérieure du système d’exploitation. Par exemple, s’il existe une API que vous souhaitez utiliser si elle est disponible, vous pouvez tenter de la localiser dynamiquement au lieu de la lier statiquement. Si vous parvenez à la localiser, vous pouvez l’utiliser. Cependant, si elle n’est pas présente dans votre environnement d’exécution actuel, vous pouvez adopter un comportement alternatif.
Mode noyau
Pour le mode noyau, veuillez consulter la section Écriture de pilotes pour différentes versions de Windows pour plus d’informations sur la manière de prendre en charge plusieurs versions de Windows à partir d’un seul pilote.
Mode utilisateur
En mode utilisateur, vous pouvez utiliser LoadLibraryEx avec GetProcAddress pour vérifier si une API particulière que vous souhaitez utiliser est disponible dans votre environnement d’exécution actuel et pour obtenir un pointeur de fonction à utiliser pour appeler cette API. Veuillez consulter les sections Liaison dynamique à l’exécution et Utilisation de la liaison dynamique à l’exécution pour plus d’informations.