ObjectiveCMarshal.CreateReferenceTrackingHandle Método

Definição

Solicite rastreamento nativo de referências para o objeto fornecido.

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

O objeto a seguir.

taggedMemory

Span<IntPtr>

Span<nativeint>

Um apontador para memória marcado para o objeto.

Devoluções

Identificador GC de seguimento de referência.

Exceções

A API ObjectiveCMarshal ainda não foi inicializada.

Observações

A Initialize função deve ser chamada antes de chamar esta função.

O obj parâmetro deve ter um tipo na sua hierarquia marcado com ObjectiveCTrackedTypeAttribute.

O callback "Is Referenced" passado para Initialize() será passado pelo taggedMemory retorno desta função. A memória para a qual aponta é definida pelo comprimento em e Span<T> será zerado. Estará disponível até obj ser recolhido pelo GC. A memória apontada por taggedMemory pode ser usada para qualquer propósito pelo chamador desta função e utilizável durante o callback "Is Referenced".

Chamar esta função várias vezes com a mesma obj devolverá um novo handle de cada vez, mas a mesma memória marcada será devolvida. A memória marcada só é garantida de ser inicializada a zero na primeira chamada.

O chamador é responsável por libertar os devolvidos GCHandle.

Aplica-se a