Sdílet prostřednictvím


ICorProfilerInfo3::GetModuleInfo2 – metoda

Při přiřazení ID modulu vrátí název souboru modulu, ID nadřazeného sestavení modulu a bitovou masku, která popisuje vlastnosti modulu.

Syntaxe

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
[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.

pdwModuleFlags
[out] Bitová maska hodnot z COR_PRF_MODULE_FLAGS výčtu, které určují vlastnosti modulu.

Poznámky

U dynamických modulů szName je parametr názvem metadat modulu a základní adresa je 0 (nula). Název metadat je hodnota ve sloupci Name (Název) z tabulky Module (Modul) uvnitř metadat. To je také zpřístupněna jako Module.ScopeName vlastnost spravovaného kódu a jako szName parametr IMetaDataImport::GetScopeProps metoda nespravovaný metadata klientský kód.

GetModuleInfo2 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 GetModuleInfo2 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 GetModuleInfo2 znovu.

Případně můžete nejprve volat GetModuleInfo2 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 GetModuleInfo2 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 4

Viz také