_com_raise_error

 

The latest version of this topic can be found at _com_raise_error.

Microsoft Specific**

Throws a _com_error in response to a failure.

Syntax

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

Parameters

hr
HRESULT information.

perrinfo
IErrorInfo object.

Remarks

_com_raise_error, which is defined in comdef.h, can be replaced by a user-written version of the same name and prototype. This could be done if you want to use #import but do not want to use C++ exception handling. In that case, a user version of _com_raise_error might decide to do a longjmp or display a message box and halt. The user version should not return, though, because the compiler COM support code does not expect it to return.

You can also use _set_com_error_handler to replace the default error-handling function.

By default, _com_raise_error is defined as follows:

void __stdcall _com_raise_error(HRESULT hr, IErrorInfo* perrinfo) {  
   throw _com_error(hr, perrinfo);  
}  

END Microsoft Specific

Requirements

Header: comdef.h

Lib: If the “wchar_t is Native Type” compiler option is on, use comsuppw.lib or comsuppwd.lib. If “wchar_t is Native Type” is off, use comsupp.lib. For more information, see /Zc:wchar_t (wchar_t Is Native Type).

See Also

Compiler COM Global Functions
_set_com_error_handler