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
 
- 属性
 
示例
下面的代码示例首先演示从 COM 封送回为Int32对象的单个Int32对象。 然后,它将从 COM 封送回的数组演示 Int32 为 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 类型将封送为整数。
下表演示了使用平台调用对本机函数的托管调用中的封送处理。
| 托管签名参数 | pArr 值 | 封送为 | 
|---|---|---|
| ErrorWrapper[] pArr | ErrorWrapper[10] 的 ErrorWrapper (77) | Int[10] | 
| Object[] pArr | ErrorWrapper[10] 的 ErrorWrapper (77) | 
              VARIANT[10] 的 VT_ERROR | 
| Object[] pArr | ErrorWrapper (77) 的对象[10] | 
              VARIANT[10] 的 VT_ERROR | 
下表说明了如何使用 COM 运行时可调用包装器 (RCW) 封送对本机函数的托管调用中的数据。
| 托管签名参数 | pArr 值 | 封送为 | 
|---|---|---|
| ErrorWrapper[] pArr | ErrorWrapper[10] 的 ErrorWrapper (77) | Int[10] | 
| Object[] pArr | ErrorWrapper[10] 的 ErrorWrapper (77) | 
              SafeArrayTypeMismatch 异常 | 
| Object[] pArr | ErrorWrapper (77) 的对象[10] | SAFEARRAY(VARIANT) | 
请注意, ErrorWrapper 对象在从 COM 传递回后不会将其封送为类型 VT_ERROR 。  单个值作为类型 VT_I4从 COM 封送回,而数组则从 COM 封送回类型 VT_UI4。
有关 的详细信息 VT_ERROR,请参阅 MSDN 库中的现有文档 VARENUM::VT_ERROR 。
构造函数
| ErrorWrapper(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) |