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