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
будет собран сборкой мусора.
Память, на которую taggedMemory
указывает , может использоваться вызывающей функцией для любых целей и может использоваться во время обратного вызова Is Referenced.
При вызове этой функции несколько раз с одной и той же obj
функцией каждый раз возвращается новый дескриптор, но будет возвращена та же память с тегами. Память с тегами гарантированно будет инициализирована нулевым значением только при первом вызове.
Вызывающий объект отвечает за освобождение возвращенного GCHandle.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по