我很好奇 Quake 中 CreateEvent() 函数的使用。
我们在定义 WinMain() 的 c 文件中有以下全局:
static HANDLE tevent;
在 WinMain() 函数本身中,我们看到:
tevent = CreateEvent(NULL, FALSE, FALSE, NULL);
如果创建失败,则游戏退出。
然后它出现在以下函数中:
void SleepUntilInput (int time)
{
MsgWaitForMultipleObjects (1, &tevent, FALSE, time, QS_ALLINPUT);
}
最后在 Quit 函数中调用 CloseHandle(tevent)。
我不熟悉 WinAPI,所以这给我留下了两个问题。
- CreateEvent() 的使用返回什么?
- 这如何使 SleepUntilInput() 函数正常工作?