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


_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