_com_raise_error

Microsoft 专用

引发 _com_error 以响应失败。

void __stdcall _com_raise_error( 
   HRESULT hr, 
   IErrorInfo* perrinfo = 0 
);

参数

  • hr
    HRESULT 信息。

  • perrinfo
    IErrorInfo 对象。

备注

comdef.h 中定义的 _com_raise_error 可以替换为具有相同的名称和原型的用户编写的版本。 若要使用 #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);
}

要求

**标头:**comdef.h

**库:**如果启用“wchar_t is Native Type”编译器选项,请使用 comsuppw.lib 或 comsuppwd.lib。 如果禁用“wchar_t is Native Type”,请使用 comsupp.lib。 有关详细信息,请参阅 /Zc:wchar_t(wchar_t 是本机类型)

请参见

参考

编译器 COM 全局函数

_set_com_error_handler