IPrintOemPS ::Command, méthode (prcomoem.h)
La méthode IPrintOemPS ::Command est utilisée par le rendu des plug-ins pour le pilote d’imprimante Microsoft PostScript afin d’insérer des commandes PostScript dans le flux de données du travail d’impression.
Syntaxe
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
Paramètres
pdevobj
Pointeur fourni par l’appelant vers une structure DEVOBJ.
dwIndex
Valeur fournie par l’appelant représentant le point d’injection actuel dans le flux de données du travail d’impression. Pour plus d’informations, consultez la section Remarques suivante.
pData
Non utilisé.
cbSize
Non utilisé.
[out] pdwResult
Reçoit une valeur fournie par la méthode indiquant le résultat de l’opération d’insertion. Si l’insertion réussit, cette valeur doit être ERROR_SUCCESS. Si l’insertion échoue, la valeur doit être l’un des codes d’erreur définis dans winerror.h. Si la méthode ne tente pas d’insérer des données pour une valeur dwIndex spécifiée, la valeur doit être ERROR_NOT_SUPPORTED.
Valeur de retour
La méthode doit retourner l’une des valeurs suivantes.
Retourner le code | Description |
---|---|
|
L’opération a réussi. |
|
Échec de l’opération |
|
La méthode n’est pas implémentée. |
Remarques
La méthode IPrintOemPS ::Command est utilisée pour insérer des commandes PostScript dans le flux de données généré par le Microsoft PostScript Printer Driver. Si vous souhaitez fournir cette méthode, vous devez la définir dans un plug-in de rendu.
Lorsque la méthode IPrintOemPS ::Command est appelée, son paramètre dwIndex spécifie le point d’injection actuel dans le flux de données du travail d’impression. La méthode doit utiliser cette valeur pour déterminer quelle opération, le cas échéant, effectuer. Les valeurs d’index, définies dans wingdi.h, sont répertoriées dans le tableau suivant.
Valeur d’index | Lorsqu’il est reçu |
---|---|
PSINJECT_BEGINDEFAULTS | Une fois le pilote d’imprimante envoyé %%BeginDefaults au flux de données. |
PSINJECT_BEGINPAGESETUP | Une fois le pilote d’imprimante envoyé %%BeginPageSetup au flux de données. |
PSINJECT_BEGINPROLOG | Une fois le pilote d’imprimante envoyé %%BeginProlog au flux de données. |
PSINJECT_BEGINSETUP | Une fois le pilote d’imprimante envoyé %%BeginSetup au flux de données. |
PSINJECT_BEGINSTREAM | Avant que le pilote d’imprimante envoie le premier octet du flux de données. |
PSINJECT_BOUNDINGBOX | Lorsque le pilote d’imprimante est prêt à insérer %%BoundingBox: dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%BoundingBoxdu pilote : commentaire. |
PSINJECT_COMMENTS | Avant que le pilote d’imprimante n’envoie %%EndComments au flux de données. |
PSINJECT_DLFONT | Avant que le pilote d’impression télécharge une police réversible. |
PSINJECT_DOCNEEDEDRES |
Une fois le pilote d’imprimante envoyé %%DocumentNeededResources: au flux de données, ainsi que des informations sur les ressources. Si la méthode IPrintOemPS ::Command envoie des informations de ressource, elle est ajoutée au flux après les informations de ressource du pilote. Le format d’entrée est le suivant : %%+ ResourceTypeResourceNames Le pilote d’imprimante envoie %%DocumentNeededResources: après l’envoi de %%Trailer section. |
PSINJECT_DOCSUPPLIEDRES |
Une fois le pilote d’imprimante envoyé %%DocumentSuppliedResources: au flux de données, ainsi que des informations sur les ressources. Si la méthode IPrintOemPS ::Command envoie des informations de ressource, elle est ajoutée au flux après les informations de ressource du pilote. Le format d’entrée est le suivant : %%+ ResourceTypeResourceNames Le pilote d’imprimante envoie %%DocumentSuppliedResources: après l’envoi de %%Trailer section. |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Lorsque le pilote d’imprimante est prêt à insérer %%DocumentProcessColors:couleur dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%DocumentProcessColorsdu pilote :commentaire de couleur. | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
Lorsque le pilote d’imprimante est prêt à insérer %%DocumentProcessColors:(atend) dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le commentaire %%DocumentProcessColorsdu pilote :(atend). | |
PSINJECT_ENDDEFAULTS | Avant que le pilote d’imprimante n’envoie %%EndDefaults au flux de données. |
PSINJECT_ENDPAGECOMMENTS | Avant que le pilote d’imprimante n’envoie %%EndPageComments au flux de données. |
PSINJECT_ENDPAGESETUP | Avant que le pilote d’imprimante n’envoie %%EndPageSetup au flux de données. |
PSINJECT_ENDPROLOG | Avant que le pilote d’imprimante n’envoie %%EndProlog au flux de données. |
PSINJECT_ENDSETUP | Avant que le pilote d’imprimante n’envoie %%EndSetup au flux de données. |
PSINJECT_ENDSTREAM | Une fois que le pilote d’imprimante envoie le dernier octet du flux de données. |
PSINJECT_EOF | Une fois le pilote d’imprimante envoyé %%EOF au flux de données. |
PSINJECT_ORIENTATION | Lorsque le pilote d’imprimante est prêt à insérer %%Orientation: dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%Orientationdu pilote : commentaire. |
PSINJECT_PAGEBBOX | Lorsque le pilote d’imprimante est prêt à insérer %%PageBoundingBox: dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%PageBoundingBoxdu pilote : commentaire. |
PSINJECT_PAGENUMBER | Lorsque le pilote d’imprimante est prêt à insérer %%Page: dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%Pagedu pilote : commentaire. |
PSINJECT_PAGEORDER | Lorsque le pilote d’imprimante est prêt à insérer %%PageOrder: dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%PageOrderdu pilote : commentaire. |
PSINJECT_PAGES | Lorsque le pilote d’imprimante est prêt à insérer %%Pages:nnn dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%Pagesdu pilote :nnn commentaire. |
PSINJECT_PAGESATEND | Lorsque le pilote d’imprimante est prêt à insérer %%Pages:(atend) dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le commentaire %%Pagesdu pilote :(atend). |
PSINJECT_PAGETRAILER | Une fois le pilote d’imprimante envoyé %%PageTrailer au flux de données. |
PSINJECT_PLATECOLOR | Lorsque le pilote d’imprimante est prêt à insérer %%PlateColor:couleur dans le flux de données. Les données fournies par IPrintOemPS ::Command remplace le %%PlateColordu pilote :commentaire de couleur. |
PSINJECT_PSADOBE | Avant que le pilote d’imprimante envoie %! PS-Adobe au flux de données. |
PSINJECT_SHOWPAGE | Avant que le pilote d’imprimante envoie une commande showpage. |
PSINJECT_TRAILER | Une fois le pilote d’imprimante envoyé %%Trailer au flux de données. |
PSINJECT_VMRESTORE | Une fois que le pilote d’imprimante envoie une commande restore. (La méthode IPrintOemPS ::Command doit renvoyer toutes les ressources qu’elle a envoyées après la dernière PSINJECT_VMSAVE, si les ressources vont être réutilisées.) |
PSINJECT_VMSAVE | Avant que le pilote d’imprimante envoie une commande enregistrer. (Voir PSINJECT_VMRESTORE.) |
La méthode IPrintOemPS ::Command doit appeler IPrintOemDriverPS ::D rvWriteSpoolBuf pour insérer les commandes PostScript.
Si méthodes IPrintOemPS ::Command sont exportées par plusieurs plug-ins de rendu, les méthodes sont appelées dans l’ordre dans lequel les plug-ins sont spécifiés pour l’installation, chaque fois que le pilote d’imprimante atteint un point d’injection. Les règles suivantes s’appliquent :
Si le point d’injection est un pour lequel les données fournies sont ajoutées aux données fournies par le pilote d’imprimante, chaque plug-in est appelé et chaque plug-in est autorisé à ajouter des commandes PostScript.
Si le point d’injection est un pour lequel les données fournies remplacent les données fournies par le pilote d’imprimante, les plug-ins sont appelés jusqu’à ce qu’un méthode IPrintOemPS ::Command fournit ERROR_SUCCESS pour dwResult. Aucun autre plug-in n’est appelé. Si tous les plug-ins fournissent ERROR_NOT_SUPPORTED, les données fournies par le pilote ne sont pas remplacées.
Si le point d’injection est un pour lequel les données fournies remplacent les données fournies par le pilote d’imprimante et si une application a déjà remplacé les données fournies par le pilote à l’aide de la fonction d’échappement de l’imprimante POSTSCRIPT_INJECTION, aucun plug-in n’est appelé.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | prcomoem.h (include Prcomoem.h) |