ObjectiveCMarshal.CreateReferenceTrackingHandle 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
要求所提供物件的原生參考追蹤。
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
要追蹤的物件。
傳回
參考追蹤 GC 句柄。
例外狀況
ObjectiveCMarshal API 尚未初始化。
備註
呼叫此函式之前,必須先呼叫 Initialize () 。
的 obj
階層中必須具有以標示 ObjectiveCTrackedTypeAttribute的類型。
傳遞至 Initialize () 的 「Is Referenced」 回呼將會傳遞 taggedMemory
自此函式傳回的 。
其所指向的記憶體是由 中的 Span<T> 長度所定義,而且會零出。它將會可供使用,直到 obj
GC 收集為止。
所 taggedMemory
指向的記憶體可由此函式的呼叫端用於任何用途,而且可在「參考」回呼期間使用。
每次呼叫此函式時,相同的 obj
函式都會傳回新的句柄,但會傳回相同的標記記憶體。 標記的記憶體只會保證在第一次呼叫時初始化為零。
呼叫端負責釋放傳 GCHandle回的 。