Partager via


ObjectiveCMarshal.Initialize Méthode

Définition

Initialisez l’API de marshaling 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)

Paramètres

beginEndCallback
delegate* unmanaged<Void>

Appelé lorsque le suivi commence et se termine.

isReferencedCallback

delegate* unmanaged<IntPtr, Int32>

delegate* unmanaged<nativeint, Int32>

Appelé pour déterminer si un objet managé instance est référencé ailleurs et ne doit pas être collecté par le GC.

trackedObjectEnteredFinalization

delegate* unmanaged<IntPtr, Void>

delegate* unmanaged<nativeint, Void>

Appelé lorsqu’un objet suivi entre dans la file d’attente de finalisation.

unhandledExceptionPropagationHandler
ObjectiveCMarshal.UnhandledExceptionPropagationHandler

Gestionnaire pour la propagation d’exceptions non gérées dans une limite native managée (c’est-à-dire> , P/Invoke inverse).

Remarques

Tous les pointeurs de fonction non managés doivent être écrits dans du code natif, car ils seront appelés par le GC et le code managé ne peut pas s’exécuter à ce moment-là.

Le beginEndCallback sera appelé lorsque le suivi des références commence et se termine. La paire début/fin associée ne sera jamais imbriquée. Lors de l’utilisation du GC de station de travail, la paire début/fin est appelée sur le même thread. Lorsque vous utilisez Server GC, l’appel de la paire début/fin n’est pas garanti sur le même thread.

le isReferencedCallback doit retourner 0 pour ne pas référence ou 1 pour référence. Toute autre valeur a un comportement non défini.

S’applique à