Megosztás a következőn keresztül:


ICorProfilerInfo3::GetModuleInfo2 Method

A modul azonosítójának megadva visszaadja a modul fájlnevét, a modul szülőszerelvényének azonosítóját és egy bitmaszkot, amely a modul tulajdonságait írja le.

Syntax

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

Parameters

moduleId [in] Annak a modulnak az azonosítója, amelynek adatait lekéri.

ppBaseLoadAddress [kifelé] Az alapcím, amelyre a modul betöltődik.

cchName [in] A visszatérési szName puffer hossza karakterben.

pcchName [kifelé] A visszaadott modul fájlnevének teljes karakterhosszára mutató mutató.

szName [kifelé] Egy hívó által biztosított széles karakterpuffer. Amikor a metódus visszatér, ez a puffer tartalmazza a modul fájlnevét.

pAssemblyId [kifelé] A modul szülőszerelvényének azonosítójára mutató mutató.

pdwModuleFlags [kifelé] A modul tulajdonságait meghatározó COR_PRF_MODULE_FLAGS enumerálás értékeinek bitmaszkja.

Remarks

Dinamikus modulok esetén a szName paraméter a modul metaadatainak neve, az alapcím pedig 0 (nulla). A metaadatok neve a Modul tábla Név oszlopában található érték a metaadatokon belül. Ez a felügyelt kód tulajdonságaként és az szNameIMetaDataImport::GetScopeProps metódus paramétereként Module.ScopeName is elérhető a nem felügyelt metaadat-ügyfélkódhoz.

Bár a GetModuleInfo2 metódus meghívható, amint a modul azonosítója létezik, a szülőszerelvény azonosítója nem lesz elérhető, amíg a profilozó nem kapja meg az ICorProfilerCallback::ModuleAttachedToAssembly visszahívást .

Visszatéréskor GetModuleInfo2 ellenőriznie kell, hogy a szName puffer elég nagy volt-e ahhoz, hogy a modul teljes fájlnevét tartalmazza. Ehhez hasonlítsa össze azt az értéket, amely pcchName a paraméter értékével cchName mutat. Ha pcchName egy nagyobb cchNameértékre mutat, foglaljon le egy nagyobb szName puffert, frissítsen cchName az új, nagyobb mérettel, és hívja újra a hívást GetModuleInfo2 .

Másik lehetőségként meghívhat GetModuleInfo2 egy nulla hosszúságú szName puffert a megfelelő pufferméret beszerzéséhez. Ezután beállíthatja a puffer méretét a visszaadott pcchName értékre, majd újra hívhatja GetModuleInfo2 .

Requirements

Platformok: Lásd a rendszerkövetelményeket.

Fejléc: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET-keretrendszerverziók: 4 óta elérhető

See also