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


Метод IPrintOemUI::CommonUIProp (prcomoem.h)

Метод IPrintOemUI::CommonUIProp позволяет подключаемого модуля пользовательского интерфейса изменять существующую страницу свойств принтера.

Синтаксис

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

Параметры

dwMode

Предоставленная вызывающим абонентом целочисленная константа, указывающая, какую страницу страницы свойств следует изменить. Допустимы следующие константы.

Значение Определение
OEMCUIP_DOCPROP Метод вызывается для изменения страницы Layout, Paper/Quality или Advanced страницы свойств документа.
OEMCUIP_PRNPROP Метод вызывается для изменения страницы Параметры устройства на странице свойств принтера.

pOemCUIPParam

Предоставленный вызывающим абонентом указатель на структуру OEMCUIPPARAM .

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

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

Код возврата Описание
S_OK
Операция успешно выполнена.
E_FAIL
Операция не удалась.
E_NOTIMPL
Метод не реализован.

Комментарии

При вызове метода подключаемого модуля пользовательского IPrintOemUI::CommonUIProp интерфейса он должен возвращать настраиваемые элементы параметров листа свойств, чтобы изменить существующую страницу свойств принтера.

Метод IPrintOemUI::CommonUIProp вызывается библиотекой DLL интерфейса принтера драйвера принтера. Метод должен предоставлять массив структур OPTITEM , описывающих элементы листа свойств, а также функцию обратного вызова для обработки пользовательских изменений значений параметров.

Предполагается, что метод будет вызываться дважды для каждой страницы свойств. Значение параметра dwMode метода указывает, вызывается ли он для внесения изменений в страницу свойств принтера или страницу свойств документа.

При первом вызове метод должен просто возвращать количество добавляемых структур OPTITEM . Это число следует поместить в элемент cOEMOptItems структуры OEMCUIPPARAM. Затем библиотека DLL интерфейса принтера выделяет достаточно памяти для хранения указанного числа модулей OPTITEM и снова вызывает IPrintOemUI::CommonUIProp .

При втором вызове IPrintOemUI::CommonUIProp метод должен выполнить следующие действия:

  • Заполните предоставленный драйвером массив структур OPTITEM описаниями параметров. На этот массив указывает элемент pOEMOptItems структуры OEMCUIPPARAM, а количество выделенных элементов массива содержится в элементе cOEMOptItems структуры. (Сведения об указании значений элементов OPTITEM см. в описании элемента pOEMOptItems структуры OEMCUIPPARAM.
  • Верните число структур, добавленных в массив OPTITEM, поместив его в элемент cOEMOptItems структуры OEMCUIPPARAM.
  • Возвращает адрес функции обратного вызова в элементе OEMCUIPPARAM структуры OEMCUIPCallback . Эта функция обратного вызова вызывается, когда пользователь изменяет страницу страницы свойств. Функция обратного вызова должна иметь тип OEMCUIPCALLBACK.
  • При необходимости верните адрес частной структуры данных, поместив его в элемент pOEMUserData структуры OEMCUIPPARAM. Функция обратного вызова, указанная членом OEMCUIPCallback структуры, получает адрес структуры OEMCUIPPARAM в качестве входного параметра и, следовательно, может получить адрес частных данных.

    Пространство для частной структуры данных должно быть выделено путем вызова функции Microsoft Windows SDK HeapAlloc с помощью дескриптора, содержащегося в элементе hOEMHeap структуры OEMCUIPPARAM.

Если IPrintOemUI::CommonUIProp методы экспортируются несколькими подключаемыми модулями пользовательского интерфейса, методы вызываются в том порядке, в который указаны подключаемые модули для установки.

Дополнительные сведения см. в разделе Изменение страницы страницы свойств Driver-Supplied.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть prcomoem.h (включая Prcomoem.h)