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


ICorProfilerInfo::GetILToNativeMapping metódus

Lekéri a térképet a közös köztes nyelv (CIL) eltolásaitól a megadott függvényben található kód natív eltolásaiig.

Szemantika

HRESULT GetILToNativeMapping(
    [in] FunctionID functionId,
    [in] ULONG32 cMap,
    [out] ULONG32 *pcMap,
    [out, size_is(cMap), length_is(*pcMap)]
        COR_DEBUG_IL_TO_NATIVE_MAP map[]);

Paraméterek

functionId [in] A kódot tartalmazó függvény azonosítója.

cMap [in] A tömb maximális mérete map .

pcMap [kifelé] Az elérhető COR_DEBUG_IL_TO_NATIVE_MAP struktúrák teljes száma.

map [kifelé] Struktúrák tömbje COR_DEBUG_IL_TO_NATIVE_MAP , amelyek mindegyike az eltolásokat határozza meg. A metódus visszatérése GetILToNativeMappingmap után a szerkezetek egy részét vagy egészét COR_DEBUG_IL_TO_NATIVE_MAP tartalmazza.

Megjegyzések

A GetILToNativeMapping metódus egy szerkezettömböt COR_DEBUG_IL_TO_NATIVE_MAP ad vissza. Annak érdekében, hogy a natív utasítások bizonyos tartományai a kód speciális régióinak (például a prolognak) feleljenek meg, a tömb egy bejegyzésének mezője ilOffset a CorDebugIlToNativeMappingTypes enumerálás értékére állítható be.

A visszatérés után GetILToNativeMapping ellenőriznie kell, hogy a map puffer elég nagy volt-e ahhoz, hogy az összes struktúrát COR_DEBUG_IL_TO_NATIVE_MAP tartalmazza. Ehhez hasonlítsa cMap össze a paraméter értékét pcMap . Ha az pcMap érték, ha megszorozza egy COR_DEBUG_IL_TO_NATIVE_MAP struktúra méretével, nagyobb, mint cMap, nagyobb puffert map foglal le, frissít cMap az új, nagyobb mérettel, és újra meghívja GetILToNativeMapping .

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

Requirements

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

Fejléc: CorProf.idl, CorProf.h

Könyvtár: CorGuids.lib

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

Lásd még