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