Compatibilidad con varias versiones del sistema operativo
Los paquetes de controladores generalmente admitirán muchas versiones del sistema operativo Windows. Como parte de la compatibilidad con varias versiones del sistema operativo, es posible que el paquete de controladores tenga que tener un comportamiento diferente en distintas versiones del sistema operativo para poder usar nuevas características o para cumplir los nuevos requisitos de la nueva versión del sistema operativo. Por ejemplo, un paquete de controladores puede querer tener un comportamiento diferente en los sistemas operativos después de una determinada versión para cumplir los requisitos de los controladores de Windows. En las secciones siguientes se describe cómo puede tener comportamientos diferentes tanto en el archivo INF del paquete de controladores como en el comportamiento en tiempo de ejecución de los archivos binarios del paquete de controladores.
Soporte técnico de INF
Las representaciones de TargetOSVersion en las secciones de modelos INF del INF permiten al autor del INF proporcionar instrucciones y configuraciones de instalación diferentes para diferentes versiones del sistema operativo.
Consulte Combinación de extensiones de plataforma con versiones del sistema operativo para obtener más información.
Compatibilidad con el tiempo de ejecución
Al intentar modificar el comportamiento en tiempo de ejecución para admitir varias versiones del sistema operativo, se recomienda comprobar la disponibilidad de características o API siempre que sea posible en lugar de intentar comprobar si el código se ejecuta en una determinada versión del sistema operativo o posterior. Por ejemplo, si hay una API que desea usar si está disponible, puede intentar localizarla dinámicamente en lugar de vincularse a ella estáticamente. Si puede localizarla, puede usarla, pero si no está presente en el entorno en ejecución actual, puede revertir a algún comportamiento alternativo.
Modo kernel
Para el modo kernel, consulte Escritura de controladores para diferentes versiones de Windows para obtener más información sobre cómo admitir varias versiones de Windows desde un único controlador.
Modo usuario
En el modo de usuario, puede usar LoadLibraryEx junto con GetProcAddress para comprobar si una API determinada que desea usar está disponible en el entorno en ejecución actual y para obtener un puntero de función que se usará para llamar a esa API. Consulte Vinculación dinámica en tiempo de ejecución y Uso de la vinculación dinámica en tiempo de ejecución para obtener más información.