次の方法で共有


ErrorWrapper クラス

定義

注意事項

ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.

マーシャラーが VT_ERROR としてマーシャリングする必要があるオブジェクトをラップします。

public ref class ErrorWrapper sealed
[System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")]
public sealed class ErrorWrapper
public sealed class ErrorWrapper
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ErrorWrapper
[<System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")>]
type ErrorWrapper = class
type ErrorWrapper = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ErrorWrapper = class
Public NotInheritable Class ErrorWrapper
継承
ErrorWrapper
属性

次のコード例では、最初に COM からオブジェクトとしてマーシャリングされた 1 つの Int32 オブジェクトを Int32 示します。 次に、 Int32 COM から配列としてマーシャリングされた配列を UInt32 示します。

// Scenario 1:  
// Pass a single value.  
Int32 x = 3;  
Object o = new ErrorWrapper(x);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is still an Int32 object.  
Int32 y = (Int32)o;  
Scenario 2:  
// Pass an array of values.  
Int32[] arr = new Int32[3];  
Object o = new ErrorWrapper(arr);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is now a UInt32[] array.  
UInt32[ ] arr2 = (UInt32[])o;  

注釈

既定では、Object型引数は 型としてVARIANTマーシャリングされ、オブジェクト型によって の値がVARTYPEVARIANT決定されます。

型としてErrorWrapperマーシャリングVARIANTするには、型としてObject型を渡す必要があります。それ以外のVT_ERROR場合ErrorWrapper、型は整数としてマーシャリングされます。

次の表は、プラットフォーム呼び出しを使用したネイティブ関数のマネージド呼び出しでのマーシャリングを示しています。

マネージド 署名パラメーター pArr 値 マーシャリング
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) VARIANT[10]VT_ERROR
Object[] pArr ErrorWrapper(77) の Object[10] VARIANT[10]VT_ERROR

次の表は、COM ランタイム呼び出し可能ラッパー (RCW) を使用して、ネイティブ関数のマネージド呼び出しでデータをマーシャリングする方法を示しています。

マネージド 署名パラメーター pArr 値 マーシャリング
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) SafeArrayTypeMismatch 例外
Object[] pArr ErrorWrapper(77) の Object[10] SAFEARRAY(VARIANT)

オブジェクトは ErrorWrapper 、COM から渡された後に型 VT_ERROR としてマーシャリングされないことに注意してください。 1 つの値が型として COM からマーシャリングされ、配列は型 として VT_I4VT_UI4COM からマーシャリングされます。

VT_ERROR詳細については、MSDN ライブラリの の既存の VARENUM::VT_ERROR ドキュメントを参照してください。

コンストラクター

ErrorWrapper(Exception)
古い.

ErrorWrapper クラスの新しいインスタンスを、提供される例外に対応する HRESULT を使用して初期化します。

ErrorWrapper(Int32)
古い.

ErrorWrapper クラスの新しいインスタンスを、エラーの HRESULT を使用して初期化します。

ErrorWrapper(Object)
古い.

ErrorWrapper クラスの新しいインスタンスを、エラーの HRESULT を格納しているオブジェクトを使用して初期化します。

プロパティ

ErrorCode
古い.

ラッパーのエラー コードを取得します。

メソッド

Equals(Object)
古い.

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()
古い.

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()
古い.

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()
古い.

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象