Creare una DLL grafica della stampante

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Quando si compila una DLL grafica della stampante, è necessario tenere presente le differenze seguenti tra DLL destinate all'esecuzione in modalità utente e a quelle destinate all'esecuzione in modalità kernel.

In Windows Vista le DLL della grafica della stampante possono essere eseguite solo in modalità utente. Per altre informazioni, vedere Scelta della modalità utente o della modalità kernel.

Regole per la creazione di una DLL grafica della stampante

DLL grafica in modalità utente DLL grafica in modalità kernel
Impostare TARGETTYPE=DYNLINK nel file di origine. Impostare TARGETTYPE=GDI_DRIVER nel file di origine.
La macro del preprocessore USERMODE_DRIVER deve essere definita nei file di origine prima di includere winddi.h. La macro del preprocessore USERMODE_DRIVER non deve essere definita.
I moduli oggetto devono essere collegati alle librerie di importazione umpdddi.lib e gdi32.lib. I moduli oggetto devono essere collegati alla libreria di importazione win32k.lib.
La funzione DrvQueryDriverInfo deve restituire TRUE per DRVQUERY_USERMODE. La funzione DrvQueryDriverInfo deve restituire FALSE per DRVQUERY_USERMODE. In alternativa, la funzione può essere omessa.