ObjectiveCMarshal.CreateReferenceTrackingHandle Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Solicitar rastreamento de referência nativo 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 ser rastreado.
Retornos
Identificador de GC de rastreamento de referência.
Exceções
A API ObjectiveCMarshal não foi inicializada.
Comentários
Initialize() deve ser chamado antes de chamar essa função.
O obj
deve ter um tipo em sua hierarquia marcado com ObjectiveCTrackedTypeAttribute.
O retorno de chamada "É Referenciado" passado para Initialize() será passado o taggedMemory
retornado dessa função.
A memória em que ele aponta é definida pelo comprimento no Span<T> e será zerado. Ele estará disponível até obj
ser coletado pelo GC.
A memória apontada por taggedMemory
pode ser usada para qualquer finalidade pelo chamador dessa função e utilizável durante o retorno de chamada "É Referenciado".
Chamar essa função várias vezes com o mesmo obj
retornará um novo identificador a cada vez, mas a mesma memória marcada será retornada. A memória marcada só tem a garantia de ser zero inicializada na primeira chamada.
O chamador é responsável por liberar o retornado GCHandle.