共用方式為


ObjectiveCMarshal.CreateReferenceTrackingHandle 方法

定義

要求所提供物件的原生參考追蹤。

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

參數

obj
Object

要追蹤的物件。

taggedMemory

Span<IntPtr>

Span<nativeint>

標記至 對象的記憶體指標。

傳回

參考追蹤 GC 句柄。

例外狀況

ObjectiveCMarshal API 尚未初始化。

備註

呼叫此函式之前,必須先呼叫 Initialize () 。

obj 階層中必須具有以標示 ObjectiveCTrackedTypeAttribute的類型。

傳遞至 Initialize () 的 「Is Referenced」 回呼將會傳遞 taggedMemory 自此函式傳回的 。 其所指向的記憶體是由 中的 Span<T> 長度所定義,而且會零出。它將會可供使用,直到 obj GC 收集為止。 所 taggedMemory 指向的記憶體可由此函式的呼叫端用於任何用途,而且可在「參考」回呼期間使用。

每次呼叫此函式時,相同的 obj 函式都會傳回新的句柄,但會傳回相同的標記記憶體。 標記的記憶體只會保證在第一次呼叫時初始化為零。

呼叫端負責釋放傳 GCHandle回的 。

適用於