我有点困惑,我检查了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 -我得到所需的行为"文件名无效"。
那么我应该用什么呢?有什么区别?由于
这些是在条件块中定义的。
第二个定义在:
#if defined(_WIN32) && !defined(_MAC)
和第一个
#else
这样回答你的问题了吗?