Поделиться через


Использование EnumOptions

Важно!

Мы рекомендуем использовать драйвер класса "Входящие" корпорации Майкрософт, а также приложения для поддержки печати (PSA) корпорации Майкрософт, чтобы настроить возможности печати в Windows 10 и 11 для разработки принтеров.

Дополнительные сведения см. в руководстве по проектированию приложений поддержки печати.

Вызывающий объект может использовать EnumOptions , чтобы получить список ключевых слов для поддерживаемых функций драйвера и любых функций PPD. Для функций PPD enumOptions всегда поддерживается и возвращает параметры, определенные PPD.

Для функций драйвера EnumOptions поддерживается только для функций, которые поддерживаются в настоящее время и имеют фиксированный набор параметров. Например: у %AddEuro есть два параметра: True и False, а у %PageOrder есть два параметра FrontToBack и BackToFront. EnumOptions поддерживается для %AddEuro (если уровень языка равен 2 и выше), а также для %PageOrder (если включено spooling EMF). Но такие функции, как %CustomPageSize, %PSMemory и другие, имеют неограниченное количество возможных вариантов, что означает, что EnumOptions не поддерживается для них.

Для функций драйвера, которые в настоящее время не поддерживаются, или для поддерживаемых функций драйверов, которые не перечисляют через EnumOptions, EnumOptions возвращает E_NOTIMPL.

Кроме того, некоторые параметры функции драйвера могут не поддерживаться при определенных условиях. Например, если в выпусках Windows 2000 и более поздних версий операционной системы отключено spooler EMF, параметр Booklet не поддерживается для функции %PagePerSheet. Например, если у принтера нет средства растеризатора Type42, параметр NativeTrueType не поддерживается для %TTDownloadFormat. Эти неподдерживаемые параметры не будут отображаться в списке выходных ключевых слов EnumOptions.

Pscript особым образом обрабатывает следующие ключевые слова признаков:

  • Ключевое слово компонента *CustomPageSize преобразуется в параметр ключевого слова компонента *PageSize, при этом "CustomPageSize" является ключевым словом параметра. Вызовите GetOptionAttribute , чтобы получить его параметры PPD.

  • Запись *ManualFeed True преобразуется в параметр ключевого слова *InputSlot feature, а "ManualFeed" — это имя ключевого слова параметра.

  • Для ключевого слова компонента *InputSlot Pscript всегда добавляет созданный драйвером параметр с именем ключевого слова параметра "*UseFormTrayTable" в качестве первого параметра (префикс "*" используется в имени ключевого слова option, чтобы избежать возможного конфликта имен с параметрами, определяемыми PPD), за которым следуют параметры, определенные в PPD. Если выбран параметр "*UseFormTrayTable", Pscript будет использовать таблицу назначения "форма в лоток", чтобы автоматически выбрать лоток бумаги, поддерживающий выбранный размер бумаги.