Freigeben über


ErrorWrapper-Klasse

 

Veröffentlicht: Oktober 2016

Umschließt Objekte, die der Marshaller als Marshallen einer VT_ERROR.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Vererbungshierarchie

System.Object
  System.Runtime.InteropServices.ErrorWrapper

Syntax

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class ErrorWrapper
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class ErrorWrapper sealed 
[<Sealed>]
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type ErrorWrapper = class end
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public NotInheritable Class ErrorWrapper

Konstruktoren

Name Beschreibung
System_CAPS_pubmethod ErrorWrapper(Exception)

Initialisiert eine neue Instanz der ErrorWrapper -Klasse mit dem HRESULT für die angegebene Ausnahme.

System_CAPS_pubmethod ErrorWrapper(Int32)

Initialisiert eine neue Instanz der ErrorWrapper -Klasse mit dem HRESULT des Fehlers.

System_CAPS_pubmethod ErrorWrapper(Object)

Initialisiert eine neue Instanz der ErrorWrapper -Klasse mit einem Objekt, das das HRESULT des Fehlers enthält.

Eigenschaften

Name Beschreibung
System_CAPS_pubproperty ErrorCode

Ruft den Fehlercode des Wrappers ab.

Methoden

Name Beschreibung
System_CAPS_pubmethod Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethod GetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethod GetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethod ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Hinweise

In der Standardeinstellung Object Typargumente als gemarshallt werden eine VARIANT Typ, wobei der Objekttyp bestimmt die VARTYPE Wert der VARIANT.

Die ErrorWrapper Geben Sie als übergeben werden muss ein Object Typ als gemarshallt werden eine VARIANT vom Typ VT_ERROR, andernfalls der ErrorWrapper Typ wird als ganze Zahl gemarshallt.

Die folgende Tabelle zeigt die Marshalling in einen verwalteten Aufruf einer systemeigenen Funktion mithilfe eines Plattformaufrufs.

Verwaltete Signatur-parameter

pArr-Wert

Als gemarshallt

ErrorWrapper [] pArr

ErrorWrapper [10] von ErrorWrapper (77)

Int[10]

Objekt [] pArr

ErrorWrapper [10] von ErrorWrapper (77)

VARIANT[10] von VT_ERROR

Objekt [] pArr

Objekt [10] von ErrorWrapper (77)

VARIANT[10] von VT_ERROR

Die folgende Tabelle zeigt die Marshallen von Daten in einen verwalteten Aufruf einer systemeigenen Funktion mit COM-Runtime callable Wrapper (RCW).

Verwaltete Signatur-parameter

pArr-Wert

Als gemarshallt

ErrorWrapper [] pArr

ErrorWrapper [10] von ErrorWrapper (77)

Int[10]

Objekt [] pArr

ErrorWrapper [10] von ErrorWrapper (77)

SafeArrayTypeMismatch Ausnahme

Objekt [] pArr

Objekt [10] von ErrorWrapper (77)

SAFEARRAY(VARIANT)

Beachten Sie, dass ErrorWrapper Objekte werden nicht als Typ gemarshallt VT_ERROR nachdem sie von COM zurück übergeben wurden Ein einzelner Wert wird von COM als Typ gemarshallt VT_I4, während die Arrays von COM als Typ gemarshallt werden VT_UI4.

Weitere Informationen zu VT_ERROR, finden Sie in der Dokumentation zu VARENUM::VT_ERROR in der MSDN Library.

Beispiele

Das folgende Codebeispiel veranschaulicht zunächst ein einziges Int32 gemarshallt von COM als Objekt ein Int32 Objekt. Es zeigt dann eine Int32 Array gemarshallt von COM als eine 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;

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone
Verfügbar seit 8.1

Threadsicherheit

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Siehe auch

System.Runtime.InteropServices-Namespace

Zurück zum Anfang