Função EnumPrinterDataEx

A função EnumPrinterDataEx enumera todos os nomes de valor e dados de uma impressora e chave especificadas.

Os dados da impressora são armazenados no registro. Ao enumerar dados da impressora, não chame funções do Registro que possam alterar os dados.

Sintaxe

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

Parâmetros

hPrinter [in]

Um identificador para a impressora para a qual a função recupera dados de configuração. Use a função OpenPrinter ou AddPrinter para recuperar um identificador de impressora.

pKeyName [in]

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica a chave que contém os valores a serem enumerados. Use o caractere de barra invertida ( \ ) como delimitador para especificar um caminho com uma ou mais subchaves. EnumPrinterDataEx enumera todos os valores da chave, mas não enumera valores de subchaves da chave especificada. Use a função EnumPrinterKey para enumerar subchaves.

Se pKeyName for NULL ou uma cadeia de caracteres vazia, EnumPrinterDataEx retornará ERROR_INVALID_PARAMETER.

pEnumValues [out]

Um ponteiro para um buffer que recebe uma matriz de estruturas de PRINTER_ENUM_VALUES . Cada estrutura contém o nome do valor, o tipo, os dados e os tamanhos de um valor sob a chave.

cbEnumValues [in]

O tamanho, em bytes, do buffer apontado por pcbEnumValues. Se você definir cbEnumValues como zero, o parâmetro pcbEnumValues retornará o tamanho do buffer necessário.

pcbEnumValues [out]

Um ponteiro para uma variável que recebe o tamanho, em bytes, dos dados de configuração recuperados. Se o tamanho do buffer especificado por cbEnumValues for muito pequeno, a função retornará ERROR_MORE_DATA e pcbEnumValues indicará o tamanho do buffer necessário.

pnEnumValues [out]

Um ponteiro para uma variável que recebe o número de estruturas PRINTER_ENUM_VALUES retornadas em pEnumValues.

Valor retornado

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado será um código de erro do sistema.

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.

EnumPrinterDataEx recupera os dados de configuração da impressora definidos pelas funções SetPrinterDataEx e SetPrinterData .

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
EnumPrinterDataExW (Unicode) e EnumPrinterDataExA (ANSI)

Confira também

Impressão

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

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx