IAppxBundleWriter::AddPayloadPackage メソッド (appxpackaging.h)
バンドルに新しいアプリ パッケージを追加します。
構文
HRESULT AddPayloadPackage(
[in] LPCWSTR fileName,
[in] IStream *packageStream
);
パラメーター
[in] fileName
種類: LPCWSTR
ペイロード ファイルの名前。 ファイル名のパスは、パッケージのルートに対する相対パスである必要があります。
[in] packageStream
種類: IStream*
fileName の内容を提供する IStream。 ストリームは 、Read、 Seek、 Stat をサポートしている必要があります。
戻り値
種類: HRESULT
メソッドが成功すると、 S_OKが返されます。 それ以外の場合は、次の表に示すエラー コードが含まれますが、これらに限定されません。 エラー OPC コードは、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 |