SSブログ

Visual Studio を使ってドライバをコンパイルする方法(暫定版) [ドライバ開発]

http://alter.org.ua/en/docs/nt_kernel/vc8_x64_proj/
Building NT kernel mode drivers in MS Visual Studio 8.0 (VS 2005) for x64 (AMD64) platform

DDKのサンプルは全部Makeファイルになっているので開発が非常にだるい。と思っていたところ、こんなものを発見したので暫定メモ(動作確認はまだ)。

手元のVisualStudio2003と2005を比較したところ、サブシステムのところに、いくつか項目が増えていた。2003ではConsoleとWindowsしかなかったが、2005ではNative他いくつかの項目が追加されている模様。新しいWDKによるものかは不明。

詳細は省くが、

・空のDLLプロジェクトを作る

C/C++
コード生成
・バッファのセキュリティチェック:いいえ (/GS-)
詳細
・呼び出し規約:__stdcall (/Gz)

リンカ
全般
・インクリメンタルリンクを有効にする:インクリメンタル リンクを行わない (/INCREMENTAL:NO)
・インポートライブラリの無視:はい
入力
・すべての規定のライブラリの無視:はい (/NODEFAULTLIB)
・追加の依存ファイルにntoskrnl.libとHal.libを追加
システム
・サブシステムを"ネイティブ (/SUBSYSTEM:NATIVE)"
・ドライバをドライバ (/DRIVER)
詳細
・エントリポイント:”DriverEntry”
・コマンドラインに"/safeseh:no" を追加
でいけるっぽいが、まだ動作未確認。

ドライバのインクルードファイルやライブラリはPlatformSDKとはかなり相性が悪いので、

2003でもコマンドラインオプションから追加すれば、nativeオプションが指定できるが、ドライバオプションが無いので、ベースアドレスとかいじらないとだめっぽい。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。