Marshal.GetHRForException(Exception) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte a exceção especificada para um 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
A exceção que será convertida em um HRESULT.
Retornos
O HRESULT mapeado para a exceção fornecida.
- Atributos
Comentários
GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando a função COM GetErrorInfoNEEDGUID. Você pode usar essa função para retornar um valor HRESULT em uma implementação de classe gerenciada de uma interface COM em que você aplica o PreserveSigAttribute atributo . Fazer com que o método atribuído capture todas as exceções e use o GetHRForException método para retornar o valor HRESULT apropriado. Permitir que uma exceção se propague fora do método produz um comportamento incorreto. (Na verdade, o common language runtime não passa uma exceção para um cliente COM que chama esse método por meio de uma tabela v.)
Observe que o GetHRForException método define a interface IErrorInfo do thread atual. Isso pode causar resultados inesperados para métodos como os ThrowExceptionForHR métodos que usam o IErrorInfo do thread atual se ele estiver definido.