Marshal.GetHRForException(Exception) Metod

Definition

Konverterar det angivna undantaget till en HRESULT.

public:
 static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException(Exception e);
public static int GetHRForException(Exception? e);
public static int GetHRForException(Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer

Parametrar

e
Exception

Undantaget för att konvertera till en HRESULT.

Returer

HRESULT mappades till det angivna undantaget.

Attribut

Kommentarer

GetHRForException konfigurerar också ett IErrorInfo-gränssnitt för undantaget som kan hämtas genom att anropa funktionen COM GetErrorInfoNEEDGUID. Du kan använda den här funktionen för att returnera ett HRESULT-värde på en hanterad klassimplementering av ett COM-gränssnitt där du tillämpar PreserveSigAttribute attributet. Låt den tillskrivna metoden fånga alla undantag och använda GetHRForException metoden för att returnera lämpligt HRESULT-värde. Om du tillåter att ett undantag sprids utanför metoden får du ett felaktigt beteende. (Den vanliga språkkörningen kan faktiskt inte skicka ett undantag till en COM-klient som anropar en sådan metod via en v-tabell.)

Observera att GetHRForException metoden anger IErrorInfo-gränssnittet för den aktuella tråden. Detta kan orsaka oväntade resultat för metoder som de ThrowExceptionForHR metoder som standard använder IErrorInfo för den aktuella tråden om den har angetts.

Gäller för

Se även