Поделиться через


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

Внимание

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

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

Если несколько файлов драйверов печати совместно используют драйверы драйверов печати, общие файлы должны быть изолированы в основной драйвер. Например, Unidrv — это коллекция файлов, которые используют многие драйверы печати, поэтому Unidrv является основным драйвером.

Драйверы печати Unidrv используют директивы Needs and Include INF-file, как показано в следующем разделе INF-файла для Windows XP:

[UniDrvInstall]
CopyFiles=@OEMRES.DLL,@OEMABC.GPD
DataFile=OEMABC.GPD
DataSection=UNIDRV_DATA
Include=NTPRINT.INF
Needs=UNIDRV.OEM,TTFSUB.OEM

В Windows Vista драйверы с поддержкой пакетов должны использовать новое ключевое слово CoreDriverSections при обращении к файлам Unidrv, как показано в следующем разделе INF-файла для Windows Vista:

[UniDrvInstall_Vista]
CopyFiles=@OEMRES.DLL,@OEMABC.GPD
DataFile=OEMABC.GPD
CoreDriverSections="{D20EA372-DD35-4950-9ED8-A6335AFE79F0}, 
 UNIDRV.OEM, UNIDRV_DATA, TTFSUB.OEM"

По состоянию на Windows Vista не включайте ntprint.inf, так как Unidrv упаковано в качестве основного драйвера и называется его глобально уникальным идентификатором (GUID). При использовании основных драйверов не используйте ключевое слово DataSection , но вместо этого обратитесь к этому разделу из ключевого слова CoreDriverSections .

Файлы пакета печати ядра перечислены в следующей таблице.

Основной файл GUID
UNIDRV {D20EA372-DD35-4950-9ED8-A6335AFE79F0}
PSCRIPT {D20EA372-DD35-4950-9ED8-A6335AFE79F1}
PCLXL {D20EA372-DD35-4950-9ED8-A6335AFE79F2}
ПЛОТТЕР {D20EA372-DD35-4950-9ED8-A6335AFE79F4}
XPSDRV {D20EA372-DD35-4950-9ED8-A6335AFE79F5}

Можно ссылаться на несколько основных разделов драйверов; Например:

CoreDriverSections="{GUID1}, SectionName1, SectionName2", "{GUID2}, SectionName3"

При установке драйвера, зависящем от основного драйвера, установщик печати будет искать последнюю версию этого основного драйвера в хранилище драйверов и установит последнюю версию.

В этом разделе рассматриваются следующие темы:

Написание основных драйверов

Использование основных драйверов

Пример основного драйвера