Partilhar via


Função AddPrintProvidor

Importante

Em 6 de julho de 2021, a KB5005010 introduziu uma opção opcional de configuração baseada no registro para restringir o acesso a essa API apenas para usuários administradores. Esta opção estava desativada como padrão.

Em 10 de agosto de 2021, KB5005652 altera o valor padrão dessa configuração para exigir direitos de administrador para instalar novos drivers de impressora.

A função AddPrintProvidor instala um provedor de impressão local e vincula os arquivos de configuração, dados e provedor.

Sintaxe

BOOL AddPrintProvidor(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pProviderInfo
);

Parâmetros

pName [em]

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do servidor no qual o provedor deve ser instalado. Para sistemas que suportam apenas a instalação local de provedores, esse parâmetro deve ser NULL.

Nível [in]

O nível da estrutura para a qual pProviderInfo aponta. Pode ser um dos seguintes.

Valor Significado
1
Função usa uma estrutura PROVIDOR_INFO_1 .
2
Função usa uma estrutura PROVIDOR_INFO_2 .

pProviderInfo [em]

Um ponteiro para uma estrutura de provedor de impressão, conforme indicado por Level.

Valor de retorno

Se a função for bem-sucedida, o valor de retorno será um valor diferente de zero.

Se a função falhar, o valor de retorno será zero.

Observações

Observação

Esta é 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 da 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 escrever um aplicativo. Chamar essa função a partir de um thread que gerencia a interação com a interface do usuário pode fazer com que o aplicativo pareça não estar respondendo.

Antes de um aplicativo chamar a função AddPrintProvidor , todos os arquivos exigidos pelo provedor devem ser copiados para o diretório SYSTEM32.

Um provedor adicionado por AddPrintProvidor pode ser removido chamando DeletePrintProvidor.

Requerimentos

Requisito Valor
Cliente mínimo suportado
Windows 2000 Professional [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado
Windows 2000 Server [apenas aplicações de ambiente de trabalho]
Cabeçalho
Winspool.h (inclui Windows.h)
Biblioteca
Winspool.lib
DLL
Winspool.drv
Nomes Unicode e ANSI
AddPrintProvidorW (Unicode) e AddPrintProvidorA (ANSI)

Ver também

Impressão

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

DeletePrintProvidor

PROVIDOR_INFO_1

PROVIDOR_INFO_2