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.Int32O HRESULT correspondente à exceção desejada.
errorInfo
Type: System.IntPtrUm 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
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