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


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

Метод IPrintCoreUI2::EnumConstrainedOptions определяет, какие параметры компонента ограничены.

Синтаксис

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

Параметры

[in] poemuiobj

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

[in] dwFlags

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

[in] pszFeatureKeyword

Указатель на буфер, предоставленный вызывающим объектом, содержащий один компонент, ключевое слово, интересующий вызывающий объект.

[out] pmszConstrainedOptionList

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

Задайте для этого параметра значение NULL , чтобы просто запросить размер (*pcbNeeded) списка ограниченных параметров без заполнения списка.

[in] cbSize

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

[out] pcbNeeded

Указатель на расположение памяти, которое получает фактический размер списка ограниченных параметров в байтах.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно. Метод также должен возвращать это значение, если ни один из параметров функции не ограничен. В этом случае метод должен поместить один пустой символ в буфер, на который указывает pmszConstrainedOptionList, и присвоить параметру **pcbNeeded* значение 1.
E_OUTOFMEMORY
Значение в cbSize было меньше числа байтов, записываемых в выходной буфер (буфер, на который указывает pmszConstrainedOptionList).

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

E_INVALIDARG
Строка, на которую указывает pszFeatureKeyword , не является распознанной функцией.

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

Залипчивость признака не совпадает с тем, на который указывает объект контекста, на который указывает peomuiobj. (См. раздел Замена страниц Driver-Supplied страниц свойств.)

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

Комментарии

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

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

Требования

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

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

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ