




The check-hresult macro checks the hresult and returns if the it is one of the 'succeeded' values, for instance S_OK or S_FALSE. Otherwise it signals an error of type com-error, which will include the function-name in its message.
(check-hresult S_OK "test") => nil
(check-hresult E_NOINTERFACE "test")
signals an error mentioning "test"
LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017