Criar uma DLL de gráficos 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.

Ao criar uma DLL de gráficos de impressora, você deve estar ciente das seguintes diferenças entre DLLs destinadas à execução no modo de usuário e aquelas destinadas à execução no modo kernel.

No Windows Vista, as DLLs de gráficos de impressora só podem ser executadas no modo de usuário. Para obter mais informações, consulte Escolhendo o modo de usuário ou o modo kernel.

Regras para compilar uma DLL de gráficos de impressora

DLL de gráficos no modo de usuário DLL de gráficos no modo kernel
Defina TARGETTYPE=DYNLINK no arquivo de origem. Defina TARGETTYPE=GDI_DRIVER no arquivo de origem.
A USERMODE_DRIVER de macro do pré-processador deve ser definida nos arquivos de origem antes que winddi.h seja incluído. A USERMODE_DRIVER de macro do pré-processador não deve ser definida.
Os módulos de objeto devem ser vinculados às bibliotecas de importação umpdddi.lib e gdi32.lib. Os módulos de objeto devem ser vinculados à biblioteca de importação win32k.lib.
A função DrvQueryDriverInfo deve retornar TRUE para DRVQUERY_USERMODE. A função DrvQueryDriverInfo deve retornar FALSE para DRVQUERY_USERMODE. (Como alternativa, a função pode ser omitida.)