ObjectiveCMarshal.CreateReferenceTrackingHandle Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Запрос собственного отслеживания ссылок для предоставленного объекта.
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
Параметры
- obj
- Object
Объект для отслеживания.
Возвращаемое значение
Дескриптор отслеживания ссылок.
Исключения
API ObjectiveCMarshal не инициализирован.
Комментарии
Перед Initialize вызовом этой функции необходимо вызвать функцию.
Параметр obj должен иметь тип в иерархии, помеченный как ObjectiveCTrackedTypeAttribute.
Обратный вызов Is Referenced, переданный в Initialize(), будет передан taggedMemory возвращаемым из этой функции.
Память, на которую она указывает, определяется длиной в и Span<T> будет отсчитываться от нуля. Она будет доступна до тех пор, пока obj не будет собрана GC.
Память, указываемая на taggedMemory нее, может использоваться для любой цели вызывающей функцией и доступной для использования во время обратного вызова "Is Referenced".
Вызов этой функции несколько раз с obj одинаковым будет возвращать новый дескриптор каждый раз, но будет возвращена одна и та же помеченная память. Помеченная память гарантированно не инициализирована только при первом вызове.
Вызывающий объект отвечает за освобождение возвращаемого GCHandle.