Udostępnij za pośrednictwem


ErrorWrapper Klasa

Definicja

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

Dotyczy