ObjectiveCMarshal.CreateReferenceTrackingHandle Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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.