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) |