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, 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_ERROR
temat 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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla