Share via


IMetaDataAssemblyImport::FindAssembliesByName-Methode

Ruft ein Array von Assemblys mit dem angegebenen szAssemblyName-Parameter unter Verwendung der Standardregeln ab, die von der Common Language Runtime (CLR) zum Auflösen von Verweisen verwendet werden.

Syntax

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

Parameter

szAppBase
[in] Das Stammverzeichnis, in dem nach der angegebenen Assembly gesucht werden soll. Wenn dieser Wert auf null festgelegt ist, wird mit FindAssembliesByName nur im globalen Assemblycache für die Assembly gesucht.

szPrivateBin
[in] Eine Liste von durch Semikolons getrennten Unterverzeichnissen (z. B. „bin;bin2“) unter dem Stammverzeichnis, in dem nach der Assembly gesucht werden soll. Diese Verzeichnisse werden zusätzlich zu den in den Standardüberprüfungsregeln angegebenen Verzeichnissen überprüft.

szAssemblyName
[in] Der Name der zu suchenden Assembly. Das Format dieser Zeichenfolge ist auf der Klassenreferenzseite für AssemblyNamedefiniert.

ppIUnk
[out] Ein Array, das die IMetadataAssemblyImport-Schnittstellenzeiger enthält.

cMax
[in] Die maximale Anzahl von Schnittstellenzeigern, die in ppIUnk platziert werden sollen.

pcAssemblies
[out] Die Anzahl der zurückgegebenen Schnittstellenzeiger, d. h. die Anzahl der tatsächlich in ppIUnk platzierten Schnittstellenzeiger.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK FindAssembliesByName wurde erfolgreich zurückgegeben.
S_FALSE Es sind keine Assemblys vorhanden.

Bemerkungen

Bei einem Assemblynamen findet die FindAssembliesByName-Methode die Assembly, indem sie die Standardregeln zum Auflösen von Assemblyverweisen befolgt. (Weitere Informationen finden Sie unter So sucht Common Language Runtime nach Assemblys.) FindAssembliesByName ermöglicht es dem Aufrufer, verschiedene Aspekte des Assemblyresolverkontexts zu konfigurieren, z. B. die Anwendungsbasis und den privaten Suchpfad.

Die FindAssembliesByName-Methode erfordert, dass die CLR im Prozess initialisiert wird, um die Assemblyauflösungslogik aufzurufen. Daher müssen Sie CoInitializeEE (mit Übergeben von COINITEE_DEFAULT) aufrufen, bevor Sie FindAssembliesByName aufrufen, und anschließend einen Aufruf von CoUninitializeCor durchführen.

FindAssembliesByName gibt einen IMetaDataImport-Zeiger auf die Datei zurück, die das Assemblymanifest für den übergebenen Assemblynamen enthält. Wenn der angegebene Assemblyname nicht vollständig ist (z. B. wenn er keine Version enthält), werden möglicherweise mehrere Assemblys zurückgegeben.

FindAssembliesByName wird häufig von einem Compiler verwendet, der versucht, eine Assembly, auf die verwiesen wird, zur Kompilierzeit zu finden.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: Cor.h

Bibliothek: Als Ressource in „MsCorEE.dll“ verwendet

.NET Framework-Versionen: Seit Version 1.0 verfügbar

Siehe auch