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 marshaler 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 empacotado de volta 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 a ser empacotado como um VARIANT tipo VT_ERROR, caso contrário, o ErrorWrapper tipo é empacotado 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 o RCW (com runtime callable wrappers).
| 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 na VARENUM::VT_ERROR biblioteca MSDN.
Construtores
| Nome | 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 que contém o HRESULT do erro. |
Propriedades
| Nome | Description |
|---|---|
| ErrorCode |
Obsoleto.
Obtém o código de erro do wrapper. |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Obsoleto.
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Obsoleto.
Serve como a função 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 Objectatual. (Herdado de Object) |
| ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |