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