Фраза Л.Н.Толстого "Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему" уж очень напоминает Return code: 0 (NOERROR, S_OK) если все хорошо, и куча разных ненулевых значений в случае разных ошибок.
Здравствуйте, D. Mon, Вы писали:
DM>уж очень напоминает Return code: 0 (NOERROR, S_OK) если все хорошо, и куча разных ненулевых значений в случае разных ошибок.
А как же S_FALSE?
... << RSDN@Home 1.2.0 alpha rev. 642>>
Здравствуйте, D. Mon, Вы писали:
DM>Фраза Л.Н.Толстого "Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему" уж очень напоминает Return code: 0 (NOERROR, S_OK) если все хорошо, и куча разных ненулевых значений в случае разных ошибок.
Неправда! SCODE / HRESULT резервирует ноль и положительные числа как счастливые, и отрицательные (severity bit = 1) — как несчастные.
Ноль — "простое человеческое счастье", совершенно бескачественное (facility = 0).
Но можно и затейливо осчастливить — правда, вызывающая сторона может не оценить свалившееся на неё благо.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, Блудов Павел, Вы писали:
БП>А как же S_FALSE?
Иллюзорное счастье.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, int13h, Вы писали:
БП>>>А как же S_FALSE?
К>>Иллюзорное счастье.
I>А такое бывает? Счастье, хоть и десятиминутное, но все же счастье.
Легко!
HRESULT CMyComServer::foo() { return S_FALSE; }
// --------------
void client(IMyInterface* pServer)
{
.....
if(FAILED(pServer->foo()) return; // первый раз удостоверились...
.....
HRESULT hr = pServer->foo();
ASSERT(hr == S_OK); // а второй раз понадеялись
.....
}
А если <deadly_serious> то конечно же, бывает. В буддизме это известно как обитель богов (дэвалока) </deadly_serious>
... << RSDN@Home 1.2.0 alpha rev. 655>>