ObjectiveCMarshal.CreateReferenceTrackingHandle Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fordern Sie die systemeigene Verweisnachverfolgung für das angegebene Objekt an.
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
Parameter
- obj
- Object
Das zu verfolgende Objekt.
Ein Zeiger auf den Speicher, der auf das Objekt markiert ist.
Gibt zurück
Referenznachverfolgungs-GC-Handle.
Ausnahmen
Die ObjectiveCMarshal-API wurde nicht initialisiert.
Hinweise
Initialize() muss aufgerufen werden, bevor diese Funktion aufgerufen wird.
Der obj
muss in seiner Hierarchie einen Typ aufweisen, der mit ObjectiveCTrackedTypeAttributegekennzeichnet ist.
Der an Initialize() übergebene Rückruf "Wird referenziert" wird von taggedMemory
dieser Funktion zurückgegeben.
Der Speicher, auf den er zeigt, wird durch die Länge in definiert Span<T> , und wird auf Null gesetzt. Sie steht zur Verfügung, bis obj
sie vom GC erfasst wird.
Der Speicher, auf den von taggedMemory
verweist, kann vom Aufrufer dieser Funktion für jeden Zweck verwendet und während des Rückrufs "Wird referenziert" verwendet werden.
Wenn Sie diese Funktion mehrmals mit demselben obj
aufrufen, wird jedes Mal ein neues Handle zurückgegeben, aber derselbe markierte Arbeitsspeicher wird zurückgegeben. Der markierte Arbeitsspeicher wird nur garantiert null beim ersten Aufruf initialisiert.
Der Aufrufer ist für das Freigeben des zurückgegebenen GCHandleverantwortlich.