次の方法で共有


IHostAssemblyStore

更新 : 2007 年 11 月

ホストが共通言語ランタイム (CLR: Common Language Runtime) とは無関係にアセンブリとモジュールを読み込むことができるようにするメソッドを提供します。

interface IHostAssemblyStore: IUnknown {
    HRESULT ProvideAssembly (
        [in]  AssemblyBindInfo *pBindInfo,
        [out] UINT64           *pAssemblyId,
        [out] UINT64           *pHostContext,
        [out] IStream          **ppStmAssemblyImage,
        [out] IStream          **ppStmPDB
    );
    HRESULT ProvideModule (
        [in]  ModuleBindInfo   *pBindInfo,
        [out] DWORD            *pdwModuleId,
        [out] IStream          **ppStmModuleImage,
        [out] IStream          **ppStmPDB
    );
};

メソッド

メソッド

説明

IHostAssemblyStore::ProvideAssembly メソッド

IHostAssemblyManager::GetNonHostStoreAssemblies への呼び出しから返された ICLRAssemblyReferenceList が参照しないアセンブリへの参照を取得します。

IHostAssemblyStore::ProvideModule メソッド

アセンブリ内または、リンクされているリソース ファイル (埋め込まれているリソース ファイルではない) 内のモジュールを解決します。

解説

IHostAssemblyStore は、アセンブリ ID に基づいてホストがアセンブリを効率的に読み込むことができるようにします。ホストは、バイトを直接指す IStream インスタンスを返してアセンブリを読み込みます。

CLR は、ホストが初期化の際に IHostAssemblyManager::GetNonHostAssemblyStores を呼び出して IHostAssemblyStore を実装したかどうかを判断します。この実装を行うと、たとえばホストはユーザー アセンブリへのバインディングを制御できますが、.NET Framework アセンブリへのバインドでは共通言語ランタイムに依存します。

ms164462.alert_note(ja-jp,VS.90).gifメモ :

IHostAssemblyStore を実装している場合、ホストは IHostAssemblyManager::GetNonHostStoreAssemblies から返された ICLRAssemblyReferenceList で参照しないすべてのアセンブリを解決することを明確に指定します。

ms164462.alert_note(ja-jp,VS.90).gifメモ :

.NET Framework Version 2.0 では、Native Image Generator (Ngen.exe) ユーティリティに用意されているような、ホストがアセンブリのネイティブ イメージを読み込むための方法は提供されていません。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.idl

ライブラリ : MSCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICLRAssemblyReferenceList

IHostAssemblyManager

その他の技術情報

ホスト インターフェイス