開啟串流,將 XPS OM 的內容寫入 XPS 套件。
語法
HRESULT CreatePackageWriterOnStream(
[in] ISequentialStream *outputStream,
[in] BOOL optimizeMarkupSize,
[in] XPS_INTERLEAVING interleaving,
[in] IOpcPartUri *documentSequencePartName,
[in] IXpsOMCoreProperties *coreProperties,
[in] IXpsOMImageResource *packageThumbnail,
[in] IXpsOMPrintTicketResource *documentSequencePrintTicket,
[in] IOpcPartUri *discardControlPartName,
[out, retval] IXpsOMPackageWriter **packageWriter
);
參數
[in] outputStream
用於寫作的串流。
[in] optimizeMarkupSize
一個布林值,表示文件寫入串流時,標記是否會針對大小進行最佳化。
| 價值觀 | Meaning |
|---|---|
|
寫入串流時,封包撰寫者會嘗試將標記優化至最小大小。 |
|
寫入套件時,程式包撰寫者不會嘗試任何最佳化。 |
[in] interleaving
指定 XPS OM 的內容在寫入串流時是否會交錯。
[in] documentSequencePartName
包含新檔案中文件序列部分名稱的 IOpcPartUri 介面。
[in] coreProperties
IXpsOMCoreProperties 介面,包含將要賦予新檔案的核心文件屬性。 此參數可以設定為 NULL。
[in] packageThumbnail
IXpsOMImageResource 介面,包含要指派給新檔案的縮圖影像。 此參數可以設定為 NULL。
[in] documentSequencePrintTicket
IXpsOMPrintTicketResource 介面,包含待指派給新檔案的套件層級列印工單。 此參數可以設定為 NULL。
[in] discardControlPartName
包含丟棄控制元件名稱的 IOpcPartUri 介面。 此參數可以設定為 NULL。
[out, retval] packageWriter
這是指向此方法所建立的新 IXpsOMPackageWriter 介面的指標。
返回值
這個方法會傳回 HRESULT。 可能的值包括但不限於下表中的值。 如需此表格中未列出之 XPS 檔 API 傳回值的相關資訊,請參閱 XPS 檔錯誤。
| 回傳碼 | Description |
|---|---|
|
此方法已成功。 |
|
outputStream、documentSequencePartName 或 packageWriter 皆為 NULL。 |
|
coreProperties、 documentSequencePrintTicket 或 packageThumbnail 不會指向已識別的介面實作。 不支援自訂實作 XPS 文件 API 介面。 |
此方法呼叫 Packaging API。 關於 Packaging API 回傳值的資訊,請參見 Packaging Errors。
備註
串流會被開啟並初始化,接著回傳的 IXpsOMPackageWriter 介面用來撰寫內容類型、套件關係、核心屬性、文件序列資源及文件序列關係。
若 documentSequencePrintTicket 設為 NULL ,且交 錯 值為 XPS_INTERLEAVING_ON,此方法會產生一個空白的工作級列印工單,並與空白列印工單建立關聯。 這樣做是為了讓串流內容更有效率。
如果 documentSequencePrintTicket 設為 NULL ,且交 錯 值為 XPS_INTERLEAVING_OFF,則不會產生空白列印票。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 7、Windows Vista 搭配 SP2 及 Windows Vista 平台更新 [桌面應用程式 |UWP 應用程式] |
| 支援的最低伺服器 | Windows Server 2008 R2、Windows Server 2008 搭配 SP2 及 Windows Server 2008 平台更新 [桌面應用程式 |UWP 應用程式] |
| 目標平臺 | 窗戶 |
| Header | xpsobjectmodel.h |