_com_raise_error
Блок, относящийся только к системам Майкрософт
Создает _com_error в ответ на сбой.
Синтаксис
void __stdcall _com_raise_error(
HRESULT hr,
IErrorInfo* perrinfo = 0
);
Параметры
Hr
Сведения HRESULT.
perrinfo
Объект IErrorInfo
.
Замечания
_com_raise_error, который определен в <comdef.h>, может быть заменен пользовательской версией того же имени и прототипа. Это можно сделать, если требуется использовать #import
без обработки исключений C++. В этом случае пользовательская версия _com_raise_error может решить выполнить longjmp
или отобразить окно сообщения и остановить его. Однако пользовательская версия не должна возвращаться, поскольку код поддержки COM в компиляторе не ожидает ее возврата.
Вы также можете использовать _set_com_error_handler для замены функции обработки ошибок по умолчанию.
По умолчанию _com_raise_error определяется следующим образом:
void __stdcall _com_raise_error(HRESULT hr, IErrorInfo* perrinfo) {
throw _com_error(hr, perrinfo);
}
Завершение блока, относящегося только к системам Майкрософт
Требования
Header:<comdef.h>
Lib: если параметр компилятора машинного типа wchar_t включен, используйте comsuppw.lib или comsuppwd.lib. Если wchar_t отключен собственный тип , используйте comsupp.lib. Дополнительные сведения см. в разделе /Zc:wchar_t (wchar_t — это собственный тип).
См. также
Глобальные функции COM-модели компилятора
_set_com_error_handler
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по