IPrintOemPS::Command-Methode (prcomoem.h)
Die IPrintOemPS::Command-Methode wird verwendet, um Plug-Ins für den Microsoft PostScript-Druckertreiber zu rendern, um PostScript-Befehle in den Datenstrom des Druckauftrags einzufügen.
Syntax
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
Parameter
pdevobj
Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ-Struktur .
dwIndex
Vom Aufrufer bereitgestellter Wert, der den aktuellen Einschleuspunkt innerhalb des Datenstroms des Druckauftrags darstellt. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
pData
Nicht verwendet.
cbSize
Nicht verwendet.
[out] pdwResult
Empfängt einen von der Methode bereitgestellten Wert, der das Ergebnis des Einfügevorgangs angibt. Wenn die Einfügung erfolgreich ist, sollte dieser Wert ERROR_SUCCESS werden. Wenn die Einfügung fehlschlägt, sollte der Wert einer der in winerror.h definierten Fehlercodes sein. Wenn die Methode nicht versucht, Daten für einen angegebenen dwIndex-Wert einzufügen, sollte der Wert ERROR_NOT_SUPPORTED werden.
Rückgabewert
Die -Methode muss einen der folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Der Vorgang wurde erfolgreich ausgeführt. |
|
Fehler beim Vorgang |
|
Die Methode ist nicht implementiert. |
Hinweise
Die IPrintOemPS::Command-Methode wird verwendet, um PostScript-Befehle in den Datenstrom einzufügen, der vom Microsoft PostScript-Druckertreiber generiert wird. Wenn Sie diese Methode bereitstellen möchten, müssen Sie sie in einem Rendering-Plug-In definieren.
Wenn die IPrintOemPS::Command-Methode aufgerufen wird, gibt ihr dwIndex-Parameter den aktuellen Injektionspunkt innerhalb des Datenstroms des Druckauftrags an. Die -Methode sollte diesen Wert verwenden, um zu bestimmen, welcher Vorgang ggf. ausgeführt werden soll. Indexwerte, die in wingdi.h definiert sind, sind in der folgenden Tabelle aufgeführt.
Indexwert | Beim Empfang |
---|---|
PSINJECT_BEGINDEFAULTS | Nachdem der Druckertreiber %%BeginDefaults an den Datenstrom gesendet hat. |
PSINJECT_BEGINPAGESETUP | Nachdem der Druckertreiber %%BeginPageSetup an den Datenstrom gesendet hat. |
PSINJECT_BEGINPROLOG | Nachdem der Druckertreiber %%BeginProlog an den Datenstrom gesendet hat. |
PSINJECT_BEGINSETUP | Nachdem der Druckertreiber %%BeginSetup an den Datenstrom gesendet hat. |
PSINJECT_BEGINSTREAM | Bevor der Druckertreiber das erste Byte des Datenstroms sendet. |
PSINJECT_BOUNDINGBOX | Wenn der Druckertreiber bereit ist, %%BoundingBox: in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%BoundingBox-Kommentar des Treibers. |
PSINJECT_COMMENTS | Bevor der Druckertreiber %%EndComments an den Datenstrom sendet. |
PSINJECT_DLFONT | Bevor der Drucktreiber eine weiche Schriftart herunterlädt. |
PSINJECT_DOCNEEDEDRES |
Nachdem der Druckertreiber %%DocumentNeededResources: zusammen mit Ressourceninformationen an den Datenstrom gesendet hat. Wenn die IPrintOemPS::Command-Methode Ressourceninformationen sendet, werden sie nach den Ressourceninformationen des Treibers an den Stream angefügt. Das Eingabeformat lautet wie folgt: %%+ResourceTypeResourceNames Der Druckertreiber sendet %%DocumentNeededResources: nach dem Senden des %%Trailer-Abschnitts . |
PSINJECT_DOCSUPPLIEDRES |
Nachdem der Druckertreiber %%DocumentSuppliedResources: zusammen mit Ressourceninformationen an den Datenstrom gesendet hat. Wenn die IPrintOemPS::Command-Methode Ressourceninformationen sendet, werden sie nach den Ressourceninformationen des Treibers an den Stream angefügt. Das Eingabeformat lautet wie folgt: %%+ResourceTypeResourceNames Der Druckertreiber sendet %%DocumentSuppliedResources: nach dem Senden des %%Trailer-Abschnitts . |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Wenn der Druckertreiber bereit ist, %%DocumentProcessColors:color in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%DocumentProcessColors:color-Kommentar des Treibers. | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
Wenn der Druckertreiber bereit ist, %%DocumentProcessColors:(atend) in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%DocumentProcessColors:(atend)-Kommentar des Treibers. | |
PSINJECT_ENDDEFAULTS | Bevor der Druckertreiber %%EndDefaults an den Datenstrom sendet. |
PSINJECT_ENDPAGECOMMENTS | Bevor der Druckertreiber %%EndPageComments an den Datenstrom sendet. |
PSINJECT_ENDPAGESETUP | Bevor der Druckertreiber %%EndPageSetup an den Datenstrom sendet. |
PSINJECT_ENDPROLOG | Bevor der Druckertreiber %%EndProlog an den Datenstrom sendet. |
PSINJECT_ENDSETUP | Bevor der Druckertreiber %%EndSetup an den Datenstrom sendet. |
PSINJECT_ENDSTREAM | Nachdem der Druckertreiber das letzte Byte des Datenstroms gesendet hat. |
PSINJECT_EOF | Nachdem der Druckertreiber %%EOF an den Datenstrom gesendet hat. |
PSINJECT_ORIENTATION | Wenn der Druckertreiber bereit ist, %%Ausrichtung: in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%Orientation:- Kommentar des Treibers. |
PSINJECT_PAGEBBOX | Wenn der Druckertreiber bereit ist, %%PageBoundingBox: in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%PageBoundingBox-Kommentar des Treibers. |
PSINJECT_PAGENUMBER | Wenn der Druckertreiber bereit ist, %%Page: in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den % %Page:- Kommentar des Treibers. |
PSINJECT_PAGEORDER | Wenn der Druckertreiber bereit ist, %%PageOrder: in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%PageOrder:- Kommentar des Treibers. |
PSINJECT_PAGES | Wenn der Druckertreiber bereit ist, %%Pages:nnn in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%Pages:nnn-Kommentar des Treibers. |
PSINJECT_PAGESATEND | Wenn der Druckertreiber bereit ist, %%Pages:(atend) in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%Pages:(atend)-Kommentar des Treibers. |
PSINJECT_PAGETRAILER | Nachdem der Druckertreiber %%PageTrailer an den Datenstrom gesendet hat. |
PSINJECT_PLATECOLOR | Wenn der Druckertreiber bereit ist, %%PlateColor:color in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%PlateColor:color-Kommentar des Treibers. |
PSINJECT_PSADOBE | Bevor der Druckertreiber %! sendet PS-Adobe zum Datenstrom. |
PSINJECT_SHOWPAGE | Bevor der Druckertreiber einen showpage-Befehl sendet. |
PSINJECT_TRAILER | Nachdem der Druckertreiber %%Trailer an den Datenstrom gesendet hat. |
PSINJECT_VMRESTORE | Nachdem der Druckertreiber einen Wiederherstellungsbefehl gesendet hat. (Die IPrintOemPS::Command-Methode muss alle Ressourcen, die sie nach der letzten PSINJECT_VMSAVE gesendet hat, erneut senden, wenn die Ressourcen wiederverwendet werden.) |
PSINJECT_VMSAVE | Bevor der Druckertreiber einen Speicherbefehl sendet. (Siehe PSINJECT_VMRESTORE.) |
Die IPrintOemPS::Command-Methode muss IPrintOemDriverPS::D rvWriteSpoolBuf aufrufen, um die PostScript-Befehle einzufügen.
Wenn IPrintOemPS::Command-Methoden von mehreren Rendering-Plug-Ins exportiert werden, werden die Methoden in der Reihenfolge aufgerufen, in der die Plug-Ins für die Installation angegeben werden, jedes Mal, wenn der Druckertreiber einen Einschleuspunkt erreicht. Es gelten die folgenden Regeln:
Wenn der Einschleuspunkt einer ist, für den die bereitgestellten Daten an die vom Druckertreiber bereitgestellten Daten angefügt werden, wird jedes Plug-In aufgerufen, und jedes Plug-In darf PostScript-Befehle anfügen.
Wenn der Einschleuspunkt einer ist, für den die bereitgestellten Daten die vom Druckertreiber bereitgestellten Daten ersetzen, werden die Plug-Ins aufgerufen, bis eine IPrintOemPS::Command-Methode ERROR_SUCCESS für dwResult bereitstellt. Es werden keine anderen Plug-Ins aufgerufen. Wenn alle Plug-Ins ERROR_NOT_SUPPORTED bereitstellen, werden die vom Treiber bereitgestellten Daten nicht ersetzt.
Wenn der Einschleuspunkt einer ist, für den die angegebenen Daten die vom Druckertreiber bereitgestellten Daten ersetzen, und wenn eine Anwendung die vom Treiber bereitgestellten Daten bereits mithilfe der POSTSCRIPT_INJECTION Drucker escape-Funktion ersetzt hat, werden keine Plug-Ins aufgerufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | prcomoem.h (include Prcomoem.h) |