Konvertieren von Druckmonitoren für die Verwendung mit gruppierten Druckservern
Das Clustering von Druckservern ist ein neues Feature von Windows 2000. Jeder Druckerportmonitor, der für die Ausführung unter Windows 2000-Clustern (oder höher) vorgesehen ist, muss geändert werden, sodass er von mehreren Spoolerinstanzen (dem Spooler des Knotens und einem Clusterspooler) aufgerufen werden kann. Die folgenden Schritte müssen ausgeführt werden:
Die InitializePrintMonitor-Funktion des Monitors muss durch eine InitializePrintMonitor2-Funktion ersetzt werden. Die letztere Funktion gibt einen Monitor instance-Handle zurück.
Global gespeicherte Variablen müssen in den lokal zugeordneten Arbeitsspeicher verschoben werden, und dieser Arbeitsspeicher muss dem von InitializePrintMonitor2 zurückgegebenen Monitorhandle zugeordnet werden.
Aufrufe der Win32-Registrierungs-API müssen durch Aufrufe der Registrierungsfunktionen des Spoolers ersetzt werden, deren Adressen in einer MONITORREG-Struktur an den Monitor übergeben werden. Weitere Informationen finden Sie unter Speichern von Portkonfigurationsinformationen.
Portmonitore müssen in eine Portmonitor-UI-DLL und eine Portmonitorserver-DLL unterteilt werden. Die UI-DLL muss mit der Server-DLL kommunizieren, indem die XcvData-Funktion des Spoolers aufgerufen wird.
Eine Shutdown-Funktion muss hinzugefügt werden.
Nicht konvertierte Druckmonitore können nur in einer Umgebung ohne Cluster verwendet werden. Sie können nicht mit gruppierten Servern verwendet werden.
Sobald ein Druckerportmonitor, der auf einem gruppierten Knoten eines Computers mit Windows 2000 oder höher ausgeführt wird, eine Verbindung hergestellt hat (entweder über das Netzwerk oder lokal), sollte der Portmonitor innerhalb eines angemessenen Zeitraums von anrufen, die vom Spooler getätigt wurden. Der Standardwert des Timeouts der Spoolerressource beträgt 180 Sekunden. Weitere Informationen finden Sie unter Festlegen von Port Time-Out Werten .
Wenn ein Failover von einem Clusterknoten auf einen anderen erfolgt, muss der Spooler warten, bis alle aktuellen Druckaufträge abgeschlossen sind oder fehlschlagen. Wenn ein ausstehender Druckauftrag in einem Portmonitor länger als das Timeout der Spoolerressource gehalten wird, kann der Spooler in einem unvollständigen Zustand wieder online sein, wobei die Drucker vorübergehend fehlen. Dies kann sich auf Benutzer auswirken, die über Verbindungen zu diesen fehlenden Druckern verfügen.