Функция 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) |