當我編寫有關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