Metodo IHostAssemblyStore::ProvideModule
Risolve un modulo all'interno di un assembly o un file di risorse collegato (non incorporato).
HRESULT ProvideModule (
[in] ModuleBindInfo *pBindInfo,
[out] DWORD *pdwModuleId,
[out] IStream **ppStmModuleImage,
[out] IStream **ppStmPDB
);
Parametri
pBindInfo
[in] Puntatore a un'istanza di ModuleBindInfo che descrive il dominio applicazione AppDomain, l'assembly e il nome del modulo richiesto.pdwModuleId
[out] Puntatore a un identificatore univoco per l'oggetto IStream contenente il modulo caricato.ppStmModuleImage
[out] Puntatore all'indirizzo di un oggetto IStream contenente l'immagine eseguibile di tipo PE da caricare oppure null se il modulo non è stato trovato.ppStmPDB
[out] Puntatore all'indirizzo di un oggetto IStream contenente le informazioni di debug del programma (PDB) per il modulo richiesto oppure null se il file con estensione pdb non è stato trovato.
Valore restituito
HRESULT |
Oggetto di descrizione |
---|---|
S_OK |
ProvideModule ha restituito correttamente un valore. |
HOST_E_CLRNOTAVAILABLE |
Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata. |
HOST_E_TIMEOUT |
Timeout della chiamata. |
HOST_E_NOT_OWNER |
Il chiamante non è il proprietario del blocco. |
HOST_E_ABANDONED |
Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento. |
E_FAIL |
Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE. |
ERROR_FILE_NOT_FOUND |
Impossibile individuare l'assembly richiesto o la risorsa collegata. |
ERROR_INSUFFICIENT_BUFFER |
pdwModuleId non è sufficiente a contenere l'identificatore che deve essere restituito dall'host. |
Note
Il valore di identità restituito per pdwModuleId viene specificato dall'host. Gli identificatori devono essere univoci per l'intero ciclo di vita di un processo. CLR utilizza questo valore come l'identificatore univoco per il flusso associato. Ciascun valore viene confrontato con i valori di pAssemblyId restituiti da chiamate a ProvideAssembly e con i valori di pdwModuleId restituiti da altre chiamate a ProvideModule. Se l'host restituisce lo stesso identificatore per un altro flusso (IStream), CLR verifica se il contenuto di tale flusso è già stato sottoposto a mapping. In caso affermativo, anziché eseguire il mapping di un nuovo flusso, verrà caricata la copia esistente dell'immagine. L'identificatore non deve quindi sovrapporsi agli identificatori assembly restituiti da ProvideAssembly.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: inclusa come risorsa in MSCorEE.dll
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Vedere anche
Riferimenti
Interfaccia ICLRAssemblyReferenceList