Marshal.ThrowExceptionForHR Methode

Definitie

Genereert een uitzondering met een specifieke fout HRESULT-waarde.

Overloads

Name Description
ThrowExceptionForHR(Int32)

Genereert een uitzondering met een specifieke fout HRESULT-waarde.

ThrowExceptionForHR(Int32, IntPtr)

Genereert een uitzondering met een specifieke fout HRESULT, op basis van de opgegeven IErrorInfo-interface .

ThrowExceptionForHR(Int32)

Genereert een uitzondering met een specifieke fout HRESULT-waarde.

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)

Parameters

errorCode
Int32

Het HRESULT dat overeenkomt met de gewenste uitzondering.

Kenmerken

Opmerkingen

Met deze methode maakt u een uitzonderingsobject voor de opgegeven fout HRESULT. Als hresult 0 of positief is (een succescode), retourneert de methode zonder een uitzondering te maken of te genereren.

Houd er rekening mee dat de ThrowExceptionForHR(Int32) methode een uitzondering retourneert op basis van de IErrorInfo-interface van de huidige thread als deze is ingesteld. Als dit gebeurt, wordt de errorCode parameter genegeerd.

Sommige fouten met HRESULTs zijn toegewezen aan gedefinieerde uitzonderingen, terwijl andere niet. Als HRESULT is toegewezen aan een gedefinieerde uitzondering, ThrowExceptionForHR maakt u een exemplaar van de uitzondering en genereert u deze. Anders wordt er een exemplaar gemaakt van COMException, initialiseert u het foutcodeveld met HRESULT en genereert u die uitzondering. Wanneer ThrowExceptionForHR wordt aangeroepen, wordt geprobeerd extra informatie op te halen met betrekking tot de fout met behulp van de functie onbeheerde GetErrorInfo .

Zie Hoe to: HRESULTs and Exceptions voor de toewijzing van elke HRESULT aan de vergelijkbare uitzonderingsklasse in het .NET Framework.

ThrowExceptionForHR Soms kan een uitzondering van een vorige COM-aanroep worden geretourneerd. In dit geval kunt u de volgende tijdelijke oplossing gebruiken en doorgeven IntPtr(-1) als de tweede parameter (errorInfo):

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

Zie ook

Van toepassing op

ThrowExceptionForHR(Int32, IntPtr)

Genereert een uitzondering met een specifieke fout HRESULT, op basis van de opgegeven IErrorInfo-interface .

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)

Parameters

errorCode
Int32

Het HRESULT dat overeenkomt met de gewenste uitzondering.

errorInfo
IntPtr

nativeint

Een aanwijzer naar de IErrorInfo-interface die meer informatie over de fout biedt. U kunt opgeven IntPtr(0) dat u de huidige IErrorInfo-interface wilt gebruiken of IntPtr(-1) de huidige IErrorInfo-interface wilt negeren en de uitzondering alleen vanuit de foutcode wilt maken.

Kenmerken

Opmerkingen

Met deze methode maakt u een uitzonderingsobject voor de opgegeven fout HRESULT. Als hresult 0 of positief is (een succescode), retourneert de methode zonder een uitzondering te maken of te genereren.

Met ThrowExceptionForHR de methode wordt de errorInfo parameter uitgebracht, waardoor het COM-referentieaantal van de interface IErrorInfo wordt verminderd.

Houd er rekening mee dat de ThrowExceptionForHR methode een uitzondering retourneert op basis van de IErrorInfo-interface van de huidige thread als deze is ingesteld. Als dit gebeurt, wordt de errorCode parameter genegeerd.

Sommige fouten met HRESULTs zijn toegewezen aan gedefinieerde uitzonderingen, terwijl andere niet. Als HRESULT is toegewezen aan een gedefinieerde uitzondering, ThrowExceptionForHR maakt u een exemplaar van de uitzondering en genereert u deze. Anders wordt er een exemplaar gemaakt van System.Runtime.InteropServices.COMException, initialiseert u het foutcodeveld met HRESULT en genereert u die uitzondering. De errorInfo parameter wordt gebruikt om extra informatie over de fout op te halen.

Zie Hoe to: HRESULTs and Exceptions voor de toewijzing van elke HRESULT aan de vergelijkbare uitzonderingsklasse in het .NET Framework.

Zie ook

Van toepassing op