ErrorWrapper Klasse

Definition

Achtung

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

Erstellt einen Wrapper für Objekte, die der Marshaller als VT_ERROR marshallen soll.

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
Vererbung
ErrorWrapper
Attribute

Beispiele

Im folgenden Codebeispiel wird zunächst ein einzelnes Int32 Objekt, das von COM als Int32 Objekt zurückgepostet ist, veranschaulicht. Anschließend wird ein Int32 Array, das von COM als UInt32 Array zurückgepostet ist, veranschaulicht.

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

Hinweise

Standardmäßig Object werden Typargumente als VARIANT Typ gepostet, wobei der Objekttyp den VARTYPE Wert des VARIANTTyps bestimmt.

Der ErrorWrapper Typ muss als Object Typ übergeben werden, der als Typ gepostet werden soll, andernfalls wird der ErrorWrapper Typ als VARIANT VT_ERRORganze Zahl gepostet.

In der folgenden Tabelle wird das Marshaling in einem verwalteten Aufruf einer systemeigenen Funktion veranschaulicht, indem plattformübergreifende Aufrufe verwendet werden.

Verwalteter Signaturparameter pArr-Wert Gepostet wie
ErrorWrapper[] pArr ErrorWrapper[10] von ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] von ErrorWrapper(77) VARIANT[10] von VT_ERROR
Object[] pArr Object[10] von ErrorWrapper(77) VARIANT[10] von VT_ERROR

In der folgenden Tabelle wird das Marshaling von Daten in einem verwalteten Aufruf einer systemeigenen Funktion veranschaulicht, indem COM-Laufzeitumbrucher (RCW) verwendet werden.

Verwalteter Signaturparameter pArr-Wert Gepostet wie
ErrorWrapper[] pArr ErrorWrapper[10] von ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] von ErrorWrapper(77) SafeArrayTypeMismatch Ausnahme
Object[] pArr Object[10] von ErrorWrapper(77) SAFEARRAY(VARIANT)

Beachten Sie, dass Objekte nicht als Typ VT_ERROR gepostet werden, ErrorWrapper nachdem sie von COM zurückgegeben werden. Ein einzelner Wert wird von COM als VT_UI4Typ zurückgepostet, während Arrays als Typ VT_I4zurückgepostet werden.

Weitere Informationen zu VT_ERRORden vorhandenen Dokumentationen VARENUM::VT_ERROR finden Sie in der MSDN-Bibliothek.

Konstruktoren

ErrorWrapper(Exception)

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

ErrorWrapper(Int32)

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

ErrorWrapper(Object)

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

Eigenschaften

ErrorCode

Ruft den Fehlercode des Wrappers ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für