Visual Studio 2015でWinDivert 1.1.8 MSVC x64とC#用のP/Invoke wrapperを使用して、単純なレイテンシシミュレータを作成していますが、スピードテストなどの帯域幅集中型タスクを実行すると接続が失敗します。WinDivert接続喪失
出力
ERROR_IO_PENDING 997(0x3E5)重複したI/O操作が進行中です。
ERROR_INSUFFICIENT_BUFFER 122(0x7A)システムコールに渡されたデータ領域が小さすぎます。
ノート
x64のリモートデバッグによって引き起こされる可能性のあるデッドロック?
おそらくWinDivertキューを圧倒しますか?
更新
Iは、並列スレッドを試みており、これは、同じエラーを生じました。
Parallel.ForEach(Enumerable.Range(0, Environment.ProcessorCount), x => RunDiversion());
アップデート2
さらにコードをテストした後、問題の行であってもよい。
packet.CopyTo(newpacket.data, 0);
更新3
CPUスタック WinDivertキューにマーシャリングが必要な可能性がありますか?
ありがとうございます。私はすぐにより集中的なテストを行います。私もwindivertキューを最大にする必要がありますか? – Tod