あと>>461は、>>455の三択で選ぶならif (b == TRUE)だが
正しくは↓こう書くべき
bRet = GetMessage(...);
if (b == -1) {
 // エラー1が発生すた、
 ....
} else if (bRet == FALSE) {
 // エラー2が発生すた、
 ....
} else if (bRet = TRUE) {
 // 成功すた、
 ...
} else {
 assert(0);
}

つまり出題者>>455の知識と想像力の欠如が諸悪の根源