ホーム › System.ApplicationInstallationAndServicing › IAssemblyCacheItem
IAssemblyCacheItem
COM公式ドキュメント
IAssemblyCacheItem インターフェイスは、ストリームベースのインストールを使用して、side-by-side アセンブリを side-by-side ストアにインストールするために使用できます。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateStream(DWORD dwFlags, LPWSTR pszStreamName, DWORD dwFormat, DWORD dwFormatFlags, IStream** ppIStream, ULONGLONG* puliMaxSize)
CreateStream メソッドは、マニフェストまたはモジュールのソースをストリームにコピーします。
| dwFlags | DWORD | in | 予約済みです。 | ||||||||||
| pszStreamName | LPWSTR | in | マニフェストの名前を含む文字列値へのポインターです。これがストリームの名前になります。 | ||||||||||
| dwFormat | DWORD | in | このパラメーターは、モジュールとマニフェストのどちらをストリームにコピーするかを指定します。
| ||||||||||
| dwFormatFlags | DWORD | in | 予約済みです。 | ||||||||||
| ppIStream | IStream** | out | 情報を受け取る IStream インターフェイスへのポインターが格納されている場所へのポインターです。 | ||||||||||
| puliMaxSize | ULONGLONG* | inout | 予約済みです。 |
戻り値
Commit メソッドは、情報を side-by-side ストアにコピーします。このメソッドが戻ると、アセンブリは side-by-side ストア内で参照可能になります。
| dwFlags | DWORD | in | このパラメーターは、side-by-side ストア内の既存の情報を、インストール中のアセンブリの情報でどのように置き換えるかを指定します。
| ||||||||
| pulDisposition | DWORD* | inout |
|
戻り値
vtbl 5 HRESULT AbortItem()
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IAssemblyCacheItem "{9E3AAEB4-D1CD-11D2-BAB9-00C04F8ECEAE}" #usecom global IAssemblyCacheItem IID_IAssemblyCacheItem "{}" #comfunc global IAssemblyCacheItem_CreateStream 3 int,wstr,int,int,sptr,var #comfunc global IAssemblyCacheItem_Commit 4 int,var #comfunc global IAssemblyCacheItem_AbortItem 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IAssemblyCacheItem "{9E3AAEB4-D1CD-11D2-BAB9-00C04F8ECEAE}" #usecom global IAssemblyCacheItem IID_IAssemblyCacheItem "{}" #comfunc global IAssemblyCacheItem_CreateStream 3 int,wstr,int,int,sptr,sptr #comfunc global IAssemblyCacheItem_Commit 4 int,sptr #comfunc global IAssemblyCacheItem_AbortItem 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。