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


Метод 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

Указатель на буфер, предоставленный вызывающим объектом, содержащий список пар ключевых слов feature/option в MULTI_SZ формате. Каждый элемент в этом списке отделен от следующего по значению 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 и их подпрограммы обратного вызова листа свойств.

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка prcomoem.h (include Prcomoem.h)

См. также

IPrintCoreUI2

IPrintCoreUI2::GetOptions

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ