For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

For the latest documentation on Visual Studio 2017, see _com_raise_error on docs.microsoft.com. Microsoft Specific

Throws a _com_error in response to a failure.

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


HRESULT information.

IErrorInfo object.

_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);  

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).

Compiler COM Global Functions