Partager via


IMetaDataAssemblyImport::FindAssembliesByName, méthode

Obtient un tableau d’assemblys avec le paramètre szAssemblyName spécifié, en utilisant les règles standard employées par le CLR (Common Language Runtime) pour résoudre les références.

Syntaxe

HRESULT FindAssembliesByName (  
    [in]  LPCWSTR     szAppBase,
    [in]  LPCWSTR     szPrivateBin,
    [in]  LPCWSTR     szAssemblyName,
    [out] IUnknown    *ppIUnk[],
    [in]  ULONG       cMax,
    [out] ULONG       *pcAssemblies  
);  

Paramètres

szAppBase
[in] Répertoire racine dans lequel rechercher l’assembly donné. Si cette valeur est null, FindAssembliesByName recherche uniquement l’assembly dans le Global Assembly Cache.

szPrivateBin
[in] Liste de sous-répertoires délimités par des points-virgules (par exemple "bin;bin2"), sous le répertoire racine, dans lesquels rechercher l’assembly. Ces répertoires sont sondés en plus de ceux spécifiés dans les règles de sondage par défaut.

szAssemblyName
[in] Nom de l’assembly à rechercher. Le format de cette chaîne est défini dans la page de référence de classe de AssemblyName.

ppIUnk
[out] Tableau qui contient les pointeurs d’interface de IMetadataAssemblyImport.

cMax
[in] Nombre maximal de pointeurs d’interface à placer dans ppIUnk.

pcAssemblies
[out] Nombre de pointeurs d’interface retournés, c’est-à-dire le nombre de pointeurs d’interface réellement placés dans ppIUnk.

Valeur de retour

HRESULT Description
S_OK FindAssembliesByName retourné avec succès.
S_FALSE Il n’existe aucun assembly.

Notes

À partir d’un nom d’assembly, la méthode FindAssembliesByName recherche l’assembly en suivant les règles standard de résolution des références d’assembly. (Pour plus d’informations, consultez Méthode de localisation des assemblys par le runtime.) FindAssembliesByName permet à l’appelant de configurer divers aspects du contexte du programme de résolution d’assembly, par exemple la base de l’application et le chemin de recherche privé.

La méthode FindAssembliesByName nécessite l’initialisation du CLR dans le processus pour appeler la logique de résolution d’assembly. Vous devez donc appeler CoInitializeEE (en passant COINITEE_DEFAULT) avant d’appeler FindAssembliesByName, puis CoUninitializeCor.

FindAssembliesByName retourne un pointeur IMetaDataImport vers le fichier contenant le manifeste d’assembly pour le nom d’assembly passé. Si le nom d’assembly donné n’est pas complètement spécifié (par exemple, s’il n’inclut pas de version), plusieurs assemblys peuvent être retournés.

FindAssembliesByName est couramment utilisé par un compilateur qui tente de trouver un assembly référencé au moment de la compilation.

Configuration requise

Plateformes : Consultez Configuration requise.

En-tête : Cor.h

Bibliothèque : utilisée comme ressource dans MsCorEE.dll

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi