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.