MXDC_ESCAPE_HEADER_T 結構
MXDC_ESCAPE_HEADER_T結構會保存對ExtEscape的呼叫作業程式碼,並將MXDC_ESCAPE作為nEscape參數。 它也提供輸入和輸出緩衝區的大小。
語法
typedef struct tagMxdcEscapeHeader {
ULONG cbInput;
ULONG cbOutput;
ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
成員
-
cbInput
-
將傳遞至ExtEscape函式之 lpszOutData參數的輸入緩衝區大小。
-
cbOutput
-
輸出緩衝區的大小。 這個值與ExtEscape函式的 cbOutput參數相同。
-
opCode
-
指示 MXDC 執行哪些動作的程式碼常數。
作業程式碼 描述 MXDCOP_GET_FILENAME 傳回ExtEscape函式的lpszOutData參數中,輸出檔的完整路徑為零終止字串或該字串的大小。 請參閱<備註>。 MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 建立列印票證與 XPS 固定檔順序的關聯。 MXDCOP_PRINTTICKET_FIXED_DOC 將列印票證與 XPS 檔建立關聯。 MXDCOP_PRINTTICKET_FIXED_PAGE 建立列印票證與 XPS 頁面的關聯。 MXDCOP_SET_S0PAGE 將目前頁面的 XPS 標記傳送至輸出。 MXDCOP_SET_S0PAGE_RESOURCE 將頁面上的資源,例如影像或字型傳送至輸出。 MXDCOP_SET_XPSPASSTHRU_MODE 將 MXDC 放入傳遞狀態,讓應用程式可以直接將 XPS 寫入輸出檔案,而不需要 MXDC 進行任何處理。 您可以透過這種方式撰寫整個檔或甚至檔順序。
備註
在呼叫MXDC_ESCAPE之前,_applications應該先使用GETTECHNOLOGY逸出呼叫ExtEscape來驗證驅動程式是否為 MXDC。 如果驅動程式是 MXDC,函式會傳回零終止字串 「 http://schemas.microsoft.com/xps/2005/06" ;。
這個結構一律會在其lpszInData參數中傳遞至ExtEscape函式的資料開頭。
當 opCode MXDCOP_GET_FILENAME時:
- ExtEscape函式的lpszInData參數只包含MXDC_ESCAPE_HEADER_T結構。
- 藉由呼叫 ExtEscape 兩次來取得輸出檔名。
- 第一次將 4 傳遞至ExtEscape的cbOutput參數。 將 lpszOutData 參數設定為指向任何配置的 4 個位元組記憶體。 ExtEscape的lpszOutData參數中會傳回完整檔案路徑的大小。
- 然後再次呼叫 函式。 這次將 cbOutput 和 cbInput 設定為 4+ DataSize。 完整檔案路徑將會在 MxdcGetFileNameData 結構中傳回。
當 opCode MXDCOP_PRINTTICKET_FIXED_DOC_SEQ或MXDCOP_PRINTTICKET_FIXED_DOC時:
- ExtEscape函式的lpszInData參數包含MXDC_ESCAPE_HEADER_T結構和串連至MxdcPrintTicketEscape 結構的 MxdcPrintTicketPassthrough結構。
- 對 ExtEscape 的呼叫必須在 對 StartDoc 的呼叫與 EndDoc的呼叫之間發生。
當 opCode MXDCOP_PRINTTICKET_FIXED_PAGE時:
- ExtEscape函式的lpszInData參數包含MXDC_ESCAPE_HEADER_T結構和串連至MxdcPrintTicketEscape 結構的 MxdcPrintTicketPassthrough結構。
- 對 ExtEscape 的呼叫必須在呼叫 StartPage 和 對 EndPage的呼叫之間發生。
當 opCode MXDCOP_SET_S0PAGE時:
- ExtEscape函式的lpszInData參數包含MXDC_ESCAPE_HEADER_T結構和串連至MxdcS0PagePassthroughEscape結構的MxdcS0PageData結構。
- 對 ExtEscape 的呼叫必須在呼叫 StartPage 和 對 EndPage的呼叫之間發生。
- 呼叫的應用程式負責驗證 XML。
- 如果您使用MXDCOP_SET_S0PAGE_RESOURCE呼叫 ExtEscape 做為頁面上每個資源的 opCode ,則串流耗用量會更有效率,然後再使用 MXDCOP_SET_S0PAGE 呼叫。
當 opCode MXDCOP_SET_S0PAGE_RESOURCE時:
- ExtEscape函式的lpszInData參數包含MXDC_ESCAPE_HEADER_T結構和串連到MxdcS0PageResource 結構中的 MxdcXpsS0PageResource結構。
- 對ExtEscape的呼叫必須在呼叫StartPage 和 EndPage呼叫之間發生,但StartPage 和 EndPage呼叫之間可能會有多個這類呼叫。
- 如果您使用MXDCOP_SET_S0PAGE_RESOURCE呼叫 ExtEscape 做為頁面上每個資源的 opCode ,則串流耗用量會更有效率,然後再使用 MXDCOP_SET_S0PAGE 呼叫。
當 opCode MXDCOP_SET_XPSPASSTHRU_MODE時:
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |
| 標頭 |
|