Partager via


Prise en charge de plusieurs versions de système d’exploitation

Les packages de pilotes prennent généralement en charge de nombreuses versions du système d’exploitation Windows. Dans le cadre de la prise en charge de plusieurs versions du système d’exploitation, le package de pilotes peut avoir besoin d’avoir un comportement différent sur différentes versions du système d’exploitation 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 avoir un comportement différent sur les systèmes d’exploitation après une certaine version afin de répondre aux exigences des pilotes Windows. Les sections suivantes décrivent comment vous pouvez avoir différents comportements à la fois dans le fichier INF du package de pilotes et dans le comportement d’exécution des fichiers binaires dans le package de pilotes.

Prise en charge inf

Les décorations TargetOSVersion sur les sections des modèles INF dans inf permettent à l’auteur INF de fournir des instructions et des paramètres d’installation différents pour différentes versions du système d’exploitation.

Pour plus d’informations, consultez Combinaison d’extensions de plateforme avec des versions de système d’exploitation .

Prise en charge du runtime

Lorsque vous essayez de modifier le comportement au moment de l’exécution pour prendre en charge plusieurs versions de système d’exploitation, il est recommandé de case activée pour la disponibilité des fonctionnalités ou des API chaque fois que cela est possible au lieu d’essayer de case activée si le code s’exécute sur une certaine version du système d’exploitation ou une version ultérieure. 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 de manière statique à celle-ci. Si vous parvenez à le localiser, vous pouvez l’utiliser. Toutefois, s’il n’est pas présent dans votre environnement d’exécution actuel, vous pouvez revenir à un autre comportement.

Mode noyau

Pour le mode noyau, consultez Écriture de pilotes pour différentes versions de Windows pour plus d’informations sur la prise en charge de plusieurs versions de Windows à partir d’un seul pilote.

Mode utilisateur

En mode utilisateur, vous pouvez utiliser LoadLibraryEx avec GetProcAddress pour case activée si une API particulière que vous souhaitez utiliser est disponible dans votre environnement d’exécution actuel et obtenir un pointeur de fonction à utiliser pour appeler cette API. Pour plus d’informations, consultez Liaison dynamiqued’exécution et Utilisation de la liaison dynamique au moment de l’exécution .