Архитектура возможностей печати
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Объект PrintCapabilities возвращается методом IPrintTicketProvider::GetPrintCapabilities реализации драйвера печати интерфейса IPrintTicketProvider. Драйверы печати XPSDrv должны реализовать интерфейс IPrintTicketProvider в дополнение к функции DrvDeviceCapabilities.
Вы можете изменить старые драйверы печати на основе GDI, чтобы предоставить документ PrintCapabilities напрямую, но это изменение не требуется. Подсистема печати Windows Vista создает документ XML PrintCapabilities для драйверов на основе GDI, которые не добавляют возможность возврата. Документ PrintCapabilities, который создает подсистема печати Windows Vista, включает только ограниченный набор параметров, поддерживаемых функцией Microsoft Win32 DeviceCapabilities . Чтобы драйвер печати на основе GDI предоставлял полный список функций и возможностей принтера, он должен включать поддержку интерфейса IPrintTicketProvider.
В следующем списке и схеме показано, как различные типы драйверов печати могут поддерживать технологию возможностей печати:
Драйвер печати Unidrv или PScript5
Интерфейс IPrintTicketProvider добавлен в драйверы печати Universal (Unidrv) и PostScript (PScript5) в Windows Vista.
Подключаемый модуль драйвера печати Unidrv или PScript5
Драйверы печати Unidrv и Pscript5 с пользовательскими функциями требуют подключаемых модулей для добавления или удаления функций и возврата точного документа PrintCapabilities. Пользовательские подключаемые модули функций для Unidrv и драйвера печати PScript5 должны поддерживать интерфейс IPrintOemPrintTicketProvider.
Монолитные драйверы печати на основе GDI и XPSDrv
Драйверы печати XPSDrv должны поддерживать интерфейс IPrintTicketProvider. Драйверы печати на основе GDI должны поддерживать интерфейс IPrintTicketProvider для возврата возможностей принтера и функций, которые функция Win32, DeviceCapabilities, не предоставляет.