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


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

Метод IPrintCoreUI2::EnumOptions перечисляет доступные параметры определенной функции.

Синтаксис

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

Параметры

[in] poemuiobj

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

[in] dwFlags

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

[in] pszFeatureKeyword

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

[out] pmszOptionList

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

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

[in] cbSize

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

[out] pcbNeeded

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

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

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

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

Метод был вызван с pmszOptionList для параметра NULL.

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

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

E_NOTIMPL
(только Pscript)

Функция драйвера Pscript5 не поддерживается в текущей конфигурации.

Функция драйвера Pscript5 поддерживается в текущей конфигурации, но параметры драйвера Pscript5 не перечисляются.

E_FAIL
Сбой метода

Замечания

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

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

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

Требования

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

См. также

IPrintCoreUI2

IPrintCoreUI2::EnumFeatures

OEMUIOBJ