Partager via


Méthode IPrintOemDriverUni ::D rvXMoveTo (prcomoem.h)

La IPrintOemDriverUni::DrvXMoveTo méthode est fournie par le pilote Unidrv afin qu’un plug-in de rendu puisse informer le pilote des modifications de position X du curseur.

Syntaxe

HRESULT DrvXMoveTo(
        PDEVOBJ pdevobj,
        INT     x,
        DWORD   dwFlags,
  [out] OUT INT *piResult
);

Paramètres

pdevobj

Pointeur fourni par l’appelant vers une structure DEVOBJ .

x

Valeur fournie par l’appelant représentant le nombre d’unités que le curseur doit être déplacé. L’unité est définie par les indicateurs MV_GRAPHICS dans dwFlags.

dwFlags

Un ou plusieurs des indicateurs de bits fournis par l’appelant suivants :

Indicateur Définition
MV_GRAPHICS Si elle est définie, la valeur du paramètre x est exprimée en points, en fonction de la résolution actuelle de l’imprimante. Par exemple, si la résolution x est de 150 DPI et x est de 75, le mouvement est ?? Pouces.

Si elle n’est pas définie, la valeur du paramètre x est exprimée en unités master. Par exemple, si l’unité x master est 600 et x est 300, le mouvement est ?? Pouces.

MV_PHYSICAL Si elle est définie, la valeur du paramètre x est relative à l’origine du curseur.

Si elle n’est pas définie, la valeur du paramètre x est relative à l’origine de la zone imprimable.

Impossible de définir si MV_RELATIVE est défini.

MV_RELATIVE Si la valeur est définie, spécifie que le curseur doit être déplacé x unités à partir de sa position actuelle.

S’il n’est pas défini, spécifie que le curseur doit être déplacé x unités à partir de son origine.

MV_UPDATE Si la valeur est définie, spécifie qu’Unidrv doit mettre à jour son calcul actuel de la position du curseur sans déplacer le curseur. (Doit être défini si IPrintOemUni ::ImageProcessing a déplacé le curseur.)

S’il n’est pas défini, spécifie qu’Unidrv doit mettre à jour son calcul actuel de la position du curseur et déplacer le curseur.

[out] piResult

Reçoit le résultat fourni par la méthode de soustraction de la nouvelle position réelle du curseur de la nouvelle position de curseur demandée. Cette valeur peut être égale à zéro, mais elle est toujours non négative.

Valeur retournée

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é.
E_NOTIMPL
Cette méthode n'est pas implémentée.

Remarques

Les IPrintOemDriverUni::DrvXMoveTo méthodes et IPrintOemDriverUni ::D rvYMoveTo permettent à un plug-in de rendu d’envoyer des données d’image au spouleur d’imprimante sans que le pilote d’imprimante ne perde le suivi de la position du curseur de l’imprimante. Si vous fournissez une méthode IPrintOemUni ::ImageProcessing qui envoie des données d’image directement au spouleur d’impression au lieu de les retourner au pilote d’imprimante, la méthode doit appeler IPrintOemDriverUni::DrvXMoveTo et IPrintOemDriverUni::DrvYMoveTo.

L’une des deux techniques peut être utilisée pour mettre à jour la position du curseur :

  • Chaque fois qu’une méthode IPrintOemUni ::ImageProcessing doit mettre à jour la position du curseur, elle peut appeler IPrintOemDriverUni::DrvXMoveTo ou IPrintOemDriverUni::DrvYMoveTo avec l’indicateur MV_UPDATE effacé. Cela oblige Unidrv à envoyer des commandes de curseur au spouleur d’impression et à mettre à jour son calcul interne de la position actuelle du curseur.
  • La méthode IPrintOemUni ::ImageProcessing peut mettre à jour le curseur en envoyant des commandes de curseur directement au spouleur d’impression. Lorsque la méthode a terminé son opération de spoulage, elle peut appeler IPrintOemDriverUni::DrvXMoveTo ou IPrintOemDriverUni::DrvYMoveTo avec l’indicateur MV_UPDATE défini. Cela oblige Unidrv à mettre à jour son calcul interne de la position actuelle du curseur sans envoyer de commandes de curseur au spouleur d’impression.

Configuration requise

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