Compartilhar via


Função AddPrintProvidor

Importante

Em 6 de julho de 2021, o KB5005010 introduziu uma opção de configuração opcional baseada em registro para restringir o acesso a essa API somente a usuários administradores. Essa opção estava desativada por 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 a configuração, os dados e os arquivos do provedor.

Sintaxe

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

Parâmetros

pName [in]

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 só dão suporte à 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
A função usa uma estrutura PROVIDOR_INFO_1 .
2
A função usa uma estrutura PROVIDOR_INFO_2 .

pProviderInfo [in]

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

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.

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.

Antes que um aplicativo chame 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.

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

Confira também

Impressão

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

DeletePrintProvidor

PROVIDOR_INFO_1

PROVIDOR_INFO_2