Función RoOriginateLanguageException (roerrorapi.h)

Notifica un error, una cadena informativa y un objeto de error a un depurador adjunto.

Sintaxis

BOOL RoOriginateLanguageException(
  [in]           HRESULT  error,
  [in, optional] HSTRING  message,
  [in]           IUnknown *languageException
);

Parámetros

[in] error

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, optional] message

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.

[in] languageException

Objeto de error que es apartment-agile, in-proc y serializar por valor entre procesos. Este objeto debe implementar ILanguageExceptionStackBackTrace e ILanguageExceptionTransform si es necesario.

Valor devuelto

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

La función RoOriginateLanguageException se comporta como RoOriginateError , pero toma otro parámetro que almacena información adicional sobre el error. Las proyecciones de lenguaje usan esta función para almacenar información de excepciones junto con la información de error COM. Las proyecciones de lenguaje deben crear un objeto IUnknown que contenga toda la información necesaria para volver a crear la excepción más adelante.

El objeto de error debe ser apartment-agile, in-proc y serializar por valor entre procesos. El motivo de esta restricción es que el subproceso desde el que se originó el objeto de error ya no existe, por ejemplo debido a una llamada a CoUninitialize , en el momento en que se recupera la información de error.

Requisitos

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

Consulte también

RoOriginateError