Partilhar via


Suporte à API do Win32 para recursos de impressão

Importante

A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte o guia de design do aplicativo de suporte Print.

O subsistema de impressão do Windows Vista fornece suporte de compatibilidade que permite que aplicativos do Windows Presentation Foundation (WPF) usem drivers de impressão baseados em GDI e permite que aplicativos baseados no Microsoft Win32 usem drivers de impressão XPSDrv. Esta compatibilidade é fornecida através de uma camada de calços de software. Shims são módulos de software que executam operações de transformação nos dados para que softwares incompatíveis possam interoperar. A figura a seguir mostra os caminhos de dados dessa implementação para recursos de impressão.

diagrama que ilustra os fluxos de dados de capacidades de impressão.

Os drivers de impressão XPSDrv e os drivers de impressão baseados em GDI, versão 3, suportam a função DrvDeviceCapabilities. Quando uma aplicação Win32 chama DrvDeviceCapabilities ou a função GetDevCap, o subsistema de impressão chamará DrvDeviceCapabilities para coletar as informações de capacidade do dispositivo do driver de impressão.

Quando um aplicativo WPF solicita um documento PrintCapabilities de um driver de impressão, o subsistema de impressão fará o seguinte:

  • Se o driver de impressão suportar a interface IPrintTicketProvider , o subsistema de impressão consultará o driver de impressão para obter o documento PrintCapabilities usando o método IPrintTicketProvider::GetPrintCapabilities .

  • Se o driver de impressão não suportar a interface IPrintTicketProvider, o Print Ticket Manager consultará a função DrvDeviceCapabilities do driver de impressão e usará as informações retornadas para criar um documento PrintTicket que será retornado ao aplicativo.

Para obter mais informações sobre como a interface IPrintTicketProvider é suportada pelos drivers de impressão da Microsoft, consulte "Printer Driver and Plug-in Interface Design in Windows Vista".