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構造体。2 つの独立したが関連するメンバーが含まれています。
- 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、または packageWriter が NULL です。 |
|
coreProperties、 documentSequencePrintTicket、または packageThumbnail は、認識されたインターフェイス実装を指していません。 XPS ドキュメント API インターフェイスのカスタム実装はサポートされていません。 |
このメソッドは Packaging API を呼び出します。 Packaging API の戻り値の詳細については、「 パッケージ化エラー」を参照してください。
注釈
ファイルが開かれて初期化され、返される IXpsOMPackageWriter インターフェイスを使用して、コンテンツ タイプ、パッケージ リレーションシップ、コア プロパティ、ドキュメント シーケンス リソース、およびドキュメント シーケンス リレーションシップを記述します。
documentSequencePrintTicket が NULL に設定されていて、インターリーブの値がXPS_INTERLEAVING_ON場合、このメソッドは空のジョブ レベルの印刷チケットを作成し、空白の印刷チケットにリレーションシップを追加します。 これは、パッケージのストリーミング消費をより効率的にするために行われます。
documentSequencePrintTicket が NULL に設定されていて、インターリーブの値がXPS_INTERLEAVING_OFF場合、空白の印刷チケットは作成されません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | xpsobjectmodel.h |