1、如果函数从完成端口取出一个成功I/O操作的完成包,返回值为非0
2、如果 *lpOverlapped为空并且函数没有从完成端口取出完成包,返回值则为0
3、如果 *lpOverlapped不为空并且函数从完成端口出列一个失败I/O操作的完成包,返回值为0
4、如果关联到一个完成端口的一个socket句柄被关闭了,则GetQueuedCompletionStatus返回ERROR_SUCCESS,并且lpNumberOfBytes等于0
当然还有其他情况,最好用GetLastError函数去分析
甚至还有不返回的情况,参考案例:http://topic.csdn.net/u/20100522/08/c55671b1-c355-4b08-aabb-197597ef818a.html