Compartilhar via


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
Winspool.h (inclua Windows.h)
Biblioteca
Winspool.lib
DLL
Winspool.drv
Nomes Unicode e ANSI
AddPrinterConnection2W (Unicode)

Confira também

Impressão

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

ConnectToPrinterDlg

EnumPrinters

DeletePrinterConnection