Partager via


IMetaDataAssemblyImport::FindAssembliesByName, méthode

Obtient un tableau d'assemblys avec le paramètre szAssemblyName spécifié, à l'aide des règles standard employées par le Common Language Runtime (CLR) pour la résolution des références.

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 détectés en plus de ceux spécifiés dans les règles de recherche 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 la classe pour AssemblyName.

  • ppIUnk
    [in] Tableau de type IUnknown dans lequel placer les pointeurs d'interface IMetadataAssemblyImport.

  • cMax
    [out] Nombre maximal de pointeurs d'interface qui peuvent être placés dans ppIUnk.

  • pcAssemblies
    [out] Nombre de pointeurs d'interface retournés. Autrement dit, le nombre de pointeurs d'interface réellement placés dans ppIUnk.

Valeur de retour

HRESULT

Description

S_OK

FindAssembliesByName a été retourné avec succès.

S_FALSE

Il n'y a pas d'assemblys.

Notes

D'après un nom d'assembly, la méthode FindAssembliesByName recherche l'assembly correspondant en suivant les règles standard pour résoudre les 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 différents aspects du contexte du programme de résolution de l'assembly, tels que la base d'application et le chemin de recherche privé.

La méthode FindAssembliesByName requiert que le CLR soit initialisé dans le processus pour appeler la logique de résolution de l'assembly. Par conséquent, vous devez appeler CoInitializeEE (en passant COINITEE_DEFAULT) avant d'appeler FindAssembliesByName, et ensuite appeler CoUninitializeCor.

FindAssembliesByName retourne un pointeur IMetaDataImport vers le fichier contenant le manifeste de l'assembly pour le nom d'assembly passé. Si le nom de l'assembly donné n'est pas entièrement 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 essaie de rechercher un assembly référencé lors de la compilation.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : Cor.h

Bibliothèque : utilisée 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, 1.1, 1.0

Voir aussi

Référence

IMetaDataAssemblyImport, interface

Concepts

Méthode de localisation des assemblys par le runtime