ICorProfilerInfo::GetILToNativeMapping, méthode
Obtient un mappage des offsets MSIL aux offsets natifs pour le code contenu dans la fonction spécifiée.
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 contenant le code.cMap
[in] Taille maximale du tableau map.pcMap
[out] Nombre total de structures COR_DEBUG_IL_TO_NATIVE_MAP disponibles.map
[out] Tableau de structures COR_DEBUG_IL_TO_NATIVE_MAP, qui spécifient chacune les offsets. Après le retour de la méthode GetILToNativeMapping, map contiendront quelques-unes ou toutes les 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.
Une fois la valeur de GetILToNativeMapping retournée, vous devez vérifier que la taille de la mémoire tampon map était suffisante pour contenir toutes les structures COR_DEBUG_IL_TO_NATIVE_MAP. Pour ce faire, comparez la valeur de cMap avec 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 avec la nouvelle taille plus grande et appelez de nouveau la méthode GetILToNativeMapping.
Vous pouvez également commencer par appeler GetILToNativeMapping avec une mémoire tampon map dont la taille est nulle pour obtenir la taille correcte de la mémoire tampon. Vous pouvez ensuite affecter à la taille de la mémoire tampon la valeur retournée dans pcMap et appeler de nouveau GetILToNativeMapping.
Pour plus d'informations sur ces deux approches, consultez la page Mémoires tampons allouées par l'appelant.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : CorProf.idl, CorProf.h
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0