ObjectiveCMarshal.CreateReferenceTrackingHandle Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Demandez le suivi des références natives pour l’objet fourni.
public:
static System::Runtime::InteropServices::GCHandle CreateReferenceTrackingHandle(System::Object ^ obj, [Runtime::InteropServices::Out] Span<IntPtr> % taggedMemory);
public static System.Runtime.InteropServices.GCHandle CreateReferenceTrackingHandle (object obj, out Span<IntPtr> taggedMemory);
static member CreateReferenceTrackingHandle : obj * Span -> System.Runtime.InteropServices.GCHandle
Public Shared Function CreateReferenceTrackingHandle (obj As Object, ByRef taggedMemory As Span(Of IntPtr)) As GCHandle
Paramètres
- obj
- Object
Objet à suivre.
Retours
Handle GC de suivi des références.
Exceptions
L’API ObjectiveCMarshal n’a pas été initialisée.
Remarques
Initialize() doit être appelé avant d’appeler cette fonction.
Doit obj
avoir un type dans sa hiérarchie marqué avec ObjectiveCTrackedTypeAttribute.
Le rappel « Is Referenced » passé à Initialize() recevra le taggedMemory
retour de cette fonction.
La mémoire vers laquelle il pointe est définie par la longueur dans et Span<T> sera supprimée. Il sera disponible jusqu’à ce qu’il obj
soit collecté par le GC.
La mémoire pointée par taggedMemory
peut être utilisée à n’importe quel usage par l’appelant de cette fonction et utilisable pendant le rappel « Is Referenced ».
L’appel de cette fonction plusieurs fois avec le même obj
renvoie un nouveau handle à chaque fois, mais la même mémoire étiquetée est retournée. La mémoire étiquetée est garantie uniquement pour être initialisée zéro lors du premier appel.
L’appelant est responsable de libérer le retour GCHandle.