Partager via


Modification d’une page de la fiche de propriétés fournie par le pilote

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.

Un plug-in UI peut modifier les pages de feuilles de propriétés fournies par Unidrv ou Pscript5 en implémentant la méthode IPrintOemUI::CommonUIProp et une fonction de rappel.

Le plug-in UI utilise la méthode IPrintOemUI::CommonUIProp pour spécifier un ensemble d’éléments d’option que CPSUI peut ajouter, supprimer ou remplacer dans la page Paramètres du périphérique de la feuille de propriétés de l’imprimante ou dans les pages Mise en page, Papier/Qualité et Avancé de la feuille de propriétés du document.

La fonction de rappel, de type OEMCUIPCALLBACK, est utilisée pour traiter les modifications apportées par l’utilisateur aux éléments d’option personnalisés.

Ajout d’éléments d’option

Votre plug-in UI doit décrire les nouveaux éléments d’option en les plaçant dans un tableau de structures OPTITEM fournies par le pilote. La DLL d’interface d’imprimante du pilote appelle deux fois la méthode IPrintOemUI::CommonUIProp du plug-in UI. La première fois que la méthode est appelée, elle doit renvoyer le nombre de structures OPTITEM requises. Le pilote alloue de l’espace pour un tableau OPTITEM et décrit le tableau dans une structure OEMCUIPPARAM. Le pilote appelle à nouveau IPrintOemUI::CommonUIProp, en fournissant l’adresse de la structure OEMCUIPPARAM, afin que la méthode puisse charger les structures OPTITEM avec des descriptions d’option.

Suppression d’éléments d’option

Pour supprimer une option d’une page de feuille de propriétés fournie par Unidrv ou Pscript5, la méthode IPrintOemUI::CommonUIProp de votre plug-in UI peut parcourir le tableau de structures OPTITEM pointé par la structure OEMCUIPPARAM. Pour chaque option que vous souhaitez supprimer de la feuille de propriétés, vous pouvez définir l’indicateur OPTIF_HIDE dans la structure OPTITEM. (Notez que cela ne supprime pas réellement l’option ; cela cache l’option à l’utilisateur afin que celui-ci ne puisse pas modifier sa valeur par défaut).

Remplacement d’éléments d’option

Pour remplacer une option dans une page de feuille de propriétés fournie par Unidrv ou Pscript, vous devez suivre les instructions de la section précédente Suppression d’éléments d’option pour supprimer l’élément d’option existant, puis suivre les instructions de la section précédente Ajout d’éléments d’option pour créer un nouvel élément d’option pour remplacer l’ancien.

Gestion des modifications apportées aux valeurs d’options personnalisées

Pour traiter les modifications apportées par l’utilisateur aux éléments d’option personnalisés, vous devez fournir au moins une fonction de rappel. Vous pouvez soit spécifier une fonction de rappel unique qui gère les options à la fois pour la feuille de propriétés du document et celle de l’imprimante, soit spécifier une fonction distincte pour chacune. Ces fonctions de rappel sont de type OEMCUIPCALLBACK.

Une fonction de rappel est spécifiée en plaçant son adresse dans une structure OEMCUIPPARAM. Le plug-in UI reçoit l’adresse de cette structure en entrée de sa méthode IPrintOemUI::CommonUIProp.

Lorsqu’un utilisateur ouvre la feuille de propriétés de l’imprimante ou du document et modifie les options, CPSUI appelle la DLL d’interface d’imprimante du pilote d’impression. Cette DLL traite les valeurs des options contenues dans ses propres structures OPTITEM. Ensuite, pour chaque plug-in UI, la DLL d’interface d’imprimante appelle la fonction de rappel typée OEMCUIPCALLBACK qui a été spécifiée précédemment par IPrintOemUI::CommonUIProp.