Compartilhar via


Função EnumForms

A função EnumForms enumera os formulários compatíveis com a impressora especificada.

Sintaxe

BOOL EnumForms(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parâmetros

hPrinter [in]

Identificador para a impressora para a qual os formulários devem ser enumerados. Use a função OpenPrinter ou AddPrinter para recuperar um identificador de impressora.

Nível [in]

Especifica a versão da estrutura para a qual pForm aponta. Esse valor deve ser 1 ou 2.

pForm [out]

Ponteiro para uma ou mais estruturas FORM_INFO_1 ou para uma ou mais estruturas FORM_INFO_2 . Todas as estruturas terão o mesmo nível.

cbBuf [in]

Especifica o tamanho, em bytes, do buffer para o qual pForm aponta.

pcbNeeded [out]

Ponteiro para uma variável que recebe o número de bytes copiados para a matriz para a qual pForm aponta (se a operação for bem-sucedida) ou o número de bytes necessários (se falhar porque cbBuf é muito pequeno).

pcReturned [out]

Ponteiro para uma variável que recebe o número de estruturas copiadas para a matriz para a qual pForm aponta.

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 de driver de impressora que são difíceis de prever ao escrever 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.

Se o chamador for remoto e o Level for 2, o valor StringType das estruturas de FORM_INFO_2 retornadas sempre será STRING_LANGPAIR.

No Windows Vista, os dados de formulário retornados por EnumForms são recuperados de um cache local quando hPrinter se refere a um servidor de impressão remoto ou a uma impressora hospedada por um servidor de impressão e há pelo menos uma conexão aberta com uma impressora no servidor de impressão remoto. Em todas as outras configurações, os dados do formulário são consultados do servidor de impressão remoto.

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
EnumFormsW (Unicode) e EnumFormsA (ANSI)

Confira também

Impressão

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

AddPrinter

FORM_INFO_1

OpenPrinter