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


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

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

Синтаксис

BOOL RoOriginateError(
  [in] HRESULT error,
  [in] HSTRING message
);

Параметры

[in] error

Тип: HRESULT

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

[in] message

Тип: HSTRING

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

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

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

Эта функция не поддерживает внедренные символы NUL , поэтому передаются только символы до первого NUL .

Строка сообщения должна быть локализована.

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

Тип: BOOL

Код возврата Описание
TRUE
Сообщение об ошибке было отправлено успешно.
FALSE
message имеет значение NULL или указывает на пустую строку, или ошибка является кодом успешного выполнения.

Комментарии

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

Ошибка передается отладчику путем вызова структурированного исключения. Это исключение перехватывается подключенным отладчиком, а параметры исключения содержат как ошибку, так и строку сообщения . Отладчик может отобразить эти параметры пользователю.

В зависимости от текущей конфигурации отладчика функция RoOriginateError может привести к остановке выполнения в отладчике на месте исключения.

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

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header roerrorapi.h
Библиотека RuntimeObject.lib

См. также раздел

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError