2008-03-19

Windows API一个不一致的地方

同为返回HANDLE的函数,但出错返回值不同:

  • CreateNamedPipe, CreateFile 错误时返回INVALID_HANDLE_VALUE
  • CreateMutex, CreateEvent 错误时返回NULL

最要命的是INVALID_HANDLE_VALUE定义为-1,而NULL为0,如果写程序的时候没有注意到这一点,进行错误判断很可能出错。

没有评论: