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
屬性

範例

下列程式代碼範例會先示範將 Lone Int32 物件封送處理回 COM 做為 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 類型,其中物件類型會 VARTYPE 決定的值 VARIANT

ErrorWrapper 別必須傳遞為 Object 型別,才能封送處理為 VARIANT 類型的 VT_ERROR,否則類型 ErrorWrapper 會封送處理為整數。

下表說明使用平台調用,在原生函式的 Managed 呼叫中封送處理。

受控簽章參數 pArr 值 封送處理為
ErrorWrapper[] pArr ErrorWrapper[10] 的 ErrorWrapper (77) Int[10]
Object[] pArr ErrorWrapper[10] 的 ErrorWrapper (77) VARIANT[10]VT_ERROR
Object[] pArr ErrorWrapper (77) 的 Object[10] VARIANT[10]VT_ERROR

下表說明使用 COM 運行時間可呼叫包裝函式 (RCW) ,在原生函式的 Managed 呼叫中封送處理數據。

受控簽章參數 pArr 值 封送處理為
ErrorWrapper[] pArr ErrorWrapper[10] 的 ErrorWrapper (77) Int[10]
Object[] pArr ErrorWrapper[10] 的 ErrorWrapper (77) SafeArrayTypeMismatch 例外狀況
Object[] pArr ErrorWrapper (77) 的 Object[10] SAFEARRAY(VARIANT)

請注意, ErrorWrapper 物件在從 COM 傳回之後不會封送處理為類型 VT_ERROR 。 單一值會以 類型 VT_I4從 COM 封送處理回,而陣列則會以 類型 VT_UI4從 COM 封送處理回 。

如需 的詳細資訊 VT_ERROR,請參閱 MSDN 文件庫中的現有檔 VARENUM::VT_ERROR

建構函式

ErrorWrapper(Exception)
已淘汰.

使用與所提供之例外狀況 (Exception) 對應的 HRESULT,初始化 ErrorWrapper 類別的新執行個體。

ErrorWrapper(Int32)
已淘汰.

使用錯誤的 HRESULT 來初始化 ErrorWrapper 類別的新執行個體。

ErrorWrapper(Object)
已淘汰.

使用包含錯誤的 HRESULT 的物件,初始化 ErrorWrapper 類別的新執行個體。

屬性

ErrorCode
已淘汰.

取得包裝函式的錯誤碼。

方法

Equals(Object)
已淘汰.

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()
已淘汰.

做為預設雜湊函式。

(繼承來源 Object)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()
已淘汰.

傳回代表目前物件的字串。

(繼承來源 Object)

適用於