Marshal.GetHRForException(Exception) Método

Definição

Converte a exceção especificada para um HRESULT.Converts the specified exception to an HRESULT.

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

Parâmetros

e
Exception

A exceção que será convertida em um HRESULT.The exception to convert to an HRESULT.

Retornos

O HRESULT mapeado para a exceção fornecida.The HRESULT mapped to the supplied exception.

Atributos

Comentários

GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando a função com GetErrorInfoNEEDGUID.GetHRForException also sets up an IErrorInfo interface for the exception that can be obtained by calling the COM GetErrorInfoNEEDGUID function. 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 atributo PreserveSigAttribute.You can use this function to return an HRESULT value on a managed class implementation of a COM interface where you apply the PreserveSigAttribute attribute. Faça com que o método atribuído Capture todas as exceções e use o método GetHRForException para retornar o valor HRESULT apropriado.Have the attributed method catch all exceptions and use the GetHRForException method to return the appropriate HRESULT value. Permitir que uma exceção seja propagada fora do método produz comportamento incorreto.Allowing an exception to propagate outside the method produces incorrect behavior. (Na verdade, a Common Language Runtime não passa uma exceção para um cliente COM que chama esse método por meio de uma tabela v.)(In fact, the common language runtime fails to pass an exception to a COM client that calls such a method through a v-table.)

Observe que o método GetHRForException define a interface IErrorInfo do thread atual.Note that the GetHRForException method sets the IErrorInfo interface of the current thread. Isso pode causar resultados inesperados para métodos como os ThrowExceptionForHR métodos que usam como padrão o IErrorInfo do thread atual, se ele estiver definido.This can cause unexpected results for methods like the ThrowExceptionForHR methods that default to using the IErrorInfo of the current thread if it is set.

Segurança

SecurityCriticalAttribute
requer confiança total para o chamador imediato.requires full trust for the immediate caller. Este membro não pode ser usado pelo código transparente ou parcialmente confiável.This member cannot be used by partially trusted or transparent code.

Aplica-se a

Veja também