Compartir a través de


Uso de manifiestos de tema

Importante

La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.

Si agrega un manifiesto de tema al controlador de impresión para Windows XP, puede asegurarse de que los elementos de la interfaz de usuario del controlador coincidan con el estilo visual de Windows XP.

El estilo visual en Windows XP es el resultado de los cambios en los controles comunes de Shell (Comctl32.dll, versión 6.0). Esta versión es casi totalmente compatible con la versión 5.0. Sin embargo, pueden producirse algunos problemas con controladores escritos para la versión 5.0 cuando se ejecutan en la versión 6.0. Para evitar estos problemas, el sistema de impresión no obliga a los controladores a usar Comctl32.dll versión 6.0. Para obtener un manifiesto de tema de ejemplo, consulte \src\print\oemdll\ThemeUI\ThemeUI.Manifest en WDK.

Si agrega un manifiesto de tema al controlador que especifica la dependencia de la versión 6 de Comctl32.dll, funcionará correctamente en Windows XP y versiones posteriores del sistema operativo, así como en Windows 2000. Windows 2000 ignora el manifiesto; por lo tanto, cualquier uso del contexto de activación falla. Tenga en cuenta que, dado que Comctl32.dll versión 5.0 no está incluido en la caché global de ensamblados (GAC), un manifiesto que especifica una dependencia de esta versión del archivo DLL interrumpe el componente. En este caso, se produce un error en la llamada a LoadLibrary de la API de Win32 al intentar cargar Comctl32.dll.

Una aplicación puede tener un manifiesto global (o de aplicación). Si este manifiesto global contiene una redireccionamiento para usar Comctl32.dll versión 6.0, obliga a toda la interfaz de usuario que crea la aplicación a usar el mismo tema. Un resultado de esto es que los controladores de impresora iniciados desde una aplicación con un manifiesto global podrían verse obligados a usar Comctl32.dll versión 6.0, independientemente de cualquier redirección Comctl32.dll en el manifiesto del controlador.

Para obtener más información sobre manifiestos y ensamblados, contextos de activación, aplicaciones aisladas y uso compartido de ensamblados en paralelo, consulte la documentación del SDK de Microsoft Windows.