ObjectiveCMarshal.Initialize 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.
Initialisieren Sie die Ziel-C-Marshalling-API.
public:
static void Initialize(delegate* unmanaged<void> ^ beginEndCallback, delegate* unmanaged<IntPtr , int> ^ isReferencedCallback, delegate* unmanaged<IntPtr , void> ^ trackedObjectEnteredFinalization, System::Runtime::InteropServices::ObjectiveC::ObjectiveCMarshal::UnhandledExceptionPropagationHandler ^ unhandledExceptionPropagationHandler);
public static void Initialize (delegate* unmanaged<void> beginEndCallback, delegate* unmanaged<IntPtr, int> isReferencedCallback, delegate* unmanaged<IntPtr, void> trackedObjectEnteredFinalization, System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler unhandledExceptionPropagationHandler);
static member Initialize : delegate* unmanaged<unit> * delegate* unmanaged<nativeint, int> * delegate* unmanaged<nativeint, unit> * System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler -> unit
Public Shared Sub Initialize (beginEndCallback As delegate* unmanaged<Void>, isReferencedCallback As delegate* unmanaged< As IntPtr, Integer>, trackedObjectEnteredFinalization As delegate* unmanaged< As IntPtr, Void>, unhandledExceptionPropagationHandler As ObjectiveCMarshal.UnhandledExceptionPropagationHandler)
Parameter
- beginEndCallback
- delegate* unmanaged<Void>
Wird aufgerufen, wenn die Nachverfolgung beginnt und endet.
Wird aufgerufen, um zu ermitteln, ob auf eine verwaltete Objektinstanz an anderer Stelle verwiesen wird und nicht von der GC erfasst werden darf.
- trackedObjectEnteredFinalization
-
delegate* unmanaged<nativeint, Void>
Wird aufgerufen, wenn ein nachverfolgtes Objekt die Endisierungswarteschlange eingibt.
- unhandledExceptionPropagationHandler
- ObjectiveCMarshal.UnhandledExceptionPropagationHandler
Handler für die Verteilung unbehandelter Ausnahmen über eine verwaltete> - systemeigene Grenze (d. h. Reverse P/Invoke).
Hinweise
Alle nicht verwalteten Funktionszeiger müssen in systemeigenem Code geschrieben werden, da sie vom GC aufgerufen werden und verwalteter Code zurzeit nicht ausgeführt werden kann.
Der beginEndCallback Wird aufgerufen, wenn die Referenznachverfolgung beginnt und endet. Das zugeordnete Anfangs-/Endpaar wird nie geschachtelt. Bei Verwendung von Workstation GC wird das Start-/End-Paar auf demselben Thread aufgerufen. Wenn Sie Server GC verwenden, wird das Start-/End-Paar nicht garantiert auf demselben Thread aufgerufen.
Der isReferencedCallback Wert sollte "0" für den Verweis oder "1" für den Verweis zurückgeben. Jeder andere Wert hat ein nicht definiertes Verhalten.