Visual Studio 2012 で提供されている WDK ツールを使用して、イーサネット ドライバーを変更しようとしています。
WDK で提供されるサンプルは、特に「ミニポート アダプター」と「NDIS 軽量フィルター」です。私はまだドライバーを書き始めたばかりなので、コードをナビゲートするのは難しいと感じています。
Visual Studio 2012 でビルドした後、ミニポート アダプターをインストールできました [ネットワーク アダプター リストに「Microsoft Virtual Miniport Adapter」として表示されます]。IP アドレスとサブネット マスクも割り当てることができます。これが私のPC上の物理デバイスに接続されていないことを確認してください]。
また、アダプタからのドライバ メッセージをチェックするために、'Debug View' ソフトウェアをセットアップしました。[コードで 'DbgPrint' ステートメントを使用してビルドしました]。
1- メッセージが何度も出力されるのはなぜですか? メッセージは、プログラムの「datapath.c」ファイルからのもので、関数「MPSendNetBufferLists」からのものです。[「Net Buffer」は、ネットワーク上で送受信されるデータを指定します。]
2- Wireshark をセットアップしてアダプター上のデータをキャプチャすると、そこから ARP、HTTP、SSDP、MDNS などからの要求があることがわかります。アダプターと実際に通信しているものを理解できませんか? どうすれば話さないようにできますか?
「ping」を使用して、アダプターに割り当てた IP アドレスに接続があるかどうかを確認できます。アダプターは、すべてのパケットが送信され、パケット損失がなかったことを示す成功を返します。
私の目標は、IP アドレスを介してこのイーサネット アダプターに「データ」パケットを送受信することです。つまり、アダプタに割り当てられた IP アドレスにアプリケーションを接続して、それと通信する必要があります。
3- WDK で提供されているサンプルで実際に実行できますか?
その他の提案やアドバイスは大歓迎です。
PS- Visual Studio 2012 に組み込まれている Windows デバッガーを使用できませんでした。2 台の PC を使用し、「ターゲット」PC に接続してドライバーをインストールすることはできましたが、ブレークポイントなどで何もできませんでした。コードと「ターゲット」PC にドライバーをインストールした後、プログラムは何もしませんでした。これに関する提案はありますか?ドライバーの段階的なデバッグもできると思いました[私が間違っていることはわかっています]。
ありがとうアディティア