Поделиться через


Преобразование мониторов печати для использования с кластеризованными серверами печати

Кластеризация серверов печати — это новая функция Windows 2000. Любой монитор порта принтера, предназначенный для работы в кластерах Windows 2000 (или более поздней версии), необходимо изменить, чтобы его можно было вызывать из нескольких экземпляров очереди (диспетчера очереди и очереди кластера узла). Необходимо выполнить следующие действия.

  • Функция InitializePrintMonitor монитора должна быть заменена функцией InitializePrintMonitor2 . Последняя функция возвращает дескриптор экземпляра монитора.

  • Глобально хранимые переменные должны быть перемещены в локально выделенную память, и эта память должна быть связана с дескриптором монитора, возвращенным InitializePrintMonitor2.

  • Вызовы API реестра Win32 должны быть заменены вызовами функций реестра очереди очереди, адреса которых передаются в монитор в структуре MONITORREG . Дополнительные сведения см. в разделе Хранение сведений о конфигурации портов.

  • Мониторы портов должны быть разделены на библиотеку DLL пользовательского интерфейса монитора портов и библиотеку DLL сервера мониторинга портов. Библиотека DLL пользовательского интерфейса должна взаимодействовать с серверной библиотекой DLL путем вызова функции XcvData очереди очереди.

  • Необходимо добавить функцию Shutdown .

Мониторы печати, которые не преобразованы, можно использовать только в некластинной среде. Их нельзя использовать с кластеризованными серверами.

После того как монитор порта принтера, работающий на кластеризованном узле компьютера под управлением Windows 2000 или более поздней версии, установил подключение (по сети или локально), монитор портов должен вернуться из вызовов, выполненных диспетчером очереди печати в течение разумного периода времени. Значение по умолчанию для ресурса очереди — 180 секунд. Дополнительные сведения см. в разделе Настройка значений Time-Out портов .

Когда происходит отработка отказа с одного узла кластера на другой, диспетчер очереди должен дождаться завершения или сбоя всех текущих заданий печати. Если ожидающее задание печати хранится на мониторе портов дольше, чем истекло время ожидания ресурса очереди, диспетчер очереди может вернуться в состояние "В сети" в неполном состоянии, а принтеры временно отсутствуют. Это может повлиять на пользователей, имеющих подключения к отсутствующим принтерам.