Jak używać dekoracji w plikach INF dla sterowników drukarek
Ważny
Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.
Aby uzyskać więcej informacji, zobacz przewodnik projektowania aplikacji obsługujących druk .
Sterowniki drukarek, które działają w systemie Windows Server 2003 z dodatkiem SP1 lub nowszym oraz w 64-bitowej wersji systemu Windows XP lub nowszych, i które są przeznaczone dla architektur x64, muszą zawierać oznaczoną sekcję modelek INF, jak to pokazano w poniższym przykładzie. Jednak ze względu na to, że sterownik może być zainstalowany jako dodatkowy sterownik w wersji systemu Windows przed systemem Windows Server 2003 z dodatkiem SP1, plik INF musi również zawierać nieozdobioną sekcję Modele INF. Zaleca się również, aby dekoracje były używane do instalowania sterowników opartych na itanium.
W poniższych przykładach pokazano, jak napisać plik INF, który może służyć do instalowania sterownika dla architektury pojedynczego procesora.
Przykład sterownika x64
W pierwszym przykładzie pokazano, jak za pomocą nieoznaczonej sekcji Modele INF zainstalować sterownik x64 na wersjach systemu Windows starszych niż Windows XP lub na maszynach z procesorami x86 lub Itanium uruchomionych na systemie Windows XP lub Windows Server 2003. Dekoracja NTamd64 w drugiej sekcji Modeli INF powoduje zainstalowanie sterownika x64 na maszynie o dowolnej architekturze procesora działającej na systemie Windows Server 2003 z dodatkiem Service Pack 1 lub nowszym.
[MANUFACTURER]
%Acme Corp.% = Acme, NTamd64
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_x64.PPD, <hardware IDs and compatible IDs for this printer>
[Acme.NTamd64]
"Acme LaserWhiz 100 PS" = Acme100_x64.PPD, <hardware IDs and compatible IDs for this printer>
Przykład sterownika opartego na itanium
W następnym przykładzie pokazano, jak użyć nieozdobionej sekcji Modele INF w celu zainstalowania sterownika opartego na architekturze Itanium na wersjach systemu Windows wcześniejszych niż Windows XP, lub na komputerze x86 z systemem Windows XP lub Windows Server 2003 przed dodatkiem SP1. Dekoracja NTia64 w drugiej sekcji Modele INF powoduje zainstalowanie sterownika opartego na itanium na maszynie dowolnej architektury procesora z systemem Windows Server 2003 z dodatkiem SP1 lub nowszym.
[MANUFACTURER]
%Acme Corp.% = Acme, NTia64
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_ia64.PPD, <hardware IDs and compatible IDs for this printer>
[Acme.NTia64]
"Acme LaserWhiz 100 PS" = Acme100_ia64.PPD, <hardware IDs and compatible IDs for this printer>
Przykład sterownika x86
W następnym przykładzie sekcja Modele INF nie wymaga dekoracji. Nie trzeba określać architektury procesora, ponieważ zakłada się, że nieukodowana sekcja odwołuje się do sterownika x86. Można dodać sekcję Modele INF z dekoracją NTx86, ale należy pamiętać, że należy również dołączyć sekcję niewyróżnionych modeli INF dla wersji systemu Windows przed Windows Server 2003 z dodatkiem SP1.
[MANUFACTURER]
%Acme Corp.% = Acme
...
[Acme]
"Acme LaserWhiz 100 PS" = Acme100_x86.PPD, <hardware IDs and compatible IDs for this printer>
Obsługa wielu architektur w jednym pliku INF
W tej sekcji pokazano, jak napisać plik INF, który może służyć do instalowania sterowników drukarek dla wielu architektur procesora.
Aby utworzyć plik INF, który może służyć do instalowania sterowników dla wielu architektur, napisz sekcję Modele INF, a następnie utwórz dowolną liczbę kopii, aby każda obsługiwana architektura ma własną sekcję Modele INF. Dodaj odpowiednią dekorację dla każdej architektury procesora do poszczególnych sekcji wynikowych modeli INF, jak pokazano w poniższym przykładzie.
[MANUFACTURER]
%Acme Corp% = Acme, NTamd64, NTia64
...
;; Used to install
;; - a driver of any architecture type, on a machine running Windows 2000
;; - a driver of any architecture type, on an x86 machine running Windows XP or Windows Server 2003
;; - an x86 driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; Used to install
;; - an x64 driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme.NTamd64]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; Used to install
;; - a driver of any architecture type, on an Itanium-based machine running Windows XP or Windows Server 2003
;; - an Itanium-based driver on a machine of any architecture type, running Windows Server 2003 with SP1
[Acme.NTia64]
%Acme Model 1% = Acme100PS, <hardware IDs and compatible IDs for this printer>
;; DDInstall Section.
;; This sample assumes that all three versions of the driver
;; use the same DDInstall section.
[Acme100PS]
CopyFiles = MyDriverFile.dll, ...
[DestinationDirs]
DefaultDestDir=66000
[SourceDisksNames.x86]
1= %Location%,,,
[SourceDisksFiles.x86]
MyDriverFile.dll = 1,\i386
...
[SourceDisksNames.amd64]
1= %Location%,,,
[SourceDisksFiles.amd64]
MyDriverFile.dll = 1,\amd64
...
[SourceDisksNames.ia64]
1= %Location%,,,
[SourceDisksFiles.ia64]
MyDriverFile.dll = 1,\ia64
...
[Strings]
Acme Corp = "Acme Corporation"
Acme Model 1 = "Acme LaserWhiz 100 PS"
Location = "Acme CD ROM"