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.Wraps objects the marshaler should marshal as a 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 prima di tutto un oggetto solitario di cui è stato Int32 eseguito il marshalling da com come Int32 oggetto.The following code example first demonstrates a lone Int32 object marshaled back from COM as an Int32 object. Viene quindi illustrata una Int32 matrice di cui viene eseguito il marshalling da com come UInt32 matrice.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;  

Commenti

Per impostazione predefinita, Object viene eseguito il marshalling degli argomenti di tipo come VARIANT tipo, in cui il tipo di oggetto determina il VARTYPE valore di VARIANT .By default, Object type arguments are marshaled as a VARIANT type, where the object type determines the VARTYPE value of the VARIANT.

Il ErrorWrapper tipo deve essere passato come Object tipo di cui effettuare il marshalling come oggetto VARIANT di tipo VT_ERROR . in caso contrario, ErrorWrapper viene effettuato il marshalling del tipo come Integer.The 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.

Nella tabella seguente viene illustrato il marshalling in una chiamata gestita a una funzione nativa, utilizzando platform invoke.The following table illustrates marshaling in a managed call to a native function, using platform invoke.

Parametro della firma gestitaManaged signature parameter valore pArrpArr value Marshalling eseguito comeMarshaled as
ErrorWrapper [] pArrErrorWrapper[] pArr ErrorWrapper [10] di ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Oggetto [] pArrObject[] pArr ErrorWrapper [10] di ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) VARIANT[10] di VT_ERRORVARIANT[10] of VT_ERROR
Oggetto [] pArrObject[] pArr Oggetto [10] di ErrorWrapper (77)Object[10] of ErrorWrapper(77) VARIANT[10] di VT_ERRORVARIANT[10] of VT_ERROR

La tabella seguente illustra il marshalling dei dati in una chiamata gestita a una funzione nativa, usando COM Runtime Callable Wrappers (RCW).The following table illustrates marshaling data in a managed call to a native function, using COM runtime callable wrappers (RCW).

Parametro della firma gestitaManaged signature parameter valore pArrpArr value Marshalling eseguito comeMarshaled as
ErrorWrapper [] pArrErrorWrapper[] pArr ErrorWrapper [10] di ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Oggetto [] pArrObject[] pArr ErrorWrapper [10] di ErrorWrapper (77)ErrorWrapper[10] of ErrorWrapper(77) SafeArrayTypeMismatch eccezioneSafeArrayTypeMismatch exception
Oggetto [] pArrObject[] pArr Oggetto [10] di ErrorWrapper (77)Object[10] of ErrorWrapper(77) SAFEARRAY(VARIANT)

Si noti che ErrorWrapper gli oggetti non vengono sottoposti a marshalling come tipo VT_ERROR dopo essere passati di nuovo da com.Note that ErrorWrapper objects are not marshaled as type VT_ERROR after they are passed back from COM. Viene eseguito il marshalling di un singolo valore da COM come tipo VT_I4 , mentre per le matrici viene eseguito il marshalling da com come tipo VT_UI4 .A single value is marshaled back from COM as type VT_I4, while arrays are marshaled back from COM as type VT_UI4.

Per ulteriori informazioni su VT_ERROR , consultare la documentazione esistente per VARENUM::VT_ERROR in MSDN Library.For more information on VT_ERROR, please see the existing documentation for VARENUM::VT_ERROR in the MSDN library.

Costruttori

ErrorWrapper(Exception)

Inizializza una nuova istanza della classe ErrorWrapper con il valore HRESULT che corrisponde all'eccezione fornita.Initializes a new instance of the ErrorWrapper class with the HRESULT that corresponds to the exception supplied.

ErrorWrapper(Int32)

Inizializza una nuova istanza della classe ErrorWrapper con il valore HRESULT dell'errore.Initializes a new instance of the ErrorWrapper class with the HRESULT of the error.

ErrorWrapper(Object)

Inizializza una nuova istanza della classe ErrorWrapper con un oggetto contenente il valore HRESULT dell'errore.Initializes a new instance of the ErrorWrapper class with an object containing the HRESULT of the error.

Proprietà

ErrorCode

Ottiene il codice di errore del wrapper.Gets the error code of the wrapper.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a