Compartilhar via


Método Marshal.GetHRForException (Exception)

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Converte a exceção especificada para um HRESULT.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

[SecurityCriticalAttribute]
public static int GetHRForException(
    Exception e
)
public:
[SecurityCriticalAttribute]
static int GetHRForException(
    Exception^ e
)
[<SecurityCriticalAttribute>]
static member GetHRForException : 
        e:Exception -> int
<SecurityCriticalAttribute>
Public Shared Function GetHRForException (
    e As Exception
) As Integer

Parâmetros

Valor Retornado

Type: System.Int32

O HRESULT mapeado para a exceção fornecida.

Comentários

GetHRForExceptiontambém define uma IErrorInfo interface 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 onde você aplicar o PreserveSigAttribute atributo. Ter as método atribuído captura todas as exceções e usar o GetHRForException método para retornar o valor HRESULT apropriado. Permitindo que uma exceção se propaguem fora do método produz um comportamento incorreto. (Na verdade, o common language runtime não pode passar uma exceção para um cliente COM que chama esse método um por meio de uma tabela v.)

Observe que o GetHRForException método define o IErrorInfo interface do thread atual. Isso pode causar resultados inesperados para métodos, como o ThrowExceptionForHR métodos como padrão o IErrorInfo do thread atual se ele for definido.

Segurança

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

PreserveSigAttribute
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início