Win32 API 日本語リファレンス
ホームStorage.Packaging.Appx › IAppxPackageReader

IAppxPackageReader

COM
IIDb5c49650-99bc-481c-9a34-3d53a4106708継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetBlockMap(IAppxBlockMapReader** blockMapReader)
blockMapReaderIAppxBlockMapReader**outパッケージのブロックマップを読み取る IAppxBlockMapReader を受け取るポインタのアドレスである。
vtbl 4 HRESULT GetFootprintFile(APPX_FOOTPRINT_FILE_TYPE type, IAppxFile** file)
typeAPPX_FOOTPRINT_FILE_TYPEin取得するフットプリントファイル(マニフェスト・署名等)の種類を指定する APPX_FOOTPRINT_FILE_TYPE 値である。
fileIAppxFile**out取得したフットプリントファイルを表す IAppxFile を受け取るポインタのアドレスである。
vtbl 5 HRESULT GetPayloadFile(LPWSTR fileName, IAppxFile** file)
fileNameLPWSTRin取得するペイロードファイルのパッケージ内パス(ファイル名)を指定する文字列である。
fileIAppxFile**out取得したペイロードファイルを表す IAppxFile を受け取るポインタのアドレスである。
vtbl 6 HRESULT GetPayloadFiles(IAppxFilesEnumerator** filesEnumerator)
filesEnumeratorIAppxFilesEnumerator**outパッケージ内の全ペイロードファイルを列挙する IAppxFilesEnumerator を受け取るポインタのアドレスである。
vtbl 7 HRESULT GetManifest(IAppxManifestReader** manifestReader)
manifestReaderIAppxManifestReader**outパッケージのマニフェストを読み取る IAppxManifestReader を受け取るポインタのアドレスである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IAppxPackageReader "{B5C49650-99BC-481C-9A34-3D53A4106708}"
#usecom global IAppxPackageReader IID_IAppxPackageReader "{}"
#comfunc global IAppxPackageReader_GetBlockMap       3 sptr
#comfunc global IAppxPackageReader_GetFootprintFile  4 int,sptr
#comfunc global IAppxPackageReader_GetPayloadFile    5 wstr,sptr
#comfunc global IAppxPackageReader_GetPayloadFiles   6 sptr
#comfunc global IAppxPackageReader_GetManifest       7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。