Marshal.GetHRForException(Exception) Metoda

Definice

Převede zadanou výjimku 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

e
Exception

Výjimka, která se má převést na HRESULT.

Návraty

HRESULT namapoval na zadanou výjimku.

Atributy

Poznámky

GetHRForException také nastaví IErrorInfo rozhraní pro výjimku, kterou lze získat voláním COM GetErrorInfoNEEDGUID funkce. Tuto funkci můžete použít k vrácení hodnoty HRESULT u implementace spravované třídy rozhraní MODELU COM, kde použijete PreserveSigAttribute atribut. Zachyťte všechny výjimky atributem metoda a použijte metodu GetHRForException k vrácení odpovídající hodnoty HRESULT. Povolení výjimky rozšířit mimo metodu vytváří nesprávné chování. (Ve skutečnosti se modulu CLR (Common Language Runtime) nepodaří předat klientovi modelu COM výjimku, která takovou metodu volá prostřednictvím tabulky v.)

Všimněte si, že GetHRForException metoda nastaví IErrorInfo rozhraní aktuální vlákno. 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í vlákno, pokud je nastavena.

Platí pro

Viz také