Compartilhar via


Entradas de arquivo INF da impressora

Importante

A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

Para que um aplicativo de instalação instale uma impressora em um servidor de impressão, ele deverá chamar a função AddPrinterDriverEx do spooler para carregar arquivos de drivers e chamar a função AddPrinter do spooler para disponibilizar a impressora no servidor.

A função AddPrinterDriverEx requer uma estrutura DRIVER_INFO_3 como entrada e a função AddPrinter requer uma estrutura PRINTER_INFO_2 como entrada. O instalador de classe de impressora padrão, Ntprint.dll, lê arquivos INF de impressora para obter valores de cadeia de caracteres que devem ser colocados nessas estruturas antes que as funções sejam chamadas.

Um conjunto de entradas de arquivo INF para drivers de impressora que Ntprint.dll reconhece foi definido. Essas entradas têm o seguinte formato:

EntryName = Value

Onde EntryName é uma cadeia de caracteres que identifica a entrada e Value é um valor de cadeia de caracteres atribuído à entrada.

A tabela a seguir lista as entradas de arquivo INF que devem ser incluídas nos arquivos INF da impressora. Para cada entrada, a tabela inclui os seguintes itens:

  • O valor que deve ser atribuído à entrada.

  • O valor padrão que Ntprint.dll usa se a entrada não estiver definida.

  • O membro da estrutura no qual Ntprint.dll coloca um ponteiro para o valor de entrada.

Entrada de arquivo INF Valor Valor padrão (se a entrada não for especificada) Membro da estrutura
ConfigFile O nome da DLL da interface da impressora do driver. Valor especificado para DriverFile. Membro pConfigFile da estrutura DRIVER_INFO_3
DataFile O nome do arquivo de dados associado a um driver, como um arquivo PPD. Nome da seção do driver no arquivo INF. Membro pDataFile da estrutura DRIVER_INFO_3
DefaultDataType Não usado com sistemas operacionais baseados em NT.
DriverCategory Confira a Observação 1, depois dessa tabela. Se o arquivo INF não especificar uma categoria de driver (como a maioria dos drivers v3), a suposição é que a categoria do driver é PrintFax.Printer. Nenhum
DriverFile O nome da DLL da interface da impressora do driver. Nome da seção do driver no arquivo INF. Membro pDriverPath da estrutura DRIVER_INFO_3
ExcludeFromSelect Confira a Observação 2, depois dessa tabela. Nenhum Nenhum
HelpFile O nome do arquivo de ajuda da DLL da interface. Nenhum. Um arquivo de ajuda não é especificado. Membro pHelpFile da estrutura DRIVER_INFO_3
LanguageMonitor O nome de um monitor de idiomas a ser associado ao driver da impressora. Confira a seção Formato de valor do LanguageMonitor. Nenhum. Um monitor de idiomas não é especificado. Membro pMonitorName da estrutura DRIVER_INFO_3
PrintProcessor O nome de um processador de impressão a ser associado à fila de impressoras. Confira a seção Formato de valor do PrintProcessor. O processador de impressão padrão (WinPrint) é usado. Membro pPrintProcessor da estrutura DRIVER_INFO_2
VendorSetup O nome de uma função em uma DLL fornecida pelo fornecedor, que processa operações de configuração de impressora personalizadas. Nenhum. Confira a Observação 3, depois dessa tabela. Nenhum
InboxVersionRequired A versão mínima aceitável para todos os drivers principais que o INF referencia. Para obter mais informações sobre InboxVersionRequired, confira a diretiva INF InboxVersionRequired. Nenhum Nenhum

1 (DriverCategory): se o arquivo INF especificar uma categoria, estes serão os valores permitidos (0 a 5, respectivamente) para especificar categorias:

Categoria de driver Valor Descrição
PrintFax.Printer 0 Uma fila de impressão que representa uma impressora conectada ao computador (por meio de um protocolo local ou de rede) ou um proxy para uma impressora física em outro computador. Quando o usuário imprime em uma impressora física, o resultado é papel com o documento impresso.
PrintFax.Fax 1 Uma fila de impressão que representa um aparelho de fax físico ou virtual. Quando o usuário imprime em uma impressora de fax, o resultado (possivelmente após uma interação adicional do usuário) é que um fax é enviado.
PrintFax.Printer.File 2 Uma fila de impressão que gera documentos de cópia eletrônica. Quando o usuário imprime em uma impressora de arquivos, ele deverá, primeiro, inserir um nome de arquivo e o spooler enviará a saída impressa para esse arquivo. As impressoras de arquivos sempre exigem um nome de arquivo, mas não recebem nenhuma outra entrada do usuário. Quando não há opção para o usuário fornecer um nome de arquivo, o aplicativo gera um nome de arquivo que é disponibilizado para o spooler. Exemplos comuns de impressoras de arquivos são o Microsoft XPS Document Writer (MXDW) e os criadores de PDF.
PrintFax.Printer.Virtual 3 Uma fila de impressão que tem um driver que executa alguma operação em dados impressos que são opacos para o spooler de impressão. Quando o usuário imprime em uma impressora virtual, alguns resultados possíveis incluem o documento impresso sendo salvo em algum lugar do computador, sendo enviado para outro aplicativo ou sendo enviado por email. Um exemplo comum de impressão em uma impressora virtual é o cenário em que o documento impresso é enviado para a impressora do Microsoft Office OneNote. Quando o usuário seleciona imprimir em uma impressora virtual, pode haver a necessidade de interação adicional do usuário, iniciada pelo driver ou algum outro componente do driver. Para obter mais informações, confira Impressoras virtuais em arquivos de impressora.
PrintFax.Printer.Service 4 Uma fila de impressão que representa um serviço de impressão. Quando o usuário opta por imprimir em um serviço, o resultado (possivelmente após uma interação adicional do usuário) é que um serviço de impressão de terceiros recebe o conteúdo impresso. O usuário pode, então, ir para o local físico da empresa para pegar a saída impressa.
PrintFax.Printer.3D 5 Uma fila de impressão que representa o fluxo de dados para uma impressora 3D. Se essa categoria for especificada involuntariamente para uma impressora 2D (uma impressora comum), a impressora 2D simplesmente produzirá o conteúdo 2D do fluxo de dados. Se essa categoria for especificada corretamente para uma impressora 3D, mas um fluxo de dados 2D for enviado para a impressora 3D, a impressora 3D não gerará nenhuma saída.

Observe também que os drivers de impressão v4 usam um arquivo de manifesto. Para obter mais informações, confira Manifesto do driver v4.

Observação

2 (ExcludeFromSelect): a ID do dispositivo de um dispositivo que não deve ser mostrada na caixa de diálogo Selecionar dispositivo nem no Assistente para Adicionar Impressora. Para impressoras, isso inclui todas as entradas PnP de dispositivos que têm descrições de dispositivo duplicadas no arquivo INF; por exemplo, dispositivos que têm várias entradas para enumeração infravermelha e paralela ou para outro barramento. A entrada ExcludeFromSelect, diferente de todas as outras nesta tabela, deve aparecer na seção Sinalizadores de controle do arquivo INF. Confira a seção INF ControlFlags para obter mais informações.

Observação

3 (VendorSetup): se nenhuma entrada VendorSetup for especificada, as operações de instalação personalizadas não serão executadas. Especificamente, nenhuma interface do usuário é permitida durante a instalação do processador de impressão, do monitor de impressão ou do driver de impressora, exceto por meio do uso da entrada INF VendorSetup. Para obter mais informações sobre essa entrada, confira Operações de configuração personalizada de impressora.

Importante

VendorSetup agora está obsoleto e não deve ser usado por nenhum novo driver v3 ou v4 que você desenvolver. Essas informações sobre VendorSetup são fornecidas apenas para referência ou para a manutenção de drivers v3 existentes que já usam essa diretiva INF.

As entradas do arquivo INF da impressora geralmente são especificadas nas seções de dados do arquivo INF da impressora. Para obter exemplos, confira os arquivos INF de exemplo da impressora.

Formato de valor do LanguageMonitor

Quando uma entrada do LanguageMonitor é incluída em um arquivo INF da impressora, o formato do valor é o seguinte:

LanguageMonitor=" MonitorName , MonitorDLLName "

Onde MonitorName é uma cadeia de caracteres de texto que representa o nome exibido do monitor e MonitorDLLName é o nome do arquivo da DLL do monitor.

Formato de valor do PrintProcessor

Quando uma entrada do PrintProcessor é incluída em um arquivo INF da impressora, o formato do valor é o seguinte:

PrintProcessor=" PrintProcessorName , PrintProcessorDLLName "

Onde PrintProcessorName é uma cadeia de caracteres de texto que representa o nome exibido do processador de impressão e PrintProcessorDLLName é o nome do arquivo da DLL.

Arquivos dependentes

Um arquivo dependente é um arquivo de driver de impressora incluído em uma seção de instalação de arquivo INF de impressora com um dirid de 66.000, mas não atribuído às entradas DriverFile, DataFile, ConfigFile ou HelpFile .

O exemplo a seguir mostra trechos de um arquivo INF que instala três arquivos dependentes, copiando-os para o diretório do driver da impressora (ou seja, para o diretório especificado por dirid 66.000):

[Contoso]
%PRINTER_MODEL_123%=Contoso_Install_Section,LPTENUM\Contoso_1284.4_P29C5
...
[Contoso_Install_Section]
CopyFiles=@Contoso.ini,@Contoso.xml,@Contoso.dll
...
[DestinationDirs]
DefaultDestDir=66000
...
[Strings]
PRINTER_MODEL_123 = "Contoso Printer Model 123"

Nesse exemplo, Contoso.ini é um arquivo INI de impressora, Contoso.xml é um arquivo de extensão bidi e Contoso.dll é um componente personalizado. Para obter mais informações sobre arquivos INI de impressora, arquivos de extensão bidi e componentes personalizados, confira Instalando componentes de driver personalizados e Esquema de comunicação bidirecional.

As operações Point and Print instalam o driver e os arquivos dependentes do driver no cliente.

Um máximo de 64 arquivos dependentes podem ser especificados para cada modelo de impressora.

Esquema de comunicação bidirecional

Seção INF ControlFlags

Instalando componentes de driver personalizados

Point and Print

Seção de instalação do arquivo INF

Manifesto do driver V4