Función RoTransformErrorW (roerrorapi.h)

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

Sintaxis

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Parámetros

[in] oldError

Tipo: HRESULT

Código de error original asociado a la condición de error.

[in] newError

Tipo: HRESULT

Código de error personalizado que se va a asociar a la condición de error. Si oldError y newError son los mismos, o ambos son códigos de éxito, como S_OK, la función no tiene ningún efecto y devuelve FALSE.

[in] cchMax

Tipo: UINT

Número máximo de caracteres en el mensaje, excepto el carácter nulo de terminación. Si el valor es 0, la cadena se lee en el primer carácter NULO 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 nulo 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 NULL incrustados, por lo que solo se notifican los caracteres antes del primer valor NULL.

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 oldError y newError son los mismos, o ambos son códigos de éxito.

Comentarios

Use la función RoTransformErrorW para sustituir un código de error personalizado por una condición de error existente. Por ejemplo, si la condición de error actual es E_FAIL, puede sustituir un código de error más específico, como E_FILENOTFOUND e informar del error transformado a un depurador adjunto.

El comportamiento de la función RoTransformErrorW es el mismo que la función RoOriginateErrorW .

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.

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

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

Consulte también

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError