IPrintTicketProvider2 ::ConvertPrintTicketToDevMode, méthode (prdrvcom.h)
La méthode IPrintTicketProvider2 ::ConvertPrintTicketToDevMode convertit un ticket d’impression en structureDEVMODEW.
Syntaxe
HRESULT ConvertPrintTicketToDevMode(
[in] IN IXMLDOMDocument2 *pPrintTicket,
[in] IN ULONG cbDevmodeIn,
[in] IN PDEVMODE pDevmodeIn,
[out] OUT ULONG *pcbDevmodeOut,
[out] OUT PDEVMODE *ppDevmodeOut
);
Paramètres
[in] pPrintTicket
Pointeur vers le ticket d’impression d’entrée. IPrintTicketProvider2 ::ConvertPrintTicketToDevMode convertit les paramètres du ticket d’impression d’entrée en champs de la structure DEVMODEW.
[in] cbDevmodeIn
Taille, en octets, de la structure d’entrée DEVMODEW. Cette taille inclut à la fois les sections publiques et privées de la structure DEVMODEW.
[in] pDevmodeIn
Pointeur vers l’entrée structure DEVMODEW, qui contient les paramètres par défaut. La structure DEVMODEW peut être la structure de file d’attente d’impression par défaut DEVMODEW, ou il peut s’agir de la structure par défaut DEVMODEW. Étant donné que ce paramètre peut représenter la structure par défaut de l’utilisateur DEVMODEW, le fournisseur de plug-in OEM doit valider les données de cette structure. Un utilisateur par défaut structure de DEVMODEW peut ne pas être valide pour un pilote spécifique, par exemple lorsque le pilote de la file d’attente d’impression change ou est mis à niveau.
[out] pcbDevmodeOut
Pointeur vers une variable qui contient la taille, en octets, de la sortie structure DEVMODEW.
[out] ppDevmodeOut
Pointeur vers une variable qui contient l’adresse de la sortie structure DEVMODEW. Lorsque IPrintTicketProvider2 ::ConvertPrintTicketToDevMode retourne correctement, les membres de la structure de sortie DEVMODEW seront réinitialisés pour refléter les paramètres du ticket d’impression. Pour plus d’informations, consultez la section Remarques suivante.
Valeur de retour
IPrintTicketProvider2 ::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 IPrintTicketProvider2 ::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 lors de la conversion précédente à partir d’une structure DEVMODEW en 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 au 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 une fonctionnalité dans le ticket d’impression et refléter ses paramètres dans la partie privée de la structure du pilote principal DEVMODEW tandis que le pilote principal effectue sa partie du ticket d’impression versconversion de DEVMODEW.
Avant que le système ne convertit un ticket d’impression en structure DEVMODEW, il charge d’abord la DEVMODEWpar défaut. Le système appelle ensuite la méthode IPrintTicketProvider2 ::BindPrinter du fournisseur. Cette méthode doit ensuite lire tous les paramètres pris en charge à partir du ticket d’impression et placer 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 qui ont été remplis par le système pendant la conversion du ticket d’impression vers DEVMODEW, le fournisseur doit effectuer l’inverse de cette modification dans cette méthode. Une fois le fournisseur retourné, le système remplace les paramètres de PUBLIC DEVMODEW qui sont représentés dans le ticket d’impression, mais qui ne sont pas explicitement désactivés par le fournisseur.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | prdrvcom.h (include Prdrvcom.h) |