Schreiben von Core-Treibern
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.
Die Entwickler von Druckertreibern können die Core-Treiberfunktionen von Windows Vista nutzen. Um einen Core-Treiber zu erstellen, erzeugen Sie eine GUID, die andere Treiberpakete verwenden können, um auf die Dateien zu verweisen, aus denen der Core-Treiber besteht. Die Definition der Core-Treiberdatei Unidrv in der Datei Ntprint.inf wird beispielsweise im folgenden Beispiel gezeigt:
[Microsoft.NTx86]
"{D20EA372-DD35-4950-9ED8-A6335AFE79F0}" =
{D20EA372-DD35-4950-9ED8-A6335AFE79F0},
{D20EA372-DD35-4950-9ED8-A6335AFE79F0}
[{D20EA372-DD35-4950-9ED8-A6335AFE79F0}]
CopyFiles=UNIDRV,PJLMON.DLL,@TTFSUB.GPD,@LOCALE.GPD,@MSXPSINC.GPD
[UNIDRV]
; Unidrv files and pjlmon sections follow...
Mit dieser Definition kann eine Druckertreiber-INF-Datei auf Core-Treiberdateien verweisen, indem sie das Schlüsselwort CoreDriverSections verwendet, wie in dem vorherigen Beispiel gezeigt.
Es ist wichtig zu beachten, dass ein Core-Treiber die Kompatibilität mit früheren Versionen beibehalten muss. Da der Core-Treiber von mehreren Treibern verwendet werden kann, muss er bei einer Aktualisierung weiterhin mit den vorhandenen Treibern funktionieren, die von ihm abhängen. Der Core-Treiber muss als Teil des Treiberpakets geliefert werden.
Der Core-Treiber wird mit einem Abschnitt Modell definiert, der eine Gerätebeschreibung enthält, die die Core-Treiber-GUID ist. Zum Beispiel:
; Model section
[Company.NTx86]
"{GUID1}" = {GUID1}, {GUID1}
; Install section - must list all files in the core printer driver
[{GUID1}]
DriverVer = MM/DD/YYYY,1.1.1.1
CopyFiles=MANUFACTURER_CORE_FILESET
; Core Driver Section, can use print-specific INF keywords here
[MANUFACTURER_CORE]
CopyFiles=MANUFACTURER_CORE_FILESET
[MANUFACTURER_CORE_FILESET]
File1.dll
File2.dll
File3.dll
[ControlFlags]
AlwaysExcludeFromSelect = {GUID1}
Der Core-Treiber muss im Installationsabschnitt mit dem Schlüsselwort DriverVer Versionsinformationen enthalten. Der Installationsabschnitt muss auch alle Dateien auflisten, die der Core-Treiber benötigt. Verwenden Sie das neue Schlüsselwort AlwaysExcludeFromSelect, um sicherzustellen, dass der Core-Treiber dem Benutzer in der Benutzeroberfläche nicht angezeigt wird.