Partager via


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

IHostAssemblyManager, interface

IHostAssemblyStore, interface