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
ThrowExceptionForHR(Int32) |
Löst eine Ausnahme mit einem bestimmten HRESULT-Fehlerwert aus. |
ThrowExceptionForHR(Int32, IntPtr) |
Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT auf Grundlage der angegebenen IErrorInfo-Schnittstelle aus. |
ThrowExceptionForHR(Int32)
- 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 der gewünschten Ausnahme entsprechende HRESULT.
- Attribute
Hinweise
Diese Methode erstellt ein Ausnahmeobjekt für den angegebenen Fehler HRESULT. Wenn das HRESULT 0 oder positiv (ein Erfolgscode) ist, 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, sofern eine festgelegt ist. In diesem Fall wird der errorCode
Parameter ignoriert.
Einige HRESULTs für Fehler werden definierten Ausnahmen zugeordnet, andere hingegen nicht. Wenn das HRESULT einer definierten Ausnahme zugeordnet ist, ThrowExceptionForHR erstellt eine instance der Ausnahme und löst sie aus. Andernfalls wird eine instance von COMExceptionerstellt, initialisiert das Fehlercodefeld mit dem HRESULT und löst diese Ausnahme aus. Wenn ThrowExceptionForHR aufgerufen wird, wird versucht, mithilfe der nicht verwalteten GetErrorInfo-Funktion zusätzliche Informationen zum Fehler abzurufen.
Die Zuordnung von jedem HRESULT zu seiner vergleichbaren Ausnahmeklasse in der .NET Framework finden Sie unter Vorgehensweise: Zuordnen von HRESULTs und Ausnahmen.
Gelegentlich ThrowExceptionForHR 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 (errorInfo
) übergebenIntPtr(-1)
:
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
Weitere Informationen
Gilt für:
ThrowExceptionForHR(Int32, IntPtr)
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
- Quelle:
- Marshal.cs
Löst eine Ausnahme mit einem bestimmten Fehler-HRESULT auf Grundlage 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 der gewünschten Ausnahme entsprechende HRESULT.
- errorInfo
-
IntPtr
nativeint
Ein Zeiger auf die IErrorInfo-Schnittstelle, die weitere Informationen über den Fehler bereitstellt. Sie können IntPtr(0)
angeben, um die aktuelle IErrorInfo -Schnittstelle zu verwenden, oder Sie können IntPtr(-1)
angeben, um die aktuelle IErrorInfo -Schnittstelle zu ignorieren und die Ausnahme direkt aus dem Fehlercode zu erstellen.
- Attribute
Hinweise
Diese Methode erstellt ein Ausnahmeobjekt für den angegebenen Fehler HRESULT. Wenn das HRESULT 0 oder positiv (ein Erfolgscode) ist, 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-Verweisanzahl der IErrorInfo-Schnittstelle verringert wird.
Beachten Sie, dass die ThrowExceptionForHR -Methode eine Ausnahme basierend auf der IErrorInfo-Schnittstelle des aktuellen Threads zurückgibt, sofern eine festgelegt ist. In diesem Fall wird der errorCode
Parameter ignoriert.
Einige HRESULTs für Fehler werden definierten Ausnahmen zugeordnet, andere hingegen nicht. Wenn das HRESULT einer definierten Ausnahme zugeordnet ist, ThrowExceptionForHR erstellt eine instance der Ausnahme und löst sie aus. Andernfalls wird eine instance von System.Runtime.InteropServices.COMExceptionerstellt, initialisiert das Fehlercodefeld mit dem HRESULT und löst diese Ausnahme aus. Der errorInfo
-Parameter wird verwendet, um zusätzliche Informationen zum Fehler abzurufen.
Die Zuordnung von jedem HRESULT zu seiner vergleichbaren Ausnahmeklasse in der .NET Framework finden Sie unter Vorgehensweise: Zuordnen von HRESULTs und Ausnahmen.
Weitere Informationen
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für