![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
とりあえず, 書籍が豊富なWin環境で
WDMを理解したいのか, WDFを理解したいのかでだいぶ変わりますが
基本はWDKをインストールした後, 付属のドキュメントとサンプルを解析するのが王道だと思います.
ただし, Microsoft提供のサンプルは穴だらけなので妄信は非常に危険.
いきなりサンプルを読めと言われても読めないケースが多いので,
先に浜田憲一郎氏の分厚いチュートリアル本を消化すると近道できると思います.
偏った書評かもしれませんが, 印象に残ってる書籍を以下に紹介.
浜田憲一郎著
・WindowsXPデバイスドライバプログラミング 入門と実践(WDM)
・Windows Vistaデバイスドライバプログラミング(WDF)
チュートリアルとして入門用に便利. ドライバのソースの読み進め方, 勘所が掴めます.
Walter Oney著
・Programming the Microsoft Windows Driver Model(WDM)
ドライバの概要が分かって来たら必読.
滝口 政光著
・WindowsXPフィルタドライバプログラミング 入門と実践(WDM)
一部使えるネタあり
Edward N. Dekker著
・WDMデバイスドライバプログラミング完全ガイド 「上」(WDM)
・WDMデバイスドライバプログラミング完全ガイド 「下」(WDM)
初心者にはお勧めできない・・・
いきなりこれ読んでも書けるようにはならないと思います.
No.4
- 回答日時:
Linuxドライバを書くのにWindowsの知識は要りません。
どっちかというとCをどれだけ使えるかの方が問題で、少なくとも関数ポインタをある程度理解していないと話になりません。
No.3
- 回答日時:
ドライバ開発って難しいと思います。
他の人も述べていますようにXPとVistaでも異なるくらいですから、
WinとLinuxでは「一から勉強しなおし」位の覚悟が必要と思われます。
私も経験あります.
ポートI/Oだけの簡単なものを作った時は
genportというサンプルを参考にし、
比較的容易に作れました。
ADC用ドライバも担当しました。
これは、高速動作が必要でかなり難しいと
予想されましたので
「WinDriver]
http://www.xlsoft.com/jp/products/windriver/prod …
使いました。
これだと、Linux版もありますので、
Linuxへの移植も楽になるかも知れません。
結構、いい値段するんですよ・・・・
「趣味」では手が出ないかも知れないですね。
余程の「セレブ」でないと・・・(笑)
No.2
- 回答日時:
XPとVista以降ではドライバのモデルが大きく変わったことで作り方も変わっているようです。
LinuxでもKernel2.4系以前と2.6系では大きく異なりますが、こちらは現行のディストリビューションがほぼ完全に2.6系に移行したので今更2.4系を覚える必要はあまりないかもしれません。
#1ではWindowsを紹介されているので、こちらはLinuxの書籍を紹介しておきます。
http://www.oreilly.co.jp/books/4873112532/
これが読めるくらいでないとLinuxでは書くのが難しいと思います。
この回答への補足
ご紹介いただいた本ではWindows未経験の開発者でも理解できますでしょうか?
それともWindowsを先に勉強したほうが良いですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ソフトウェア 工場の生産用PCにpciボート(pci2768c)を拡張するのですがドライバがわかりません。インター 1 2022/06/16 22:29
- 工学 身長187cmです。 趣味で電子工作を経験した方に質問です。 私は機械や電子機器の開発の仕事をしたい 3 2022/08/25 01:12
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- ビデオカード・サウンドカード グラボ交換するとUSB壊れる? 5 2022/06/26 02:07
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- その他(パソコン・周辺機器) Arrows Tab Q507/PBのカメラドライバを探しています 2 2022/07/13 18:13
- 教育・学術・研究 アイデア創出と学習による弊害について 持論をお聞かせください 2 2023/08/16 01:12
- その他(悩み相談・人生相談) カレー屋を開業しようと考えています。 が、全く素人でこれから勉強していきます。 カレー屋で大量に作る 6 2022/12/31 21:13
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- アプリ Webやアプリの制限が可能なWindowsアプリケーション 4 2022/11/10 12:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VisualC++でのゲーム製作の質問...
-
Windows Media Playerを開くと...
-
iCloudフォトライブラリ内の画...
-
c言語の標準cライブラリのみで...
-
ライブラリ作成時のグローバル...
-
unix-c と linux-c の違いは?
-
String^の^自体が何を意味して...
-
VB.NET とドットNET(.NET...
-
【iTunes】CDをiPhoneに取り込...
-
gcc に mktemp 危険と怒られ...
-
HTMLってホームページ以外どん...
-
C言語を学ぶには・・・
-
VC++を使って「ストリートファ...
-
基幹システムからデータを抽出...
-
C++/CLIで画像処理
-
本格的なGUIを作るのにおすすめ...
-
MicroPythonコード
-
DirectX Graphics と OpenGLっ...
-
python urlopen error について...
-
C# EXCELセルの入力規則設定に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IPアドレス、サブネットマスク...
-
大阪梅田でプログラミング関係...
-
MPWでCをするには?
-
Qtを勉強するのに何か良い書籍...
-
VC++6.0で新しいウィンドウを表...
-
eclipseで関数printfを解決でき...
-
機械学習の学習ステップ
-
C++のおすすめの本を教えてくだ...
-
OLEの構造化ストレージについて...
-
C言語等での画像処理の勉強方法
-
VisualBasicプログラミング技術...
-
ヤフー知恵袋みたいなサイトを...
-
タイピングゲームのプログラミ...
-
Android開発の詳しい本
-
VBでシューティングを製作する...
-
NCルータープログラム学習方法
-
プログラミングでロジックを調...
-
プログラミングの次に何を勉強...
-
T-kernelに関しての質問です。
-
C/C++でHTMLソースの取得はでき...
おすすめ情報