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 должен передаваться как Object тип для маршалирования как VARIANT
типа 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 | Object[10] of 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 | Object[10] of 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) |