Prise en charge de l’API Win32 pour les capacités d’impression
Important
La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.
Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.
Le sous-système d'impression de Windows Vista fournit un support de compatibilité qui permet aux applications Windows Presentation Foundation (WPF) d'utiliser des pilotes d'impression basés sur GDI et aux applications Microsoft Win32 d'utiliser des pilotes d'impression XPSDrv. Cette compatibilité est assurée par une couche de cales logicielles. Les cales sont des modules logiciels qui effectuent des opérations de transformation sur les données afin que des logiciels autrement incompatibles puissent interopérer. La figure suivante montre les chemins de données de cette implémentation pour les capacités d'impression.
Les pilotes d'impression XPSDrv et les pilotes d'impression basés sur GDI, version 3, prennent en charge la fonction DrvDeviceCapabilities. Lorsqu'une application Win32 appelle DrvDeviceCapabilities ou la fonction GetDevCap, le sous-système d'impression appelle DrvDeviceCapabilities pour collecter les informations relatives aux capacités de l'appareil auprès du pilote d'impression.
Lorsqu'une application WPF fait la requête d'un document PrintCapabilities auprès d'un pilote d'impression, le sous-système d'impression effectue l'une des opérations suivantes :
Si le pilote d'impression prend en charge l'interface IPrintTicketProvider, le sous-système d'impression demande au pilote d'impression le document PrintCapabilities en utilisant la méthode IPrintTicketProvider::GetPrintCapabilities.
Si le pilote d'impression ne prend pas en charge l'interface IPrintTicketProvider, le gestionnaire de tickets d'impression interroge la fonction DrvDeviceCapabilities du pilote d'impression et utilise les informations renvoyées pour créer un document PrintTicket qui est renvoyé à l'application.
Pour plus d'informations sur la manière dont l'interface IPrintTicketProvider est prise en charge par les pilotes d'impression Microsoft, voir Conception de l'interface du pilote d'imprimante et du plug-in dans Windows Vista.