Marshal.ThrowExceptionForHR メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定の失敗 HRESULT 値を使用して例外をスローします。
オーバーロード
ThrowExceptionForHR(Int32) |
特定の失敗 HRESULT 値を使用して例外をスローします。 |
ThrowExceptionForHR(Int32, IntPtr) |
指定した IErrorInfo インターフェイスに基づいて、特定のエラー HRESULT を使用して例外をスローします。 |
ThrowExceptionForHR(Int32)
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
特定の失敗 HRESULT 値を使用して例外をスローします。
public:
static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode);
public static void ThrowExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)
パラメーター
- errorCode
- Int32
必要な例外に対応する HRESULT。
- 属性
注釈
このメソッドは、指定されたエラー HRESULT の例外オブジェクトを作成します。 HRESULT が 0 または正 (成功コード) の場合、メソッドは例外を作成またはスローせずに を返します。
メソッドが ThrowExceptionForHR(Int32) 設定されている場合、現在のスレッドの IErrorInfo インターフェイスに基づいて例外が返されることに注意してください。 この場合、 errorCode
パラメーターは無視されます。
一部の障害 HRESULT は定義された例外にマップされますが、それ以外のエラーはマップされません。 HRESULT が定義された例外にマップされる場合は、 ThrowExceptionForHR 例外のインスタンスを作成してスローします。 それ以外の場合は、 の COMExceptionインスタンスを作成し、エラー コード フィールドを HRESULT で初期化し、その例外をスローします。 が ThrowExceptionForHR 呼び出されると、アンマネージ GetErrorInfo 関数を使用して、エラーに関する追加情報の取得が試行されます。
各 HRESULT から .NET Framework の同等の例外クラスへのマッピングについては、「 方法: HRESULT と例外をマップする」を参照してください。
場合によっては、 ThrowExceptionForHR 以前の COM 呼び出しから例外が返されることがあります。 この場合は、次の回避策を使用し、2 番目のパラメーター (errorInfo
) として を渡IntPtr(-1)
すことができます。
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
こちらもご覧ください
適用対象
ThrowExceptionForHR(Int32, IntPtr)
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
指定した IErrorInfo インターフェイスに基づいて、特定のエラー HRESULT を使用して例外をスローします。
public:
static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)
パラメーター
- errorCode
- Int32
必要な例外に対応する HRESULT。
- errorInfo
-
IntPtr
nativeint
エラーの詳細情報を提供する IErrorInfo インターフェイスへのポインター。
IntPtr(0)
を指定すると、現在の IErrorInfo インターフェイスを使用できます。また IntPtr(-1)
を指定すると、現在の IErrorInfo インターフェイスを無視して、エラー コードだけを使用して例外を作成できます。
- 属性
注釈
このメソッドは、指定されたエラー HRESULT の例外オブジェクトを作成します。 HRESULT が 0 または正 (成功コード) の場合、メソッドは例外を作成またはスローせずに を返します。
メソッドは ThrowExceptionForHR パラメーターを解放し errorInfo
、 IErrorInfo インターフェイスの COM 参照数を減らします。
メソッドが ThrowExceptionForHR 設定されている場合、現在のスレッドの IErrorInfo インターフェイスに基づいて例外が返されることに注意してください。 この場合、 errorCode
パラメーターは無視されます。
一部の障害 HRESULT は定義された例外にマップされますが、それ以外のエラーはマップされません。 HRESULT が定義された例外にマップされる場合は、 ThrowExceptionForHR 例外のインスタンスを作成してスローします。 それ以外の場合は、 の System.Runtime.InteropServices.COMExceptionインスタンスを作成し、エラー コード フィールドを HRESULT で初期化し、その例外をスローします。 パラメーターは errorInfo
、エラーに関する追加情報を取得するために使用されます。
各 HRESULT から .NET Framework の同等の例外クラスへのマッピングについては、「 方法: HRESULT と例外をマップする」を参照してください。
こちらもご覧ください
適用対象
.NET