IMetaDataAssemblyImport::FindAssembliesByName 方法
以指定的 szAssemblyName 參數取得組件陣列,並使用 Common Language Runtime (CLR) 所採用的標準規則來解析參考。
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
[in] 要在其中放置 IMetadataAssemblyImport 介面指標之型別 IUnknown 的陣列。cMax
[out] 可放置在 ppIUnk 中的介面指標最大數目。pcAssemblies
[out] 傳回的介面指標數目。 也就是說,實際放置在 ppIUnk 中的介面指標數目。
傳回值
HRESULT |
描述 |
---|---|
S_OK |
FindAssembliesByName 已成功傳回。 |
S_FALSE |
沒有組件。 |
備註
根據指定的組件名稱,FindAssembliesByName 方法會依照解析組件參考的標準規則來尋找組件 (如需詳細資訊,請參閱執行階段如何找出組件)。FindAssembliesByName 允許呼叫端設定組件解析程式內容的各個層面,例如應用程式基底和私用搜尋路徑。
FindAssembliesByName 方法需要 CLR 在處理序中初始化,以便叫用組件解析邏輯。 因此,您必須先呼叫 CoInitializeEE (傳遞 COINITEE_DEFAULT) 再呼叫 FindAssembliesByName,然後遵循對 CoUninitializeCor 的呼叫。
FindAssembliesByName 會將 IMetaDataImport 指標傳至檔案,這個檔案包含傳入之組件名稱的組件資訊清單。 如果未完整指定此組件名稱 (例如,未包含版本),則可能會傳回多個組件。
FindAssembliesByName 一般由編譯器用於編譯時期嘗試尋找參考的組件。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**Cor.h
**程式庫:**當做 MsCorEE.dll 中的資源使用
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0