Compartilhar via


Criando drivers principais

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.

Os gravadores de driver de impressão podem usar a funcionalidade principal do driver que o Windows Vista fornece. Para criar um driver principal, gere um GUID que outros pacotes de driver possam usar para se referir ao conjunto de arquivos que compõe o driver principal. Por exemplo, em Ntprint.inf, a definição de arquivo de driver principal Unidrv é mostrada no exemplo a seguir:

[Microsoft.NTx86]
"{D20EA372-DD35-4950-9ED8-A6335AFE79F0}" =  
  {D20EA372-DD35-4950-9ED8-A6335AFE79F0}, 
  {D20EA372-DD35-4950-9ED8-A6335AFE79F0}
[{D20EA372-DD35-4950-9ED8-A6335AFE79F0}]
CopyFiles=UNIDRV,PJLMON.DLL,@TTFSUB.GPD,@LOCALE.GPD,@MSXPSINC.GPD
[UNIDRV]
; Unidrv files and pjlmon sections follow...

Com essa definição, um arquivo INF do driver de impressão pode se referir a arquivos de driver principais usando a palavra-chave CoreDriverSections, conforme mostrado no exemplo anterior.

É importante observar que um driver principal deve manter a compatibilidade com versões anteriores. Como mais de um driver pode usar o driver principal, ele deve continuar a trabalhar com drivers existentes que dependem dele quando for atualizado. O driver principal deve ser enviado como parte do pacote de driver.

O driver principal é definido com uma seção Modelo, que inclui uma descrição do dispositivo que é o GUID do driver principal. Por exemplo:

; Model section
[Company.NTx86]
"{GUID1}" = {GUID1}, {GUID1}

; Install section - must list all files in the core printer driver
[{GUID1}]
DriverVer = MM/DD/YYYY,1.1.1.1
CopyFiles=MANUFACTURER_CORE_FILESET

; Core Driver Section, can use print-specific INF keywords here
[MANUFACTURER_CORE]
CopyFiles=MANUFACTURER_CORE_FILESET

[MANUFACTURER_CORE_FILESET]
File1.dll
File2.dll
File3.dll

[ControlFlags]
AlwaysExcludeFromSelect = {GUID1}

O driver principal deve incluir informações de versão na seção de instalação, usando a palavra-chave DriverVer. A seção de instalação também deve listar todos os arquivos que o driver principal exige. Use a nova palavra-chave AlwaysExcludeFromSelect para garantir que o driver principal não seja exibido para o usuário na interface do usuário.