ICorProfilerInfo4::GetCodeInfo3, méthode
Obtient les étendues de code natif associées à la version recompilée juste-à-temps de la fonction spécifiée.
Syntaxe
HRESULT GetCodeInfo3(
[in] FunctionID functionID,
[in] ReJITID reJitId,
[in] ULONG32 cCodeInfos,
[out] ULONG32 *pcCodeInfos,
[out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
COR_PRF_CODE_INFO codeInfos[]);
Paramètres
functionID
[in] ID de la fonction à laquelle le code natif est associé.
reJitId
[in] Identité de la fonction recompilée juste-à-temps.
cCodeInfos
[in] Taille du tableau codeInfos
.
pcCodeInfos
[out] Pointeur vers le nombre total de structures COR_PRF_CODE_INFO disponibles.
codeInfos
[out] Mémoire tampon fournie par l'appelant. Suite au retour de la méthode, celle-ci contient un tableau de structures COR_PRF_CODE_INFO
qui décrivent chacune un bloc de code natif.
Notes
La méthode GetCodeInfo3
est semblable à GetCodeInfo2, à ceci près qu’elle obtient l’ID recompilé juste-à-temps de la fonction contenant l’adresse IP spécifiée.
Notes
GetCodeInfo3
peut déclencher un garbage collection, contrairement à GetCodeInfo2. Pour plus d’informations, consultez le HRESULT CORPROF_E_UNSUPPORTED_CALL_SEQUENCE.
Les étendues sont triées par ordre croissant des offsets du langage CIL (Common Intermediate Language).
Après le retour de GetCodeInfo3
, vous devez vérifier que la mémoire tampon codeInfos
est suffisante pour contenir toutes les structures COR_PRF_CODE_INFO. Pour ce faire, comparez la valeur de cCodeInfos
à celle du paramètre cchName
. Si le résultat de la division de cCodeInfos
par la taille d’une structure COR_PRF_CODE_INFO est inférieur à pcCodeInfos
, allouez davantage de mémoire tampon codeInfos
, mettez à jour cCodeInfos
pour refléter la nouvelle taille et rappelez GetCodeInfo3
.
Vous pouvez également commencer par appeler GetCodeInfo3
avec un tampon codeInfos
de longueur nulle pour obtenir la taille correcte du tampon. Vous pouvez ensuite affecter à la taille de la mémoire tampon codeInfos
la valeur retournée dans pcCodeInfos
, multipliée par la taille d’une structure COR_PRF_CODE_INFO, puis rappeler GetCodeInfo3
.
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 4.5