Méthode ICorProfilerInfo13::CreateHandle
Crée un descripteur qui enveloppe un objet spécifié.
Syntaxe
HRESULT CreateHandle(
[in] ObjectID object,
[in] COR_PRF_HANDLE_TYPE type,
[out] ObjectHandleID* pHandle);
Paramètres
object
[in] Référence d’objet à inclure dans un wrapper avec un descripteur.
type
[in] Type de descripteur à créer.
pHandle
[out] Pointeur fourni par l’appelant qui pointe vers le descripteur créé pour envelopper le .object
Notes
Voici les utilisations attendues en fonction de la valeur spécifiée de COR_PRF_HANDLE_TYPE
:
COR_PRF_HANDLE_TYPE_WEAK
: surveille si un objet reste en mémoire au fil du temps. Si l’objet encapsulé a été collecté, ICorProfilerInfo13::GetObjectIDFromHandle retourne une valeurObjectID
nulle.COR_PRF_HANDLE_TYPE_STRONG
: force un objet à survive aux garbage collections même si aucun autre objet ne le référence.COR_PRF_HANDLE_TYPE_PINNED
: identique à un descripteur fort, mais garantit également que l’objet reste à la même adresse en mémoire pendant les garbage collections.
Pour vous assurer que la référence object
est valide, cette méthode doit être appelée à partir d’une méthode ICorProfilerCallback
telle que ICorProfilerCallback::ObjectAllocated. Vous ne pouvez pas appeler CreateHandle
à partir d’un écouteur asynchrone EventPipe. L’objet reçu via une charge utile d’événement a peut-être été supprimé ou déplacé en mémoire si un garbage collection s’est produit entre le moment où l’événement a été émis et le moment où il a été reçu.
N’oubliez pas d’appeler ICorProfilerInfo13::D estroyHandle une fois que le descripteur créé n’est plus nécessaire. Il est recommandé d’avoir moins de 4 096 descripteurs alloués en même temps pour éviter d’affecter les performances du récupérateur de mémoire.
Spécifications
Plateformes : Consultez Systèmes d’exploitation pris en charge par .NET.
En-tête : CorProf.idl, CorProf.h
Versions de .NET : Disponible depuis .NET 7.0
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour