みんな。WinPcap を NDIS 6 プロトコルから NDIS 6 フィルターに移植している私です :) バグに遭遇し、2 日間閉じ込められました。npf6x.sys ドライバー (元の名前は npf.sys) をインストールした後、"net start npf" でサービスを開始できます。次に、Wireshark を開きました。その後、ネットワークがダウンしました (トレイ アイコンの感嘆符)。リモート デバッグの後、FilterReceiveNetBufferLists ルーチンが呼び出されないことがわかりました。ここでRXリンクが壊れたと思います。ただし、FilterSendNetBufferLists は正常に呼び出されます。FilterAttach が正常に呼び出され、現在 FilterUnload が呼び出されていないことは確かです。したがって、フィルター モジュールはまだその場所にあるはずです。ただし、RX パスでは機能しません。そこでWiresharkの「開始」ボタンをクリックすると、思いがけずネットワークが復旧したことがわかりました。次に、現在のキャプチャを停止して「Interface List」をクリックすると、ネットワークが再びダウンしました。とても奇妙です。
ドライバーの実行中のプロセスでハンドラー ポインターを変更しませんでした。ドライバーもロックでブロックされていないようです。実行中に NDIS がフィルターの FilterReceiveNetBufferLists を呼び出さないようにするケースがあるかどうか、誰か教えてもらえますか?
また、NDIS 6 プロトコルから NDIS 6 フィルターに移植する方法を説明している公式ドキュメントはありますか? NDIS 5 から NDIS 6 への移植に関するドキュメントしか見つかりませんでした。
ありがとう。