Função EnumPrinterKey
A função EnumPrinterKey enumera as subchaves de uma chave especificada para uma impressora especificada.
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 EnumPrinterKey(
_In_ HANDLE hPrinter,
_In_ LPCTSTR pKeyName,
_Out_ LPTSTR pSubkey,
_In_ DWORD cbSubkey,
_Out_ LPDWORD pcbSubkey
);
Parâmetros
-
hPrinter [in]
-
Um identificador para a impressora para a qual a função enumera subchaves. 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 as subchaves a serem enumeradas. Use o caractere de barra invertida '\' como um delimitador para especificar um caminho com uma ou mais subchaves. EnumPrinterKey enumera todas as subchaves da chave, mas não enumera as subchaves dessas subchaves.
Se pKeyName for uma cadeia de caracteres vazia (""), EnumPrinterKey enumerará a chave de nível superior para a impressora. Se pKeyName for NULL, EnumPrinterKey retornará ERROR_INVALID_PARAMETER.
-
pSubkey [out]
-
Um ponteiro para um buffer que recebe uma matriz de nomes de subchave terminados em nulo. A matriz é encerrada por dois caracteres nulos.
-
cbSubkey [in]
-
O tamanho, em bytes, do buffer apontado por pSubkey. Se você definir cbSubkey como zero, o parâmetro pcbSubkey retornará o tamanho do buffer necessário.
-
pcbSubkey [out]
-
Um ponteiro para uma variável que recebe o número de bytes recuperados no buffer pSubkey . Se o tamanho do buffer especificado por cbSubkey for muito pequeno, a função retornará ERROR_MORE_DATA e pcbSubkey indicará o tamanho do buffer necessário.
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. Se pKeyName não existir, o valor retornado será ERROR_FILE_NOT_FOUND.
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 |
|
Biblioteca |
|
DLL |
|
Nomes Unicode e ANSI |
EnumPrinterKeyW (Unicode) e EnumPrinterKeyA (ANSI) |