Função AddPrinterConnection2
Adiciona uma conexão à impressora especificada para o usuário atual e especifica detalhes da conexão.
Sintaxe
BOOL AddPrinterConnection2(
_In_ HWND hWnd,
_In_ LPCTSTR pszName,
DWORD dwLevel,
_In_ PVOID pConnectionInfo
);
Parâmetros
-
hWnd [in]
-
Um identificador para a janela pai na qual a caixa de diálogo será exibida se o sistema de impressão precisar baixar um driver de impressora do servidor de impressão para essa conexão.
-
pszName [in]
-
Um ponteiro para uma cadeia de caracteres terminada em nulo constante especificando o nome da impressora à qual o usuário atual deseja se conectar.
-
dwLevel
-
A versão da estrutura apontada por pConnectionInfo. Atualmente, somente o nível 1 é definido, portanto, o valor de dwLevel deve ser 1.
-
pConnectionInfo [in]
-
Um ponteiro para uma estrutura PRINTER_CONNECTION_INFO_1 . Consulte a seção Comentários para obter mais informações sobre esse parâmetro.
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 obter informações de erro estendidas, chame GetLastError.
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.
Quando o Windows Vista faz uma conexão com uma impressora, talvez seja necessário copiar arquivos de driver de impressora do servidor ao qual a impressora está anexada. Se o usuário não tiver permissão para copiar arquivos para o local apropriado, a função AddPrinterConnection2 falhará e GetLastError retornará ERROR_ACCESS_DENIED.
Se os arquivos do driver da impressora precisarem ser copiados do servidor de impressão, mas não puderem ser copiados silenciosamente devido às políticas de grupo que estão em vigor e PRINTER_CONNECTION_NO_UI estiver definido em pConnectionInfo-dwFlags>, nenhuma caixa de diálogo será exibida e a chamada falhará.
Se o driver de impressora local puder ser usado para renderizar trabalhos de impressão para esta impressora e a versão do driver local não corresponder à versão do driver de impressora no servidor, defina PRINTER_CONNECTION_MISMATCH em pConnectionInfo-dwFlags> e atribua o ponteiro a uma variável de cadeia de caracteres que contém o caminho para o driver de impressora local para pConnectionInfo-pszDriverName>.
Uma conexão de impressora estabelecida chamando AddPrinterConnection2 será enumerada quando EnumPrinters for chamado com dwType definido como PRINTER_ENUM_CONNECTION.
A versão ANSI dessa função, AddPrinterConnection2A, não tem suporte e retorna ERROR_NOT_SUPPORTED.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
DLL |
|
Nomes Unicode e ANSI |
AddPrinterConnection2W (Unicode) |