1

のMSDNページにWriteFileExは、完了ルーチンを指定する引数があるため、IOCPモデルでは使用できないと記載されています。ファイルハンドルがI/O完了ポートに関連付けられている場合、WriteFileEx失敗します。

ただし、WSASend呼び出し元が最後の引数として完了ルーチンを指定できるようにしますが、この関数はIOCPモデルで使用できます。

IOCPを使用したWinSockのいくつかの例を調べたところ、最後の引数lpCompletionRoutineは常にnullであることがわかりました。これは必須ですか?

4

1 に答える 1

1

ドキュメントに記載されている唯一のことは次のとおりです。

完了ルーチンは、Windows ファイル I/O 完了ルーチンで規定されているのと同じ規則に従います。

lpCompletionRoutineこれは、 のようにIOCP と を混在させることはできないことを示唆している可能性がありますWriteFileEx()。一方で、そもそもなぜそれらを混ぜ合わせたいのですか?完了ポートが結果を取得するか、完了ルーチンが結果を取得します。なぜ両方を使用する必要があるのでしょうか。

于 2013-01-25T00:33:49.480 に答える