IHostAssemblyStore::ProvideModule, méthode
Résout un module dans un assembly, ou un fichier de ressources lié (mais non incorporé).
HRESULT ProvideModule (
[in] ModuleBindInfo *pBindInfo,
[out] DWORD *pdwModuleId,
[out] IStream **ppStmModuleImage,
[out] IStream **ppStmPDB
);
Paramètres
pBindInfo
[in] Pointeur vers une instance ModuleBindInfo qui décrit le AppDomain, l'assembly et le nom du module demandé.pdwModuleId
[out] Pointeur vers un identificateur unique pour l'IStream qui contient le module chargé.ppStmModuleImage
[out] Pointeur vers l'adresse d'un objet IStream qui contient l'image exécutable portable à charger ou null si le module demeure introuvable.ppStmPDB
[out] Pointeur vers l'adresse d'un objet IStream qui contient les informations de débogage de programme pour le module demandé ou null si le fichier .pdb demeure introuvable.
Valeur de retour
HRESULT |
Description |
---|---|
S_OK |
ProvideModule a été retourné avec succès. |
HOST_E_CLRNOTAVAILABLE |
Le Common Language Runtime (CLR) n'a pas été chargé dans un processus ou le CLR présente un état dans lequel il ne peut pas exécuter de code managé ou traiter l'appel avec succès. |
HOST_E_TIMEOUT |
L'appel a expiré. |
HOST_E_NOT_OWNER |
L'appelant ne possède pas le verrou. |
HOST_E_ABANDONED |
Un événement a été annulé alors qu'un thread bloqué ou une fibre l'attendait. |
E_FAIL |
Une défaillance grave et inconnue s'est produite. Lorsqu'une méthode retourne E_FAIL, le CLR n'est plus utilisable dans le processus. Les appels suivants aux méthodes d'hébergement retournent HOST_E_CLRNOTAVAILABLE. |
ERROR_FILE_NOT_FOUND |
L'assembly ou la ressource liée demandé n'a pas pu être localisé. |
ERROR_INSUFFICIENT_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 dans la durée de vie d'un processus. Le CLR utilise cette valeur en tant qu'identificateur unique pour le flux qui y est associé. Il vérifie chaque valeur par rapport aux valeurs de pAssemblyId retournées par les appels à ProvideAssembly et par rapport 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 alors si le contenu de ce flux a déjà été mappé. Si tel est le cas, le CLR charge alors la copie existante de l'image au lieu d'en mapper une nouvelle. Tout chevauchement entre l'identificateur et les identificateurs d'assembly retournés à partir de ProvideAssembly doit par conséquent être évité.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : MSCorEE.h
Bibliothèque : incluse en tant que ressource dans MSCorEE.dll
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Voir aussi
Référence
ICLRAssemblyReferenceList, interface