Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ErrorWrapper classe

 

Date de publication : novembre 2016

Encapsule les objets que le marshaleur doit marshaler en tant qu’un VT_ERROR.

Espace de noms:   System.Runtime.InteropServices
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.Runtime.InteropServices.ErrorWrapper

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class ErrorWrapper

NomDescription
System_CAPS_pubmethodErrorWrapper(Exception)

Initialise une nouvelle instance de la ErrorWrapper classe avec le HRESULT correspondant à l’exception spécifiée.

System_CAPS_pubmethodErrorWrapper(Int32)

Initialise une nouvelle instance de la ErrorWrapper classe avec le HRESULT de l’erreur.

System_CAPS_pubmethodErrorWrapper(Object)

Initialise une nouvelle instance de la ErrorWrapper classe avec un objet contenant le HRESULT de l’erreur.

NomDescription
System_CAPS_pubpropertyErrorCode

Obtient le code d’erreur du wrapper.

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Par défaut, Object des arguments de type sont marshalés en tant qu’un VARIANT type, où le type d’objet détermine le VARTYPE la valeur de la VARIANT.

Le ErrorWrapper type doit être passé en tant qu’un Object à marshaler en tant qu’un VARIANT de type VT_ERROR, sinon la ErrorWrapper type est marshalé en tant qu’entier.

Le tableau suivant illustre le marshaling dans un appel managé à une fonction native, à l’aide de platform invoke.

Paramètre de signature managé

valeur pArr

Marshalés en tant que

ErrorWrapper [] pArr

ErrorWrapper [10] d’ErrorWrapper (77)

Int[10]

PArr de [] objet

ErrorWrapper [10] d’ErrorWrapper (77)

VARIANT[10] de VT_ERROR

PArr de [] objet

Objet [10] d’ErrorWrapper (77)

VARIANT[10] de VT_ERROR

Le tableau suivant illustre le marshaling de données dans un appel managé à une fonction native, à l’aide de COM callable wrappers RCW (runtime).

Paramètre de signature managé

valeur pArr

Marshalés en tant que

ErrorWrapper [] pArr

ErrorWrapper [10] d’ErrorWrapper (77)

Int[10]

PArr de [] objet

ErrorWrapper [10] d’ErrorWrapper (77)

SafeArrayTypeMismatch exception

PArr de [] objet

Objet [10] d’ErrorWrapper (77)

SAFEARRAY(VARIANT)

Notez que ErrorWrapper objets ne sont pas marshalés en tant que type VT_ERROR après avoir été retournés par COM. Une valeur unique est marshalée à partir de COM en tant que type VT_I4, et les tableaux à partir de COM en tant que type VT_UI4.

Pour plus d’informations sur VT_ERROR, consultez la documentation existante pour VARENUM::VT_ERROR dans MSDN library.

L’exemple de code suivant montre tout d’abord un seul Int32 objet marshalé à partir de COM en tant qu’un Int32 objet. Il illustre ensuite un Int32 tableau marshalé à partir de COM en tant qu’un UInt32 tableau.

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

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Windows Phone
Disponible depuis 8.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: