Структура DOCUMENTPROPERTYHEADER (winddiui.h)
Структура DOCUMENTPROPERTYHEADER используется в качестве входного параметра для функции DrvDocumentPropertySheets библиотеки DLL интерфейса принтера.
Синтаксис
typedef struct _DOCUMENTPROPERTYHEADER {
WORD cbSize;
WORD Reserved;
HANDLE hPrinter;
LPTSTR pszPrinterName;
PDEVMODE pdmIn;
PDEVMODE pdmOut;
DWORD cbOut;
DWORD fMode;
} DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER;
Члены
cbSize
Размер структуры DOCUMENTPROPERTYHEADER в байтах.
Reserved
Зарезервировано. Должен равняться нулю.
hPrinter
Дескриптор принтера.
pszPrinterName
Указатель на строку, завершающуюся значением NULL, представляющую имя принтера.
pdmIn
Указатель на входную структуру DEVMODEW , которую функция DrvDocumentPropertySheets должна скопировать во внутреннюю структуру DEVMODEW интерфейса принтера (перед отображением страницы свойств, если применимо). Если DM_IN_BUFFER или DM_MODIFY не заданы в fMode, этот указатель имеет значение NULL.
pdmOut
Указатель на выходную структуру DEVMODEW , в которую функция DrvDocumentPropertySheets должна копировать внутреннее содержимое БИБЛИОТЕКи DEVMODEW интерфейса принтера (после отображения страницы свойств, если применимо). Если DM_OUT_BUFFER или DM_COPY не заданы в fMode, этот указатель имеет значение NULL.
cbOut
Указывает размер (в байтах) буфера, на который указывает pdmOut . Дополнительные сведения см. в разделе "Примечания".
fMode
Один или несколько битовых флагов, перечисленных в следующей таблице. (Флаги определены в файлах заголовков Wingdi.h и Winddiui.h.)
Флаг | Определение |
---|---|
Флаги не заданы (то есть fMode равно 0). | Функция DrvDocumentPropertySheets должна возвращать размер в байтах своей структуры DEVMODEW, включая все открытые и закрытые члены, в элементе cbOut . |
DM_ADVANCED | Если этот параметр задан, функция DrvDocumentPropertySheets должна создавать только страницу документа Дополнительно. Если значение не задано, функция DrvDocumentPropertySheets должна создать страницы документа PageSetup и Дополнительно. (См. описание элемента pDlgPage структуры COMPROPSHEETUI .) |
DM_IN_BUFFER или DM_MODIFY | Вызывающий объект предоставил указатель структуры DEVMODEW в pdmIn, а функция DrvDocumentPropertySheets должна обновить свою внутреннюю структуру DEVMODEW, чтобы она отражала содержимое предоставленного DEVMODEW. |
DM_IN_PROMPT или DM_PROMPT | Функция DrvDocumentPropertySheets должна создавать страницы своих свойств. (Этот флаг никогда не устанавливается, если параметр pPSUIInfo функции DrvDocumentPropertySheets имеет значение NULL.) |
DM_NOPERMISSION | Обратный вызов библиотеки DLL _CPSUICALLBACK интерфейса принтера не должен позволять пользователю изменять свойства на отображаемых страницах страниц свойств. |
DM_OUT_BUFFER или DM_COPY | Вызывающий объект предоставил указатель структуры DEVMODEW в pdmOut, а функция DrvDocumentPropertySheets должна скопировать содержимое своей внутренней структуры DEVMODEW в предоставленный объект DEVMODEW. |
DM_PROMPT_NON_MODAL | Функция DrvDocumentPropertySheets должна создавать страницы страниц свойств и запускать немодальный пользовательский интерфейс. (Этот флаг никогда не устанавливается, если параметр pPSUIInfo функции DrvDocumentPropertySheets имеет значение NULL.) |
DM_USER_DEFAULT | Не используется. |
DM_OUT_DEFAULT или DM_UPDATE | Не используется. |
Комментарии
Входное значение в элементе cbOut не обязательно равно размеру буфера, на который указывает элемент pdmOut . Например, если параметр pPSUInfo функции DrvDocumentPropertySheets имеет значение NULL и если элемент fMode структуры DOCUMENTPROPERTYHEADER равен нулю или элемент pdmOut той же структуры имеет значение NULL, драйвер должен записать в элемент cbOut общий размер структуры DEVMODEW принтера (включая открытые и закрытые элементы структуры). В этом случае драйвер должен рассматривать элемент cbOut как элемент ,доступный только для записи. Таким образом, драйвер не должен использовать член cbOut в качестве размера буфера, на который указывает член pdmOut , если была вызвана функция DrvDocumentPropertySheets. Пример "плоттера", поставляемый с комплектом драйверов Для Windows (WDK), демонстрирует, как правильно использовать член cbOut .
Требования
Требование | Значение |
---|---|
Заголовок | winddiui.h (включая Winddiui.h) |