SUCCEEDED() 的定义:#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
背景:当在对话框上单击 Ok 按钮时,我需要返回一个HRESULT
值为truehr
的值。SUCCEEDED(hr)
如果单击取消按钮,我需要返回一个负值。我本可以使用布尔值,但这会破坏现有模式(通常 hr 值来自系统 dll 的深度)。所以,我知道我可以S_OK
在确定时返回,但是在取消时我应该返回什么?我可以return (HRESULT)-1;
,但必须有更好的方法 - 一些 HRESULT 文字常量,它具有负值并代表一般故障。S_FALSE
不是吗,因为它的值被定义为1L
.
请帮我找到正确的常数。