Partager via


Remplacement de Driver-Supplied pages de feuille de propriétés

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP 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’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application de support d’impression.

L’interface COM IPrintCoreUI2 fournit quatre méthodes qu’un plug-in d’interface utilisateur Pscript5 s’exécutant sur Windows XP et les versions ultérieures du système d’exploitation Windows doit utiliser lorsqu’il a l’intention de remplacer entièrement les pages d’interface utilisateur standard du pilote principal. (Le terme pilote principal fait référence au pilote d’imprimante Unidrv ou Pscript5.) Ces méthodes sont les suivantes :

IPrintCoreUI2::EnumConstrainedOptions

IPrintCoreUI2::GetOptions

IPrintCoreUI2::SetOptions

IPrintCoreUI2::WhyConstrained

Ces méthodes sont prises en charge uniquement pendant l’exécution des méthodes IPrintOemUI::D ocumentPropertySheets et IPrintOemUI::D evicePropertySheets du plug-in d’interface utilisateur et de leurs routines de rappel de feuille de propriétés. Un plug-in d’interface utilisateur prend en charge ces méthodes pour afficher sa propre interface utilisateur. Lorsqu’elles ne sont pas prises en charge, ces méthodes retournent E_NOTIMPL.

Le pilote principal affiche sa propre interface utilisateur de feuille de propriétés dans deux circonstances : pour DrvDocumentPropertySheets et pour DrvDevicePropertySheets. La première méthode affiche des propriétés qui s’appliquent uniquement aux documents (propriétés collantes de document), tandis que la deuxième méthode affiche les propriétés qui s’appliquent à un appareil (propriétés collantes de périphérique ou d’imprimante).

Le pilote principal mémorise le type de feuille de propriétés qu’il gère (et par conséquent, le mode - document-collant ou imprimante-collant). Le pilote principal enregistre ces informations d’état dans une structure (la structure OEMUIOBJ ) qu’il crée pour l’instance d’interface utilisateur. Lorsque le pilote principal appelle les méthodes d’interface d’un plug-in, elle transmet un pointeur vers une structure OEMUIOBJ, de sorte que lorsqu’un plug-in rappelle le pilote principal à partir de IPrintCoreUI2::EnumConstrainedOptions, IPrintCoreUI2::GetOptions, IPrintCoreUI2::SetOptions ou IPrintCoreUI2::WhyConstrained, ces méthodes transmettent le pointeur au pilote principal, qui est ensuite en mesure de déterminer le mode.

Pour IPrintCoreUI2::EnumConstrainedOptions, IPrintCoreUI2::SetOptions et IPrintCoreUI2::WhyConstrained, seules les fonctionnalités document-sticky sont prises en charge lors de l’exécution de IPrintOemUI::D ocumentPropertySheets ou de sa routine de rappel de feuille de propriétés, et seules les fonctionnalités d’impression-sticky sont prises en charge lors de l’exécution de IPrintOemUI::D evicePropertySheets ou de sa routine de rappel de feuille de propriétés. Pour IPrintCoreUI2::SetOptions, toute fonctionnalité dont l’adhérence ne correspond pas au mode sticky actuel doit être ignorée. Lorsque IPrintCoreUI2::EnumConstrainedOptions ou IPrintCoreUI2::WhyConstrained est appelé pour une fonctionnalité dont l’adhérence ne correspond pas au mode sticky actuel, la méthode doit retourner E_INVALIDARG.

Pour IPrintCoreUI2::GetOptions, les fonctionnalités document-sticky et printer-sticky sont prises en charge en mode document-sticky (c’est-à-dire lorsque IPrintOemUI::D ocumentPropertySheets ou sa routine de rappel de feuille de propriétés sont en cours d’exécution), mais seules les fonctionnalités imprimante-sticky sont prises en charge en mode imprimante-sticky (lorsque IPrintOemUI::D evicePropertySheets ou sa routine de rappel de feuille de propriétés sont en cours d’exécution).