Udostępnij za pośrednictwem


ICorProfilerInfo3::GetModuleInfo2 — Metoda

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

Składnia

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

Parametry

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

ppBaseLoadAddress
[out] Adres podstawowy, pod którym załadowano moduł.

cchName
[w] Długość buforu powrotnego szName , w znakach.

pcchName
[out] Wskaźnik do całkowitej długości znaków zwracanej 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 COR_PRF_MODULE_FLAGS wyliczenie określające właściwości modułu.

Uwagi

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

GetModuleInfo2 Mimo że metoda może być wywoływana zaraz 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ść pcchName wskazującą 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 i wywołać GetModuleInfo2 ponownie.

Wymagania

Platformy: Zobacz Wymagania systemowe.

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

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od 4

Zobacz też