Freigeben über


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.

Siehe auch