wdk-build、wdk-sys、wdk、wdk-panic、wdk-alloc、および wdk-macros を含む Rust crate 群
wdk-build クレートは、Windows Developer Kit(WDK)のバインディング生成とダウンストリームリンクのための Cargo ビルドスクリプトを設定するライブラリ
wdk-sys クレートは、WDK で利用可能な API に対する直接的な FFI バインディングを提供
wdk クレートは、WDK で利用可能な API に対する安全で慣用的なバインディングを提供
wdk-panic クレートは、WDK でビルドされたプログラム向けのデフォルトのパニックハンドラー実装を提供
wdk-alloc クレートは、WDK でコンパイルされたバイナリ向けに alloc をサポート
wdk-macros クレートは、wdk-sys の直接バインディングとの相互作用を容易にするマクロ群
- このプラットフォームは、WDM と WDF の両方のドライバー開発モデルをサポートするよう設計されている
- まだ開発初期段階にあり、商用利用には推奨されない
- このプロジェクトは、WDM、KMDF、UMDF ドライバーおよび Win32 サービスをサポートするよう構築されている
- 現在 crates.io で利用可能なクレートは KMDF v1.33 のみをサポートしているが、
windows-drivers-rs をクローンし、wdk-sys の build.rs で指定された設定を変更することで、その他すべてに対するバインディングを生成できる
3件のコメント
Hacker Newsの意見
QueueContext構造体の文脈における、Rustの慣用的な使い方についての議論がある。少し過小評価されているように思うので補足します。Russinovich は Windows カーネルに関して数多くの資料やツールを作ってきた人物です。Windows カーネル関連の開発者の中で(ルートキットを作った開発者たちを含めて)、Russinovich の資料や文書を見て学ばなかった人はいないのではないかと思います。
WindowsカーネルをRustで書き直しているという話は聞いていましたが、ついにドライバーSDKが出てきたのですね。近いうちに20XX年からはRustでドライバーを作れという告知が出そうです。