Freigeben über


IPrintOemUni::CommandCallback-Methode (prcomoem.h)

Die IPrintOemUni::CommandCallback-Methode wird verwendet, um dynamisch generierte Druckerbefehle für 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 die *CallbackID Attribut des Druckers 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 die durch pdwParamsverwiesen wird. Kann 0 sein.

pdwParams

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

[out] piResult

Empfängt einen von der Methode bereitgestellten Ergebniswert. Siehe den folgenden Abschnitt "Hinweise".

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 IPrintOemUni::CommandCallback-Methode wird verwendet, indem Plug-Ins gerendert werden, um Druckerbefehle dynamisch zu generieren, für Drucker, die von Unidrvunterstützt werden.

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

Wenn Unidrv die IPrintOemUni::CommandCallback-Methode aufruft, stellt sie den *Command-Eintrag *CallbackID Attributwert als dwCallbackID Parameter bereit. Außerdem wird der *Command-Eintrag *Params Attributwert in einem DWORD-Array platziert und die Adresse des Arrays als pParams Parameter bereitgestellt. Das Array enthält einen Satz von unidrv-definierten Standardvariablen Werten, und der dwCount Parameter gibt die Anzahl der parameter im Array 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 beachten, welche Standardvariablen durch das *Command-Eintrags -Params Attribut und in welcher Reihenfolge angegeben wurden.

Die Methode ist für das Erstellen eines Druckerbefehls und das Senden des Befehls an den Druckspooler durch Aufrufen der IPrintOemDriverUni::D rvWriteSpoolBuf-Methode verantwortlich.

Der für piResult angegebene Wert sollte immer null zurückgeben, es sei denn, die Methode verarbeitet einen Cursorbefehl. Bei Cursorbefehlen, die den Cursor entweder in der x- oder in 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 S_OK zurückgeben, wenn es "CommandCallback" als Eingabe empfängt.

Anforderungen

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