Метод 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 null-символ.
[out] pmszFeatureOptionBuf
Указатель на предоставленный вызывающим буфером, который получает список пар ключевых слов компонента и параметра (в формате MULTI_SZ), полученных из параметров драйвера. Каждая пара ключевых слов компонента или параметра содержит имя ключевого слова компонента, пустой символ, имя ключевого слова параметра и другой пустой символ. Список завершается двумя пустыми символами.
[in] cbSize
Задает размер буфера в байтах, на который указывает pmszFeatureOptionBuf.
[out] pcbNeeded
Указатель на расположение памяти, которое получает фактический размер в байтах пар ключевых слов компонента и параметра.
Возвращаемое значение
Метод должен возвращать одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Метод выполнен успешно. |
|
Значение в cbSize было меньше количества байтов, записываемых в выходной буфер (буфер, на который указывает pmszFeatureOptionBuf).
Метод был вызван с pmszFeatureOptionBuf для параметра NULL. |
|
Входной буфер (буфер, на который указывает pmszFeaturesRequested), был предоставлен, но его содержимое не было в MULTI_SZ формате.
Параметр poemuiobj указывает на недопустимый объект контекста. |
|
Метод не поддерживается. |
|
Сбой метода |
Замечания
Этот метод поддерживается только для подключаемых модулей пользовательского интерфейса Windows XP Pscript5, которые полностью заменяют стандартные страницы пользовательского интерфейса драйвера ядра и поддерживаются только во время подключаемых модулей пользовательского интерфейса IPrintOemUI::D ocumentPropertySheets и IPrintOemUI::D evicePropertySheets и их подпрограммы обратного вызова листа свойств. Дополнительные сведения см. в замене страниц листа свойств Driver-Supplied.
Если запрошенное ключевое слово функции не распознано или распознано, но не поддерживается в текущем режиме липких документов ( документа или принтера- см. замены Driver-Supplied страницы листов свойств), или ключевое слово компонента распознается, но в настоящее время отсутствует выбор варианта, функция просто игнорируется, и пара ключевых слов компонента или параметра не помещается в выходной буфер.
Чтобы уменьшить потребность в двух вызовах для доступа к данным, передайте метод выходной буфер фиксированного размера (например, 1 КБ), а затем проверьте возвращаемое значение функции. Если метод возвращает S_OK, буфер уже содержит интересующие данные. Если метод возвращает E_OUTOFMEMORY, значение в *pcbNeed — это размер буфера, необходимый для хранения интересующих данных. Затем вызывающий объект должен выделить буфер этого большего размера и продолжить второй вызов метода.
Дополнительные сведения см. в разделе Using GetOptions and SetOptions.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | prcomoem.h (include Prcomoem.h) |
См. также
IPrintOemUI::D evicePropertySheets