IMetaDataAssemblyImport::FindAssembliesByName メソッド
参照を解決するために共通言語ランタイム (CLR) によって採用されている標準規則を使用して、指定された szAssemblyName
パラメーターを持つアセンブリの配列を取得します。
構文
HRESULT FindAssembliesByName (
[in] LPCWSTR szAppBase,
[in] LPCWSTR szPrivateBin,
[in] LPCWSTR szAssemblyName,
[out] IUnknown *ppIUnk[],
[in] ULONG cMax,
[out] ULONG *pcAssemblies
);
パラメーター
szAppBase
[in] 指定されたアセンブリを検索するルート ディレクトリ。 この値が null
に設定されている場合、FindAssembliesByName
によりアセンブリのグローバル アセンブリ キャッシュ内だけが検索されます。
szPrivateBin
[in] ルート ディレクトリの下のセミコロンで区切られたサブディレクトリ (たとえば、"bin;bin2") の一覧。ここで、アセンブリを検索します。 これらのディレクトリは、既定のプローブ ルールで指定されているものに加えてプローブされます。
szAssemblyName
[in] 検索するアセンブリの名前。 この文字列の形式は、AssemblyName のクラス参照ページで定義されています。
ppIUnk
[out] IMetadataAssemblyImport
インターフェイス ポインターを保持する配列。
cMax
[in] ppIUnk
に配置するインターフェイス ポインターの最大数。
pcAssemblies
[out] 返されたインターフェイス ポインターの数。つまり、ppIUnk
に実際に配置されたインターフェイス ポインターの数です。
戻り値
HRESULT | 説明 |
---|---|
S_OK |
FindAssembliesByName が正常に返されました。 |
S_FALSE |
アセンブリがありません。 |
解説
アセンブリ名が指定されている場合、FindAssembliesByName
メソッドでは、アセンブリ参照を解決するための標準の規則に従ってアセンブリが検索されます。 (詳細については、「ランタイムがアセンブリを検索する方法」を参照してください)。FindAssembliesByName
により、呼び出し元ではアプリケーション ベースやプライベート検索パスなど、アセンブリ リゾルバー コンテキストのさまざまな側面を構成できます。
FindAssembliesByName
メソッドでは、アセンブリ解決ロジックを呼び出すために、プロセスで CLR を初期化する必要があります。 したがって、FindAssembliesByName
を呼び出す前に CoInitializeEE (COINITEE_DEFAULT を渡す) を呼び出してから、CoUninitializeCor への呼び出しを実行する必要があります。
FindAssembliesByName
により、渡されたアセンブリ名のアセンブリ マニフェストを格納しているファイルへの IMetaDataImport ポインターが返されます。 所与のアセンブリ名が完全に指定されていない場合 (たとえば、バージョンが含まれていない場合) は、複数のアセンブリが返されることがあります。
FindAssembliesByName
は、コンパイル時に参照アセンブリの検索を試行するコンパイラによって一般的に使用されます。
必要条件
:「システム要件」を参照してください。
ヘッダー: Cor.h
ライブラリ: MsCorEE.dll でリソースとして使用されます
.NET Framework のバージョン: 1.0 以降で使用可能
関連項目
.NET