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呼叫ExtEscape,然後再呼叫MXDCOP_SET_S0PAGE,則串流耗用量會更有效率。
當 opCode MXDCOP_SET_S0PAGE_RESOURCE時:
- ExtEscape函式的lpszInData參數是由MXDC_ESCAPE_HEADER_T結構和MxdcXpsS0PageResource結構所組成,串連至MxdcS0PageResourceEscape結構。
- 對ExtEscape的呼叫必須在呼叫 StartPage 和 EndPage呼叫之間發生,但StartPage和EndPage呼叫之間可能會有多個這類呼叫。
- 如果您在呼叫具有 MXDCOP_SET_S0PAGE_RESOURCE 的 ExtEscape 作為頁面上每個資源的opCode呼叫ExtEscape,然後再呼叫MXDCOP_SET_S0PAGE,則串流耗用量會更有效率。
當 opCode MXDCOP_SET_XPSPASSTHRU_MODE時:
- ExtEscape函式的lpszInData參數只包含MXDC_ESCAPE_HEADER_T結構。
- 此呼叫必須在 呼叫 StartDoc之前發生。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |
標頭 |
|