Создание библиотеки DLL графики принтера
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
При создании библиотеки DLL графики принтера следует учитывать следующие различия между библиотеками DLL, предназначенными для выполнения в пользовательском режиме и предназначенных для выполнения в режиме ядра.
В Windows Vista графические библиотеки DLL принтера могут выполняться только в пользовательском режиме. Дополнительные сведения см. в разделе "Выбор пользовательского режима" или режима ядра.
Правила создания библиотеки DLL графики принтера
Библиотека DLL графики в режиме пользователя | Библиотека DLL графики в режиме ядра |
---|---|
Задайте TARGETTYPE=DYNLINK в исходном файле. | Задайте TARGETTYPE=GDI_DRIVER в исходном файле. |
Макрос препроцессора USERMODE_DRIVER должен быть определен в исходных файлах перед включением winddi.h. | Макрос препроцессора USERMODE_DRIVER не должен быть определен. |
Модули объектов должны быть связаны с библиотеками импорта umpdddi.lib и gdi32.lib. | Модули объектов должны быть связаны с библиотекой импорта win32k.lib. |
Функция DrvQueryDriverInfo должна возвращать значение TRUE для DRVQUERY_USERMODE. | Функция DrvQueryDriverInfo должна возвращать false для DRVQUERY_USERMODE. (Кроме того, функция может быть опущена.) |