Поддержка API Win32 для возможностей печати
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в руководстве по проектированию приложений для поддержки печати .
Подсистема печати Windows Vista обеспечивает поддержку совместимости, которая позволяет приложениям Windows Presentation Foundation (WPF) использовать драйверы печати на основе GDI и позволяет приложениям на основе Microsoft Win32 использовать драйверы печати XPSDrv. Эта совместимость обеспечивается с помощью слоя программных шима. Шимы — это программные модули, выполняющие операции преобразования данных, чтобы в противном случае несовместимое программное обеспечение иначе может взаимодействовать. На следующем рисунке показаны пути к данным этой реализации для возможностей печати.
схема, иллюстрирующая возможности печати потоков данных.
Драйверы печати XPSDrv и драйверы на основе GDI версии 3 поддерживают функцию DrvDeviceCapabilities. Когда приложение Win32 вызывает DrvDeviceCapabilities или функцию GetDevCap, подсистема печати вызовет DrvDeviceCapabilities для сбора сведений о возможностях устройства из драйвера печати.
Когда приложение WPF запрашивает документ PrintCapabilities из драйвера печати, подсистема печати выполняет одно из следующих действий:
Если драйвер печати поддерживает интерфейс IPrintTicketProvider, подсистема печати запрашивает драйвер печати для документа PrintCapabilities с помощью метода IPrintTicketProvider::GetPrintCapabilities.
Если драйвер печати не поддерживает интерфейс IPrintTicketProvider, диспетчер билетов print запрашивает функцию DrvDeviceCapabilities драйвера печати и использует возвращенную информацию для создания документа PrintTicket, возвращаемого приложению.
Дополнительные сведения о том, как интерфейс IPrintTicketProvider поддерживается драйверами печати Майкрософт, см. в статье "Драйвер принтера" и "Подключаемый интерфейс" в Windows Vista.