Compartir a través de


Función RoOriginateError (roerrorapi.h)

Notifica un error y una cadena informativa a un depurador adjunto.

Sintaxis

BOOL RoOriginateError(
  [in] HRESULT error,
  [in] HSTRING message
);

Parámetros

[in] error

Tipo: HRESULT

Código de error asociado a la condición de error. Si el error es un código correcto, como S_OK, la función no tiene ningún efecto y devuelve FALSE. Este comportamiento permite llamar a la función cuando no se ha producido ningún error sin causar un mensaje de error no deseado.

[in] message

Tipo: HSTRING

Cadena informativa para ayudar a los desarrolladores a corregir la condición de error notificada. La longitud máxima es de 512 caracteres, incluido el carácter NUL final; las cadenas más largas se truncan.

Si la cadena está vacía, la función se realiza correctamente, pero no se notifica información de error. Se recomienda proporcionar siempre una cadena informativa.

Si message es NULL, la función se realiza correctamente e informa de la cadena genérica en Winerror.h si está disponible o la cadena genérica asociada a E_FAIL.

Esta función no admite caracteres NUL incrustados, por lo que solo se notifican los caracteres antes de que se notifique el primer NUL .

La cadena de mensaje debe localizarse.

Valor devuelto

Tipo: BOOL

Código devuelto Descripción
TRUE
El mensaje de error se informó correctamente.
FALSE
message es NULL o apunta a una cadena vacía, o el error es un código correcto.

Comentarios

Use la función RoOriginateError para notificar una condición de error y un mensaje correspondiente a un depurador. Esta función no realiza el registro ni el seguimiento de eventos.

El error se comunica con el depurador mediante la generación de una excepción estructurada. El depurador adjunto detecta esta excepción y los parámetros de excepción contienen tanto el error como la cadena de mensaje . El depurador puede mostrar estos parámetros al usuario.

En función de la configuración actual del depurador, la función RoOriginateError puede hacer que la ejecución se detenga en el depurador en el sitio de la excepción.

Si la marca UseSetErrorInfo se establece llamando a la función RoSetErrorReportingFlags y el subproceso de llamada se ha inicializado en COM, la función crea un objeto de error adecuado que admite IRestrictedErrorInfo y lo asocia al canal COM llamando a SetErrorInfo. Si el subproceso no se ha inicializado en COM, la llamada seguirá funcionando sin errores, pero el error no se asociará al canal COM.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado roerrorapi.h
Library RuntimeObject.lib

Consulte también

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError