From winbase.h (D:\CASDEV\WinCE\public\COMMON\sdk\inc)
#define INVALID_HANDLE_VALUE (HANDLE)-1
But do not always using
INVALID_HANDLE_VALUE as error flag. .CloseHandle function closes handles for the following objects:
Communications device
Database
Database enumeration context
Event
File
File-mapping object
Mutex
Process
Socket
Thread
So far I know only CreateFile return INVALID_HANDLE_VALUE indicates failure. CreateEvent, CreateThread, CreateFileMapping, CreateMutex all return NULL indicates failure.
转载于:https://blog.51cto.com/bluefish/1241343