Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Ottiene un riferimento a un assembly a cui non fa riferimento ICLRAssemblyReferenceList restituito da IHostAssemblyManager::GetNonHostStoreAssemblies. Common Language Runtime (CLR) chiama ProvideAssembly per ogni assembly che non viene visualizzato nell'elenco.
Sintassi
HRESULT ProvideAssembly (
[in] AssemblyBindInfo *pBindInfo,
[out] UINT64 *pAssemblyId,
[out] UINT64 *pHostContext,
[out] IStream **ppStmAssemblyImage,
[out] IStream **ppStmPDB
);
Parametri
pBindInfo [in] Puntatore a un'istanza di AssemblyBindInfo usata dall'host per determinare determinate caratteristiche di associazione, tra cui la presenza o l'assenza di criteri di controllo delle versioni e l'assembly a cui eseguire l'associazione.
pAssemblyId [out] Puntatore a un identificatore univoco per l'assembly richiesto per l'oggetto IStream.
pHostContext [out] Puntatore a dati specifici dell'host usati per determinare l'evidenza dell'assembly richiesto senza la necessità di una chiamata platform invoke.
pHostContext corrisponde alla HostContext proprietà della classe gestita Assembly .
ppStmAssemblyImage [out] Puntatore all'indirizzo di un oggetto IStream contenente l'immagine eseguibile portabile (PE) da caricare oppure null se non è stato possibile trovare l'assembly.
ppStmPDB [out] Puntatore all'indirizzo di un oggetto IStream contenente le informazioni di debug del programma (PDB) o Null se non è stato possibile trovare il file con estensione pdb.
Valore restituito
| HRESULT | Descrizione |
|---|---|
| S_OK |
ProvideAssembly restituito correttamente. |
| HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
| HOST_E_TIMEOUT | Timeout della chiamata. |
| HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
| HOST_E_ABANDONED | Un evento è stato annullato mentre un thread bloccato o una fibra era in attesa su di esso. |
| E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
| COR_E_FILENOTFOUND (0x80070002) | Impossibile individuare l'assembly richiesto. |
| E_NOT_SUFFICIENT_BUFFER | Le dimensioni del buffer specificate da pAssemblyId non sono sufficienti per contenere l'identificatore che l'host desidera restituire. |
Osservazioni:
Il valore Identity restituito per pAssemblyId viene specificato dall'host. Gli identificatori devono essere univoci entro la durata di un processo. CLR usa questo valore come identificatore univoco per il flusso. Controlla ogni valore rispetto ai valori restituiti pAssemblyId da altre chiamate a ProvideAssembly. Se l'host restituisce lo stesso pAssemblyId valore per un altro IStream, CLR verifica se il contenuto di tale flusso è già stato mappato. In tal caso, il runtime carica la copia esistente dell'immagine invece di eseguire il mapping di una nuova.
Requisiti
Piattaforme: Vedere Requisiti di sistema.
Intestazione: MSCorEE.h
Biblioteca: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0