ErrorWrapper Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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) |