文法的な問題で詰まってるのですが、
これはどう解釈したらいいのでしょうか?

int test()
{
   return ::GetLastError() != ERROR_SUCCESS;
}

::GetLastError() != ERROR_SUCCESS;が
真なら1を返し、そうでなければ0を返すというだけのものでしょうか?
test()がintの戻り値を返すようにサンプルではなっているので
気になっています。
intなのに1 or 0しか返さないのでしょうか?
それともなんらかの場合、GetLastError()の値を返したりしますか?