Marshal.GetHRForException(Exception) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Convierte la excepción especificada 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
Parámetros
Excepción que se va a convertir en HRESULT.
Devoluciones
HRESULT asignado a la excepción proporcionada.
- Atributos
Comentarios
GetHRForException también configura una interfaz IErrorInfo para la excepción que se puede obtener mediante una llamada a la función COM GetErrorInfoNEEDGUID. Puede usar esta función para devolver un valor HRESULT en una implementación de clase administrada de una interfaz COM donde se aplica el PreserveSigAttribute atributo . Haga que el método con atributos detecte todas las excepciones y use el GetHRForException método para devolver el valor HRESULT adecuado. Permitir que una excepción se propague fuera del método genera un comportamiento incorrecto. (De hecho, Common Language Runtime no puede pasar una excepción a un cliente COM que llama a este método a través de una tabla virtual).
Tenga en cuenta que el GetHRForException método establece la interfaz IErrorInfo del subproceso actual. Esto puede provocar resultados inesperados para métodos como los ThrowExceptionForHR métodos que usan de forma predeterminada IErrorInfo del subproceso actual si se establece.