я немного запутался,
Я проверил 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 — я получаю «Unspecified error»
при возврате 0x80004005 — я получаю желательно поведение «Имя файла не является допустимым.»
Так что я должен использовать? какая разница?
Спасибо
Они определены в условном блоке.
Второй определяется, когда:
#if defined(_WIN32) && !defined(_MAC)
и первый когда:
#else
Это отвечает на ваш вопрос?