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


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

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

Синтаксис

BOOL RoOriginateErrorW(
  [in] HRESULT error,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

Параметры

[in] error

Тип: HRESULT

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

[in] cchMax

Тип: UINT

Максимальное число символов в сообщении, за исключением завершающего символа NUL . Если значение равно 0, строка считывается до первого символа NUL или 512 символов, в зависимости от того, что меньше. Если значение cchMax больше 512, все символы после 512 игнорируются.

[in] message

Тип: PCWSTR

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

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

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

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

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

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

Тип: BOOL

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

Комментарии

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

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

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

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

Примечание Это не версия ANSI функции RoOriginateErrorW . Строки сообщения должны быть в Юникоде.
 

Требования

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

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

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW