Compartilhar via


Função SetPort

A função SetPort define o status associado a uma porta de impressora.

Sintaxe

BOOL SetPort(
  _In_ LPTSTR pName,
  _In_ LPTSTR pPortName,
  _In_ DWORD  dwLevel,
  _In_ LPBYTE pPortInfo
);

Parâmetros

pName [in]

Ponteiro para uma cadeia de caracteres terminada em zero que especifica o nome do servidor de impressora ao qual a porta está conectada. Defina esse parâmetro como NULL se a porta estiver no computador local.

pPortName [in]

Ponteiro para uma cadeia de caracteres terminada em zero que especifica o nome da porta da impressora.

dwLevel [in]

Especifica o tipo de estrutura apontado pelo parâmetro pPortInfo .

Esse valor deve ser 3, que corresponde a uma estrutura de dados PORT_INFO_3 .

pPortInfo [in]

Ponteiro para uma estrutura de PORT_INFO_3 que contém a porta status informações a serem definidas.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

Observação

Essa é uma função de bloqueio ou síncrona e pode não retornar imediatamente. A rapidez com que essa função retorna depende de fatores de tempo de execução, como status de rede, configuração do servidor de impressão e fatores de implementação do driver de impressora que são difíceis de prever ao gravar um aplicativo. Chamar essa função de um thread que gerencia a interação com a interface do usuário pode fazer com que o aplicativo pareça não responder.

O chamador da função SetPort deve estar em execução como administrador. Além disso, se o chamador for um Monitor de Porta ou Monitor de Linguagem, ele deverá chamar RevertToSelf para interromper a representação antes de chamar SetPort.

Todos os programas que chamam SetPort devem ter SERVER_ACCESS_ADMINISTER acesso ao servidor ao qual a porta está conectada.

Quando você define uma porta de impressora status valor com o valor de severidade PORT_STATUS_TYPE_ERROR, o spooler de impressão para de enviar trabalhos para a porta. O spooler de impressão retoma o envio de trabalhos para a porta quando a porta status é desmarcada por outra chamada para SetPort.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winspool.h (inclua Windows.h)
Biblioteca
Winspool.lib
DLL
Winspool.drv
Nomes Unicode e ANSI
SetPortW (Unicode) e SetPortA (ANSI)

Confira também

Impressão

Funções da API do Spooler de impressão

PORT_INFO_3