IXpsOMObjectFactory::CreatePackageWriterOnFile 方法 (xpsobjectmodel.h)
開啟檔案,將 XPS OM 的內容寫入 XPS 套件。
語法
HRESULT CreatePackageWriterOnFile(
[in] LPCWSTR fileName,
[in] LPSECURITY_ATTRIBUTES securityAttributes,
[in] DWORD flagsAndAttributes,
[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] fileName
要建立的檔名。
[in] securityAttributes
SECURITY_ATTRIBUTES 結構,其中包含兩個不同的但相關的成員:
- lpSecurityDescriptor:選擇性的安全性描述元
- bInheritHandle:布爾值,決定子進程是否可以繼承傳回的句柄
如需 securityAttributes的詳細資訊,請參閱 CreateFile。
[in] flagsAndAttributes
指定要建立之檔案的設定和屬性。 對於大部分的檔案,可以使用 FILE_ATTRIBUTE_NORMAL 值。
如需此參數的詳細資訊,請參閱 CreateFile。
[in] optimizeMarkupSize
布爾值,指出當 XPS OM 的內容寫入 XPS 套件時,檔標記是否會針對大小進行優化。
價值 | 意義 |
---|---|
|
封裝寫入器會嘗試優化最小大小的標記。 |
|
封裝寫入器不會嘗試執行任何優化。 |
[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 檔案錯誤。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
filename、documentSequencePartName或 packageWriterNULL。 |
|
coreProperties、documentSequencePrintTicket或 packageThumbnail 不會指向可辨識的介面實作。 不支援 XPS 檔 API 介面的自定義實作。 |
這個方法會呼叫 封裝 API。 如需封裝 API 傳回值的相關信息,請參閱 封裝錯誤。
言論
檔案會開啟並初始化,然後傳回的 IXpsOMPackageWriter 介面會用來寫入內容類型、封裝關聯性、核心屬性、檔順序資源和文件順序關聯性。
如果 documentSequencePrintTicket 設為 NULL,且 交錯 的值是 XPS_INTERLEAVING_ON,則此方法會建立空白作業層級列印票證,並將關聯性新增至空白列印票證。 這樣做是為了提供更有效率的串流取用套件。
如果 documentSequencePrintTicket 設為 NULL,且 交錯 的值 XPS_INTERLEAVING_OFF,則不會建立空白列印票證。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | xpsobjectmodel.h |