シリアル ポートを介して 2 つの Hyper-V VM を接続しようとしています。Hyper-V は、シリアル ポートを名前付きパイプとしてホスト システムに公開し、名前付きパイプのサーバー側を実装します。したがって、それらを接続するには、両方の VM に接続し、データを相互にコピーする名前付きパイプ クライアントを作成する必要があります。
そのようなアプリケーションを作成しました。残念ながら、このアプリケーションはデータを失います。
2 つのハイパータームを接続してデータを交換すると、送信が成功することもありますが、多くの場合、受信側がエラーを報告したり、送信がデッドロックしたりします。同様に、リンクを使用してカーネル デバッガーを実行すると、頻繁にハングするようです。
データ損失の原因は何ですか? このような方法で名前付きパイプを接続する場合、どのような注意が必要ですか?
編集: kdsrv.exeを使用して問題を回避しました。デバッグ対象の COM ポートは引き続き名前付きパイプを介して公開されますが、デバッガー側は TCP 経由で kdserv と通信します。