INF драйвера версии 4

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Модель установки драйвера печати версии 4 продолжает использовать INF-файлы, но также использует новый файл манифеста для записи определенных директив установки принтера.

Внимание

Начиная с WDK для Windows 11 версии 22H2 распространяемые совместно установщики WDF больше не поддерживаются. Сведения о том, как обойти это изменение, см. в статье об известных проблемах, связанных с WDK.

Пример INF

Обратите внимание, что пример INF-файла драйвера печати версии 4, представленный в этом разделе, не содержит директив, относящихся к принтеру. Инструкции, относящиеся к принтеру, содержатся в файле манифеста версии 4, который всегда называется значением "–manifest.ini". Каждый драйвер в пакете драйверов может указывать собственный файл манифеста версии 4.

В следующем примере INF-файла предполагается, что вымышленная компания Fabrikam разработала устройства печати, которые будут установлены для запуска с драйвером печати версии 4.

[Version]
Signature="$Windows NT$"
Provider="Fabrikam"
Class=Printer
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
CatalogFile=prnfa999.CAT
DriverVer=09/12/2010,6.2.8060.4
ClassVer=4.0 ;This causes v4 setup to take place
PnpLockdown=1

[Manufacturer]
"Fabrikam"=Fabrikam,NTamd64

[Fabrikam.NTamd64] ;Add your models here
"Fabrikam Laser 9000" =        Laser9000,Fabrik9000_sdfjkals                     ;HWID example
"Fabrikam Laser 9100" =        Laser9000,Fabrik9100_sjkasj                       ;HWID example
"Fabrikam Laser 9000 series" = Laser9000,{E0691E8C-F7CC-456E-A7B5-D1FC19BA2279}  ;PrinterDriverID

[Laser9000]
CopyFiles=Laser9000_FILES

[Laser9000_FILES]
faPDL.gpd
faPDL-pipelineconfig.xml
faPDL-manifest.ini
faPDL.dll

[SourceDisksNames.amd64]
1 = %Location%,,,
2 = %Location%,,,amd64

[SourceDisksNames.x86]
1 = %Location%,,,
2 = %Location%,,,x86

[DestinationDirs]
DefaultDestDir=66000

[SourceDisksFiles]
faPDL.gpd=1
faPDL-pipelineconfig.xml=1
faPDL-manifest.ini = 1
faPDL.dll =2

[Strings]
Location="Fabrikam DVD"

Директивы INF

В следующей таблице приведен список директив, относящихся к принтеру, которые разрешены в драйверах печати версии 4 и драйверах классов печати.

Директива Description Ограничения Использование
ClassVer Используется для указания того, что драйвер класса принтера имеет версию 4. Драйверы печати версии 4 должны указывать ClassVer=4.0. Драйверы печати версии 3 могут указывать ClassVer=3.0, но это необязательно. В настоящее время никакие другие значения не поддерживаются. ClassVer=4.0

Ключевое слово DestinationDirs

Для INF-файла драйвера версии 4 требуется, чтобы DestinationDir был указан для всех файлов в пакете. Поддерживаемые значения DestinationDir перечислены в следующей таблице.

Идентификатор DestinationDir Description
66000 [Этот идентификатор назначения был перегружен для драйвера версии 4]

V4. Это должно быть задано как DefaultDestDir для драйвера печати версии 4. Указывает, что файлы должны выполняться из хранилища драйверов.

Версия 3. Это указывает, что файлы должны быть установлены в каталог \3.
23 Версия 4. Это должно быть задано в качестве целевогоdir для любых профилей цветов.

V3. Профили цветов должны быть установлены с помощью DirID 66003 для принтера.

Ограничения INF

Драйверы печати версии 4 не должны определять другие директивы или ключевые слова, указанные в следующем списке.

Ключевое слово INF-файла Тип применения
AddInterface Директива
AddReg Директива
AddService Директива
BitReg Директива
ClassInstall32 Тип раздела
ClassInstall32.Service Тип раздела
ConfigFile Директива печати версии 3
CoreDriverDependencies Директива печати версии 3
CoreDriverSections Директива печати версии 3
DataFile Директива печати версии 3
DDInstall.CoInstallers Тип раздела
DDInstall.FactDef Тип раздела
DDInstall.HW Тип раздела
DDInstall.Interfaces Тип раздела
DDInstall.LogConfigOverride Тип раздела
DDInstall.Services Тип раздела
DDInstall.WMI Тип раздела
DefaultInstall Тип раздела
DefaultInstall.Services Тип раздела
DelFiles Директива
DelReg Директива
DelService Директива
DontReflectOffline Директива
DriverFile Директива печати версии 3
DriverIsolation Директива печати версии 3
FeatureScore Директива
HelpFile Директива печати версии 3
Включение Директива
Ini2Reg Директива
InterfaceInstall32 Тип раздела
LayoutFile Директива
LogConfig Директива
Потребности Директива
PackageAware Директива печати версии 3
RenFiles Директива
UpdateIniFields Директива
UpdateInis Директива

Ссылки НА NTPrint

Ссылки NTPrint создаются в файле манифеста. INF-файл не требует никаких сведений о ссылках NTPrint в разделах DDInstall, CopyFiles или SourceDisksFiles.

Ссылки на модуль конфигурации

Все драйверы печати используют один и тот же двоичный модуль конфигурации (PrintConfig.dll); Для драйвера нет механизма выбора модуля конфигурации.

Сведения о создании INF-файла для базового драйвера принтера версии 4 см. в статье "Создание базового драйвера принтера версии 4".