Marshal.ThrowExceptionForHR メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定のエラー HRESULT 値を持つ例外をスローします。
オーバーロード
| 名前 | 説明 |
|---|---|
| ThrowExceptionForHR(Int32) |
特定のエラー HRESULT 値を持つ例外をスローします。 |
| ThrowExceptionForHR(Int32, IntPtr) |
指定した IErrorInfo インターフェイスに基づいて、特定のエラー HRESULT で例外をスローします。 |
| ThrowExceptionForHR(Int32, Guid, IntPtr) |
ThrowExceptionForHR(Int32)
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- 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 番目のパラメーター (IntPtr(-1)) としてerrorInfoを渡すことができます。
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
こちらもご覧ください
適用対象
ThrowExceptionForHR(Int32, IntPtr)
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
- ソース:
- 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) インターフェイスを使用するを指定するか、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 と例外をマップするを参照してください。
こちらもご覧ください
適用対象
ThrowExceptionForHR(Int32, Guid, IntPtr)
- ソース:
- Marshal.cs
- ソース:
- Marshal.cs
public:
static void ThrowExceptionForHR(int errorCode, Guid % iid, IntPtr pUnk);
public static void ThrowExceptionForHR(int errorCode, in Guid iid, IntPtr pUnk);
static member ThrowExceptionForHR : int * Guid * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, ByRef iid As Guid, pUnk As IntPtr)
パラメーター
- errorCode
- Int32
- iid
- Guid
- pUnk
-
IntPtr
nativeint