Partilhar via


ErrorWrapper Classe

Definição

Cuidado

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

Encapsula objetos que o empacotador deve realizar marshaling como um 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
Herança
ErrorWrapper
Atributos

Exemplos

O exemplo de código a seguir demonstra primeiro um objeto solitário Int32 em marshaling de COM como um Int32 objeto . Em seguida, ele demonstra uma Int32 matriz empacotada de volta do COM como uma UInt32 matriz.

// 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;  

Comentários

Por padrão, Object os argumentos de tipo são empacotados como um VARIANT tipo, em que o tipo de objeto determina o VARTYPE valor do VARIANT.

O ErrorWrapper tipo deve ser passado como um Object tipo para ser marshalado como um VARIANT do tipo VT_ERROR, caso contrário, o ErrorWrapper tipo é marshaled como um inteiro.

A tabela a seguir ilustra o marshaling em uma chamada gerenciada para uma função nativa, usando a invocação de plataforma.

Parâmetro de assinatura gerenciada valor pArr Marshaled como
ErrorWrapper[] pArr ErrorWrapper[10] de ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] de ErrorWrapper(77) VARIANT[10] de VT_ERROR
Object[] pArr Objeto[10] de ErrorWrapper(77) VARIANT[10] de VT_ERROR

A tabela a seguir ilustra o marshaling de dados em uma chamada gerenciada para uma função nativa, usando wrappers callable de runtime COM (RCW).

Parâmetro de assinatura gerenciada valor pArr Marshaled como
ErrorWrapper[] pArr ErrorWrapper[10] de ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] de ErrorWrapper(77) Exceção SafeArrayTypeMismatch
Object[] pArr Objeto[10] de ErrorWrapper(77) SAFEARRAY(VARIANT)

Observe que ErrorWrapper os objetos não são empacotados como tipo VT_ERROR depois de serem passados de volta do COM. Um único valor é empacotado de volta do COM como tipo VT_I4, enquanto as matrizes são empacotadas de volta do COM como tipo VT_UI4.

Para obter mais informações sobre VT_ERROR, consulte a documentação existente para VARENUM::VT_ERROR na biblioteca MSDN.

Construtores

ErrorWrapper(Exception)
Obsoleto.

Inicializa uma nova instância da classe ErrorWrapper com o HRESULT que corresponde à exceção fornecida.

ErrorWrapper(Int32)
Obsoleto.

Inicializa uma nova instância da classe ErrorWrapper com o HRESULT do erro.

ErrorWrapper(Object)
Obsoleto.

Inicializa uma nova instância da classe ErrorWrapper com um objeto contendo o HRESULT do erro.

Propriedades

ErrorCode
Obsoleto.

Obtém o código de erro do wrapper.

Métodos

Equals(Object)
Obsoleto.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()
Obsoleto.

Serve como a função de hash padrão.

(Herdado de Object)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()
Obsoleto.

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a