共用方式為


IHostAssemblyStore::ProvideModule 方法

解析組件或連結 (非內嵌) 資源檔內的模組。

語法

HRESULT ProvideModule (  
    [in]  ModuleBindInfo *pBindInfo,  
    [out] DWORD          *pdwModuleId,  
    [out] IStream        **ppStmModuleImage,  
    [out] IStream        **ppStmPDB  
);  

參數

pBindInfo
[in] ModuleBindInfo 執行個體的指標,描述所要求模組的 AppDomain、組件和模組名稱。

pdwModuleId
[out] IStream 的唯一識別碼指標,其中包含已載入的模組。

ppStmModuleImage
[out] IStream 物件的位址指標,其中包含要載入的可攜式可執行檔 (PE) 映像,如果找不到模組,則為 null。

ppStmPDB
[out] IStream 物件的位址指標,其中包含所要求模組的程式偵錯 (PDB) 資訊,如果找不到 .pdb 檔案,則為 null。

傳回值

HRESULT 描述
S_OK ProvideModule 已成功傳回。
HOST_E_CLRNOTAVAILABLE 通用語言執行平台 (CLR) 尚未載入處理序,或 CLR 處於無法成功執行受控程式碼或處理呼叫的狀態。
HOST_E_TIMEOUT 呼叫逾時。
HOST_E_NOT_OWNER 呼叫端未擁有鎖定。
HOST_E_ABANDONED 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。
E_FAIL 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。
COR_E_FILENOTFOUND (0x80070002) 找不到要求的組件或連結的資源。
E_NOT_SUFFICIENT_BUFFER pdwModuleId 不夠大,無法包含主機想要傳回的識別碼。

備註

針對 pdwModuleId 傳回的識別值是由主機指定。 識別碼在處理序的存留期內必須是唯一的。 CLR 會使用此值作為相關聯資料流的唯一識別碼。 它會針對呼叫 ProvideAssembly 所傳回的 pAssemblyId 值,以及對 ProvideModule的其他呼叫所傳回的 pdwModuleId 值,檢查每個值。 如果主機針對另一個 IStream 傳回相同的識別碼值,CLR 會檢查是否已對應該資料流的內容。 若是如此,CLR 會載入影像的現有複本,而不是對應新的複本。 因此,識別碼也必須與從 ProvideAssembly 傳回的組件識別碼重疊。

規格需求

平台:請參閱系統需求

標題: MSCorEE.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 2.0 起可用

另請參閱