ObjectiveCMarshal.CreateReferenceTrackingHandle Metod

Definition

Begär intern referensspårning för det angivna objektet.

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

Parametrar

obj
Object

Objektet som ska spåras.

taggedMemory

Span<IntPtr>

Span<nativeint>

En pekare till minnet som har taggats till objektet.

Returer

Referensspårnings-GC-handtag.

Undantag

ObjectiveCMarshal-API:et har inte initierats.

Kommentarer

Funktionen Initialize måste anropas innan den här funktionen anropas.

Parametern obj måste ha en typ i hierarkin markerad med ObjectiveCTrackedTypeAttribute.

Återanropet "Refereras" som skickas till Initialize() skickas från den taggedMemory här funktionen. Det minne som det pekar på definieras av längden i Span<T> och nollställs. Den kommer att vara tillgänglig tills obj den samlas in av GC. Minnet som pekas på av taggedMemory kan användas för vilket syfte som helst av anroparen av den här funktionen och kan användas under återanropet "Refereras".

Om du anropar den här funktionen flera gånger med samma obj returneras ett nytt handtag varje gång, men samma taggade minne returneras. Det taggade minnet är bara garanterat noll initierat vid det första anropet.

Anroparen ansvarar för att frigöra den returnerade GCHandle.

Gäller för