Compartilhar via


Funções definidas por provedores de impressão

Aviso

A partir do Windows 10, as APIs que dão suporte a provedores de impressão de terceiros são preteridas. A Microsoft não recomenda nenhum investimento em provedores de impressão de terceiros. Além disso, em Windows 8 e produtos mais recentes em que o modelo de driver de impressão v4 está disponível, os provedores de impressão de terceiros podem não criar ou gerenciar filas que usam drivers de impressão v4.

Este tópico lista todas as funções que um provedor de impressão pode fornecer. A maioria dessas funções é descrita na documentação do SDK do Microsoft Windows. Se a função for descrita no WDK (Kit de Driver do Windows), o nome da função fornecerá um link para a página de referência associada.

Todos os provedores de impressão devem fornecer ponteiros para todas as funções listadas. No entanto, a maioria dos provedores de impressão fornecidos pelo fornecedor são "provedores parciais" que não precisam dar suporte a muitas das operações definidas pelas funções. Portanto, muitos dos ponteiros de função podem ser NULL. Para obter mais informações sobre provedores de impressão parcial, consulte Escrevendo um provedor de impressão de rede.

Nas listas de funções a seguir, as funções que devem ter suporte são rotuladas como "Obrigatório".

Todos os provedores de impressão devem exportar a função de inicialização , InitializePrintProvidor. Os ponteiros para todas as outras funções devem ser fornecidos em uma estrutura PRINTPROVIDOR . (Observe que esses dois nomes estão escritos incorretamente, mas são consistentes com os nomes que aparecem no arquivo de cabeçalho, Winsplp.h.)

As funções são divididas em grupos e apresentadas nas seguintes seções:

  • Função de inicialização

  • Imprimir funções de gerenciamento de fila

  • Funções de gerenciamento de driver de impressora

  • Imprimir funções de criação de trabalho

  • Imprimir funções de agendamento de trabalho

  • Funções de gerenciamento de formulários

  • Imprimir funções de gerenciamento do processador

  • Funções de gerenciamento do monitor de impressão

  • Funções de gerenciamento de porta

  • Funções de gerenciamento do Registro

  • Outras funções

Função de inicialização

Função Descrição
InitializePrintProvidor (Obrigatório) Inicializa o provedor de impressão e retorna ponteiros para funções fornecidas.
Função Descrição
AddPrinter Adiciona uma fila de impressão à lista daqueles gerenciados pelo provedor de impressão e associa um processador de impressão à fila de impressão.
AddPrinterConnection Cria uma conexão com a fila de impressão especificada.
ClosePrinter (Obrigatório) Desabilita o acesso do chamador a uma fila de impressão especificada.
DeletePrinter Exclui uma fila de impressão da lista daqueles gerenciados pelo provedor de impressão.
DeletePrinterConnection Remove uma conexão com a fila de impressão especificada.
EnumPrinters (Obrigatório) Enumera a lista de filas de impressão atualmente gerenciadas pelo provedor de impressão.
FindClosePrinterChangeNotification Desabilita as notificações de alteração da impressora que foram habilitadas por FindFirstPrinterChangeNotification.
FindFirstPrinterChangeNotification Retorna um identificador para um objeto de espera que o chamador pode usar para aguardar eventos de impressora especificados.
GetPrinter (Obrigatório) Retorna valores de parâmetro atuais para uma fila de impressão especificada.
OpenPrinter (Obrigatório) Habilita o acesso do chamador a uma fila de impressão especificada.
RefreshPrinterChangeNotification Chamado pelo roteador se o cliente chamar FindNextPrinterChangeNotification com o sinalizador PRINTER_NOTIFY_OPTIONS_REFRESH definido.
ResetPrinter Modifica o tipo de dados de uma fila de impressão ou a estrutura DEVMODEW .
SetPrinter (Obrigatório) Define parâmetros para uma fila de impressão especificada.
WaitForPrinterChange Obsoleto.

Funções de gerenciamento de driver de impressora

Função Descrição
AddPrinterDriver Adiciona arquivos de driver de uma impressora especificada a um servidor especificado.
AddPrinterDriverEx O mesmo que AddPrinterDriver, com parâmetros adicionais.
DeletePrinterDriver Exclui o acesso aos arquivos de driver de uma impressora especificada, em um servidor especificado.
DeletePrinterDriverEx O mesmo que DeletePrinterDriver, com parâmetros adicionais.
EnumPrinterDrivers Retorna uma lista de drivers de impressora que foram adicionados a um servidor especificado chamando AddPrinterDriver ou AddPrinterDriverEx.
GetPrinterDriver Retorna informações sobre um driver de impressora, que o chamador pode passar para AddPrinterDriver. (Normalmente, as informações retornadas são obtidas de um arquivo INF.)
[GetPrinterDriverEx O mesmo que GetPrinterDriver, com parâmetros adicionais.
GetPrinterDriverDirectory Retorna o nome do diretório do driver de impressora do servidor.
Função Descrição
AbortPrinter (Obrigatório) Tenta excluir o trabalho atual da fila de impressão especificada.
AddJob (Obrigatório) Retorna um identificador de trabalho e um caminho de arquivo de spool. O chamador usa CreateFile e WriteFile para enviar dados para o arquivo de spool.
EndDocPrinter (Obrigatório) Executa operações de conclusão de trabalho.
EndPagePrinter Executa operações de conclusão de página.
ReadPrinter Obtém status informações de uma impressora bidirecional.
ScheduleJob (Obrigatório) Informa ao provedor que um trabalho especificado pode ser agendado. O trabalho é especificado por um identificador de trabalho retornado anteriormente por AddJob.
StartDocPrinter (Obrigatório) Prepara o provedor de impressão para começar a fazer spool de um trabalho de impressão.
StartPagePrinter Prepara o provedor de impressão para receber uma página de trabalho de impressão.
WritePrinter (Obrigatório) Recebe uma parte do fluxo de dados do trabalho de impressão.

Observação

O AddJob... A sequência ScheduleJob é uma alternativa ao StartDocPrinter... Sequência EndDocPrinter .

Função Descrição
EnumJobs (Obrigatório) Retorna uma lista de trabalhos de impressão agendados.
GetJob (Obrigatório) Retorna parâmetros de trabalho.
SetJob (Obrigatório) Cancela, pausa, retoma ou reinicia um trabalho de impressão ou define parâmetros de trabalho.

Funções de gerenciamento de formulários

Função Descrição
AddForm Adiciona um formulário especificado à lista dos disponíveis para uma impressora especificada.
DeleteForm Remove um formulário especificado da lista dos disponíveis para uma impressora especificada.
EnumForms Retorna uma lista de formulários disponíveis para uma impressora especificada.
GetForm Retorna características de um formulário especificado.
SetForm Modifica características de um formulário especificado.
Função Descrição
AddPrintProcessor Instala um processador de impressão no servidor especificado e o adiciona à lista daqueles que o provedor de impressão pode chamar.
DeletePrintProcessor Exclui um processador de impressão da lista daqueles que o provedor de impressão pode chamar.
EnumPrintProcessorDataTypes Retorna uma lista dos tipos de dados compatíveis com os processadores de impressão que podem ser chamados pelo provedor de impressão.
EnumPrintProcessors Retorna a lista de processadores de impressão que o provedor de impressão pode chamar.
GetPrintProcessorDirectory Retorna o caminho do diretório no qual os arquivos do processador de impressão devem ser armazenados.
Função Descrição
AddMonitor Adiciona um monitor de impressão à lista daqueles que o provedor de impressão pode chamar.
DeleteMonitor Exclui um monitor de impressão da lista daqueles que o provedor de impressão pode chamar.
EnumMonitors Retorna a lista de monitores de impressão que o provedor de impressão pode chamar.

Funções de gerenciamento de porta

Função Descrição
AddPort Adiciona uma porta de impressora à lista dos disponíveis, normalmente chamando a função AddPortUI do monitor de porta especificada.
AddPortEx(/previous-versions/ff545025(v%3dvs.85)) O mesmo que AddPort, com parâmetros adicionais.
ConfigurePort (Obrigatório) Configura uma porta de impressora, normalmente chamando a função ConfigurePortUI do monitor de porta especificada.
DeletePort (Obrigatório) Exclui uma porta de impressora da lista dos disponíveis, normalmente chamando a função DeletePortUI do monitor de porta especificada.
EnumPorts (Obrigatório) Retorna uma lista de portas de impressora disponíveis.
SetPort Define parâmetros para uma porta de impressora especificada.

Funções de gerenciamento do Registro

Função Descrição
DeletePrinterData Exclui o valor atualmente atribuído a um nome de valor especificado, na chave PrinterDriverData da impressora especificada.
DeletePrinterDataEx O mesmo que DeletePrinterData, com parâmetros adicionais.
DeletePrinterKey Exclui uma chave especificada e suas subchaves, se elas estiverem armazenadas atualmente no registro sob a chave PrinterDriverData da impressora especificada.
EnumPrinterData Retorna cada um dos nomes de valor e valores atualmente atribuídos que são armazenados no registro sob a chave PrinterDriverData da impressora especificada.
EnumPrinterDataEx O mesmo que EnumPrinterData, com parâmetros adicionais.
EnumPrinterKey Retorna uma lista de subchaves atualmente contidas no registro sob um nome de chave especificado.
GetPrinterData Retorna o valor atualmente atribuído a um nome de valor especificado, que é armazenado no registro sob a chave PrinterDriverData da impressora especificada.
GetPrinterDataEx O mesmo que GetPrinterData, com parâmetros adicionais.
SetPrinterData Armazena um valor e um nome de valor especificados no registro, sob a chave PrinterDriverData da impressora especificada.
SetPrinterDataEx O mesmo que SetPrinterData, com parâmetros adicionais.

Outras funções

Função Descrição
XcvData Fornece um caminho de comunicação entre uma DLL de interface do usuário do monitor de porta e uma DLL do servidor de monitor de porta.