Entradas de arquivo INF da impressora

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com o PSA (Aplicativos de Suporte para Impressão), para personalizar a experiência de impressão em Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

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

Para que um aplicativo de instalação instale uma impressora em um servidor de impressão, ele deve chamar a função AddPrinterDriverEx do spooler para carregar arquivos de driver e, em seguida, 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 do Windows 2000 ou posterior, Ntprint.dll, lê arquivos INF da 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:

Nome_da_entrada = Valor

em que 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 em arquivos INF da impressora. Para cada entrada, a tabela inclui o seguinte:

  • 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 de 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 Consulte a Observação 1, seguindo esta 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 de elementos gráficos da impressora do driver. Nome da seção do driver no arquivo INF. membro pDriverPath da estrutura DRIVER_INFO_3
ExcludeFromSelect Consulte a Observação 2, seguindo esta 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 idioma a ser associado ao driver da impressora. Consulte a seção Formato de valor LanguageMonitor . Nenhum. Um monitor de idioma não é especificado. membro pMonitorName da estrutura DRIVER_INFO_3
Printprocessor O nome de um processador de impressão a ser associado à fila da impressora. Consulte 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 manipula operações de configuração de impressora personalizadas. Nenhum. Consulte a Observação 3, seguindo esta tabela. Nenhum
InboxVersionRequired A versão mínima aceitável para todos os drivers principais referenciados pelo INF. Para obter mais informações sobre InboxVersionRequired, consulte Diretiva INF InboxVersionRequired. Nenhum Nenhum

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

Categoria do 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 nele.
PrintFax.Fax 1 Uma fila de impressão que representa uma máquina de fax física 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 reversível. Quando o usuário imprime em uma impressora de arquivo, o usuário deve primeiro inserir um nome de arquivo e, em seguida, o spooler envia a saída impressa para esse arquivo. As impressoras de arquivo sempre exigem um nome de arquivo, mas não recebem nenhuma outra entrada do usuário. Quando não há nenhuma 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 gravadores MXDW (Gravador de Documentos do Microsoft XPS) e PDF.
PrintFax.Printer.Virtual 3 Uma fila de impressão que tem um driver que executa alguma operação em dados impressos 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 no computador, sendo enviado para outro aplicativo ou 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 para imprimir em uma impressora virtual, pode haver uma necessidade de interação adicional do usuário, iniciada pelo driver ou por algum outro componente do driver. Para obter mais informações, consulte Impressoras virtuais em arquivos INF de impressora.
PrintFax.Printer.Service 4 Uma fila de impressão que representa um serviço de impressão. Quando o usuário seleciona para 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. Em seguida, o usuário pode ir para o local de negócios físico para obter a saída impressa.
PrintFax.Printer.3D 5 Uma fila de impressão que representa o fluxo de dados de uma impressora 3D. Se essa categoria for especificada involuntariamente para uma impressora 2D (uma impressora regular), 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, consulte 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 ou 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 paralela e infravermelha ou para outro barramento. A entrada ExcludeFromSelect, ao contrário de todas as outras nesta tabela, deve aparecer na seção Sinalizadores de Controle do arquivo INF. Consulte a Seção ControlFlags do INF 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. Em particular, nenhuma interface do usuário é permitida durante a instalação do processador de impressão, monitor de impressão ou driver de impressora, exceto pelo uso da entrada INF VendorSetup. Para obter mais informações sobre essa entrada, consulte Operações de configuração de impressora personalizadas.

Importante

VendorSetup agora está preterido e não deve ser usado por novos drivers v3 ou v4 que você desenvolve. 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 de arquivo INF da impressora normalmente são especificadas nas seções de dados de arquivo INF da impressora. Para obter exemplos, consulte Arquivos INF de impressora de exemplo.

Formato de valor LanguageMonitor

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

LanguageMonitor=" MonitorName , MonitorDLLName "

em que 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 printProcessor

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

PrintProcessor=" PrintProcessorName , PrintProcessorDLLName "

em que 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

Para o Windows 2000 e posterior, 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 66000, 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 printer-driver (ou seja, para o diretório especificado por dirid 66000):

[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"

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

As operações de ponto e impressão instalam os arquivos dependentes do driver e do driver no cliente.

Um máximo de 64 arquivos dependentes pode ser especificado para cada modelo de impressora.

Esquema de comunicação bidirecional

Seção ControlFFlags

Instalando componentes de driver personalizados

Ponto e impressão

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

Manifesto do driver V4