Метод IPrintCoreUI2::EnumFeatures (prcomoem.h)
Метод IPrintCoreUI2::EnumFeatures
перечисляет доступные функции принтера.
Синтаксис
HRESULT EnumFeatures(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[out] PZZSTR pmszFeatureList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Параметры
[in] poemuiobj
Указатель на текущий контекст, структуру OEMUIOBJ .
[in] dwFlags
Зарезервировано и должно быть равно нулю.
[out] pmszFeatureList
Указатель на буфер, предоставленный вызывающим объектом, который получает список ключевых слов функций с разделителями NULL в формате MULTI_SZ. Список завершается двумя символами NULL.
Задайте для этого параметра значение NULL , чтобы просто запросить размер (*pcbNeeded) списка компонентов без заполнения списка.
[in] cbSize
Указывает размер (в байтах) буфера, на который указывает pmszFeatureList.
[out] pcbNeeded
Указатель на расположение памяти, которое получает фактический размер (в байтах) списка признаков.
Возвращаемое значение
Этот метод должен возвращать одно из следующих значений.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Значение в cbSize было меньше числа байтов, записываемых в выходной буфер (буфер, на который указывает pmszFeatureList).
Метод был вызван с параметром pmszFeatureList со значением NULL. |
|
Параметр poemuiobj указывает на недопустимый объект контекста. |
|
Сбой метода |
Комментарии
Этот метод поддерживается только для подключаемых модулей Windows XP Pscript5, но не для подключаемых модулей Unidrv.
Функции, прикрепленные к принтеру (см. раздел Замена страниц Driver-Supplied страниц свойств), такие как те, которые определяют устанавливаемую память и наличие дополнительных аксессуаров, включаются в список ключевое слово компонентов, который отображается в буфере вывода, на который указывает pmszFeatureList при возврате метода. Для Pscript5 атрибут компонента OpenGroupType имеет значение InstallableOptions.
Чтобы уменьшить потребность в двух вызовах для каждого доступа к данным, передайте методу выходной буфер фиксированного размера (например, 1 КБ), а затем проверка возвращаемое значение функции. Если метод возвращает S_OK, буфер уже содержит интересующие данные. Если метод возвращает E_OUTOFMEMORY, значение в *pcbNeeded — это размер буфера, необходимый для хранения интересующих данных. Затем вызывающий объект должен выделить буфер большего размера и продолжить второй вызов метода .
Дополнительные сведения см. в разделе Использование EnumFeatures.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | prcomoem.h (включая Prcomoem.h) |