Freigeben über


SNA Print Server Data Filter API

Sie konfigurieren den Pfad zur Druckdatenfilter-DLL. Diese DLL wird von allen Sitzungen, die den Host-Druckdienst aktiv nutzen, verwendet. Die Druckdatenfilter-DLL kann jedoch angeben, ob die Druckdaten einer bestimmten Sitzung an sie übergeben werden sollen.

Die Einstiegspunkte zu dieser DLL werden wie folgt aufgeführt:

PrtFilterAlloc
Ruft einen Datenpuffer ab, in dem Druckdaten übergeben werden.

PrtFilterFree
Gibt an, dass ein zuvor aus der DLL abgerufener Datenpuffer nicht mehr benötigt wird und die DLL den für diese Ressource zugeordneten Speicher freigeben kann.

PrtFilterJobData
Ermöglicht der DLL das Bearbeiten von Druckdaten.

PrtFilterJobEnd
Informiert die DLL, dass ein Druckauftrag beendet wurde.

PrtFilterJobStart
Informiert die DLL darüber, dass ein neuer Druckauftrag gestartet wurde und ermöglicht der DLL, spezielle Daten am Anfang eines Auftrags an den Druckserver zu senden.

Eine Beschreibung der Beispielsequenz von Aufrufen während eines normalen Druckauftrags ist unten aufgeführt, um zu veranschaulichen, wie diese Funktionen normalerweise verwendet werden:

  • PrtFilterStartJob wird aufgerufen, wenn ein neuer Druckauftrag gestartet wird. Die DLL kann einen Datenpuffer mit speziellen Daten zurückgeben, die vor dem Drucken von Daten an den Drucker (z. B. eine spezielle Bannerseite oder spezielle Druckerinitialisierungszeichenfolgen) gesendet werden.

  • PrtFilterFree wird aufgerufen, wenn spezielle Daten in der PrtFilterStartJob-Funktion gesendet wurden und angibt, dass der zum Übergeben spezieller Daten verwendete Datenpuffer freigegeben werden kann.

    Die nächste Sequenz von Funktionsaufrufen wird wiederholt, bis alle Druckdaten gesendet wurden:

  • PrtFilterAlloc wird aufgerufen, um einen Datenpuffer zuzuweisen, der zum Übergeben von Druckdaten im nachfolgenden Aufruf von PrtFilterJobData verwendet wird.

  • PrtFilterJobData wird aufgerufen, um Druckdaten zur möglichen Änderung an die DLL zu übergeben. Dadurch kann der Benutzer die Möglichkeit haben, die Druckerdaten zu bearbeiten, bevor sie an den Drucker gesendet wird. Wenn für die zurückgegebenen geänderten Druckdaten ein größerer Datenpuffer erforderlich ist oder die DLL einen anderen Datenpuffer zum Zurückgeben von Daten verwenden muss, muss die DLL möglicherweise einen neuen Datenpuffer zuweisen, um diese Daten zurückzugeben. Die DLL kann auch den Datenpuffer freigeben, der zum Übergeben der eingehenden Druckdaten verwendet wird, wenn ein anderer Datenpuffer verwendet wird, um geänderte Druckdaten zurückzugeben. Die PrtFilterFree-Funktion wird nicht mit dem Zeiger auf den ursprünglichen Datenpuffer aufgerufen, wenn ein anderer Datenpuffer von PrtFilterJobData zurückgegeben wird.

  • PrtFilterFree wird aufgerufen, um anzugeben, dass der von PrtFilterAlloc zugewiesene Datenpuffer zum Übergeben eingehender Daten an die PrtFilterJobData-Funktion freigegeben werden kann. Wenn ein anderer Datenpuffer von PrtFilterJobData zurückgegeben wurde, wird PrtFilterFree aufgerufen, um anzugeben, dass ein von der DLL zugewiesener Datenpuffer, der verwendet wird, um geänderte Druckdaten in der PrtFilterJobData-Funktion zurückzugeben, freigegeben werden kann.

    Die letzte Sequenz tritt auf, wenn alle Druckdaten verarbeitet wurden:

  • PrtFilterEndJob wird aufgerufen, um das Ende des Druckauftrags anzugeben und ermöglicht der DLL, spezielle Daten (z. B. eine Trailerseite) zurückzugeben, die an den Drucker gesendet werden soll.

  • PrtFilterFree wird aufgerufen, wenn spezielle Daten in der PrtFilterEndJob-Funktion gesendet wurden und angibt, dass der zum Übergeben spezieller Daten verwendete Datenpuffer freigegeben werden kann.