S_OK与S_FALSE,E_FAIL

时间:2023-12-21 22:41:02

S_OK是COM服务器返回正确

S_FALSE是COM服务器返回错误,不过这个错误是可以不处理的,不影响程序正常运行。只是结果不是想要的

E_FAIL是必须处理的错误。

//
// Success codes
//
#define S_OK                                   ((HRESULT)0L)
#define S_FALSE                                ((HRESULT)1L)

// macros
#define SUCCEEDED(hr)   (((HRESULT)(hr)) >= 0)
#define FAILED(hr)      (((HRESULT)(hr)) < 0)

#define E_FAIL                           _HRESULT_TYPEDEF_(0x80004005L)