ErrorWrapper Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 VARIANT
Typs bestimmt.
Der ErrorWrapper Typ muss als Object Typ übergeben werden, der als Typ gepostet werden soll, andernfalls wird der ErrorWrapper Typ als VARIANT
VT_ERROR
ganze 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_UI4
Typ zurückgepostet, während Arrays als Typ VT_I4
zurückgepostet werden.
Weitere Informationen zu VT_ERROR
den 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) |