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

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
filenamedocumentSequencePartName、または packageWriterNULL です
XPS_E_NO_CUSTOM_OBJECTS
corePropertiesdocumentSequencePrintTicket、または packageThumbnail は、認識されたインターフェイス実装を指していません。 XPS ドキュメント API インターフェイスのカスタム実装はサポートされていません。
 

このメソッドは Packaging API を呼び出します。 Packaging API の戻り値の詳細については、「 パッケージ化エラー」を参照してください。

注釈

ファイルが開かれて初期化され、返される IXpsOMPackageWriter インターフェイスを使用して、コンテンツ タイプ、パッケージ リレーションシップ、コア プロパティ、ドキュメント シーケンス リソース、およびドキュメント シーケンス リレーションシップを記述します。

documentSequencePrintTicketNULL に設定されていて、インターリーブの値がXPS_INTERLEAVING_ON場合、このメソッドは空のジョブ レベルの印刷チケットを作成し、空白の印刷チケットにリレーションシップを追加します。 これは、パッケージのストリーミング消費をより効率的にするために行われます。

documentSequencePrintTicketNULL に設定されていて、インターリーブの値が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

こちらもご覧ください

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

パッケージ化エラー

SECURITY_ATTRIBUTES

XML Paper Specification

XPS ドキュメント エラー