Compartir vía


Marshal.ThrowExceptionForHR Método

Definición

Se produce una excepción con un valor HRESULT de error específico.

Sobrecargas

ThrowExceptionForHR(Int32)

Se produce una excepción con un valor HRESULT de error específico.

ThrowExceptionForHR(Int32, IntPtr)

Inicia una excepción con un valor HRESULT de error concreto, basado en la interfaz IErrorInfo especificada.

ThrowExceptionForHR(Int32)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Se produce una excepción con un valor HRESULT de error específico.

public:
 static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode);
public static void ThrowExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)

Parámetros

errorCode
Int32

HRESULT correspondiente a la excepción deseada.

Atributos

Comentarios

Este método crea un objeto de excepción para el hrESULT de error especificado. Si HRESULT es 0 o positivo (un código correcto), el método devuelve sin crear o producir una excepción.

Tenga en cuenta que el ThrowExceptionForHR(Int32) método devuelve una excepción basada en la interfaz IErrorInfo del subproceso actual si se establece uno. Cuando esto sucede, se omite el errorCode parámetro .

Algunos HRESULT de error se asignan a excepciones definidas, mientras que otras no. Si HRESULT se asigna a una excepción definida, ThrowExceptionForHR crea una instancia de la excepción y la inicia. De lo contrario, crea una instancia de COMException, inicializa el campo de código de error con HRESULT y produce esa excepción. Cuando ThrowExceptionForHR se invoca, intenta recuperar información adicional sobre el error mediante la función GetErrorInfo no administrada.

Para la asignación de cada HRESULT a su clase de excepción comparable en .NET Framework, vea How to: Map HRESULTs and Exceptions.

En ocasiones, ThrowExceptionForHR podría devolver una excepción de una llamada COM anterior. En este caso, puede usar la siguiente solución alternativa y pasar IntPtr(-1) como segundo parámetro (errorInfo):

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

Consulte también

Se aplica a

ThrowExceptionForHR(Int32, IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

Inicia una excepción con un valor HRESULT de error concreto, basado en la interfaz IErrorInfo especificada.

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

Parámetros

errorCode
Int32

HRESULT correspondiente a la excepción deseada.

errorInfo
IntPtr

nativeint

Puntero a la interfaz IErrorInfo que proporciona más información sobre el error. Puede especificar IntPtr(0) para que use la interfaz IErrorInfo actual o IntPtr(-1) para omitir la interfaz IErrorInfo actual y construir la excepción del código de error únicamente.

Atributos

Comentarios

Este método crea un objeto de excepción para el hrESULT de error especificado. Si HRESULT es 0 o positivo (un código correcto), el método devuelve sin crear o producir una excepción.

El ThrowExceptionForHR método libera el errorInfo parámetro, lo que reduce el recuento de referencias COM de la interfaz IErrorInfo .

Tenga en cuenta que el ThrowExceptionForHR método devuelve una excepción basada en la interfaz IErrorInfo del subproceso actual si se establece uno. Cuando esto sucede, se omite el errorCode parámetro .

Algunos HRESULT de error se asignan a excepciones definidas, mientras que otras no. Si HRESULT se asigna a una excepción definida, ThrowExceptionForHR crea una instancia de la excepción y la inicia. De lo contrario, crea una instancia de System.Runtime.InteropServices.COMException, inicializa el campo de código de error con HRESULT y produce esa excepción. El errorInfo parámetro se usa para recuperar información adicional sobre el error.

Para la asignación de cada HRESULT a su clase de excepción comparable en .NET Framework, vea How to: Map HRESULTs and Exceptions.

Consulte también

Se aplica a