Функция DrvDocumentPropertySheets (winddiui.h)

Функция DrvDocumentPropertySheets в интерфейсе принтера в библиотеке DLL отвечает за создание страниц страниц свойств, описывающих свойства печатного документа.

Синтаксис

LONG DrvDocumentPropertySheets(
  [in, optional] PPROPSHEETUI_INFO pPSUIInfo,
                 LPARAM            lParam
);

Параметры

[in, optional] pPSUIInfo

Указатель на структуру PROPSHEETUI_INFO , предоставленный вызывающим. Может иметь значение NULL (см. следующий раздел о примечаниях).

lParam

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

Значение причины Определение lParam
PROPSHEETUI_REASON_INIT Указатель на структуру DOCUMENTPROPERTYHEADER .
Все остальные значения причины См. описание параметра lParam для типа функции PFNPROPSHEETUI . (Адрес структуры DOCUMENTPROPERTYHEADER содержится в элементе lParamInitструктуры PROPSHEETUI_INFO .)

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

Если pPSUIInfo имеет значение NULL и если lParam ->fMode равно нулю или lParam ->pdmOut имеет значение NULL, эта функция должна возвращать размер в байтах структуры DEVMODEW принтера. В противном случае возвращаемое значение функции совпадает с значением, описанным в разделе ReturnValue типа функции PFNPROPSHEETUI . Дополнительные сведения см. в разделе «Примечания».

Комментарии

Все библиотеки DLL интерфейса принтера должны предоставлять функцию DrvDocumentPropertySheets , которая определяется с помощью типа функции PFNPROPSHEETUI . Функция предназначена для вызова функции ComPropSheet , предоставляемой CPSUI, для указания страниц страниц свойств, содержащих изменяемые пользователем свойства для документов печати.

Если значение, полученное для параметра pPSUIInfo , не равно NULL, диспетчер очереди печати на основе NT вызывает функцию косвенно через CPSUI. Применяются следующие правила.

  • Функция должна выполнять операции, описанные для типа функции PFNPROPSHEETUI .

  • Флаги в элементе fMode структуры DOCUMENTPROPERTYHEADER указывают, какие страницы свойств должны отображаться и следует ли пользователю разрешить изменять свойства документа. Можно задать только следующие флаги: DM_IN_PROMPT (или DM_PROMPT), DM_ADVANCED, DM_NOPERMISSION и DM_OUT_BUFFER (или DM_COPY).

Если значение, полученное для параметра pPSUIInfo , равно NULL, диспетчер очереди печати вызывает функцию напрямую, не проходя через CPSUI. В этом случае параметр lParam содержит адрес структуры DOCUMENTPROPERTYHEADER, и применяются следующие правила:

  • Если элемент fMode структуры DOCUMENTPROPERTYHEADER равен нулю или член pdmOut той же структуры имеет значение NULL, функция должна возвращать только общий размер структуры DEVMODEW принтера, включая открытые и частные элементы структуры, в элементе cbOut структуры DOCUMENTPROPERTYHEADER.

  • Если элемент fMode структуры DOCUMENTPROPERTYHEADER не равен нулю, функция должна выполнять операции, указанные флагами fMode . Можно задать только флаги DM_IN_BUFFER (или DM_MODIFY) и DM_OUT_BUFFER (или DM_COPY).

Требования

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

См. также раздел

DOCUMENTPROPERTYHEADER

DrvDevicePropertySheets

IPrintOemUI::D ocumentPropertySheets