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