Marshal.ThrowExceptionForHR Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus.
Überlädt
| Name | Beschreibung |
|---|---|
| ThrowExceptionForHR(Int32) |
Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus. |
| ThrowExceptionForHR(Int32, IntPtr) |
Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT basierend auf der angegebenen IErrorInfo-Schnittstelle aus. |
| ThrowExceptionForHR(Int32, Guid, IntPtr) |
ThrowExceptionForHR(Int32)
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus.
public:
static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR(int errorCode);
public static void ThrowExceptionForHR(int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)
Parameter
- errorCode
- Int32
Das HRESULT, das der gewünschten Ausnahme entspricht.
- Attribute
Hinweise
Diese Methode erstellt ein Ausnahmeobjekt für das angegebene Fehler-HRESULT. Wenn das HRESULT 0 oder positiv ist (ein Erfolgscode), gibt die Methode zurück, ohne eine Ausnahme zu erstellen oder zu auslösen.
Beachten Sie, dass die ThrowExceptionForHR(Int32) Methode eine Ausnahme basierend auf der IErrorInfo-Schnittstelle des aktuellen Threads zurückgibt, wenn eine festgelegt ist. In diesem Fall wird der errorCode Parameter ignoriert.
Einige Fehler HRESULTs weisen definierte Ausnahmen zu, während andere nicht. Wenn das HRESULT einer definierten Ausnahme zugeordnet ist, ThrowExceptionForHR wird eine Instanz der Ausnahme erstellt und ausgelöst. Andernfalls wird eine Instanz von COMException, initialisiert das Fehlercodefeld mit dem HRESULT und löst diese Ausnahme aus. Beim ThrowExceptionForHR Aufrufen wird versucht, zusätzliche Informationen zum Fehler mithilfe der nicht verwalteten GetErrorInfo-Funktion abzurufen.
Informationen zur Zuordnung von jedem HRESULT zu seiner vergleichbaren Ausnahmeklasse im .NET Framework finden Sie unter How to: Map HRESULTs and Exceptions.
ThrowExceptionForHR Gelegentlich kann eine Ausnahme von einem vorherigen COM-Aufruf zurückgegeben werden. In diesem Fall können Sie die folgende Problemumgehung verwenden und als zweiten Parameter übergeben IntPtr(-1) (errorInfo):
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
Weitere Informationen
Gilt für:
ThrowExceptionForHR(Int32, IntPtr)
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT basierend auf der angegebenen IErrorInfo-Schnittstelle aus.
public:
static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)
Parameter
- errorCode
- Int32
Das HRESULT, das der gewünschten Ausnahme entspricht.
- errorInfo
-
IntPtr
nativeint
Ein Zeiger auf die IErrorInfo-Schnittstelle , die weitere Informationen zum Fehler bereitstellt. Sie können angeben IntPtr(0) , dass die aktuelle IErrorInfo-Schnittstelle verwendet oder IntPtr(-1) die aktuelle IErrorInfo-Schnittstelle ignoriert und die Ausnahme nur aus dem Fehlercode erstellt wird.
- Attribute
Hinweise
Diese Methode erstellt ein Ausnahmeobjekt für das angegebene Fehler-HRESULT. Wenn das HRESULT 0 oder positiv ist (ein Erfolgscode), gibt die Methode zurück, ohne eine Ausnahme zu erstellen oder zu auslösen.
Die ThrowExceptionForHR Methode gibt den errorInfo Parameter frei, wodurch die COM-Referenzanzahl der IErrorInfo-Schnittstelle verringert wird.
Beachten Sie, dass die ThrowExceptionForHR Methode eine Ausnahme basierend auf der IErrorInfo-Schnittstelle des aktuellen Threads zurückgibt, wenn eine festgelegt ist. In diesem Fall wird der errorCode Parameter ignoriert.
Einige Fehler HRESULTs weisen definierte Ausnahmen zu, während andere nicht. Wenn das HRESULT einer definierten Ausnahme zugeordnet ist, ThrowExceptionForHR wird eine Instanz der Ausnahme erstellt und ausgelöst. Andernfalls wird eine Instanz von System.Runtime.InteropServices.COMException, initialisiert das Fehlercodefeld mit dem HRESULT und löst diese Ausnahme aus. Der errorInfo Parameter wird verwendet, um zusätzliche Informationen zum Fehler abzurufen.
Informationen zur Zuordnung von jedem HRESULT zu seiner vergleichbaren Ausnahmeklasse im .NET Framework finden Sie unter How to: Map HRESULTs and Exceptions.
Weitere Informationen
Gilt für:
ThrowExceptionForHR(Int32, Guid, IntPtr)
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
public:
static void ThrowExceptionForHR(int errorCode, Guid % iid, IntPtr pUnk);
public static void ThrowExceptionForHR(int errorCode, in Guid iid, IntPtr pUnk);
static member ThrowExceptionForHR : int * Guid * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, ByRef iid As Guid, pUnk As IntPtr)
Parameter
- errorCode
- Int32
- iid
- Guid
- pUnk
-
IntPtr
nativeint