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 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, 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.