DOCUMENTPROPERTYHEADER 結構 (winddiui.h)
DOCUMENTPROPERTYHEADER 結構會當做印表機介面 DLL DrvDocumentPropertySheets 函式的輸入參數使用。
語法
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 函式應該先複製到印表機介面 DLL 的內部 DEVMODEW 結構 (,再顯示屬性表。 如果未在 fMode 中設定DM_IN_BUFFER或DM_MODIFY,則此指標為 NULL。
pdmOut
輸出 DEVMODEW 結構的指標,如果) 適用的話, DrvDocumentPropertySheets 函 式應該在屬性表顯示之後,複製列印機介面 DLL 的內部 DEVMODEW 內容 (。 如果未在 fMode 中設定DM_OUT_BUFFER或DM_COPY,則此指標為 NULL。
cbOut
指定 pdmOut 指向之緩衝區的大小,以位元組為單位。 如需詳細資訊,請參閱接下來的<備註>一節。
fMode
下表所列的一或多個位旗標。 (旗標定義於頭文件 Wingdi.h 和 Winddiui.h.)
旗標 | 定義 |
---|---|
(未設定旗標,也就是 fMode 為 0) 。 | DrvDocumentPropertySheets 函式應該會傳回其 DEVMODEW 結構的大小,以位元組為單位,包括 cbOut 成員中的所有公用和私用成員。 |
DM_ADVANCED | 如果設定, DrvDocumentPropertySheets 函 式應該只會建立進階文件頁面。 如果未設定, DrvDocumentPropertySheets 函 式應該同時建立 PageSetup 和 Advanced 檔頁面。 (請參閱 COMPROPSHEETUI 結構之 pDlgPage 成員的描述。) |
DM_IN_BUFFER或DM_MODIFY | 呼叫端已在 pdmIn 中提供 DEVMODEW 結構指標, 而 DrvDocumentPropertySheets 函式應該更新其內部 DEVMODEW 結構,以反映所提供 DEVMODEW 的內容。 |
DM_IN_PROMPT或DM_PROMPT | DrvDocumentPropertySheets 函式應該會建立其屬性表頁面。 (如果 DrvDocumentPropertySheets 函式的 pPSUIInfo 參數為 NULL.) ,則永遠不會設定此旗標 |
DM_NOPERMISSION | 印表機介面 DLL 的 _CPSUICALLBACK型別回呼不應允許使用者修改所顯示屬性表頁面上的屬性。 |
DM_OUT_BUFFER或DM_COPY | 呼叫端已在 pdmOut 中提供 DEVMODEW 結構指標, 而 DrvDocumentPropertySheets 函式應該將其內部 DEVMODEW 結構的內容複製到提供的 DEVMODEW 中。 |
DM_PROMPT_NON_MODAL | DrvDocumentPropertySheets 函式應該建立其屬性表頁面,並啟動非強制回應 UI。 (如果 DrvDocumentPropertySheets 函式的 pPSUIInfo 參數為 NULL.) ,則永遠不會設定此旗標 |
DM_USER_DEFAULT | 未使用。 |
DM_OUT_DEFAULT或DM_UPDATE | 未使用。 |
備註
cbOut 成員中的輸入值不一定等於 pdmOut 成員所指向的緩衝區大小。 例如,當DrvDocumentPropertySheets函式的 pPSUInfo 參數為 NULL,而且如果 DOCUMENTPROPERTYHEADER 結構的 fMode 成員為零,或相同結構的 pdmOut 成員為 NULL 時,驅動程式應該寫入印表機 DEVMODEW 結構的總大小, (包括 cbOut 成員中的公用和私用結構成員) 。 在這種情況下,驅動程式應將 cbOut 成員視為「僅寫入」成員。 因此,如果您的驅動程式已呼叫DrvDocumentPropertySheets函式,則不應該使用 cbOut 成員作為 pdmOut 成員所指向的緩衝區大小。 隨附於 Windows 驅動程式套件 (WDK) 的「繪圖器」範例示範如何正確使用 cbOut 成員。
規格需求
需求 | 值 |
---|---|
標頭 | winddiui.h (包含Winddiui.h) |