Partager via


Méthode ICorProfilerInfo9::GetCodeInfo4

Étant donné l’adresse de début du code natif, renvoie les blocs de mémoire virtuelle qui stockent ce code.

Syntaxe

HRESULT GetCodeInfo4( [in]  UINT_PTR pNativeCodeStartAddress,
                      [in]  ULONG32 cCodeInfos,
                      [out] ULONG32* pcCodeInfos,
                      [out] COR_PRF_CODE_INFO codeInfos[]);

Paramètres

pNativeCodeStartAddress
[in] Pointeur vers le début d’une fonction native.

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 GetCodeInfo4 est similaire à GetCodeInfo3, sauf qu’elle peut rechercher des informations de code pour différentes versions natives d’une méthode.

Notes

GetCodeInfo4 peut déclencher un nettoyage de la mémoire.

Les étendues sont triées par ordre croissant des offsets du langage CIL (Common Intermediate Language).

Après le retour de GetCodeInfo4, 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 GetCodeInfo4.

Vous pouvez également commencer par appeler GetCodeInfo4 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 GetCodeInfo4.

Spécifications

Plateformes : Consultez Systèmes d’exploitation pris en charge par .NET.

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

Bibliothèque : CorGuids.lib

Versions de .NET : Disponible depuis .NET Core 2.1

Voir aussi