Marshal.ThrowExceptionForHR Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Lève une exception avec une valeur HRESULT d’échec spécifique.
Surcharges
| Nom | Description |
|---|---|
| ThrowExceptionForHR(Int32) |
Lève une exception avec une valeur HRESULT d’échec spécifique. |
| ThrowExceptionForHR(Int32, IntPtr) |
Lève une exception avec un hrESULT d’échec spécifique, en fonction de l’interface IErrorInfo spécifiée. |
| ThrowExceptionForHR(Int32, Guid, IntPtr) |
ThrowExceptionForHR(Int32)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
Lève une exception avec une valeur HRESULT d’échec spécifique.
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)
Paramètres
- errorCode
- Int32
HRESULT correspondant à l’exception souhaitée.
- Attributs
Remarques
Cette méthode crée un objet d’exception pour l’échec SPÉCIFIÉ HRESULT. Si HRESULT est égal à 0 ou positif (code de réussite), la méthode retourne sans créer ou lever d’exception.
Notez que la ThrowExceptionForHR(Int32) méthode retourne une exception basée sur l’interface IErrorInfo du thread actuel si elle est définie. Lorsque cela se produit, le errorCode paramètre est ignoré.
Certains HRESULT d’échec sont mappés à des exceptions définies, tandis que d’autres ne le font pas. Si HRESULT est mappé à une exception définie, ThrowExceptionForHR crée une instance de l’exception et la lève. Sinon, il crée une instance de COMException, initialise le champ de code d’erreur avec HRESULT et lève cette exception. Lorsqu’elle ThrowExceptionForHR est appelée, elle tente de récupérer des informations supplémentaires concernant l’erreur à l’aide de la fonction GetErrorInfo non managée.
Pour le mappage de chaque HRESULT à sa classe d’exception comparable dans le framework .NET, consultez How to : Map HRESULTs and Exceptions.
Parfois, ThrowExceptionForHR il peut retourner une exception d’un appel COM précédent. Dans ce cas, vous pouvez utiliser la solution de contournement suivante et passer IntPtr(-1) en tant que deuxième paramètre (errorInfo) :
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
Voir aussi
S’applique à
ThrowExceptionForHR(Int32, IntPtr)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
Lève une exception avec un hrESULT d’échec spécifique, en fonction de l’interface IErrorInfo spécifiée.
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)
Paramètres
- errorCode
- Int32
HRESULT correspondant à l’exception souhaitée.
- errorInfo
-
IntPtr
nativeint
Pointeur vers l’interface IErrorInfo qui fournit plus d’informations sur l’erreur. Vous pouvez spécifier IntPtr(0) d’utiliser l’interface IErrorInfo actuelle ou IntPtr(-1) d’ignorer l’interface IErrorInfo actuelle et construire l’exception uniquement à partir du code d’erreur.
- Attributs
Remarques
Cette méthode crée un objet d’exception pour l’échec SPÉCIFIÉ HRESULT. Si HRESULT est égal à 0 ou positif (code de réussite), la méthode retourne sans créer ou lever d’exception.
La ThrowExceptionForHR méthode libère le errorInfo paramètre, réduisant le nombre de références COM de l’interface IErrorInfo .
Notez que la ThrowExceptionForHR méthode retourne une exception basée sur l’interface IErrorInfo du thread actuel si elle est définie. Lorsque cela se produit, le errorCode paramètre est ignoré.
Certains HRESULT d’échec sont mappés à des exceptions définies, tandis que d’autres ne le font pas. Si HRESULT est mappé à une exception définie, ThrowExceptionForHR crée une instance de l’exception et la lève. Sinon, il crée une instance de System.Runtime.InteropServices.COMException, initialise le champ de code d’erreur avec HRESULT et lève cette exception. Le errorInfo paramètre est utilisé pour récupérer des informations supplémentaires concernant l’erreur.
Pour le mappage de chaque HRESULT à sa classe d’exception comparable dans le framework .NET, consultez How to : Map HRESULTs and Exceptions.
Voir aussi
S’applique à
ThrowExceptionForHR(Int32, Guid, IntPtr)
- Source:
- Marshal.cs
- Source:
- 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)
Paramètres
- errorCode
- Int32
- iid
- Guid
- pUnk
-
IntPtr
nativeint