ErrorWrapper Třída

Definice

Varování

Toto rozhraní API je teď zastaralé.

Zalomí objekty, které má zařazovací modul zařadit VT_ERRORjako.Wraps objects the marshaler should marshal as a VT_ERROR.

public ref class ErrorWrapper sealed
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
[System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")]
public sealed class ErrorWrapper
type ErrorWrapper = class
Public NotInheritable Class ErrorWrapper
Dědičnost
ErrorWrapper
Atributy

Příklady

Následující příklad kódu ukazuje jako objekt jedinou Int32 , který byl Int32 zařazen zpět z modelu COM jako objekt.The following code example first demonstrates a lone Int32 object marshaled back from COM as an Int32 object. Pak demonstruje Int32 pole zařazování zpět z modelu COM UInt32 jako pole.It then demonstrates an Int32 array marshaled back from COM as a UInt32 array.

// 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;  

Poznámky

Ve výchozím nastavení Object jsou argumenty typu zařazeny VARIANT jako typ, kde typ objektu VARIANTUrčuje VARTYPE hodnotu.By default, Object type arguments are marshaled as a VARIANT type, where the object type determines the VARTYPE value of the VARIANT.

Object VARIANT VT_ERRORTyp musí být předán jako typ, který má být zařazen jako typ, jinak ErrorWrapper typ je zařazen jako celé číslo. ErrorWrapperThe ErrorWrapper type must to be passed as an Object type to be marshaled as a VARIANT of type VT_ERROR, otherwise the ErrorWrapper type is marshaled as an integer.

Následující tabulka ilustruje zařazování ve spravovaném volání do nativní funkce pomocí vyvolání platformy.The following table illustrates marshaling in a managed call to a native function, using platform invoke.

Parametr spravovaného podpisuManaged signature parameter hodnota pArrpArr value Zařazeno jakoMarshaled as
ErrorWrapper[] pArrErrorWrapper[] pArr ErrorWrapper [10] z ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Objekt [] pArrObject[] pArr ErrorWrapper [10] z ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) VARIANT[10] z VT_ERRORVARIANT[10] of VT_ERROR
Objekt [] pArrObject[] pArr Objekt [10] z ErrorWrapper (77)Object[10] of ErrorWrapper(77) VARIANT[10] z VT_ERRORVARIANT[10] of VT_ERROR

Následující tabulka ukazuje zařazování dat ve spravovaném volání do nativní funkce pomocí modulu COM runtime s možností volání obálk (RCW).The following table illustrates marshaling data in a managed call to a native function, using COM runtime callable wrappers (RCW).

Parametr spravovaného podpisuManaged signature parameter hodnota pArrpArr value Zařazeno jakoMarshaled as
ErrorWrapper[] pArrErrorWrapper[] pArr ErrorWrapper [10] z ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Objekt [] pArrObject[] pArr ErrorWrapper [10] z ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) SafeArrayTypeMismatchjímkaSafeArrayTypeMismatch exception
Objekt [] pArrObject[] pArr Objekt [10] z ErrorWrapper (77)Object[10] of ErrorWrapper(77) SAFEARRAY(VARIANT)

Všimněte si ErrorWrapper , že objekty nejsou zařazeny jako VT_ERROR typ poté, co jsou předány zpět z modelu COM.Note that ErrorWrapper objects are not marshaled as type VT_ERROR after they are passed back from COM. Jedna hodnota je zařazena zpět z modelu COM jako typ VT_I4, zatímco pole jsou zařazena zpět z modelu COM jako VT_UI4typ.A single value is marshaled back from COM as type VT_I4, while arrays are marshaled back from COM as type VT_UI4.

Další informace o VT_ERRORnajdete v existující dokumentaci k VARENUM::VT_ERROR nástroji v knihovně MSDN.For more information on VT_ERROR, please see the existing documentation for VARENUM::VT_ERROR in the MSDN library.

Konstruktory

ErrorWrapper(Exception)

Inicializuje novou instanci ErrorWrapper třídy s hodnotou HRESULT, která odpovídá poskytnuté výjimce.Initializes a new instance of the ErrorWrapper class with the HRESULT that corresponds to the exception supplied.

ErrorWrapper(Int32)

Inicializuje novou instanci ErrorWrapper třídy s hodnotou HRESULT chyby.Initializes a new instance of the ErrorWrapper class with the HRESULT of the error.

ErrorWrapper(Object)

Inicializuje novou instanci ErrorWrapper třídy s objektem, který obsahuje hodnotu HRESULT chyby.Initializes a new instance of the ErrorWrapper class with an object containing the HRESULT of the error.

Vlastnosti

ErrorCode

Získá kód chyby obálky.Gets the error code of the wrapper.

Metody

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního Objectseznamu.Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro