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