Windows VistaでIO完了ポートに関するプログラムを作成すると、 最初のサンプルは機能せず、GetQueuedCompletionStatus()はオーバーラップされた構造体 を取得できません。Windowsに関する質問iocp
私はグローバルスコープにオーバーラップした構造を置いて、それは驚くほどうまく機能します。 なぜですか?
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