Compartir a través de


ObjectiveCMarshal.CreateReferenceTrackingHandle Método

Definición

Solicitar seguimiento de referencia nativa para el objeto proporcionado.

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

Parámetros

obj
Object

Objeto al que se va a realizar un seguimiento.

taggedMemory

Span<IntPtr>

Span<nativeint>

Puntero a la memoria etiquetada en el objeto .

Devoluciones

Identificador gc de seguimiento de referencias.

Excepciones

La API objectiveCMarshal no se ha inicializado.

Comentarios

Se debe llamar a Initialize() antes de llamar a esta función.

obj debe tener un tipo en su jerarquía marcada con ObjectiveCTrackedTypeAttribute.

La devolución de llamada "Is Referenced" que se pasa a Initialize() se pasará a la taggedMemory devuelta de esta función. La memoria a la que apunta está definida por la longitud de Span<T> y se reduce a cero. Estará disponible hasta obj que el GC recopile. El autor de la llamada de esta función puede usar la memoria a taggedMemory la que apunta el autor de la llamada durante la devolución de llamada "Is Referenced".

Llamar a esta función varias veces con el mismo obj devolverá un nuevo identificador cada vez, pero se devolverá la misma memoria etiquetada. La memoria etiquetada solo se garantiza que no se inicialice en la primera llamada.

El autor de la llamada es responsable de liberar el devuelto GCHandle.

Se aplica a