Marshal.GetHRForException(Exception) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует указанное исключение в значение HRESULT.
public:
static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException (Exception e);
public static int GetHRForException (Exception? e);
public static int GetHRForException (Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer
Параметры
Исключение, преобразуемое в значение HRESULT.
Возвращаемое значение
Значение HRESULT, сопоставленное с заданным исключением.
- Атрибуты
Комментарии
GetHRForException также настраивает интерфейс IErrorInfo для исключения, которое можно получить, вызвав функцию COM GetErrorInfoNEEDGUID. Эту функцию можно использовать для возврата значения HRESULT в реализации управляемого класса COM-интерфейса, в котором PreserveSigAttribute применяется атрибут . Метод атрибута должен перехватывать все исключения и использовать GetHRForException метод для возврата соответствующего значения HRESULT. Разрешение распространения исключения за пределы метода приводит к неправильному поведению. (На самом деле общеязыковая среда выполнения не передает исключение клиенту COM, который вызывает такой метод через v-таблицу.)
Обратите внимание, что GetHRForException метод задает интерфейс IErrorInfo текущего потока. Это может привести к непредвиденным результатам для таких методов, как ThrowExceptionForHR методы, которые по умолчанию используют IErrorInfo текущего потока, если он задан.