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.
Solicite o acompanhamento de referência nativa 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 acompanhamento de referência.
Exceções
A API ObjectiveCMarshal não foi inicializada.
Comentários
A Initialize função deve ser chamada antes de chamar essa função.
O obj parâmetro deve ter um tipo em sua hierarquia marcado com ObjectiveCTrackedTypeAttribute.
O retorno de chamada "É Referenciado" passado para Initialize() será passado para o taggedMemory retornado dessa função.
A memória em que ele aponta é definida pelo comprimento e Span<T> será zerado. Ele estará disponível até obj ser coletado pelo GC.
A memória apontada pode taggedMemory 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 sempre, 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.