問題タブ [ndis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - ndis5.0 ドライバーおよびドライバー署名の強制を無効にする
「ドライバー署名の強制を無効にする」でndis 4.0をインストールしていました。ドライバーはエラーを出さず、正常に動作しています。ただし、ndis5.0 ドライバーの同じケースは機能しません。ndis5.0 は、ドライバー署名の強制を無効にしても機能しますか。または署名が必要です。
networking - NdisProt がイーサネット パケットを書き込むのに時間がかかる
ネットワーク アクセスが必要な仮想化アプリケーションを C# で開発しています。ndisprot サンプル ドライバーを使用して、イーサネット レイヤー 2 パケットの読み取りと書き込みを行っています。WriteFile 操作に膨大な時間がかかることを除いて、すべて正常に動作しています。通常は 300 ~ 800 ミリ秒ですが、書き込みが完了するまでに数秒かかる場合があります。
これは、イーサネット パケットをドライバーに書き込む C# 関数です。ストップウォッチを使用して、所要時間を測定しています。
アプリケーションを実行すると、出力は次のようになります。有線接続しています。
アプリケーションに ping を実行すると、応答時間は WriteFile の完了にかかる時間とほぼ一致するため、ハングアップがドライバーのどこかにあることがわかります。これを高速化するためにサンプル ドライバーでできることはありますか? 私は何を間違っていますか?
編集: 今日、内蔵アダプターの代わりに USB-Ethernet アダプターを使用してみましたが、パフォーマンスがさらに低下しました! 書き込みが完了するまでに 15 ~ 30 秒かかります。読み取りはほぼ瞬時に行われるため、これは非常に奇妙です。
Edit2: 私のドライバーには、読み取りスレッドと書き込みスレッドの 2 つのスレッドがあります。リーダースレッドを無効にすると、書き込みが即座に完了するようです。ファイルからの読み取りがファイルへの書き込みに影響するのはなぜですか?
windows - NDIS 6 の NdisChainBufferAtBack 置換
NDIS 6 でフィルター ドライバーを作成しています。NET_BUFFER の後ろにデータを追加したいと考えています。データを追加するために、NdisAllocateMdl
API を介して MDL を割り当てました。今知りたいのですが、この MDL を既存の MDL チェーンに追加するラッパーはありますか?
Next
そうでない場合、前回の MDL のポインタが新しく割り当てられた MDL を指すようにするのは正しいですか? また、追加された MDL を認識させるために変更する必要がある NET_BUFFER のフィールドは何ですか?
ndis - NDIS6 変更フィルター
元のパケットを独自のレイヤー プロトコルにラッピングすることを使用する NDIS6 用の変更フィルターに取り組んでいます。
独自のヘッダーを追加する前に、NdisRetreatNetBufferDataStart(pNetBuffer, sizeof(OurHeader), 0, NULL) を呼び出します。これは、http: //msdn.microsoftで説明されているように、NDIS がその「既定の」関数を介して独自に追加の MDL を割り当てることを前提としています。 .com/en-us/library/windows/hardware/ff570697%28v=vs.85%29.aspx (「エントリ ポイントが NULL の場合、NDIS は既定の方法を使用して MDL を割り当てます。」)
FilterSendNetBufferListsComplete の NdisAdvanceNetBufferDataStart(pNetBuffer, sizeof(OurHeader), TRUE, NULL) に注意します。
ただし、BSOD DRIVER_IRQL_NOT_LESS_OR_EQUAL が発生します。これは、IRQ ハンドラー内から一部のページ メモリがアクセスされたことを意味します (バグチェックの 3 番目のパラメーターで判断すると、読み取り操作)。
RetratXxx 呼び出しによってページ メモリが割り当てられ、そのデータを送信しようとしたときにミニポートがトラップされたのではないでしょうか? もしそうなら、その「デフォルト」のメモリ割り当て動作はどれですか?また、そのような場合に NdisRetreatNetBufferDataStart をどのように呼び出す必要がありますか?
ndis - NDIS6 の NetBuffer にヘッダーを追加する
NDIS6 LWF では、次のコード スニペットを使用して、DaiHdr と呼ばれる構造体をネットバッファーに追加してから送信します。
ただし、送信ルーチンに何か問題があるようです。特にこの作品が正しいかどうか誰かが教えてもらえますか?
windows - Windows でのアイドル状態のネットワーク フィルター ドライバーのパフォーマンス
Windows のネットワーク ドライバー フィルターに関する奇妙な問題に遭遇しました。ネットワークドライバーフィルターをインストールするだけでは、パフォーマンスが低下するようです。
1 ギガビット帯域幅接続のさまざまなシナリオをテストしていますが、CPU 割り込みが増加し、ネットワーク全体の使用率が低下しています。問題のインストール済みドライバーは、完全にパケット パススルー モードです (ユーザー モードに到達するパケットはありません)。
原因はドライバーですか、それとも、カーネル モードでパケットをスタック上の次のドライバーに渡すのではなく、何もしていない場合でも、インストールされているすべてのネットワーク フィルター ドライバーがパフォーマンスの低下を引き起こすのでしょうか?
このようなドライバーは仮想マシンにどのような影響を与えますか?
いろいろ調べても結論が出ません。どんなアドバイスでもとても感謝しています!
windows - バインド先のネットワーク アダプタを選択する国際化対応の正しい方法
「Microsoft Loopback Adapter」にバインドする必要があるアプリケーションがあります。すべてのネットワーク デバイスを列挙し、わかりやすい名前で文字列の一致を実行できますが、もちろん、これは国際的な Windows バリアントでは失敗します。
適切なネットワーク アダプタを識別する正しい方法は何ですか?
windows - NDIS ミニポート ドライバーの内部動作を理解する方法
私は、Windows ドライバーの開発は初めてです。
NDIS ミニポート ドライバーの動作を理解しようとしています (Microsoft WDK サンプルから)。特に、パケットの流れを理解すること。
多くの情報源によると、NDIS ミニポート ドライバーの 2 つのインスタンスをインストールして、そこから続行するという提案を目にしました。しかし、あいまいな情報しかないので、そこから先に進むことはできません。アドバイスしてください - 特に、Windows Debugger Tool をドライバーのインスタンスにアタッチする方法と、送信/受信パケットで呼び出されるコールバックを確認する方法について。
私のプラットフォーム: デバッグ モードが設定された Windows 7 x64 (デバッグ セットアップ: シングル コンピューター)。
同様の質問があります。ただし、ドライバーのデバッグ方法に関する情報はありません: NDIS およびミニポート ドライバー
windows - NDIS 仮想ミニポート ドライバーについて
Windows 7/8にnetvminiを構築してインストールしました。また、ある IP から別の IP に ping を実行できます。しかし、以下にリストされているその機能に関していくつかの疑問があります。
- OSIレイヤーに関して、ドライバーはどのレイヤーに配置されますか。
- ドライバーは、アプリケーションによって指定された IP アドレスを使用してパケットをルーティングしますか。
- NDIS プロトコル ドライバーの役割は何ですか。
- NDIS プロトコル ドライバーとミニポート ドライバーの違いは何ですか。
非常に役立ついくつかの回答を楽しみにしています...
user-interface - Wince6.0 上の WPA サプリカント ビルド
wince 用の wpa supplicant を作成したいと考えています。初心者として、どれだけの努力が必要かわかりませんか?移植に入る前に考慮したい主なことは何ですか? Windows XP で動作すると思うので、既存の ndis ドライバー インターフェイスを wince 6.0 に使用できます。wince レジストリから Windows zero config を無効にする方法は? wzc ui がネイティブ サプリカントの代わりに wpa サプリカントを使用できる方法はありますか?
アドバイスをいただければ幸いです..
よろしくアスウィン