Windows OS のドライバー スタックとは何ですか?
私はNDISの資料を読んでいましたが、それが何であるかわかりません。
Windows Driver Model (WDM) では、バスドライバーと ファンクションドライバーの少なくとも 2 つのドライバーによって特定のデバイスが処理される階層化されたアプローチが使用されます。デバイスには、値を追加したり、デバイスの動作を変更したりするフィルター ドライバーが含まれている場合もあります。デバイスにサービスを提供するドライバーのチェーンは、ドライバー スタックと呼ばれます。
(出典: http://www.microsoft.com/whdc/archive/wdmoverview.mspx )
次も参照してください: Device Driver Introduction、具体的には「デバイス ドライバー スタック」のセクション 5 。
設計パターンに精通している場合の 1 つの良い比喩は、Decorator です。例として、BufferedReader とその他の種類のリーダーを取り上げます。したがって、基本的な(そしておそらくあまり効率的ではない)リーダーがあり、それをバッファリングしてパフォーマンスを高速化する方法を気にせずにオンザフライで実行したいので、基礎となる Reader オブジェクトをラップする BufferedReader を作成します。
ドライバー スタックの概念は似ています。デバイスに文字を書き込む下位レベルのドライバーがあるかもしれませんが、その上に、取得したすべての文字をごちゃまぜにする別のドライバーを接続することができ、基本的には暗号スタック全体を持っています。そうすれば、基礎となるドライバーは、起こっているこの「魔法」全体について何も知らず、まさにそのために作られたこと、つまりブロックデバイスに文字を書き込むことを行っています。