Marshal.GetHRForException(Exception) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede zadanou výjimku na hodnotu 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
Výjimka pro převod na HRESULT.
Návraty
Hodnota HRESULT namapovaná na zadanou výjimku.
- Atributy
Poznámky
GetHRForException také nastaví rozhraní IErrorInfo pro výjimku, kterou lze získat voláním funkce COM GetErrorInfoNEEDGUID. Tuto funkci můžete použít k vrácení hodnoty HRESULT na implementaci spravované třídy rozhraní COM, kde použijete PreserveSigAttribute atribut . Nechte metodu s atributem zachytit všechny výjimky a použít metodu GetHRForException k vrácení odpovídající hodnoty HRESULT. Povolení výjimky šíření mimo metodu vede k nesprávnému chování. (Modul CLR (Common Language Runtime) ve skutečnosti nedokáže předat výjimku klientovi COM, který takovou metodu volá prostřednictvím tabulky v.)
Všimněte si GetHRForException , že metoda nastaví IErrorInfo rozhraní aktuálního vlákna. To může způsobit neočekávané výsledky pro metody, jako ThrowExceptionForHR jsou metody, které ve výchozím nastavení používají IErrorInfo aktuálního vlákna, pokud je nastavena.