ObjectiveCMarshal.CreateReferenceTrackingHandle Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Richiedere il rilevamento dei riferimenti nativi per l'oggetto fornito.
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
Parametri
- obj
- Object
Oggetto da tenere traccia.
Restituisce
Handle GC di rilevamento dei riferimenti.
Eccezioni
L'API ObjectiveCMarshal non è stata inizializzata.
Commenti
È necessario chiamare Initialize() prima di chiamare questa funzione.
L'oggetto obj
deve avere un tipo nella gerarchia contrassegnata con ObjectiveCTrackedTypeAttribute.
Il callback "Is Referenced" passato a Initialize() verrà passato all'oggetto taggedMemory
restituito da questa funzione.
La memoria a cui punta è definita dalla lunghezza in Span<T> e verrà azzerato. Sarà disponibile fino a quando obj
non viene raccolto dal GC.
La memoria a taggedMemory
cui punta può essere usata per qualsiasi scopo dal chiamante di questa funzione e utilizzabile durante il callback "Is Referenced".
La chiamata a questa funzione più volte con la stessa obj
funzione restituirà un nuovo handle ogni volta, ma verrà restituita la stessa memoria con tag. La memoria con tag è garantita solo per zero inizializzata nella prima chiamata.
Il chiamante è responsabile della liberazione dell'oggetto restituito GCHandle.