Partager via


IHostAssemblyStore::ProvideModule, méthode

Résout un module au sein d’un assembly ou d’un fichier de ressources lié (mais pas incorporé).

Syntaxe

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

Paramètres

pBindInfo
[in] Pointeur vers une instance de ModuleBindInfo qui décrit le AppDomain, l’assembly et le nom du module demandé.

pdwModuleId
[out] Pointeur vers un identificateur unique du IStream contenant le module chargé.

ppStmModuleImage
[out] Pointeur vers l’adresse d’un objet IStream, qui contient l’image de l’exécutable portable (PE) à charger ou null si le module est introuvable.

ppStmPDB
[out] Pointeur vers l’adresse d’un IStream objet, qui contient les informations de débogage du programme (PDB) pour le module demandé ou null si le fichier .pdb est introuvable.

Valeur de retour

HRESULT Description
S_OK ProvideModule retourné.
HOST_E_CLRNOTAVAILABLE Le Common Language Runtime (CLR) n’a pas été chargé dans un processus ou est dans un état dans lequel il ne peut ni exécuter le code managé ni traiter l’appel avec succès.
HOST_E_TIMEOUT L’appel a expiré.
HOST_E_NOT_OWNER L’appelant n’est pas propriétaire du verrou.
HOST_E_ABANDONED Un événement a été annulé alors qu’un thread ou une fibre bloqué l’attendait.
E_FAIL Une défaillance catastrophique inconnue s’est produite. Quand une méthode retourne E_FAIL, le CLR n’est plus utilisable au sein du processus. Les appels suivants aux méthodes d’hébergement retournent HOST_E_CLRNOTAVAILABLE.
COR_E_FILENOTFOUND (0x80070002) Impossible de localiser l’assembly ou la ressource liée demandée.
E_NOT_SUFFICIENT_BUFFER pdwModuleId n’est pas assez grand pour contenir l’identificateur que l’hôte souhaite retourner.

Notes

La valeur d’identité retournée pour pdwModuleId est spécifiée par l’hôte. Les identificateurs doivent être uniques pendant la durée de vie d’un processus. Le CLR utilise cette valeur comme identificateur unique pour le flux associé. Il vérifie chaque valeur par rapport aux valeurs de pAssemblyId retournées par les appels à ProvideAssembly et aux valeurs de pdwModuleId retournées par d’autres appels à ProvideModule. Si l’hôte retourne la même valeur d’identificateur pour un autre IStream, le CLR vérifie si le contenu de ce flux a déjà été mappé. Dans ce cas, le CLR charge la copie existante de l’image au lieu d’en mapper une nouvelle. Par conséquent, l’identificateur ne doit pas chevaucher les identificateurs d’assembly retournés par ProvideAssembly.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MSCorEE.h

Bibliothèque : incluse en tant que ressource dans MsCorEE.dll

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi