ObjectiveCMarshal.Initialize メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Objective-C マーシャリング 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)
パラメーター
- beginEndCallback
- delegate* unmanaged<Void>
追跡の開始と終了時に呼び出されます。
マネージド オブジェクト インスタンスが他の場所で参照されているかどうかを判断するために呼び出され、GC によって収集することはできません。
- trackedObjectEnteredFinalization
-
delegate* unmanaged<nativeint, Void>
追跡対象オブジェクトが最終処理キューに入ったときに呼び出されます。
- unhandledExceptionPropagationHandler
- ObjectiveCMarshal.UnhandledExceptionPropagationHandler
マネージド -> ネイティブ境界 (つまり、逆 P/呼び出し) を介してハンドルされない例外を伝達するためのハンドラー。
注釈
すべてのアンマネージ関数ポインターは、GC によって呼び出され、マネージド コードはその時点で実行できないため、ネイティブ コードで記述する必要があります。
は beginEndCallback
、参照追跡の開始と終了時に呼び出されます。 関連付けられた開始/終了ペアは入れ子になることはありません。 ワークステーション GC を使用する場合、開始と終了のペアは同じスレッドで呼び出されます。 サーバー GC を使用する場合、開始と終了のペアが同じスレッドで呼び出されるとは限りません。
は、参照しない場合は 0、参照されている場合は isReferencedCallback
1 を返す必要があります。 その他の値には未定義の動作があります。
適用対象
.NET