Share via


IPrintOemUni ::CommandCallback, méthode (prcomoem.h)

La IPrintOemUni::CommandCallback méthode est utilisée pour fournir des commandes d’imprimante générées dynamiquement pour les imprimantes prises en charge par Unidrv.

Syntaxe

HRESULT CommandCallback(
        PDEVOBJ pdevobj,
        DWORD   dwCallbackID,
        DWORD   dwCount,
        PDWORD  pdwParams,
  [out] OUT INT *piResult
);

Paramètres

pdevobj

Pointeur fourni par l’appelant vers une structure DEVOBJ .

dwCallbackID

Valeur fournie par l’appelant représentant l’attribut *CallbackID de la commande d’imprimante dans le fichier GPD de l’imprimante. (Pour plus d’informations, consultez la section Remarques suivante.)

dwCount

Valeur fournie par l’appelant représentant le nombre d’éléments dans le tableau pointé par pdwParams. Peut être 0.

pdwParams

Pointeur fourni par l’appelant vers un tableau de paramètres de taille DWORD contenant les valeurs spécifiées par l’attribut *Params des commandes d’imprimante dans le fichier GPD de l’imprimante. (Pour plus d’informations, consultez la section Remarques suivante.) Peut être NULL.

[out] piResult

Reçoit une valeur de résultat fournie par la méthode. Consultez la section Remarques suivante.

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

La IPrintOemUni::CommandCallback méthode est utilisée par les plug-ins de rendu pour générer dynamiquement des commandes d’imprimante, pour les imprimantes prises en charge par Unidrv.

Si vous souhaitez générer dynamiquement une commande d’imprimante, vous devez inclure un attribut *CallbackID et, éventuellement, un attribut *Params , dans l’entrée *Command de la commande dans le fichier GPD de l’imprimante. Pour plus d’informations , consultez Commandes d’imprimante générées dynamiquement.

Quand Unidrv appelle la IPrintOemUni::CommandCallback méthode, il fournit la valeur de l’attribut *CallbackID de l’entrée de commande en tant que paramètre dwCallbackID . Il place également la valeur de l’attribut *Params de l’entrée de commande à l’intérieur d’un tableau DWORD et fournit l’adresse du tableau en tant que paramètre pParams . Le tableau contient un ensemble de valeurs de variables standard définies par Unidrv, et le paramètre dwCount spécifie le nombre de paramètres contenus dans le tableau. Pour plus d’informations sur les attributs, consultez Attributs de commande.

La méthode doit utiliser la valeur du paramètre dwCallbackID pour déterminer la commande à traiter. Pour chaque commande prise en charge, la méthode doit savoir quelles variables standard ont été spécifiées, le cas échéant, par l’attribut *Params de l’entrée *Command et dans quel ordre.

La méthode est responsable de la construction d’une commande d’imprimante, puis de l’envoi de la commande au spouleur d’impression en appelant la méthode IPrintOemDriverUni ::D rvWriteSpoolBuf .

La valeur fournie pour piResult doit toujours retourner zéro, sauf si la méthode traite une commande curseur. Pour les commandes de curseur qui déplacent le curseur dans la direction x ou dans la direction, la méthode doit retourner la nouvelle position du curseur.

La IPrintOemUni::CommandCallback méthode est facultative. Si un plug-in de rendu implémente cette méthode, la méthode IPrintOemUni ::GetImplementedMethod du plug-in doit retourner S_OK lorsqu’elle reçoit « CommandCallback » comme entrée.

Configuration requise

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