IAppxPackageWriter::AddPayloadFile メソッド (appxpackaging.h)

新しいペイロード ファイルをアプリ パッケージに追加します。

構文

HRESULT AddPayloadFile(
  [in] LPCWSTR                 fileName,
  [in] LPCWSTR                 contentType,
  [in] APPX_COMPRESSION_OPTION compressionOption,
  [in] IStream                 *inputStream
);

パラメーター

[in] fileName

種類: LPCWSTR

ペイロード ファイルの名前。 ファイル名のパスは、パッケージのルートに対する相対パスである必要があります。

[in] contentType

種類: LPCWSTR

fileNameコンテンツ タイプを指定する文字列。

[in] compressionOption

種類: APPX_COMPRESSION_OPTION

fileName をパッケージに格納するために使用する圧縮の種類。

[in] inputStream

種類: IStream*

fileName の内容を提供する IStream。 ストリームは 、ReadSeekStat をサポートしている必要があります。

戻り値

種類: HRESULT

メソッドが成功すると、 S_OKが返されます。 それ以外の場合は、次の表に示すエラー コードが含まれますが、これらに限定されません。 エラー OPC コードは、OPC_E_DUPLICATE_PARTに加えて発生する可能性があります。 メソッドが失敗した場合、パッケージ ライターは失敗した状態で閉じられ、それ以上使用できません。

リターン コード 説明
E_INVALIDARG
compressionOption で指定された圧縮オプションは、APPX_COMPRESSION_OPTION列挙の値の 1 つではありません。
E_NOT_VALID_STATE
ライターが閉じています。
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
指定されたファイル名が有効なファイル名ではないか、フットプリント ファイルの予約名です。
OPC_E_DUPLICATE_PART
指定されたファイル名は、パッケージで既に使用されています。

解説

AddPayloadFile メソッドが成功すると、指定した fileName の内容がパッケージに書き込まれ、パッケージ ブロック マップで対応するエントリが作成されます。

メモ 次の予約ファイル名を持つファイルは、 AddPayloadFile メソッドを使用してパッケージに追加できません。

AppxManifest.xmlAppxBlockMap.xmlAppxStreamMap.xmlAppxSignature.p7x

また、 AddPayloadFile メソッド \AppxMetadata\\Microsoft.System.Package.Metadata\を使用して、次の予約フォルダー プレフィックスを持つファイルをパッケージに追加することはできません。

例については、「 アプリ パッケージを作成する方法」を参照してください。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー appxpackaging.h

関連項目

APPX_COMPRESSION_OPTION

IAppxPackageWriter