ObjectiveCMarshal.Initialize Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje rozhraní API pro zařazování Objective-C.
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)
Parametry
- beginEndCallback
- delegate* unmanaged<Void>
Volá se, když sledování začíná a končí.
Volá se k určení, jestli se na instanci spravovaného objektu odkazuje jinde a nesmí být shromažďována nástrojem GC.
- trackedObjectEnteredFinalization
-
delegate* unmanaged<nativeint, Void>
Volá se při vstupu sledovaného objektu do fronty finalizace.
- unhandledExceptionPropagationHandler
- ObjectiveCMarshal.UnhandledExceptionPropagationHandler
Obslužná rutina pro šíření neošetřených výjimek přes spravovanou nativní> hranici (to znamená Reverzní P/Invoke).
Poznámky
Všechny nespravované ukazatele na funkce musí být zapsány v nativním kódu, protože je bude volat GC a spravovaný kód nemůže v té době spustit.
Bude beginEndCallback
volána, když sledování odkazů začíná a končí. Přidružený počáteční a koncový pár nebude nikdy vnořený. Pokud používáte pracovní stanici GC, bude ve stejném vlákně volána počáteční a koncová dvojice. Při použití serveru GC není zaručeno, že dvojice začátek/konec bude volána ve stejném vlákně.
Hodnota isReferencedCallback
by měla vracet hodnotu 0, pokud není odkaz, nebo 1 pro odkazované. Jakákoli jiná hodnota má nedefinované chování.