Partager via


ICorProfilerInfo9 ::GetCodeInfo4, méthode

Étant donné l’adresse de début du code natif, retourne 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 codeInfos tableau.

pcCodeInfos
[out] Pointeur vers le nombre total de structures COR_PRF_CODE_INFO disponibles.

codeInfos
[out] Mémoire tampon fournie par l’appelant. Une fois la méthode retournée, elle contient un tableau de COR_PRF_CODE_INFO structures, chacun décrivant un bloc de code natif.

Remarques

La GetCodeInfo4 méthode est similaire à GetCodeInfo3, sauf qu’elle peut rechercher des informations de code pour différentes versions natives d’une méthode.

Remarque

GetCodeInfo4 peut déclencher un garbage collection.

Les étendues sont triées dans l’ordre d’augmentation du décalage CIL (Common Intermediate Language).

Une fois GetCodeInfo4 retourné, vous devez vérifier que la codeInfos mémoire tampon était suffisamment grande pour contenir toutes les structures COR_PRF_CODE_INFO . Pour ce faire, comparez la valeur du cCodeInfos paramètre à la valeur du cchName paramètre. S’il cCodeInfos est divisé par la taille d’une structure COR_PRF_CODE_INFO est plus petite que pcCodeInfos, allouez une mémoire tampon plus grande codeInfos , mettez à jour cCodeInfos avec la nouvelle, plus grande taille et appelez GetCodeInfo4 à nouveau.

Vous pouvez également d’abord appeler GetCodeInfo4 avec une mémoire tampon de longueur codeInfos nulle pour obtenir la taille correcte de la mémoire tampon. Vous pouvez ensuite définir la taille de la codeInfos mémoire tampon sur la valeur retournée, pcCodeInfosmultipliée par la taille d’une structure COR_PRF_CODE_INFO , puis appeler GetCodeInfo4 à nouveau.

Spécifications

Plates-formes: Consultez les 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