Condividi tramite


ErrorWrapper Classe

Definizione

Attenzione

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

Esegue il wrapping degli oggetti di cui il gestore di marshalling deve eseguire il marshalling come 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
Ereditarietà
ErrorWrapper
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato innanzitutto un oggetto solitario Int32 di cui è stato eseguito il marshalling da COM come Int32 oggetto . Viene quindi illustrata una Int32 matrice di cui è stato eseguito il marshalling da COM come UInt32 matrice.

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

Commenti

Per impostazione predefinita, Object gli argomenti di tipo vengono sottoposto a marshalling come VARIANT tipo, in cui il tipo di oggetto determina il VARTYPE valore di VARIANT.

Il ErrorWrapper tipo deve essere passato come Object tipo di cui eseguire il marshalling come VARIANT tipo VT_ERROR, in caso contrario il ErrorWrapper tipo viene sottoposto a marshalling come integer.

Nella tabella seguente viene illustrato il marshalling in una chiamata gestita a una funzione nativa tramite platform invoke.

Parametro della firma gestita valore pArr Marshalling come
ErrorWrapper[] pArr ErrorWrapper[10] di ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] di ErrorWrapper(77) VARIANT[10] di VT_ERROR
Object[] pArr Oggetto[10] di ErrorWrapper(77) VARIANT[10] di VT_ERROR

La tabella seguente illustra il marshalling dei dati in una chiamata gestita a una funzione nativa, usando wrapper chiamabili di runtime COM (RCW).

Parametro della firma gestita valore pArr Marshalling come
ErrorWrapper[] pArr ErrorWrapper[10] di ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] di ErrorWrapper(77) Eccezione SafeArrayTypeMismatch
Object[] pArr Oggetto[10] di ErrorWrapper(77) SAFEARRAY(VARIANT)

Si noti che ErrorWrapper gli oggetti non vengono sottoposto a marshalling come tipo VT_ERROR dopo il passaggio da COM. Un singolo valore viene sottoposto a marshalling da COM come tipo VT_I4, mentre le matrici vengono sottoposto a marshalling da COM come tipo VT_UI4.

Per altre informazioni su VT_ERROR, vedere la documentazione esistente per VARENUM::VT_ERROR in MSDN Library.

Costruttori

ErrorWrapper(Exception)
Obsoleti.

Inizializza una nuova istanza della classe ErrorWrapper con il valore HRESULT che corrisponde all'eccezione fornita.

ErrorWrapper(Int32)
Obsoleti.

Inizializza una nuova istanza della classe ErrorWrapper con il valore HRESULT dell'errore.

ErrorWrapper(Object)
Obsoleti.

Inizializza una nuova istanza della classe ErrorWrapper con un oggetto contenente il valore HRESULT dell'errore.

Proprietà

ErrorCode
Obsoleti.

Ottiene il codice di errore del wrapper.

Metodi

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a