共用方式為


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和進階文件頁面。 (請參閱 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,驅動程式應該在 cbOut 成員中寫入印表機 DEVMODEW 結構的總大小(包括公用和私用結構成員)。 在這種情況下,驅動程式應將 cbOut 成員視為「僅限寫入」成員。 因此,如果呼叫DrvDocumentPropertySheets函式,您的驅動程式不應該使用 cbOut 成員作為 pdm Out 所指向的緩衝區大小。 隨附於 Windows 驅動程式套件 (WDK) 的「繪圖器」範例示範如何使用 cbOut 成員。

要求

要求 價值
標頭 winddiui.h (包括 Winddiui.h)

另請參閱

COMPROPSHEETUI

DEVMODEW

DrvDocumentPropertySheets

MSPLOT 繪圖器驅動程式範例