Поделиться через


Функция RoTransformError (roerrorapi.h)

Сообщает об измененной ошибке и информативной строке подключенного отладчика.

Синтаксис

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

Параметры

[in] oldError

Тип: HRESULT

Исходный код ошибки, связанный с условием ошибки.

[in] newError

Тип: HRESULT

Другой код ошибки, связанный с условием ошибки. Если старыйError и newError одинаковы или оба являются кодами успешного выполнения, например S_OK, функция не имеет эффекта и возвращает значение FALSE.

[in] message

Тип: HSTRING

Информативная строка, помогающая разработчикам исправить состояние сообщаемой ошибки. Максимальная длина составляет 512 символов, включая конечный null символ; Длинные строки усечены.

Если строка пуста, функция завершается успешно, но информация об ошибке не сообщается. Рекомендуется всегда предоставлять информативную строку.

Если сообщение равно NULL, функция завершается успешно и сообщает универсальную строку в Winerror.h, если она доступна или универсальная строка, связанная с E_FAIL.

Хотя строка сообщения является HSTRING, функция RoTransformError не поддерживает внедренные символы NULL, поэтому только символы перед первым значением NULL будут сообщены.

Возвращаемое значение

Тип: BOOL

Код возврата Description
TRUE
Сообщение об ошибке было успешно сообщено.
ЛОЖНЫЙ
сообщение имеет значение NULL или указывает на пустую строку или старыйError и newError совпадают или оба являются кодами успешного выполнения.

Замечания

Используйте функцию RoTransformError , чтобы заменить пользовательский код ошибки для существующего условия ошибки. Например, если текущее условие ошибки E_FAIL, можно заменить более конкретный код ошибки, например E_FILENOTFOUND, и сообщить об преобразованной ошибке подключенному отладчику.

Поведение функции RoTransformError в противном случае совпадает с функцией RoTransformErrorW .

Если флаг UseSetErrorInfo задан путем вызова функции RoSetErrorReportingFlags , а вызывающий поток был инициализирован в COM, функция создает соответствующий объект ошибки, поддерживающий IRestrictedErrorInfo , и связывает его с каналом COM путем вызова SetErrorInfo. Если поток не был инициализирован в COM, вызов по-прежнему будет выполнен без ошибки, но ошибка не будет связана с com-каналом.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 8 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2012 [классические приложения | Приложения UWP]
целевая платформа Виндоус
Header roerrorapi.h
Library mincore.lib

См. также

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW