Marshal.ThrowExceptionForHR-Methode: (Int32, IntPtr)

 

Veröffentlicht: Oktober 2016

Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT auf Grundlage der angegebenen IErrorInfo Schnittstelle.

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

Syntax

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

Parameter

  • errorCode
    Type: System.Int32

    Das der gewünschten Ausnahme entsprechende HRESULT.

  • errorInfo
    Type: System.IntPtr

    Ein Zeiger auf die IErrorInfo -Schnittstelle, die Weitere Informationen über den Fehler enthält. Können Sie angeben, IntPtr(0) mit den aktuellen IErrorInfo -Schnittstelle oder IntPtr(-1) ignoriert die aktuelle IErrorInfo Schnittstelle, und die Ausnahme direkt aus dem Fehlercode zu erstellen.

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.

Die ThrowExceptionForHR Methode Versionen der errorInfo -Parameter, verringert den COM-Verweiszähler der der IErrorInfo Schnittstelle.

Beachten Sie, dass die ThrowExceptionForHR -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 System.Runtime.InteropServices.COMException, Feld Code Fehler mit HRESULT initialisiert und löst diese Ausnahme aus. Die errorInfo Parameter wird verwendet, um zusätzliche Informationen über den Fehler abzurufen.

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

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