Функция 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
Код возврата | Описание |
---|---|
|
Сообщение об ошибке успешно отправлено. |
|
message имеет значение NULL или указывает на пустую строку, или ошибка является кодом успешного выполнения. |
Комментарии
Используйте функцию RoOriginateErrorW , чтобы сообщить об ошибке и соответствующем сообщении отладчику. Эта функция не выполняет ведение журнала или трассировку событий.
Ошибка передается отладчику путем создания структурированного исключения. Это исключение перехватывается подключенным отладчиком, а параметры исключения содержат как ошибку, так и строку сообщения . Отладчик может отобразить эти параметры пользователю.
В зависимости от текущей конфигурации отладчика функция RoOriginateErrorW может привести к остановке выполнения в отладчике на месте исключения.
Если флаг UseSetErrorInfo устанавливается путем вызова функции RoSetErrorReportingFlags , а вызывающий поток инициализирован в COM, функция создает соответствующий объект ошибки, поддерживающий IRestrictedErrorInfo , и связывает его с COM-каналом путем вызова SetErrorInfo. Если поток не инициализирован в COM, вызов по-прежнему будет выполнен без ошибок, но ошибка не будет связана с COM-каналом.
Требования
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | roerrorapi.h |
Библиотека | RuntimeObject.lib |