Compartir vía


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 diferentes versiones del sistema operativo con el fin de 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.

Compatibilidad con INF

Las decoraciones targetOSVersion en las secciones de modelos INF del INF permiten al autor inf proporcionar diferentes instrucciones de instalación y configuración 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 versión determinada del sistema operativo o posterior. Por ejemplo, si hay una API que quiere usar si está disponible, puede intentar localizarla dinámicamente en lugar de vincularla estáticamente a ella. Si puede localizarlo, puede usarlo, 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 solo controlador.

Modo de 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.