Partager via


IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode, méthode (prcomoem.h)

La méthode IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode convertit un ticket d’impression en structure DEVMODEW.

Syntaxe

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Paramètres

[in] pPrintTicket

Pointeur vers le ticket d’impression d’entrée.

[in] cbDevmode

Taille, en octets, de la structure d’entrée DEVMODEW. Cette taille inclut les sections publiques et privées de la structure DEVMODEW.

[in, out] pDevmode

Pointeur vers la structure DEVMODEW d’entrée. Lorsque IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode retourne, la structure DEVMODEW privée du plug-in contiendra des informations obtenues à partir du ticket d’impression.

[in] cbDrvPrivateSize

Taille, en octets, de la structure DEVMODEW privée du plug-in.

[in] pPrivateDevmode

Pointeur vers la structure de DEVMODEW privée du plug-in.

Valeur de retour

IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode doit retourner S_OK si l’opération réussit. Sinon, cette méthode doit retourner un code d’erreur COM standard.

Remarques

Le pilote principal appelle la méthode IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode avant d’effectuer sa partie de la conversion d’un ticket d’impression en structure DEVMODEW. Dans l’appel à cette méthode, le pilote principal transmet un ticket d’impression d’entrée entièrement rempli et une structure DEVMODEW définie sur les valeurs par défaut. Dans la conversion, le plug-in doit annuler les modifications apportées au ticket d’impression pendant la conversion précédente d’une structure DEVMODEW vers un ticket d’impression. Si, au cours de cette conversion précédente, le plug-in a déplacé une fonctionnalité d’un espace de noms privé vers l’espace de noms public, le plug-in doit restaurer la fonctionnalité dans l’espace de noms privé dans un format adapté au pilote principal, autrement dit le format dans lequel le pilote principal avait précédemment placé la fonctionnalité dans le ticket d’impression fourni au plug-in dans la IPrintOemPrintTicketProvider :: ConvertDevModeToPrintTicket méthode. Cette restauration est nécessaire afin que le pilote principal puisse reconnaître la fonctionnalité dans le ticket d’impression et refléter ses paramètres dans une partie privée de la structure DEVMODEW du pilote principal tandis que le pilote principal effectue sa partie de la conversion du ticket d’impression vers DEVMODEW.

Avant que le système ne convertit un ticket d’impression en structure DEVMODEW, il charge d’abord la structure DEVMODEW par défaut. Le système appelle ensuite la méthode IPrintOemPrintTicketProvider ::BindPrinter du fournisseur. Cette méthode doit ensuite lire tous les paramètres pris en charge à partir du ticket d’impression et remplir ces paramètres dans la structure DEVMODEW. Notez que toutes les fonctionnalités ne sont pas nécessairement représentées, et que souvent, les instances d’option présentes peuvent ne pas contenir toutes les instances de propriété notées que le fournisseur remplirait normalement. Si le fournisseur apporte des modifications aux paramètres renseignés par le système lors de la conversion d’un ticket d’impression vers DEVMODEW, le fournisseur doit effectuer l’inverse de cette modification dans la méthode IPrintOemPrintTicketProvider ::ConvertPrintTicketToDevMode méthode. Une fois le fournisseur retourné, le système remplace ensuite les paramètres DEVMODEW publics représentés dans le ticket d’impression, mais qui ne sont pas explicitement désactivés par le fournisseur.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête prcomoem.h (include Prcomoem.h)

Voir aussi

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider ::ConvertDevModeToPrintTicket