Converter monitores de impressão para uso com servidores de impressão clusterizados

O clustering de servidores de impressão é um novo recurso do Windows 2000. Qualquer monitor de porta de impressora destinado a ser executado em clusters do Windows 2000 (ou posterior) deve ser modificado para que possa ser chamado de várias instâncias de spooler (o spooler do nó e um spooler de cluster). As seguintes etapas devem ser executadas:

  • A função InitializePrintMonitor do monitor deve ser substituída por uma função InitializePrintMonitor2 . A última função retorna um identificador de instância de monitor.

  • As variáveis armazenadas globalmente devem ser movidas para a memória alocada localmente e essa memória deve ser associada ao identificador de monitor retornado por InitializePrintMonitor2.

  • As chamadas para a API do Registro Win32 devem ser substituídas por chamadas para as funções do Registro do spooler, cujos endereços são passados para o monitor em uma estrutura MONITORREG . Para obter mais informações, consulte Armazenando informações de configuração de porta.

  • Os monitores de porta devem ser divididos em uma DLL de interface do usuário do monitor de porta e uma DLL do servidor de monitor de porta. A DLL da interface do usuário deve se comunicar com a DLL do servidor chamando a função XcvData do spooler.

  • Uma função Desligamento deve ser adicionada.

Monitores de impressão que não são convertidos só podem ser usados em um ambiente não clusterizado. Eles não podem ser usados com servidores clusterizados.

Depois que um monitor de porta da impressora em execução em um nó clusterizado de um computador que executa o Windows 2000 ou posterior tiver feito uma conexão (em toda a rede ou localmente), o monitor de porta deverá retornar de chamadas feitas pelo spooler dentro de um período razoável de tempo. O valor padrão do tempo limite do recurso spooler é de 180 segundos. Consulte Configurando valores de porta Time-Out para obter mais informações.

Quando ocorre um failover de um nó de cluster para outro, o spooler deve aguardar a conclusão ou falha de todos os trabalhos de impressão atuais. Se um trabalho de impressão pendente for mantido em um monitor de porta por mais tempo do que o tempo limite do recurso do spooler, o spooler poderá voltar a ficar online em um estado incompleto, com impressoras temporariamente ausentes. Isso pode afetar os usuários que têm conexões com as impressoras ausentes.