ICorProfilerInfo3::GetModuleInfo2-Methode
Gibt bei Angabe einer Modul-ID den Dateinamen des Moduls, die ID der übergeordneten Assembly des Moduls und eine Bitmaske zurück, die die Eigenschaften des Moduls beschreibt.
Syntax
HRESULT GetModuleInfo2(
[in] ModuleID moduleId,
[out] LPCBYTE *ppBaseLoadAddress,
[in] ULONG cchName,
[out] ULONG *pcchName,
[out, annotation("__out_ecount_part(cchName, *pcchName)")]
WCHAR szName[] ,
[out] AssemblyID *pAssemblyId);
[out] DWORD *pdwModuleFlags);
Parameter
moduleId
[in] Die ID des Moduls, für das Informationen abgerufen werden sollen.
ppBaseLoadAddress
[out] Die Basisadresse, an der das Modul geladen wird.
cchName
[in] Die Länge des szName
-Rückgabepuffers in Zeichen.
pcchName
[out] Ein Zeiger auf die gesamte Zeichenlänge des zurückgegebenen Dateinamens des Moduls.
szName
[out] Ein vom Aufrufer bereitgestellter Breitzeichenpuffer. Wenn die Methode abgeschlossen ist, enthält dieser Puffer den Dateinamen des Moduls.
pAssemblyId
[out] Ein Zeiger auf die ID der übergeordneten Assembly des Moduls.
pdwModuleFlags
[out] Eine Bitmaske der Werte aus der COR_PRF_MODULE_FLAGS-Enumeration, die die Eigenschaften des Moduls angeben.
Bemerkungen
Bei dynamischen Modulen ist der szName
-Parameter der Metadatenname des Moduls, und die Basisadresse ist 0 (null). Der Metadatenname ist der Wert in der Spalte "Name" der Modultabelle innerhalb der Metadaten. Dies wird auch als Module.ScopeName-Eigenschaft für verwalteten Code und als szName
-Parameter der IMetaDataImport::GetScopeProps-Methode für nicht verwalteten Metadatenclientcode verfügbar gemacht.
Obwohl die GetModuleInfo2
-Methode aufgerufen werden kann, sobald die Modul-ID vorhanden ist, ist die ID der übergeordneten Assembly erst verfügbar, wenn der Profiler den ICorProfilerCallback::ModuleAttachedToAssembly-Rückruf empfangen hat.
Nachdem GetModuleInfo2
abgeschlossen ist, müssen Sie überprüfen, ob der szName
-Puffer groß genug war, um den vollständigen Dateinamen des Moduls aufzunehmen. Vergleichen Sie zu diesem Zweck den Wert, auf den pcchName
verweist, mit dem Wert des Parameters cchName
. Wenn pcchName
auf einen Wert verweist, der größer als cchName
ist, weisen Sie einen größeren szName
-Puffer zu, aktualisieren Sie cchName
mit der neuen Größe, und rufen Sie GetModuleInfo2
erneut auf.
Alternativ können Sie zuerst GetModuleInfo2
mit einem szName
-Puffer der Länge 0 (NULL) aufrufen, um die richtige Puffergröße zu ermitteln. Sie können die Puffergröße dann auf den Wert festlegen, der von pcchName
zurückgegeben wurde, und GetModuleInfo2
erneut aufrufen.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorProf.idl, CorProf.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 4 verfügbar.