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


Метод IPrintCoreUI2::SetOptions (prcomoem.h)

Метод IPrintCoreUI2::SetOptions задает параметры функций драйвера.

Синтаксис

HRESULT SetOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCZZSTR   pmszFeatureOptionBuf,
  [in]  DWORD     cbIn,
  [out] PDWORD    pdwResult
);

Параметры

[in] poemuiobj

Указатель на текущий контекст, структуру OEMUIOBJ .

[in] dwFlags

Указывает, будет ли основной драйвер разрешать конфликты. Для этого параметра необходимо задать одно из следующих значений:

Значение Значение
SETOPTIONS_FLAG_KEEP_CONFLICT Попросите основного драйвера не разрешать возникающие конфликты.
SETOPTIONS_FLAG_RESOLVE_CONFLICT Попросите основного драйвера устранить возникающие конфликты.

[in] pmszFeatureOptionBuf

Указатель на буфер, предоставленный вызывающим объектом, содержащий список пар ключевое слово функций и параметров в формате MULTI_SZ. Каждый элемент в этом списке отделяется от следующего символом NULL, а список завершается двумя символами NULL.

[in] cbIn

Задает размер (в байтах) буфера, на который указывает pmszFeatureOptionBuf. Этот размер включает последний MULTI_SZ символ NULL.

[out] pdwResult

Указатель на расположение памяти, которое получает одно из следующих значений. Эти константы определяются в файле printoem.h.

Значение Значение
SETOPTIONS_RESULT_CONFLICT_REMAINED Основной драйвер обнаружил конфликты, но оставил их неразрешенными.
SETOPTIONS_RESULT_CONFLICT_RESOLVED Основной драйвер обнаружил и устранил все конфликты.
SETOPTIONS_RESULT_NO_CONFLICT Основной драйвер не обнаружил никаких конфликтов.

Возвращаемое значение

Метод должен возвращать одно из следующих значений.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_NOTIMPL
Метод не поддерживается.

Структура типа, заданного dwLevel, не поддерживается.

E_INVALIDARG
Значение в dwFlags было неправильным.

Входной буфер (на который указывает pmszFeatureOptionBuf) не был в MULTI_SZ формате.

Параметр poemuiobj указывает на недопустимый объект контекста.

E_FAIL
Сбой метода

Комментарии

Этот метод поддерживается только для подключаемых модулей Windows XP Pscript5, но не для подключаемых модулей Unidrv.

Этот метод вызывается для задания параметров компонентов драйвера с помощью списка пар ключевое слово функций и параметров. Вызывающий объект может получить доступ к результирующим параметрам функции с помощью метода IPrintCoreUI2::GetOptions .

Если этот метод возвращает любое значение, отличное от S_OK, он не вносит никаких изменений в параметры функций драйвера.

Входной буфер pmszFeatureOptionBuf должен быть создан так же, как выходной буфер метода IPrintCoreUI2::GetOptions . Это значит, что ключевое слово пар "признак-параметр" должен иметь MULTI_SZ формате, а каждый элемент в списке отделяется от следующего символом NULL. Пара символов NULL завершает список.

Если входной буфер содержит функцию ключевое слово или его параметр ключевое слово, который не распознается, или компонент распознан, но не поддерживается в текущем режиме липки (см. раздел Замена страниц Driver-Supplied свойств), то пара "компонент/параметр" игнорируется, а текущий параметр для этой функции продолжает действовать.

Этот метод поддерживается только для подключаемых модулей пользовательского интерфейса, которые полностью заменяют стандартные страницы пользовательского интерфейса основного драйвера, и поддерживается только при использовании функций IPrintOemUI::D ocumentPropertySheets и IPrintOemUI::D evicePropertySheets и процедур обратного вызова страниц свойств.

Дополнительные сведения см. в разделе Использование GetOptions и SetOptions.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prcomoem.h (включая Prcomoem.h)

См. также раздел

IPrintCoreUI2

IPrintCoreUI2::GetOptions

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ