Partager via


ObjectiveCMarshal.CreateReferenceTrackingHandle Méthode

Définition

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.

taggedMemory

Span<IntPtr>

Span<nativeint>

Pointeur vers la mémoire étiquetée vers l’objet.

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.

S’applique à