次の方法で共有


IAppxBundleWriter::AddPayloadPackage メソッド (appxpackaging.h)

バンドルに新しいアプリ パッケージを追加します。

構文

HRESULT AddPayloadPackage(
  [in] LPCWSTR fileName,
  [in] IStream *packageStream
);

パラメーター

[in] fileName

種類: LPCWSTR

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

[in] packageStream

種類: IStream*

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

戻り値

種類: HRESULT

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

リターン コード 説明
E_NOT_VALID_STATE
ライターが閉じています。
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
指定されたファイル名が有効なファイル名ではないか、フットプリント ファイルの予約名です。
OPC_E_DUPLICATE_PART
指定されたファイル名は、バンドルで既に使用されています。

注釈

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

AddPayloadPackage はpackageStream からアプリ パッケージのコンテンツを読み取り、指定された fileName を使用してバンドルにコンテンツを格納します。

AddPayloadPackage は 、次の場合に失敗する可能性があります。

  • packageStream で有効なアプリ パッケージが配信されない
  • packageStream によって配信されるアプリ パッケージは、バンドルに既に追加されているアプリ パッケージとは異なるパッケージ ファミリに含まれています
  • packageStream によって提供されるアプリ パッケージは、バンドルに既に追加されている別のアプリ パッケージと同じバンドルに存在できないアーキテクチャを対象としています
  • packageStream によって提供されるアプリ パッケージには、バンドルに既に追加されているアプリ パッケージとは異なるハッシュメソッドを使用するブロック マップがあります
  • fileName が有効なファイル名ではないか、予約名であるか、バンドルに追加された別のアプリ パッケージによって既に使用されています

要件

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

こちらもご覧ください

IAppxBundleWriter