Marshal.GetHRForException(Exception) Metodo

Definizione

Converte l'eccezione specificata in 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

Parametri

e
Exception

Eccezione da convertire in HRESULT.

Valori restituiti

HRESULT mappato all'eccezione fornita.

Attributi

Commenti

GetHRForException configura anche un'interfaccia IErrorInfo per l'eccezione che può essere ottenuta chiamando la funzione COM GetErrorInfoNEEDGUID. È possibile usare questa funzione per restituire un valore HRESULT in un'implementazione della classe gestita di un'interfaccia COM in cui si applica l'attributo PreserveSigAttribute . Fare in modo che il metodo con attributi intercetta tutte le eccezioni e usi il GetHRForException metodo per restituire il valore HRESULT appropriato. Se si consente la propagazione di un'eccezione all'esterno del metodo, viene generato un comportamento non corretto. In realtà, Common Language Runtime non riesce a passare un'eccezione a un client COM che chiama tale metodo tramite una tabella v.)

Si noti che il GetHRForException metodo imposta l'interfaccia IErrorInfo del thread corrente. Ciò può causare risultati imprevisti per metodi come i ThrowExceptionForHR metodi che per impostazione predefinita usano IErrorInfo del thread corrente, se è impostato.

Si applica a

Vedi anche