Freigeben über


Marshal.ThrowExceptionForHR-Methode: (Int32)

 

Veröffentlicht: Oktober 2016

Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus.

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

Syntax

[SecurityCriticalAttribute]
public static void ThrowExceptionForHR(
    int errorCode
)
public:
[SecurityCriticalAttribute]
static void ThrowExceptionForHR(
    int errorCode
)
[<SecurityCriticalAttribute>]
static member ThrowExceptionForHR : 
        errorCode:int -> unit
<SecurityCriticalAttribute>
Public Shared Sub ThrowExceptionForHR (
    errorCode As Integer
)

Parameter

  • errorCode
    Type: System.Int32

    Das der gewünschten Ausnahme entsprechende HRESULT.

Hinweise

Diese Methode erstellt ein Ausnahmeobjekt für den angegebenen HRESULT-Fehler. Wenn HRESULT 0 oder positiv ist (ein Erfolgscode) ist, gibt die Methode zurück, ohne zu erstellen oder eine Ausnahme ausgelöst.

Beachten Sie, dass die ThrowExceptionForHR(Int32) -Methode gibt eine Ausnahme auf Grundlage der IErrorInfo Schnittstelle des aktuellen Threads, wenn eine Eigenschaft festgelegt ist. In diesem Fall die errorCode Parameter wird ignoriert.

Einige Fehler-HRESULTs zuordnen definierten Ausnahmen, während andere nicht. Wenn HRESULT einer definierten Ausnahme zugeordnet ThrowExceptionForHR erstellt eine Instanz der Ausnahme und löst sie aus. Andernfalls erstellt Sie eine Instanz des COMException, Feld Code Fehler mit HRESULT initialisiert und löst diese Ausnahme aus. Wenn ThrowExceptionForHR wird aufgerufen, um zusätzliche Informationen über den Fehler mit der nicht verwalteten abzurufen versucht GetErrorInfo Funktion.

Für die Zuordnung von jedem HRESULT zu seiner vergleichbaren Ausnahmeklasse in .NET Framework finden Sie unter How to: Map HRESULTs and Exceptions.

Gelegentlich ThrowExceptionForHR möglicherweise eine Ausnahme von einem vorherigen COM-Aufruf zurückgegeben. In diesem Fall können Sie verwenden die folgende Methode und übergeben Sie IntPtr(-1) als zweiten Parameter (errorInfo):

[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

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

COMException
ThrowExceptionForHR Überladen
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang