ICorProfilerInfo::GetModuleInfo – metoda
Při zadaném ID modulu vrátí název souboru modulu a ID nadřazeného sestavení modulu.
Syntaxe
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
[v] ID modulu, pro který se načtou informace.
ppBaseLoadAddress
[out] Základní adresa, na které je modul načten.
cchName
[v] Délka návratové szName
vyrovnávací paměti (ve znaznachu).
pcchName
[out] Ukazatel na celkovou délku znaků názvu souboru modulu, který je vrácen.
szName
[out] Široká vyrovnávací paměť znaků poskytovaná volajícím. Když metoda vrátí, tato vyrovnávací paměť obsahuje název souboru modulu.
pAssemblyId
[out] Ukazatel na ID nadřazeného sestavení modulu.
Poznámky
U dynamických modulů szName
je parametr prázdný řetězec a základní adresa je 0 (nula).
GetModuleInfo
Ačkoli metoda může být volána jakmile ID modulu existuje, ID nadřazeného sestavení nebude k dispozici, dokud profiler obdrží zpětné volání ICorProfilerCallback::ModuleAttachedToAssembly.
Při GetModuleInfo
vrácení příkazu musíte ověřit, že szName
vyrovnávací paměť byla dostatečně velká, aby obsahovala úplný název souboru modulu. Provedete to tak, že porovnáte hodnotu, na kterou odkazujete pcchName
, s hodnotou parametru cchName
. Pokud pcchName
odkazuje na hodnotu, která je větší než cchName
, přidělte větší szName
vyrovnávací paměť, aktualizujte cchName
novou, větší velikost a zavolejte GetModuleInfo
znovu.
Případně můžete nejprve volat GetModuleInfo
vyrovnávací paměť nulové délky szName
, abyste získali správnou velikost vyrovnávací paměti. Pak můžete nastavit velikost vyrovnávací paměti na vrácenou hodnotu v pcchName
a volat GetModuleInfo
znovu.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 2.0