Point- und Print-DLLs
Optional können Sie eine spezielle Point and Print-DLL bereitstellen, indem Sie ihren Namen dem Registrierungswert Module zuordnen. Diese DLL muss die folgenden beiden Funktionen exportieren:
GenerateCopyFilePaths
Diese Funktion, die sowohl vom Spooler des Servers als auch vom Spooler des Clients aufgerufen wird, kann verwendet werden, um den durch den Verzeichnisregistrierungswert angegebenen Verzeichnispfad zu ändern. Entweder der Quellpfad (auf dem Server) oder der Zielpfad (auf dem Client) oder beides kann geändert werden.
SpoolerCopyFileEvent
Diese Funktion, die sowohl vom Spooler des Servers als auch vom Spooler des Clients aufgerufen wird, empfängt einen Ereigniscode, der das Auftreten bestimmter verbindungsbezogener Druckerereignisse angibt.
Eine Point-and-Print-DLL muss nicht nur diese Funktionen exportieren. Beispielsweise exportiert Mscms.dll, die von der ICM-Komponente von Microsoft verwendet wird, auch eine Reihe von ICM-API-Funktionen.
Beachten Sie, dass Sie neben oder anstelle einer Point and Print-DLL, die GenerateCopyFilePaths und SpoolerCopyFileEvent exportiert, andere DLLs angeben können. Weisen Sie dazu dem Registrierungsschlüssel Files anstelle des Modulregistrierungsschlüssels die DLL-Dateinamen zu. (Siehe Installieren Queue-Specific Dateien).
Nachdem die Installationsanwendung den Namen der DLL durch Aufrufen von SetPrinterDataEx in der Registrierung des Servers platziert hat, führen alle nachfolgenden Aufrufe von SetPrinterDataEx zu einem Aufruf der SpoolerCopyFileEvent-Funktion der DLL mit dem angegebenen Ereigniscode COPYFILE_EVENT_SET_PRINTER_DATAEX.
Im Gegensatz zu den unter dem Registrierungsschlüssel Dateien aufgeführten Dateien (siehe Installieren Queue-Specific Dateien) wird die Point and Print DLL nicht vom Druckserver auf den Client kopiert, wenn der Client eine Verbindung mit einem Drucker herstellt. Stattdessen wird angenommen, dass die DLL bereits clientresident ist, wenn eine Verbindung mit dem Druckserver hergestellt wird. Daher kann die DLL für zusätzliche Zwecke verwendet werden, die sich nicht auf die Point- und Print-Funktionalität beziehen.
Eine Methode zum Installieren der Point and Print-DLL auf einem Client besteht darin, ihren Namen in einer Drucker-INF-Datei als abhängige Datei anzugeben, damit die Datei beim Herunterladen treiberspezifischer Dateien in das Treiberverzeichnis des Clients kopiert werden kann.