Partager via


Accès aux interfaces du pilote d’imprimante à partir de Plug-Ins

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.

Si un plug-in appelle des méthodes qui appartiennent aux interfaces COM IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 , il doit obtenir un pointeur d’interface à partir du pilote comme suit :

  1. Le plug-in doit implémenter la méthode PublishDriverInterface de l’interface IPrintOemUI, IPrintOemUI2, IPrintOemUNI2, IPrintOemPS ou IPrintOemPS2.

  2. Lorsque le pilote (Unidrv ou Pscript5) appelle la méthode PublishDriverInterface du plug-in, il fournit un pointeur vers l’interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 de l’instance IUnknown.

  3. Le plug-in doit utiliser le pointeur d’interface IUnknown pour appeler IUnknown::QueryInterface, en spécifiant l’identificateur d’interface qui représente la version souhaitée de l’interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 . (Pour plus d’informations, consultez Identificateurs d’interface pour les pilotes d’imprimante.)

  4. Si le plug-in spécifie un identificateur d’interface représentant une version d’interface prise en charge par le pilote, QueryInterface renvoie un pointeur vers l’interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 . Notez que le pilote appelle la méthode AddRef de l’interface (décrite dans la documentation du SDK Windows) avant de retourner le pointeur d’interface vers le plug-in. Le plug-in doit enregistrer ce pointeur pour l’utiliser ultérieurement pour appeler des méthodes d’interface.

  5. Lorsque le pointeur d’interface IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS ou IPrintCorePS2 n’est plus nécessaire, le plug-in doit appeler la méthode Release de l’interface (décrite dans la documentation du SDK Windows).

Pour que les plug-ins utilisent la nouvelle interface Windows Vista IPrintCoreHelperPS ou IPrintCoreHelperUni , le plug-in doit ajouter la prise en charge des OEMGI_GETREQUESTEDHELPERINTERFACES dans sa méthode IPrintOemUI::GetInfo, IPrintOemPS::GetInfo ou IPrintOemUni::GetInfo .