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
e
Type: System.ExceptionDie in ein HRESULT zu konvertierende Ausnahme.
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
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