Convertir des moniteurs d’impression à utiliser avec des serveurs d’impression en cluster
Le clustering de serveurs d’impression est une nouvelle fonctionnalité de Windows 2000. Tout moniteur de port d’imprimante destiné à s’exécuter sur des clusters Windows 2000 (ou version ultérieure) doit être modifié afin qu’il puisse être appelé à partir de plusieurs instances de spouleur (le spouleur du nœud et un spouleur de cluster). Les étapes suivantes doivent être effectuées :
La fonction InitializePrintMonitor du moniteur doit être remplacée par une fonction InitializePrintMonitor2 . Cette dernière fonction retourne un instance de contrôle.
Les variables stockées globalement doivent être déplacées vers la mémoire allouée localement, et cette mémoire doit être associée au handle de moniteur retourné par InitializePrintMonitor2.
Les appels à l’API de Registre Win32 doivent être remplacés par des appels aux fonctions de Registre du spouleur, dont les adresses sont transmises au moniteur dans une structure MONITORREG . Pour plus d’informations, consultez Stockage des informations de configuration de port.
Les moniteurs de port doivent être divisés en une DLL d’interface utilisateur du moniteur de port et une DLL de serveur de surveillance de port. La DLL d’interface utilisateur doit communiquer avec la DLL de serveur en appelant la fonction XcvData du spouleur.
Une fonction d’arrêt doit être ajoutée.
Les moniteurs d’impression qui ne sont pas convertis ne peuvent être utilisés que dans un environnement non cluster. Ils ne peuvent pas être utilisés avec des serveurs cluster.
Une fois qu’un moniteur de port d’imprimante s’exécutant sur un nœud en cluster d’une machine exécutant Windows 2000 ou version ultérieure a effectué une connexion (sur le réseau ou localement), le moniteur de port doit revenir à partir des appels effectués par le spouleur dans un délai raisonnable. La valeur par défaut du délai d’expiration de la ressource du spouleur est 180 secondes. Pour plus d’informations, consultez Définition des valeurs de port Time-Out .
Lorsqu’un basculement d’un nœud de cluster à un autre se produit, le spouleur doit attendre que tous les travaux d’impression actuels se terminent ou échouent. Si un travail d’impression en attente est retenu dans un moniteur de port pendant plus longtemps que le délai d’expiration de la ressource du spouleur, le spouleur peut revenir en ligne dans un état incomplet, avec des imprimantes temporairement manquantes. Cela peut affecter les utilisateurs qui ont des connexions aux imprimantes manquantes.