ErrorWrapper 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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) |