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