次の方法で共有


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: 返されたハンドルを子プロセスによって継承できるかどうかを決定するブール値
lpSecurityDescriptor が NULL場合、返されたハンドルに関連付けられているファイルまたはデバイスには、既定のセキュリティ記述子が割り当てられます。

securityAttributesの詳細については、「CreateFile参照してください。

[in] flagsAndAttributes

作成するファイルの設定と属性を指定します。 ほとんどのファイルでは、FILE_ATTRIBUTE_NORMAL 値を使用できます。

このパラメーター 詳細については、CreateFile を参照してください。

[in] optimizeMarkupSize

XPS OM の内容が XPS パッケージに書き込まれるときに、ドキュメント マークアップがサイズに合わせて最適化されるかどうかを示すブール値。

価値 意味
TRUE
パッケージ ライターは、最小サイズのマークアップを最適化しようとします。
FALSE
パッケージ ライターは最適化の実行を試みません。

[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 ドキュメント エラー」を参照してください。

リターン コード 形容
S_OK
メソッドは成功しました。
E_POINTER
ファイル名の、documentSequencePartName、または packageWriter が NULL
XPS_E_NO_CUSTOM_OBJECTS
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 アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー xpsobjectmodel.h

関連項目

CreateFile の

IXpsOMCoreProperties の

IXpsOMImageResource の

IXpsOMObjectFactory の

IXpsOMPackageWriter

IXpsOMPrintTicketResource の

パッケージ化エラーの を する

SECURITY_ATTRIBUTES

XML Paper Specification

XPS ドキュメント エラー の