Freigeben über


ICorProfilerInfo::GetModuleInfo-Methode

Aktualisiert: November 2007

Akzeptiert eine Modul-ID. Gibt den Dateinamen des Moduls und die ID der übergeordneten Assembly des Moduls zurück.

HRESULT GetModuleInfo(
    [in]  ModuleID   moduleId,
    [out] LPCBYTE    *ppBaseLoadAddress,
    [in]  ULONG      cchName,
    [out] ULONG      *pcchName,
    [out, size_is(cchName), length_is(*pcchName)]
          WCHAR      szName[] ,
    [out] AssemblyID *pAssemblyId);

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 Funktion zurückgegeben wird, enthält sie den Dateinamen des Moduls.

  • pAssemblyId
    [out] Ein Zeiger auf die ID der übergeordneten Assembly des Moduls.

Hinweise

Für dynamische Module ist der szName-Parameter eine leere Zeichenfolge, und die Basisadresse ist 0 (null).

Obwohl die GetModuleInfo-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 empfängt.

Nachdem GetModuleInfo zurückgegeben wurde, müssen Sie überprüfen, ob der szName-Puffer groß genug war, um den vollständigen Dateinamen des Moduls aufzunehmen. Vergleichen Sie hierzu den Wert, auf den pcchName verweist, mit dem Wert des cchName-Parameters. 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 GetModuleInfo erneut auf.

Sie können auch zunächst GetModuleInfo mit einem szName-Puffer der Größe 0 (null) aufrufen, um die richtige Puffergröße zu ermitteln. Anschließend können Sie die Puffergröße auf den Wert festlegen, der von pcchName zurückgegeben wurde, und GetModuleInfo erneut aufrufen.

Weitere Informationen über diese beiden Ansätze finden Sie unter Vom Aufrufer reservierte Puffer.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICorProfilerInfo

Weitere Ressourcen

Profilerstellungsschnittstellen

Profilerstellung (Referenz zur nicht verwalteten API)