ObjectiveCMarshal.UnhandledExceptionPropagationHandler 代理人

定義

マネージド -> ネイティブ境界を越える未処理の例外のハンドラー (つまり、逆引き P/呼び出し)。

public: delegate delegate* unmanaged<IntPtr , void> ^ ObjectiveCMarshal::UnhandledExceptionPropagationHandler(Exception ^ exception, RuntimeMethodHandle lastMethod, [Runtime::InteropServices::Out] IntPtr % context);
public delegate delegate* unmanaged<IntPtr, void> ObjectiveCMarshal.UnhandledExceptionPropagationHandler(Exception exception, RuntimeMethodHandle lastMethod, out IntPtr context);
type ObjectiveCMarshal.UnhandledExceptionPropagationHandler = delegate of Exception * RuntimeMethodHandle * nativeint -> delegate* unmanaged<nativeint, unit>
Public Delegate Function ObjectiveCMarshal.UnhandledExceptionPropagationHandler(exception As Exception, lastMethod As RuntimeMethodHandle, ByRef context As IntPtr) As delegate* unmanaged< As IntPtr, Void> 

パラメーター

exception
Exception

ハンドルされていない例外です。

lastMethod
RuntimeMethodHandle

最後の管理メソッド。

context
IntPtr

nativeint

返される関数ポインターに提供されるコンテキスト。

戻り値

delegate* unmanaged<IntPtr, Void>

delegate* unmanaged<nativeint, Void>

例外伝達コールバック。

注釈

ハンドラーがマネージド例外をネイティブ環境に適切に伝達できる場合は、アンマネージド コールバックを返すことができます。それ以外の場合 nullは 。 RuntimeMethodHandleは、ランタイムを終了する前に実行された最後のマネージド メソッドです。 返されたコールバックと共に、ハンドラーはディスパッチ中にコールバックに渡されるコンテキストを返すことができます。

返されたハンドラーは、呼び出されるとコンテキストに渡され、管理するのはコールバックの責任です。 ハンドラーは を返す必要はありません。例外をネイティブ環境に伝達するか (たとえば、ネイティブ例外をスローする)、または高速に失敗することが想定されます。

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象