ICorProfilerInfo::GetModuleInfo — Metoda
Biorąc pod uwagę identyfikator modułu, zwraca nazwę pliku modułu i identyfikator zestawu nadrzędnego modułu.
Składnia
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);
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.
Uwagi
W przypadku modułów dynamicznych szName
parametr jest pustym ciągiem, a podstawowy adres to 0 (zero).
GetModuleInfo
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 GetModuleInfo
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 GetModuleInfo
ponownie.
Alternatywnie można najpierw wywołać GetModuleInfo
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ć GetModuleInfo
ponownie.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl, CorProf.h
Biblioteki: CorGuids.lib
.NET Framework wersje: dostępne od wersji 2.0