ソケット コンテキストごとに 64kb のバッファを格納する IOCP アプリケーションがあります。何千ものソケットを処理しながら、大量の RAM を使用します。これの代わりに、iocp-thread コンテキストごとに 64kb のバッファを持つモデルに切り替えたいと思います (epoll と kqueue でできるように)。このためには、提供された WSABUF にバイトをコピーすることなく通知を受信できる完了ポートが必要であり、通知の後、WSAEWOULDBLOCK を受信するまで非同期 WSARecvFrom (重複した構造を提供せずに、テストに udp を使用しています) を呼び出すだけです。構造が重複している WSARecvFrom 呼び出しに空の WSABUF (buf = NULL, len =0) を指定すると、次の手法を実現できることを読みました。しかし、うまくいきません: バッファーが小さすぎるため、IOCP が「起動」しません。
そのようなシナリオを可能にする他の方法はありますか?