Freigeben über


IPrintOemPS::Command-Methode (prcomoem.h)

Die IPrintOemPS::Command-Methode wird von Rendering-Plug-Ins für den Microsoft PostScript-Druckertreiber verwendet, 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 Einfügepunkt innerhalb des Datenstroms des Druckauftrags darstellt. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

pData

Wird nicht verwendet.

cbSize

Wird 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
S_OK
Der Vorgang war erfolgreich.
E_FAIL
Fehler beim Vorgang.
E_NOTIMPL
Die Methode ist nicht implementiert.

Bemerkungen

Die IPrintOemPS::Command-Methode wird verwendet, um PostScript-Befehle in den Datenstrom einzufügen, der vom Microsoft PostScript-Druckertreibergeneriert 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 der dwIndex Parameter den aktuellen Einfügpunkt innerhalb des Datenstroms des Druckauftrags an. Die Methode sollte diesen Wert verwenden, um zu bestimmen, welcher Vorgang( falls vorhanden) ausgeführt werden soll. Indexwerte, die in wingdi.h definiert sind, sind in der folgenden Tabelle aufgeführt.

Sollwert Wann empfangen
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, %%BoundingBoxeinzufügen: in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%BoundingBoxdes Treibers : Kommentar.
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: an den Datenstrom gesendet hat, zusammen mit Ressourceninformationen. Wenn die IPrintOemPS::Command Methode Ressourceninformationen sendet, wird sie nach den Ressourceninformationen des Treibers an den Datenstrom angefügt. Das Eintragsformat lautet wie folgt:

%%+ ResourceTypeResourceNames-

Der Druckertreiber sendet %%DocumentNeededResources: nach dem Senden %%Trailer Abschnitts.

PSINJECT_DOCSUPPLIEDRES Nachdem der Druckertreiber %%DocumentSuppliedResources: an den Datenstrom gesendet hat, zusammen mit Ressourceninformationen. Wenn die IPrintOemPS::Command Methode Ressourceninformationen sendet, wird sie nach den Ressourceninformationen des Treibers an den Datenstrom angefügt. Das Eintragsformat lautet wie folgt:

%%+ ResourceTypeResourceNames-

Der Druckertreiber sendet %%DocumentSuppliedResources: nach dem Senden %%Trailer Abschnitts.

PSINJECT_DOCUMENTPROCESSCOLORS
Wenn der Druckertreiber bereit ist, %%DocumentProcessColorseinzufügen:Farbe in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%DocumentProcessColorsdes Treibers :Farbe Kommentar.
PSINJECT_DOCUMENTPROCESSCOLORSATEND
Wenn der Druckertreiber bereit ist, %%DocumentProcessColors:(atend) in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%DocumentProcessColorsdes Treibers :(Atend)-Kommentar.
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, %%Orientationeinzufügen: in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%Orientationdes Treibers : Kommentar.
PSINJECT_PAGEBBOX Wenn der Druckertreiber bereit ist, %%PageBoundingBoxeinzufügen: in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%PageBoundingBoxdes Treibers : Kommentar.
PSINJECT_PAGENUMBER Wenn der Druckertreiber bereit ist, %%Pageeinzufügen: in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%Pagedes Treibers : Kommentar.
PSINJECT_PAGEORDER Wenn der Druckertreiber bereit ist, %%PageOrdereinzufügen: in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%PageOrderdes Treibers : Kommentar.
PSINJECT_PAGES Wenn der Druckertreiber bereit ist, %%Pageseinzufügen:nnn in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%Pagesdes Treibers :nnn Kommentar.
PSINJECT_PAGESATEND Wenn der Druckertreiber bereit ist, %%Pages:(atend) in den Datenstrom einzufügen. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen den %%Pagesdes Treibers :(Atend)-Kommentar.
PSINJECT_PAGETRAILER Nachdem der Druckertreiber %%PageTrailer an den Datenstrom gesendet hat.
PSINJECT_PLATECOLOR Wenn der Druckertreiber bereit ist, %%PlateColoreinzufügen:Farbe in den Datenstrom. Die von IPrintOemPS::Command bereitgestellten Daten ersetzen die %%PlateColordes Treibers :Farbe Kommentar.
PSINJECT_PSADOBE Bevor der Druckertreiber %sendet! PS-Adobe zum Datenstrom.
PSINJECT_SHOWPAGE Bevor der Druckertreiber einen Befehl "Showpage" 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 erneut senden, die nach dem letzten PSINJECT_VMSAVE gesendet wurden, wenn die Ressourcen wiederverwendet werden.)
PSINJECT_VMSAVE Bevor der Druckertreiber einen Speichern Befehl 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 Einfügepunkt erreicht. Die folgenden Regeln gelten:

  • Wenn der Einfügepunkt einer ist, für den bereitgestellte 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 Einfügepunkt 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 dwResultbereitstellt. 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 Einfügepunkt einer ist, für den die bereitgestellten Daten die vom Druckertreiber bereitgestellten Daten ersetzen, und wenn eine Anwendung die vom Treiber bereitgestellten Daten bereits mithilfe der POSTSCRIPT_INJECTION Drucker-Escapefunktion ersetzt hat, werden keine Plug-Ins aufgerufen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- prcomoem.h (einschließlich Prcomoem.h)