Compartir a través de


Función RoOriginateErrorW (roerrorapi.h)

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

Sintaxis

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  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] cchMax

Tipo: UINT

Número máximo de caracteres en el mensaje, excepto el carácter NUL de terminación. Si el valor es 0, la cadena se lee en el primer carácter NUL o 512 caracteres, lo que sea menor. Si cchMax es mayor que 512, se omiten todos los caracteres después de 512.

[in] message

Tipo: PCWSTR

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 ejecuta correctamente, pero no se notifica ninguna información de error. Se recomienda proporcionar siempre una cadena informativa.

Si message es NULL, la función se ejecuta correctamente y notifica 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 RoOriginateErrorW 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 al 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.

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

Si la marca UseSetErrorInfo se establece mediante una llamada 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 se realizará correctamente sin ningún error, pero el error no se asociará con el canal COM.

Nota Esta no es una versión ANSI de la función RoOriginateErrorW . Las cadenas de mensaje deben ser Unicode.
 

Requisitos

   
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

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW