ErrorWrapper Klasa

Definicja

Przestroga

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

Opakowuje obiekty, które marshaler powinien marshaling 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 demonstruje samotny Int32 obiekt marshaled z powrotem z MODELU COM jako Int32 obiekt. Następnie demonstruje tablicę Int32 z powrotem z modelu COM jako tablicę 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, gdzie typ obiektu określa VARTYPE wartość .VARIANT

Typ ErrorWrapper musi być przekazywany jako Object typ, który ma być marshaled jako VARIANT typ VT_ERROR, w przeciwnym razie ErrorWrapper typ jest marshaled jako liczba całkowita.

W poniższej tabeli przedstawiono przeprowadzanie marshalingu 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] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) VARIANT[10] dla VT_ERROR
Object[] pArr Object[10] of ErrorWrapper(77) VARIANT[10] dla VT_ERROR

W poniższej tabeli przedstawiono przeprowadzanie marshalingu danych w zarządzanym wywołaniu funkcji natywnej przy użyciu wywoływanych otoek środowiska uruchomieniowego MODELU COM (RCW).

Parametr sygnatury zarządzanej Wartość pArr Marshaled jako
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) Wyjątek SafeArrayTypeMismatch
Object[] pArr Object[10] of ErrorWrapper(77) SAFEARRAY(VARIANT)

Należy pamiętać, że ErrorWrapper obiekty nie są marshalowane jako typ VT_ERROR po ich przekazaniu z modelu COM. Pojedyncza wartość jest marshaled z powrotem z modelu COM jako typ VT_I4, podczas gdy tablice są marshaled z powrotem z modelu COM jako typ VT_UI4.

Aby uzyskać więcej informacji na VT_ERRORtemat programu , zobacz istniejącą dokumentację dotyczącą VARENUM::VT_ERROR programu w bibliotece MSDN.

Konstruktory

ErrorWrapper(Exception)
Przestarzałe.

Inicjuje ErrorWrapper nowe wystąpienie klasy z hrESULT, które odpowiada 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 wartość bieżącego wystąpienia.

(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)

Dotyczy