Compartilhar via


Função EnumMonitors

A função EnumMonitors recupera informações sobre os monitores de porta instalados no servidor especificado.

Sintaxe

BOOL EnumMonitors(
  _In_  LPTSTR  pName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pMonitors,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parâmetros

pName [in]

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do servidor no qual residem os monitores. Se esse parâmetro for NULL, os monitores locais serão enumerados.

Nível [in]

A versão da estrutura apontada por pMonitors.

Esse valor pode ser 1 ou 2.

pMonitors [out]

Um ponteiro para um buffer que recebe uma matriz de estruturas. O buffer deve ser grande o suficiente para armazenar as cadeias de caracteres referenciadas pelos membros da estrutura.

Para determinar o tamanho do buffer necessário, chame EnumMonitors com cbBuf definido como zero. EnumMonitors falha, GetLastError retorna ERROR_INSUFFICIENT_BUFFER e o parâmetro pcbNeeded retorna o tamanho, em bytes, do buffer necessário para manter a matriz de estruturas e seus dados.

O buffer receberá uma matriz de estruturas de MONITOR_INFO_1 se Level for 1 ou MONITOR_INFO_2 estruturas se Level for 2.

cbBuf [in]

O tamanho, em bytes, do buffer apontado por pMonitors.

pcbNeeded [out]

Um ponteiro para uma variável que recebe o número de bytes copiados se a função for bem-sucedida ou o número de bytes necessários se cbBuf for muito pequeno.

pcReturned [out]

Um ponteiro para uma variável que recebe o número de estruturas que foram retornadas no buffer apontado por pMonitors.

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.

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
EnumMonitorsW (Unicode) e EnumMonitorsA (ANSI)

Confira também

Impressão

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

MONITOR_INFO_1

MONITOR_INFO_2