IAppxFactory::CreatePackageReader メソッド (appxpackaging.h)

IStream によって提供されるコンテンツから読み取り専用パッケージ リーダーを作成します。 このメソッドは 、デジタル署名を検証しません。

構文

HRESULT CreatePackageReader(
  [in]          IStream            *inputStream,
  [out, retval] IAppxPackageReader **packageReader
);

パラメーター

[in] inputStream

種類: IStream*

読み取り用のパッケージの内容を提供する入力ストリーム。 ストリームは 、ReadSeekStat をサポートしている必要があります。これらのメソッドが失敗した場合、エラー コードがに渡され、このメソッドによって返される可能性があります。

[out, retval] packageReader

種類: IAppxPackageReader**

パッケージ リーダー。

戻り値

種類: HRESULT

メソッドが成功すると、 S_OKが返されます。 それ以外の場合は、次の表に示すエラー コードが含まれますが、これらに限定されません。

リターン コード 説明
APPX_E_INTERLEAVING_NOT_ALLOWED
inputStream によって配信される ZIP ファイルは、インターリーブされた OPC パッケージです。
APPX_E_RELATIONSHIPS_NOT_ALLOWED
inputStream によって提供される OPC パッケージには、OPC パッケージとパーツのリレーションシップが含まれます。
APPX_E_MISSING_REQUIRED_FILE
inputStream によって提供される OPC パッケージには、CI カタログが存在する場合にマニフェスト、ブロック マップ、署名ファイルがありません。
APPX_E_INVALID_MANIFEST
パッケージ マニフェストが無効です。
APPX_E_INVALID_BLOCKMAP
パッケージ ブロック マップが無効、ZIP 中央ディレクトリ内のファイルの一覧がブロック マップ内のファイルの一覧と一致しない、または ZIP 中央ディレクトリに一覧表示されているファイルのサイズが、ブロック マップに一覧表示されているファイルとブロック サイズと一致しません。

解説

CreatePackageReader メソッドは、ストリームを介してアプリ パッケージのフットプリント要素を直ちに取得し、そのコンテンツを検証します。 このメソッドは、OPC パッケージとすべてのフットプリント要素 (ZIP 中央ディレクトリ、マニフェスト、[Content_Types].xml、ブロック マップを含む) が有効な場合にのみ成功します。

例については、「 クイック スタート: アプリ パッケージの内容を抽出する 」および 「クイック スタート: アプリ パッケージ マニフェスト情報の読み取り」を参照してください。

要件

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

関連項目

IAppxFactory