当我编写有关Windows Vista中的IO完成端口的程序时,第一个示例不起作用,并且GetQueuedCompletionStatus()不能获得任何OVERLAPPED结构的 。有关Windows iocp的问题
因此,我把OVERLAPPED结构放在全局范围内,它的工作原理非常惊人。 这是为什么?
CODE1:
int main()
{
OVERLAPPED o;
..
CreateIoCompletionPort(....);
for (int i = 0; i<10; i++)
{
WriteFile(..,&o);
OVERLAPPED* po;
GetQueuedCompletionStatus(..,&po);
}
}
CODE2:
OVERLAPPED o;
int main()
{
..
CreateIoCompletionPort(....);
for (int i = 0; i<10; i++)
{
WriteFile(..,&o);
OVERLAPPED* po;
GetQueuedCompletionStatus(..,&po);
}
}
有时候编辑我的文章。你可能想再看一下。 – dirkgently 2009-05-06 17:46:51