Marshal.GetHRForException(Exception) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje określony wyjątek na 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
Parametry
Wyjątek do konwersji na HRESULT.
Zwraca
HrESULT zamapowany na podany wyjątek.
- Atrybuty
Uwagi
GetHRForException Konfiguruje również interfejs IErrorInfo dla wyjątku, który można uzyskać przez wywołanie funkcji COM GetErrorInfoNEEDGUID. Za pomocą tej funkcji można zwrócić wartość HRESULT w implementacji klasy zarządzanej interfejsu PreserveSigAttribute COM, w którym jest stosowany atrybut. Aby metoda przypisana przechwyciła wszystkie wyjątki i użyj GetHRForException metody , aby zwrócić odpowiednią wartość HRESULT. Zezwalanie na propagację wyjątku poza metodą powoduje nieprawidłowe zachowanie. (W rzeczywistości środowisko uruchomieniowe języka wspólnego nie przekazuje wyjątku do klienta COM, który wywołuje taką metodę za pośrednictwem tabeli v-table).
Należy pamiętać, że GetHRForException metoda ustawia interfejs IErrorInfo bieżącego wątku. Może to spowodować nieoczekiwane wyniki dla metod, takich jak ThrowExceptionForHR metody, które domyślnie używają IErrorInfo bieżącego wątku, jeśli jest ustawiona.