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