Функция RoTransformError (roerrorapi.h)
Сообщает об измененной ошибке и информативной строке подключенному отладчику.
Синтаксис
BOOL RoTransformError(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] HSTRING message
);
Параметры
[in] oldError
Тип: HRESULT
Исходный код ошибки, связанный с условием ошибки.
[in] newError
Тип: HRESULT
Другой код ошибки, связанный с условием ошибки. Если oldError и newError совпадают или оба являются кодами успешного выполнения, например S_OK, функция не оказывает никакого влияния и возвращает значение FALSE.
[in] message
Тип: HSTRING
Информативная строка, помогающая разработчикам исправить состояние ошибки. Максимальная длина — 512 символов, включая символ null в конце; длинные строки усекаются.
Если строка пуста, функция завершается успешно, но сведения об ошибке не передаются. Рекомендуется всегда указывать информативную строку.
Если аргумент message имеет значение NULL, функция завершается успешно и сообщает универсальную строку в Winerror.h, если она доступна, или универсальную строку, связанную с E_FAIL.
Хотя строка сообщения является HSTRING, функция RoTransformError не поддерживает внедренные символы NULL, поэтому сообщаются только символы, предшествующие первому значению NULL.
Возвращаемое значение
Тип: BOOL
Код возврата | Описание |
---|---|
|
Сообщение об ошибке успешно отправлено. |
|
message имеет значение NULL или указывает на пустую строку, или oldError и newError являются одинаковыми, или оба являются кодами успешного выполнения. |
Комментарии
Используйте функцию RoTransformError , чтобы заменить пользовательский код ошибки для существующего условия ошибки. Например, если текущее условие ошибки E_FAIL, можно заменить более конкретный код ошибки, например E_FILENOTFOUND, и сообщить о преобразованной ошибке подключенному отладчику.
В противном случае поведение функции RoTransformError совпадает с поведением функции RoTransformErrorW .
Если флаг UseSetErrorInfo устанавливается путем вызова функции RoSetErrorReportingFlags , а вызывающий поток инициализирован в COM, функция создает соответствующий объект ошибки, поддерживающий IRestrictedErrorInfo , и связывает его с COM-каналом путем вызова SetErrorInfo. Если поток не инициализирован в COM, вызов по-прежнему будет выполнен без ошибок, но ошибка не будет связана с COM-каналом.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | roerrorapi.h |