Compartilhar via


Método Marshal.ThrowExceptionForHR (Int32, IntPtr)

 

Publicado: agosto de 2016

Dica

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

Lançará uma exceção com falha específica HRESULT, com base em especificado IErrorInfo interface.

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

Sintaxe

[SecurityCriticalAttribute]
public static void ThrowExceptionForHR(
    int errorCode,
    IntPtr errorInfo
)
public:
[SecurityCriticalAttribute]
static void ThrowExceptionForHR(
    int errorCode,
    IntPtr errorInfo
)
[<SecurityCriticalAttribute>]
static member ThrowExceptionForHR : 
        errorCode:int *
        errorInfo:nativeint -> unit
<SecurityCriticalAttribute>
Public Shared Sub ThrowExceptionForHR (
    errorCode As Integer,
    errorInfo As IntPtr
)

Parâmetros

  • errorCode
    Type: System.Int32

    O HRESULT correspondente à exceção desejada.

  • errorInfo
    Type: System.IntPtr

    Um ponteiro para o IErrorInfo interface que fornece mais informações sobre o erro. Você pode especificar IntPtr(0) usar atual IErrorInfo interface, ou IntPtr(-1) para ignorar atual IErrorInfo interface e Construa a exceção apenas do código de erro.

Comentários

Esse método cria um objeto de exceção de falha HRESULT especificado. Se o HRESULT é 0 ou positivo (um código de êxito), o método retornará sem criar ou gerar uma exceção.

O ThrowExceptionForHR método versões o errorInfo contagem de referência de parâmetro, diminuindo o COM o IErrorInfo interface.

Observe que o ThrowExceptionForHR método retornará uma exceção com base no IErrorInfo interface do thread atual se um for definido. Quando isso acontece, o errorCode parâmetro é ignorado.

Algumas falhas HRESULTs mapeiam para exceções definidas, enquanto outros não. Se o HRESULT é mapeado para uma exceção de definido, ThrowExceptionForHR cria uma instância da exceção e lança-lo. Caso contrário, ele cria uma instância de System.Runtime.InteropServices.COMException, inicializa o campo de código de erro com o HRESULT e gera essa exceção. O errorInfo parâmetro é usado para recuperar informações adicionais sobre o erro.

Para o mapeamento de cada HRESULT para sua classe de exceção comparáveis no .NET Framework, consulte Como mapear HRESULTs e exceções.

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

COMException
ThrowExceptionForHR Sobrecarga
Classe Marshal
Namespace System.Runtime.InteropServices

Retornar ao início