Marshal.GetHRForException-Methode: (Exception)

 

Veröffentlicht: Oktober 2016

Konvertiert die angegebene Ausnahme in ein HRESULT.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SecurityCriticalAttribute]
public static int GetHRForException(
    Exception e
)
public:
[SecurityCriticalAttribute]
static int GetHRForException(
    Exception^ e
)
[<SecurityCriticalAttribute>]
static member GetHRForException : 
        e:Exception -> int
<SecurityCriticalAttribute>
Public Shared Function GetHRForException (
    e As Exception
) As Integer

Parameter

Rückgabewert

Type: System.Int32

Das HRESULT, das der bereitgestellten Ausnahme zugeordnet ist.

Hinweise

GetHRForException Außerdem richtet eine IErrorInfo -Schnittstelle für die Ausnahme, die durch Aufrufen der COM-GetErrorInfoNEEDGUID-Funktion abgerufen werden kann. Sie können diese Funktion verwenden, um einen HRESULT-Wert für die Implementierung einer verwalteten Klasse einer COM-Schnittstelle zurückzugeben, angewendet werden, die PreserveSigAttribute Attribut. Die attributierte Methode alle Ausnahmen abfangen und verwendet die GetHRForException Methode, um den entsprechenden HRESULT-Wert zurückzugeben. Zulassen einer Ausnahme außerhalb der Methode weitergegeben erzeugt Falsches Verhalten. (Tatsächlich kann die common Language Runtime eine Ausnahme an einem COM-Client übergeben, der eine solche Methode über eine vtable aufruft.)

Beachten Sie, dass die GetHRForException -Methode legt die IErrorInfo Schnittstelle des aktuellen Threads. Dies kann zu unerwarteten Ergebnissen führen, z. B. Methoden der ThrowExceptionForHR Methoden, die standardmäßig mit der IErrorInfo des aktuellen Threads, wenn sie festgelegt ist.

Sicherheit

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

PreserveSigAttribute
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang