Udostępnij przez


ICorProfilerInfo3::GetModuleInfo2 Method

Biorąc pod uwagę identyfikator modułu, zwraca nazwę pliku modułu, identyfikator zestawu nadrzędnego modułu i maskę bitową opisjącą właściwości modułu.

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);

Parameters

moduleId [in] Identyfikator modułu, dla którego zostaną pobrane informacje.

ppBaseLoadAddress [out] Adres podstawowy, pod którym jest ładowany moduł.

cchName [in] Długość w postaci znaków buforu powrotnego szName .

pcchName [out] Wskaźnik do całkowitej długości znaków zwróconej nazwy pliku modułu.

szName [out] Bufor szerokiego znaku dostarczonego przez obiekt wywołujący. Gdy metoda zwróci metodę, ten bufor zawiera nazwę pliku modułu.

pAssemblyId [out] Wskaźnik do identyfikatora zestawu nadrzędnego modułu.

pdwModuleFlags [out] Maska bitowa wartości z wyliczenia COR_PRF_MODULE_FLAGS określająca właściwości modułu.

Remarks

W przypadku modułów szName dynamicznych parametr jest nazwą metadanych modułu, a adres podstawowy to 0 (zero). Nazwa metadanych jest wartością w kolumnie Name (Nazwa) z tabeli Module (Moduł) wewnątrz metadanych. Jest to również uwidocznione jako Module.ScopeName właściwość kodu zarządzanego i jako szName parametr metody IMetaDataImport::GetScopeProps w kodzie klienta niezarządzanych metadanych.

GetModuleInfo2 Mimo że metoda może być wywoływana natychmiast po utworzeniu identyfikatora modułu, identyfikator zestawu nadrzędnego nie będzie dostępny, dopóki profiler nie otrzyma wywołania zwrotnego ICorProfilerCallback::ModuleAttachedToAssembly.

Po GetModuleInfo2 powrocie należy sprawdzić, czy szName bufor był wystarczająco duży, aby zawierał pełną nazwę pliku modułu. W tym celu porównaj wartość wskazującą pcchName wartość z wartością parametru cchName . Jeśli pcchName wskazuje wartość większą niż cchName, przydziel większy szName bufor, zaktualizuj cchName go przy użyciu nowego, większego rozmiaru i wywołaj GetModuleInfo2 ponownie.

Alternatywnie można najpierw wywołać GetModuleInfo2 bufor o zerowej długości szName , aby uzyskać prawidłowy rozmiar buforu. Następnie można ustawić rozmiar buforu na wartość zwróconą w pcchName pliku i wywołać GetModuleInfo2 ponownie.

Requirements

Platformy: zobacz Wymagania systemowe.

Nagłówek: CorProf.idl, CorProf.h

Library: CorGuids.lib

Wersje programu .NET Framework: Dostępne od 4

See also