Méthode IPrintOemPS ::Command (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 Notes qui suit.
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 de données pour une valeur dwIndex spécifiée, la valeur doit être ERROR_NOT_SUPPORTED.
Valeur retournée
La méthode doit retourner l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
L’opération a réussi. |
|
L’opération a échoué |
|
Cette 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 pilote d’imprimante Microsoft PostScript. 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, qui sont définies dans wingdi.h, sont répertoriées dans le tableau suivant.
Valeur de l’index | Lors de la réception |
---|---|
PSINJECT_BEGINDEFAULTS | Une fois que le pilote d’imprimante a envoyé %%BeginDefaults au flux de données. |
PSINJECT_BEGINPAGESETUP | Une fois que le pilote d’imprimante a envoyé %%BeginPageSetup au flux de données. |
PSINJECT_BEGINPROLOG | Une fois que le pilote d’imprimante a envoyé %%BeginProlog au flux de données. |
PSINJECT_BEGINSETUP | Une fois que le pilote d’imprimante a 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 remplacent le commentaire %%BoundingBox : du pilote. |
PSINJECT_COMMENTS | Avant que le pilote d’imprimante envoie %%EndComments au flux de données. |
PSINJECT_DLFONT | Avant que le pilote d’impression télécharge une police souple. |
PSINJECT_DOCNEEDEDRES |
Une fois que le pilote d’imprimante a 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, elles sont ajoutées 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 la section %%Trailer . |
PSINJECT_DOCSUPPLIEDRES |
Une fois que le pilote d’imprimante a 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, elles sont ajoutées 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 la section %%Trailer . |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Lorsque le pilote d’imprimante est prêt à insérer %%DocumentProcessColors :color dans le flux de données. Les données fournies par IPrintOemPS ::Command remplacent le commentaire %%DocumentProcessColors :color du pilote. | |
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 remplacent le commentaire %%DocumentProcessColors :(atend) du pilote. | |
PSINJECT_ENDDEFAULTS | Avant que le pilote d’imprimante n’envoie %%EndDefaults au flux de données. |
PSINJECT_ENDPAGECOMMENTS | Avant que le pilote d’imprimante envoie %%EndPageComments au flux de données. |
PSINJECT_ENDPAGESETUP | Avant que le pilote d’imprimante envoie %%EndPageSetup au flux de données. |
PSINJECT_ENDPROLOG | Avant que le pilote d’imprimante 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 | Après que le pilote d’imprimante a envoyé le dernier octet du flux de données. |
PSINJECT_EOF | Une fois que le pilote d’imprimante a 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 remplacent le commentaire %%Orientation : du pilote. |
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 remplacent le commentaire %%PageBoundingBox : du pilote. |
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 remplacent le commentaire %%Page : du pilote. |
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 remplacent le commentaire %%PageOrder : du pilote. |
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 remplacent le commentaire %%Pages :nnn du pilote. |
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 remplacent le commentaire %%Pages :(atend) du pilote. |
PSINJECT_PAGETRAILER | Une fois que le pilote d’imprimante a envoyé %%PageTrailer au flux de données. |
PSINJECT_PLATECOLOR | Lorsque le pilote d’imprimante est prêt à insérer %%PlateColor :color dans le flux de données. Les données fournies par IPrintOemPS ::Command remplacent le commentaire %%PlateColor :color du pilote. |
PSINJECT_PSADOBE | Avant que le pilote d’imprimante envoie % ! PS-Adobe dans le flux de données. |
PSINJECT_SHOWPAGE | Avant que le pilote d’imprimante envoie une commande showpage . |
PSINJECT_TRAILER | Une fois que le pilote d’imprimante a envoyé %%Trailer au flux de données. |
PSINJECT_VMRESTORE | Une fois que le pilote d’imprimante a envoyé une commande de restauration . (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 save . (Voir PSINJECT_VMRESTORE.) |
La méthode IPrintOemPS ::Command doit appeler IPrintOemDriverPS ::D rvWriteSpoolBuf pour insérer les commandes PostScript.
Si les 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 l’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 l’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’une méthode IPrintOemPS ::Command fournisse 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 l’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 d’imprimante POSTSCRIPT_INJECTION , aucun plug-in n’est appelé.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | prcomoem.h (inclure Prcomoem.h) |