ErrorWrapper Класс

Определение

Внимание

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

Выполняет оболочку объектов маршалеру, который должен маршалировать как маршал 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
Наследование
ErrorWrapper
Атрибуты

Примеры

В следующем примере кода сначала демонстрируется один объект Int32 , маршалированные обратно из COM в качестве Int32 объекта. Затем он демонстрирует Int32 массив, маршалированные обратно из COM в виде массива 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;

Комментарии

По умолчанию Object аргументы типа маршалируются как VARIANT тип, где тип объекта определяет VARTYPE значение VARIANTобъекта.

Тип ErrorWrapper должен быть передан как тип для маршалинга в виде ObjectVARIANT типа VT_ERROR, в противном случае тип ErrorWrapper маршалируется как целое число.

В следующей таблице показано маршалинг в управляемом вызове собственной функции с помощью вызова платформы.

Параметр управляемой подписи значение pArr Маршалирован как
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) VARIANT[10] из VT_ERROR
Object[] pArr Объект[10] ErrorWrapper(77) VARIANT[10] из VT_ERROR

В следующей таблице показано маршалинг данных в управляемом вызове собственной функции, используя вызываемые оболочки среды выполнения COM (RCW).

Параметр управляемой подписи значение pArr Маршалирован как
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) Исключение SafeArrayTypeMismatch
Object[] pArr Объект[10] ErrorWrapper(77) SAFEARRAY(VARIANT)

Обратите внимание, что ErrorWrapper объекты не маршалируются как тип VT_ERROR после их возврата из COM. Одно значение маршалируется обратно из COM в виде типа VT_I4, а массивы маршалируются обратно из COM в виде типа VT_UI4.

Дополнительные сведения VT_ERRORсм. в существующей документации VARENUM::VT_ERROR по библиотеке MSDN.

Конструкторы

Имя Описание
ErrorWrapper(Exception)
Устаревшие..

Инициализирует новый экземпляр ErrorWrapper класса с помощью HRESULT, соответствующего предоставленному исключению.

ErrorWrapper(Int32)
Устаревшие..

Инициализирует новый экземпляр ErrorWrapper класса с помощью HRESULT ошибки.

ErrorWrapper(Object)
Устаревшие..

Инициализирует новый экземпляр ErrorWrapper класса с объектом, содержащим HRESULT ошибки.

Свойства

Имя Описание
ErrorCode
Устаревшие..

Возвращает код ошибки оболочки.

Методы

Имя Описание
Equals(Object)
Устаревшие..

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()
Устаревшие..

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()
Устаревшие..

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()
Устаревшие..

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()
Устаревшие..

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к