Freigeben über


IPrintOemUni::CommandCallback-Methode (prcomoem.h)

Die IPrintOemUni::CommandCallback -Methode wird verwendet, um dynamisch generierte Druckerbefehle für von Unidrv unterstützte Drucker bereitzustellen.

Syntax

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

Parameter

pdevobj

Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ-Struktur .

dwCallbackID

Vom Aufrufer bereitgestellter Wert, der das *CallbackID-Attribut des Druckerbefehls in der GPD-Datei des Druckers darstellt. (Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".)

dwCount

Vom Aufrufer bereitgestellter Wert, der die Anzahl der Elemente im Array darstellt, auf das von pdwParams verwiesen wird. Kann 0 sein.

pdwParams

Vom Aufrufer bereitgestellter Zeiger auf ein Array von Parametern in DWORD-Größe, die Werte enthalten, die durch das *Params-Attribut des Druckers in der GPD-Datei des Druckers angegeben sind. (Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".) Kann NULL sein.

[out] piResult

Empfängt einen von der Methode bereitgestellten Ergebniswert. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

Die -Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich ausgeführt.
E_FAIL
Fehler beim Vorgang
E_NOTIMPL
Die Methode ist nicht implementiert.

Hinweise

Die IPrintOemUni::CommandCallback -Methode wird beim Rendern von Plug-Ins verwendet, um Druckerbefehle für Drucker, die von Unidrv unterstützt werden, dynamisch zu generieren.

Wenn Sie einen Druckerbefehl dynamisch generieren möchten, müssen Sie ein *CallbackID-Attribut und optional ein *Params-Attribut in den *Command-Eintrag des Befehls in der GPD-Datei des Druckers einschließen. Weitere Informationen finden Sie unter Dynamisch generierte Druckerbefehle.

Wenn Unidrv die IPrintOemUni::CommandCallback -Methode aufruft, wird der *CallbackID-Attributwert des *Command-Eintrags als dwCallbackID-Parameter angegeben. Außerdem platziert er den *Params-Attributwert des *Command-Eintrags in einem DWORD-Array und gibt die Adresse des Arrays als pParams-Parameter an . Das Array enthält einen Satz von unidrv-definierten Standardwerten , und der dwCount-Parameter gibt die Anzahl der im Array enthaltenen Parameter an. Weitere Informationen zu den Attributen finden Sie unter Befehlsattribute.

Die -Methode sollte den dwCallbackID-Parameterwert verwenden, um zu bestimmen, welcher Befehl verarbeitet werden soll. Für jeden unterstützten Befehl muss die -Methode wissen, welche Standardvariablen , falls vorhanden, durch das *Params-Attribut des *Command-Eintrags angegeben wurden und in welcher Reihenfolge.

Die -Methode ist für das Erstellen eines Druckerbefehls und das Senden des Befehls an den Druckspooler verantwortlich, indem sie die IPrintOemDriverUni::D rvWriteSpoolBuf-Methode aufruft.

Der für piResult angegebene Wert sollte immer null zurückgeben, es sei denn, die Methode verarbeitet einen Cursorbefehl. Bei Cursorbefehlen , die den Cursor in x - oder -Richtung verschieben, sollte die Methode die neue Cursorposition zurückgeben.

Die IPrintOemUni::CommandCallback Methode ist optional. Wenn ein Rendering-Plug-In diese Methode implementiert, muss die IPrintOemUni::GetImplementedMethod-Methode des Plug-Ins S_OK zurückgeben, wenn es "CommandCallback" als Eingabe empfängt.

Anforderungen

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