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


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

Метод IPrintCoreUI2::GetOptions извлекает текущие параметры компонентов драйвера в формате списка ключевое слово пар компонентов и параметров.

Синтаксис

HRESULT GetOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCZZSTR   pmszFeaturesRequested,
  [in]  DWORD     cbIn,
  [out] PZZSTR    pmszFeatureOptionBuf,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

Параметры

[in] poemuiobj

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

[in] dwFlags

Зарезервировано и должно быть равно нулю.

[in] pmszFeaturesRequested

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

[in] cbIn

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

[out] pmszFeatureOptionBuf

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

[in] cbSize

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

[out] pcbNeeded

Указатель на расположение памяти, которое получает фактический размер (в байтах) пар "признак-параметр" ключевое слово.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
E_OUTOFMEMORY
Значение в cbSize было меньше числа байтов, записываемых в выходной буфер (буфер, на который указывает pmszFeatureOptionBuf).

Метод был вызван с параметром pmszFeatureOptionBuf , имеющим значение NULL.

E_INVALIDARG
Входной буфер (буфер, на который указывает pmszFeaturesRequested) был предоставлен, но его содержимое не было в MULTI_SZ формате.

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

E_NOTIMPL
Метод не поддерживается.
E_FAIL
Сбой метода

Комментарии

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

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

Чтобы уменьшить необходимость выполнять два вызова для каждого доступа к данным, передайте методу выходной буфер фиксированного размера (например, 1 КБ), а затем проверка возвращаемое значение функции. Если метод возвращает S_OK, буфер уже содержит интересующие данные. Если метод возвращает E_OUTOFMEMORY, значение в *pcbNeeded — это размер буфера, необходимый для хранения интересующих данных. Затем вызывающий объект должен выделить буфер большего размера и продолжить второй вызов метода .

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

Требования

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

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

IPrintCoreUI2

IPrintCoreUI2::SetOptions

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ