Directly, no.
However, you can get this indirectly by calling GetHandleInformation after CloseHandle . If the descriptor is invalid, the function will fail and set the error number ERROR_INVALID_HANDLE .
And no, not indirectly and think about it again. This will only tell you that your descriptor is invalid ... which you already know from the moment you close it.
source share