Share via


IPrintOemUI ::P ublishDriverInterface, méthode (prcomoem.h)

La IPrintOemUI::PublishDriverInterface méthode permet à un plug-in d’interface utilisateur d’obtenir l’interface IPrintOemDriverUI, IPrintCoreUI,IPrintCoreHelperPS ou IPrintCoreHelperUni du pilote Unidrv ou Pscript5.

Syntaxe

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

Paramètres

pIUnknown

Pointeur fourni par l’appelant vers l’interface IUnknown de l’interface COM IPrintCoreUI2 du pilote, de l’interface COM IPrintOemDriverUI, del’interface IPrintCoreHelperPS ou de l’interface IPrintCoreHelperUni du pilote. Consultez la section Notes.

Valeur de retour

La méthode doit retourner l’une des valeurs suivantes.

Code de retour Description
S_OK
L’opération a réussi.
E_FAIL
L'opération a échoué.

Remarques

Le pilote Pscript5 prend en charge les interfaces IPrintCoreUI2, IPrintOemDriverUI et IPrintCoreHelperPS . Unidrv prend en charge les interfaces IPrintOemDriverUI et IPrintCoreHelperUni . Les plug-ins d’interface utilisateur pour les deux types de pilotes doivent implémenter la IPrintOemUI::PublishDriverInterface méthode .

La méthode doit retourner des informations sur ses interfaces Pscript5 prises en charge comme suit :

  1. Le pilote Pscript5 appelle d’abord la IPrintOemUI::PublishDriverInterface méthode avec le pointeur pIUnknown défini sur l’interface IUnknown du instance IPrintCoreUI2. Si le plug-in d’interface utilisateur peut utiliser l’interface IPrintCoreUI2 , la méthode doit retourner S_OK. Sinon, le plug-in doit retourner E_FAIL.
  2. Si le plug-in a retourné E_FAIL, le pilote Pscript5 appelle à nouveau la IPrintOemUI::PublishDriverInterface méthode, mais avec le pointeur pIUnknown défini sur l’interface IPrintOemDriverUI de l’instance IUnknown. Si le plug-in peut utiliser l’interface IPrintOemDriverUI , la méthode doit retourner S_OK. Sinon, le plug-in doit retourner E_FAIL.
  3. Si la méthode IPrintOemUI ::GetInfo du plug-in a retourné une valeur de OEMPUBLISH_IPRINTCOREHELPER dans pBuffer en réponse à un appel avec dwMode défini sur OEMGI_GETREQUESTEDHELPERINTERFACES, le pilote Pscript5 appelle à nouveau la IPrintOemUI::PublishDriverInterface méthode, mais avec le pointeur pIUnknown défini sur un objet qui implémente les interfaces IPrintCoreHelperPS et IPrintCoreHelper . Si le plug-in peut utiliser l’interface IPrintCoreHelperPS ou IPrintCoreHelper , la méthode doit retourner S_OK. Sinon, la méthode doit retourner E_FAIL.
La méthode doit retourner des informations sur ses interfaces Unidrv prises en charge comme suit :
  1. Le pilote Unidrv appelle d’abord la IPrintOemUI::PublishDriverInterface méthode avec le pointeur pIUnknown défini sur l’interface IUnknown du instance IPrintOemDriverUI. Si le plug-in peut utiliser l’interface IPrintOemDriverUI , la méthode doit retourner S_OK. Sinon, le plug-in doit retourner E_FAIL.
  2. Si la méthode IPrintOemUI ::GetInfo du plug-in a retourné une valeur de OEMPUBLISH_IPRINTCOREHELPER dans pBuffer en réponse à un appel avec dwMode défini sur OEMGI_GETREQUESTEDHELPERINTERFACES, le pilote Unidrv appelle à nouveau la IPrintOemUI::PublishDriverInterface méthode, mais avec le pointeur pIUnknown défini sur un objet qui implémente les interfaces IPrintCoreHelperUni et IPrintCoreHelper . Si le plug-in utilise l’interface IPrintCoreHelperUni ou IPrintCoreHelper , la méthode doit retourner S_OK. Sinon, la méthode doit retourner E_FAIL.
Si le plug-in échoue tous les appels à IPrintOemUI::PublishDriverInterface, le plug-in ne reçoit pas d’autres appels. Si le plug-in d’interface utilisateur appelle les méthodes d’interface IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS ou IPrintCoreHelperUni, il doit utiliser le pointeur d’interface IUnknown reçu pour appeler IUnknown ::QueryInterface (décrit dans la documentation Microsoft Windows SDK) afin d’obtenir un pointeur vers la version prise en charge du pilote de l’IPrintCoreUI2, Interface IPrintOemDriverUI, IPrintCoreHelperPS ou IPrintCoreHelperUni. Pour plus d’informations, consultez Identificateurs d’interface pour les pilotes d’imprimante.

Pendant le traitement de chaque fonction DDI, les plug-ins d’interface utilisateur ne doivent pas combiner l’utilisation des méthodes des interfaces pré-Windows Vista (par exemple, l’interface IPrintOemDriverUI ou IPrintCoreUI2 ) et les nouvelles méthodes des interfaces Windows Vista (par exemple, IPrintCoreHelperUni ou IPrintCoreHelperPS) pour lire ou écrire des paramètres de pilote. Par exemple, pendant la méthode IPrintOemUI ::D ocumentPropertySheets , le plug-in d’interface utilisateur ne doit pas utiliser la méthode IPrintOemDriverUI ::D rvUpdateUISetting pour écrire des paramètres et utiliser la méthode IPrintCoreHelper ::GetOption pour lire les paramètres. Pour un autre exemple, lors de la méthode IPrintOemUI ::P rinterEvent , le plug-in d’interface utilisateur ne doit pas utiliser la méthode IPrintCoreUI2 ::GetOptions pour lire les paramètres et utiliser la méthode IPrintCoreHelper ::SetOptions pour écrire des paramètres. La synchronisation de la lecture et de l’écriture des paramètres n’est pas prise en charge entre ces différentes versions d’interfaces.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintOemUI

IPrintOemUI ::GetInfo