Функция 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 .
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Сообщение об ошибке было отправлено успешно. |
|
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 |