【发布时间】:2015-07-15 14:53:52
【问题描述】:
我有点困惑, 我检查了 WinError.h 并看到了 2 个 E_FAIL 声明:
//
// MessageId: E_FAIL
//
// MessageText:
//
// Unspecified error
//
#define E_FAIL _HRESULT_TYPEDEF_(0x80000008L)
//
// MessageId: E_FAIL
//
// MessageText:
//
// Unspecified error
//
#define E_FAIL _HRESULT_TYPEDEF_(0x80004005L)
我遇到的一个问题是,我正在实现命名空间扩展,当打开一个不存在的文件时,我得到以下信息:
当返回 0x80000008 - 我得到“未指定的错误”
当返回 0x80004005 时 - 我得到 desired 行为“文件名无效。”
那么我应该使用什么?有什么不同? 谢谢
【问题讨论】:
-
这就是为什么试图理解零上下文代码不起作用的原因!
-
嗯,我添加了上下文 - 在打开文件对话框下。
-
不,我的意思是,你错过了
#if#else并且只考虑了孤立的定义。上下文——即周围的代码——被证明是回答问题的关键部分(事实上,the 答案!)而且这种情况经常发生。因此,我们可以从中吸取教训。 :) -
我明白 :) 好吧,正如我在你的回答中回答的那样 - 我现在明白了。谢谢!
标签: c++ shell-extensions hresult