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


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

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

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

[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
Метод не поддерживается.

Замечания

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

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

Требования

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

См. также

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ