Freigeben über


Verwenden von Designmanifesten

Wichtig

Die Modern Print-Plattform ist die von Windows bevorzugte Methode zur Kommunikation mit Druckern. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie unter Modern Print-Plattform und der Anleitung zum Design der Print-Support-App.

Wenn Sie Ihrem Druckertreiber für Windows XP ein Designmanifest hinzufügen, können Sie sicherstellen, dass die Elemente der Benutzeroberfläche in Ihrem Treiber dem visuellen Stil von Windows XP entsprechen.

Der visuelle Stil in Windows XP ist das Ergebnis von Änderungen in den Shell Common Controls (Comctl32.dll, Version 6.0). Diese Version ist fast vollständig abwärtskompatibel mit Version 5.0. Allerdings können einige Probleme mit Treibern auftreten, die für Version 5.0 geschrieben wurden, wenn sie unter Version 6.0 laufen. Um solche Probleme zu vermeiden, zwingt das Drucksystem die Treiber nicht zur Verwendung von Comctl32.dll Version 6.0. Ein Beispiel für ein Designmanifest finden Sie unter \src\print\oemdll\ThemeUI\ThemeUI.Manifest im WDK.

Wenn Sie Ihrem Treiber ein Designmanifest hinzufügen, das die Abhängigkeit von der Version 6 der Comctl32.dll angibt, funktioniert er unter Windows XP und späteren Betriebssystemversionen sowie unter Windows 2000 ordnungsgemäß. Windows 2000 ignoriert das Manifest; die Verwendung des Aktivierungskontextes schlägt daher immer fehl. Da die Version 5.0 von Comctl32.dll nicht im globalen Assembler-Cache (GAC) enthalten ist, führt ein Manifest, das eine Abhängigkeit von dieser Version der DLL angibt, zu einem Bruch der Komponente. In diesem Fall schlägt die Anfrage an die Win32 API LoadLibrary beim Versuch, Comctl32.dll zu laden, fehl.

Eine Anwendung kann ein globales (oder Anwendungs)-Manifest haben. Wenn dieses globale Manifest eine Umleitung zur Verwendung von Comctl32.dll Version 6.0 enthält, zwingt dies alle Benutzeroberflächen, die die Anwendung erstellt, dazu, dasselbe Design zu verwenden. Eine Folge davon ist, dass Druckertreiber, die aus einer Anwendung mit einem globalen Manifest gestartet werden, gezwungen sein können, Comctl32.dll Version 6.0 zu verwenden, unabhängig von einer Comctl32.dll-Umleitung im Treibermanifest.

Weitere Informationen über Manifeste und Assemblies, Aktivierungskontexte, isolierte Anwendungen und die gemeinsame Nutzung von Assemblies finden Sie in der Microsoft Windows SDK-Dokumentation.