Partager via


ICorProfilerInfo::GetILToNativeMapping, méthode

Obtient une carte des décalages CIL (Common Intermediate Language) en décalages natifs pour le code contenu dans la fonction spécifiée.

Syntaxe

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ètres

functionId [in] ID de la fonction qui contient le code.

cMap [in] Taille maximale du map tableau.

pcMap [out] Nombre total de structures COR_DEBUG_IL_TO_NATIVE_MAP disponibles.

map [out] Tableau de COR_DEBUG_IL_TO_NATIVE_MAP structures, chacun d’entre eux spécifiant les décalages. Suite au retour de la méthode GetILToNativeMapping, map contient une partie ou la totalité des structures COR_DEBUG_IL_TO_NATIVE_MAP.

Notes

La méthode GetILToNativeMapping retourne un tableau de structures COR_DEBUG_IL_TO_NATIVE_MAP. Pour indiquer que certaines plages d’instructions natives correspondent à des régions spéciales de code (par exemple, le prologue), le champ ilOffset d’une entrée dans le tableau peut avoir comme valeur une valeur de l’énumération CorDebugIlToNativeMappingTypes.

Suite au retour de GetILToNativeMapping, vous devez vérifier que la mémoire tampon map est suffisamment grande pour contenir toutes les structures COR_DEBUG_IL_TO_NATIVE_MAP. Pour ce faire, comparez la valeur de cMap à celle du paramètre pcMap. Si la valeur pcMap, une fois multipliée par la taille d'une structure COR_DEBUG_IL_TO_NATIVE_MAP, est supérieure à cMap, allouez une mémoire tampon map plus grande, mettez à jour cMap pour refléter la nouvelle taille et rappelez GetILToNativeMapping.

Vous pouvez également commencer par appeler GetILToNativeMapping avec un tampon map de longueur nulle pour obtenir la taille correcte du tampon. Vous pouvez ensuite affecter à la taille de la mémoire tampon la valeur retournée dans pcMap et rappeler GetILToNativeMapping.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible depuis la version 2.0

Voir aussi