ErrorWrapper Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.
Opakowuje obiekty marshaler powinien być marshalerem jako 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
- Dziedziczenie
-
ErrorWrapper
- Atrybuty
Przykłady
Poniższy przykład kodu najpierw pokazuje samotny Int32 obiekt marshaled z modelu COM jako Int32 obiektu. Następnie demonstruje tablicę Int32 z powrotem z modelu COM jako tablicy UInt32 .
// 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;
Uwagi
Domyślnie Object argumenty typu są marshalowane jako VARIANT
typ, w którym typ obiektu określa VARTYPE
wartość .VARIANT
Typ ErrorWrapper musi być przekazywany jako typ, który ma być marshalowany jako ObjectVARIANT
typ VT_ERROR
, w przeciwnym razie ErrorWrapper typ jest marshalowany jako liczba całkowita.
W poniższej tabeli przedstawiono marshaling w zarządzanym wywołaniu funkcji natywnej przy użyciu wywołania platformy.
Parametr sygnatury zarządzanej | wartość pArr | Marshaled jako |
---|---|---|
ErrorWrapper[] pArr | ErrorWrapper[10] błęduWrapper(77) | Int[10] |
Object[] pArr | ErrorWrapper[10] błęduWrapper(77) |
VARIANT[10] dla VT_ERROR |
Object[] pArr | Obiekt[10] błęduWrapper(77) |
VARIANT[10] dla VT_ERROR |
W poniższej tabeli przedstawiono marshaling danych w zarządzanym wywołaniu funkcji natywnej przy użyciu wywołań środowiska uruchomieniowego COM wywołujących otoki (RCW).
Parametr sygnatury zarządzanej | wartość pArr | Marshaled jako |
---|---|---|
ErrorWrapper[] pArr | ErrorWrapper[10] błęduWrapper(77) | Int[10] |
Object[] pArr | ErrorWrapper[10] błęduWrapper(77) | Wyjątek SafeArrayTypeMismatch |
Object[] pArr | Obiekt[10] błęduWrapper(77) | SAFEARRAY(VARIANT) |
Należy pamiętać, że ErrorWrapper obiekty nie są marshalowane jako typ VT_ERROR
po przekazaniu z powrotem z modelu COM. Pojedyncza wartość jest marshalowana z powrotem z modelu COM jako typ VT_I4
, podczas gdy tablice są marshalowane z powrotem z modelu COM jako typ VT_UI4
.
Aby uzyskać więcej informacji na VT_ERROR
temat programu , zobacz istniejącą dokumentację dotyczącą VARENUM::VT_ERROR
biblioteki MSDN.
Konstruktory
ErrorWrapper(Exception) |
Przestarzałe.
Inicjuje ErrorWrapper nowe wystąpienie klasy z wartością HRESULT odpowiadającą podanemu wyjątkowi. |
ErrorWrapper(Int32) |
Przestarzałe.
Inicjuje ErrorWrapper nowe wystąpienie klasy z hrESULT błędu. |
ErrorWrapper(Object) |
Przestarzałe.
Inicjuje ErrorWrapper nowe wystąpienie klasy z obiektem zawierającym HRESULT błędu. |
Właściwości
ErrorCode |
Przestarzałe.
Pobiera kod błędu otoki. |
Metody
Equals(Object) |
Przestarzałe.
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Przestarzałe.
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Przestarzałe.
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Przestarzałe.
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Przestarzałe.
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |