Função GetPrinterDriver
A função GetPrinterDriver recupera dados de driver para a impressora especificada. Se o driver não estiver instalado no computador local, o GetPrinterDriver o instalará.
Sintaxe
BOOL GetPrinterDriver(
_In_ HANDLE hPrinter,
_In_ LPTSTR pEnvironment,
_In_ DWORD Level,
_Out_ LPBYTE pDriverInfo,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Parâmetros
-
hPrinter [in]
-
Um identificador para a impressora para a qual os dados do driver devem ser recuperados. Use a função OpenPrinter ou AddPrinter para recuperar um identificador de impressora.
-
pEnvironment [in]
-
Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o ambiente (por exemplo, Windows x86, Windows IA64 ou Windows x64). Se esse parâmetro for NULL, o ambiente atual do aplicativo de chamada e do computador cliente (não do aplicativo de destino e do servidor de impressão) será usado.
-
Nível [in]
-
A estrutura do driver da impressora retornada no buffer pDriverInfo . Esse parâmetro pode usar um dos valores a seguir.
Valor Significado - 1
DRIVER_INFO_1 - 2
DRIVER_INFO_2 - 3
DRIVER_INFO_3 - 4
DRIVER_INFO_4 - 5
DRIVER_INFO_5 - 6
DRIVER_INFO_6 - 8
DRIVER_INFO_8 -
pDriverInfo [out]
-
Um ponteiro para um buffer que recebe uma estrutura que contém informações sobre o driver, conforme especificado por Level. O buffer deve ser grande o suficiente para armazenar as cadeias de caracteres apontadas pelos membros da estrutura.
Para determinar o tamanho do buffer necessário, chame GetPrinterDriver com cbBuf definido como zero. GetPrinterDriver 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.
-
cbBuf [in]
-
O tamanho, em bytes, da matriz na qual pDriverInfo aponta.
-
pcbNeeded [out]
-
Um ponteiro para um valor 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.
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.
Para um driver inexistente, a função retorna ERROR_UNKNOWN_PRINTER_DRIVER.
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.
As estruturas DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5 e DRIVER_INFO_6 contêm o nome do arquivo ou o caminho completo e o nome do arquivo do driver de impressora no membro pDriverPath . Um aplicativo pode usar o caminho e o nome do arquivo para carregar um driver de impressora chamando a função LoadLibrary e fornecendo o caminho e o nome do arquivo como o único argumento.
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 |
GetPrinterDriverW (Unicode) e GetPrinterDriverA (ANSI) |