ErrorWrapper Classe

Definição

Atenção

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

Envolve objetos que o marshaler deve fazer marshal 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 seguinte demonstra primeiro um objeto solitário Int32 chamado marshaled de volta do COM como um Int32 objeto. De seguida, demonstra um Int32 array reagrupado do COM como um UInt32 array.

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

Observações

Por defeito, Object os argumentos de tipo são marshalados como um VARIANT tipo, onde o tipo de objeto determina o VARTYPE valor do VARIANT.

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

A tabela seguinte ilustra o marshaling numa chamada gerida para uma função nativa, usando invocação de plataforma.

Parâmetro de assinatura gerida valor pArr Organizado como
ErrorWrapper[] pArr ErrorWrapper[10] do ErrorWrapper(77) Int[10]
Objecto[] pArr ErrorWrapper[10] do ErrorWrapper(77) VARIANT[10] de VT_ERROR
Objecto[] pArr Objecto[10] do ErrorWrapper(77) VARIANT[10] de VT_ERROR

A tabela seguinte ilustra o marshaling de dados numa chamada gerida para uma função nativa, utilizando wrappers chamáveis em tempo de execução COM (RCW).

Parâmetro de assinatura gerida valor pArr Organizado como
ErrorWrapper[] pArr ErrorWrapper[10] do ErrorWrapper(77) Int[10]
Objecto[] pArr ErrorWrapper[10] do ErrorWrapper(77) SafeArrayTypeMismatch exceção
Objecto[] pArr Objecto[10] do ErrorWrapper(77) SAFEARRAY(VARIANT)

Note que ErrorWrapper os objetos não são marshalados como tipo VT_ERROR depois de serem passados de volta do COM. Um único valor é marshaled de volta do COM como tipo VT_I4, enquanto os arrays são marshaled de volta do COM como VT_UI4tipo .

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

Construtores

Name Description
ErrorWrapper(Exception)
Obsoleto.

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

ErrorWrapper(Int32)
Obsoleto.

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

ErrorWrapper(Object)
Obsoleto.

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

Propriedades

Name Description
ErrorCode
Obsoleto.

Recebe o código de erro do wrapper.

Métodos

Name Description
Equals(Object)
Obsoleto.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()
Obsoleto.

Serve como função de hash predefinida.

(Herdado de Object)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()
Obsoleto.

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a