ObjectiveCMarshal.CreateReferenceTrackingHandle Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.