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

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

Синтаксис

BOOL RoOriginateLanguageException(
  [in]           HRESULT  error,
  [in, optional] HSTRING  message,
  [in]           IUnknown *languageException
);

Параметры

[in] error

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

[in, optional] message

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

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

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

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

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

[in] languageException

Объект ошибки, который является гибким, in-proc и маршалирован по значению между процессами. При необходимости этот объект должен реализовывать ILanguageExceptionStackBackTrace и ILanguageExceptionTransform .

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

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

Комментарии

Функция RoOriginateLanguageException ведет себя как RoOriginateError , но принимает другой параметр, в котором хранятся дополнительные сведения об ошибке. Проекции языка используют эту функцию для хранения сведений об исключениях вместе со сведениями об ошибке COM. Языковые проекции должны создать объект IUnknown , содержащий все необходимые сведения, воссоздать его в виде исключения позже.

Объект ошибки должен быть гибким, in-proc и маршалировать по значению между процессами. Причина этого ограничения заключается в том, что поток, из которого возникает объект ошибки, может больше не существовать, например из-за вызова CoUninitialize , к моменту получения сведений об ошибке.

Требования

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

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

RoOriginateError