次の方法で共有


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

IStream とデジタル署名によって提供されるコンテンツから、読み取り専用のブロック マップ オブジェクト モデルを作成します。

構文

HRESULT CreateValidatedBlockMapReader(
  [in]          IStream             *blockMapStream,
  [in]          LPCWSTR             signatureFileName,
  [out, retval] IAppxBlockMapReader **blockMapReader
);

パラメーター

[in] blockMapStream

種類: IStream*

読み取り用のブロック マップ XML を配信するストリーム。 ストリームは 、読み取りシーク、および Stat をサポートする必要があります。

[in] signatureFileName

種類: LPCWSTR

入力ストリームの内容を検証するために使用されるデジタル署名を含むファイル。

[out, retval] blockMapReader

種類: IAppxBlockMapReader**

ブロック マップ リーダー。

戻り値

型: HRESULT

メソッドが成功すると、 S_OKが返されます。 それ以外の場合は、以下のものを含むがこれらに限定されないエラー コードが返されます。 このメソッドは、使用される基になる検証 API から渡されたエラーを返す場合があります。 たとえば、署名を読み取ることができない場合、無効な場合、または blockMapStream の内容と一致しない場合、このメソッドは "Crypto と WinTrust のエラー コード (0x8009xxxx、0x800bxxxx) を返します。

リターン コード 説明
APPX_E_INVALID_BLOCKMAP
blockMapStream には、ブロック マップの構文上有効な XML が含まれていません。

注釈

このメソッドは、ブロック マップがアプリ パッケージの外部に単独で存在する場合に使用されます。 ブロック マップ オブジェクトは、ブロック マップ XML 内のすべてのデータ要素と属性へのアクセスを提供します。

fileName パラメーターには、ディスク上のパッケージ デジタル署名 (.p7x) ファイルのパスを含める必要があります。 このパラメーターが NULL でない場合、このメソッドはシグネチャ ファイルの形式を検証し、署名に対して blockMapStream の内容を検証します。

要件

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

こちらもご覧ください

IAppxFactory

IAppxFactory::CreateBlockMapReader