【WDM】Windows Driver Model相談室【デバドラ】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG>>16
DbgPrintを簡単に見たいなら、
ローカルとLAN対応なDbgPrintビューア
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml
あと、青画面は例外ハンドラで防げるようですね。
//何も無いドライバ
#include <ntddk.h>
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
{
__try {
DbgPrint("in try\n");
//クラッシュ
IoDeleteDevice(NULL);
}
__except(EXCEPTION_EXECUTE_HANDLER) {
//例外が発生した
DbgPrint("in except\n");
}
DbgPrint("end\n");
return STATUS_SUCCESS;
}
0104デフォルトの名無しさん
NGNG他の関数でも使えるのかな?
0105デフォルトの名無しさん
NGNGhttp://www.osr.com/ddk/kmarch/other_23zb.htm
0106デフォルトの名無しさん
NGNGSoftEtherの作者は4冊のようだが。
http://www.softether.com/jp/journal/pic/IMG_1855.jpg
おれも、この4冊持ってるけど。
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNGペーパーでゴールドな漏れには関係なさそうだな
0109デフォルトの名無しさん
NGNGぜんぜん関係ねーだろw
0110デフォルトの名無しさん
NGNGそのくせやたら高かったりするから自費で買おうとは思わない。
自分にはサンプルソースを基点にリファレンス辿ってった方が遥かに理解しやすい。
0111デフォルトの名無しさん
NGNG月刊ドライバーのことかー!!!
0113デフォルトの名無しさん
NGNGもちろん、「月刊ドライバー」以外で。
「トランジスタ技術」は内容によっては出ることもあるみたいだが。
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG>>61- みたいに単発記事は極稀にあるけど、大抵は概要をかする程度
需要もほとんど無いし
0116デフォルトの名無しさん
NGNGところでWMDがどういう言いまわしの頭文字か気になるな。
普通に考えたらMDWのような気がするんだけど。Weaponが先頭に来るのか?
0117デフォルトの名無しさん
NGNGWeapons of Mass Destruction
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG肝心の内容はどうだったんだ?
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGWindows/System32 にブチこんで、
レジストリに登録して
リブートして、というのはやり方がわかるんですが、
/Program Files/Foo/Foo.exe をダブルクリックすると
/Program Files/Foo/foo.sys を実行する、
という風にしたいんですけど。
0122デフォルトの名無しさん
NGNGつまり、/Program Files/Foo/Foo.sys をレジストリに登録して、
なんかのAPIをコールして、、、というのではなく、
Err = WinNT_Load_SYS_Driver( char *path);
みたいなのがほしいんですけど、可能ですかね。
0123デフォルトの名無しさん
NGNGドライバのインストール、アンインストールできるけど。
レジストリの追加、削除は勝手にやってくれるよ。
0124デフォルトの名無しさん
NGNG変更されてしまうんですかね。
たとえば、ドライバ立ち上げ → 青画面即死 → OS再起動、
という手順を踏んだとき、レジストリには前のドライバの残滓が残っていそうで、
それがいやなんですよね。
とにかく、レジストリってトラブルの巣窟(2chではスクツですか?)なんで、
極力いじりたくないんですよ。
0125デフォルトの名無しさん
NGNG> 青画面即死
それはバグがあるだけ
> レジストリってトラブルの巣窟
それは理解が足りてないだけ
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG青画面がでれば、レジストリは残りますね。
でも、青画面を出しそうなコードをDriverEntry()に置かなければ
再起動時にインストールされても問題はないでしょ。
0129デフォルトの名無しさん
NGNGXPでAureal3D機能が制限されてしまったサウンドチップ「Vortex2」の
ドライバを操作して、XPでもAurealを使えるようにしようと思ったけど、
動作が不安定になったので、挫折しました・・・・(涙
上手い人なら動作不安定にならないドライバが作れるんですかね・・・?
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGプリンタドライバのプロパティで「紙サイズ」をユーザ指定にしたいんですが、
ヘルプファイルのサンプル通りにカスタマイズ指定の紙サイズエントリーだけをGPDに書くと、
「ユーザ指定サイズ」と表示されないんです。
数値を入れた定型サイズ指定のエントリーを加えると、
プロパティで「ユーザ指定サイズ」が選択出来るようになるんですが、
これで良いのでしょうか?ユーザ指定でなく入れた数値のサイズになってしまう様子なのですが・・・。
どなたかご教授願います。
0133デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4756133959/
アマゾンにエントリしてます。
どなたか、お売りください m(_ _"m)
0134デフォルトの名無しさん
NGNG外注さんがうちに持ち込んでるけどいい本だよ。
自分も購入依頼出したけど買えんかった。
0135デフォルトの名無しさん
NGNG(;´Д⊂)泣けてきたyo
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGこれってWriteFile()側の仕様でつか?63MBは無問題でした。
0138デフォルトの名無しさん
NGNGこういうのこそ電子書籍で復活してほしいねー
技術書って案外需要あるんじゃないだろうか。紙っぽい利便性を持ちつつ検索出来ればかなり便利なんだけど
0139デフォルトの名無しさん
NGNGこれの原書って
http://www.amazon.co.jp/exec/obidos/ASIN/0201695901/
これ?
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG逆にCQから出ているWindows2000デバイスドライバ入門は手っ取り早く理解するには良かったよ。
なので完全ガイド上下が本棚で眠っていて開きもしないけど,
そのうち必要になるかもしれないなぁと手放す気にはなれない。
技術書ってそうだよね。今はいらないと思っても将来必要になったり。
見つけたときに押さえておくが基本ですね。。。
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGhttp://www.sciencepark.co.jp:8080/bbs1/wwwboard.html
http://www.ouk.co.jp/ogawa/treecrsdx/index.cgi?
0145デフォルトの名無しさん
NGNG>技術書ってそうだよね。今はいらないと思っても将来必要になったり。
>見つけたときに押さえておくが基本ですね。。。
積ん読に体のいい理由を付けるんじゃない
0146デフォルトの名無しさん
NGNGサイエンスパークは8080のせいで会社から見れん。
もいっこのはヲチしてみますょ。
0147デフォルトの名無しさん
NGNGこのてのは必要な時に引く辞書みたいなもんだろ
普段から読んでるやついるのか?
0148デフォルトの名無しさん
NGNG(゚Д゚)?
0149デフォルトの名無しさん
NGNGhttp://wannabe.fam.cx/service/esexy/esexy.cgi?eSexyUrl=http%3A%2F%2Fwww.sciencepark.co.jp%3A8080%2Fbbs1%2Fwwwboard.html
0150デフォルトの名無しさん
NGNG見れたょ。�dクス
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGntdev
ntfsd
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGむずかしいね
そう、むずかしんだよ
サンプルまねても動きゃ-しない
0156デフォルトの名無しさん
NGNG関数、もしくは方法はありませんか?
0157デフォルトの名無しさん
NGNG仮想からマップさせて物理アド取得するんじゃダメなの?
0159デフォルトの名無しさん
NGNGOS管理外領域つかうってのは?
0160デフォルトの名無しさん
NGNGIoGetDmaAdapter()で得たハンドルを使ってAllocateCommonBuffer()するってのはどぉ?
0161デフォルトの名無しさん
NGNGhttp://tech.millto.net/~morry/vwin32/PhysMap/
これを煮るなり焼くなりはどうか?
0162デフォルトの名無しさん
NGNG1)ユーザーモードでアドレスを指定してVirtualAlloc()を呼び仮想空間を確保。
2)そのアドレス値をカーネルモードに渡し、MmAllocateContiguousMemory()で物理空間を確保。
確保できなかったら1)に戻る。
3)CR3レジスタから確保した仮想アドレスのテーブルを探す。そのテーブルを書き直し
確保した物理アドレスにマップする。物理→仮想アドレス変換はMmGetVirtualForPhysical()を使う。
試していないけど
0163デフォルトの名無しさん
NGNGうぷキボン
0164デフォルトの名無しさん
NGNGMmAllocateContiguousMemory()ってまずくね?
とにかくマップするだけの関数だったような。
0165デフォルトの名無しさん
NGNG0166156
NGNG基本的に>>162をベースに作りました。
ただ、物理メモリの空きを探すのにMmAllocateContiguousMemory()を使うのは
まずいようなので、PFNデータベースを参照しました。
(WinNT系のPFNの資料がほとんど見当たらなかったので、怪しいかも)
0167デフォルトの名無しさん
NGNG0168155
NGNG参考にしたサイト
http://www.codeproject.com/internet/drvfltip.asp
0169デフォルトの名無しさん
NGNGWindbgのシンボルサーバにはアップされているみたい。
XPのSP2 RC2でもコマンドが使えるようになった。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGhttp://WindowsBeta.microsoft.com
にあがってたよ。
ベータアカウント持ってる人に頼んでみたら。
0172デフォルトの名無しさん
NGNGドライバは、bulkusbのままでいいんでない?
FILE_FLAG_OVERLAPPEDで開いて、非同期通信して
タイムアウトしたら、CancelIo発行
0175デフォルトの名無しさん
NGNGDDKの勉強はじめたんですが、DDK付属のサンプルが
コンパイルできなくて困っています。
DDK_XPの \WINDDK\2600\src\network\ndis ディレクトリ内の
サンプルがすべてコンパイルでエラーを排出します。
エラーの内容
driver\passthrou.h(318) : error C2146: syntax error : missing ')'
before identifier 'DevicePnPEvent'
など多数のエラーが出ます。
環境:Win2k、DDK_XP(ネットに落ちてたもの)
setenv.batで環境変数は登録しています。
他のサンプルはしっかりコンパイルできるんですが、ndisディレクトリ以下が
コンパイルできません。
ndis.h か ndis.lib ファイルが壊れているのか?とも考えました。
初歩的質問ですがご存知の方ご教授ねがいます。
0176デフォルトの名無しさん
NGNGBuild Enviromentsのメニュー下にあるコマンドプロント使ってる?
BUILDで全部通ったけど
0177175
NGNGレスありがとう御座います。
Win2k FreeBuildでビルドしています。
javaSDKとか影響していたりするのでしょうか…
原因不明です。
特定のディレクトリのサンプルだけです。
DDKをアンインストールして再インストール後もこの症状が消えません。
sourceファイルもDirsも変更していないのですが…
0178デフォルトの名無しさん
NGNG>Win2k FreeBuild
でやってみると、確かにエラーが出るね。
XPだと問題茄子
0179175
NGNGXPで開発環境整えればいいんですね。
ありがとう御座いました。
こんなことでずっと悩んでないで、早く聞けばよかったです。
難解な課題山積みですがすこしがんばってみます。
0180デフォルトの名無しさん
NGNG違う、違う、Build EnviromentsのXP FreeBuildのコマンドプロンプトだよ。
誤解を招くような書き方をしてすまぬ
0181デフォルトの名無しさん
NGNGinc/ddk/w2kにはないヘッダーがあるからっぽいね
プログラマなら定義がないとかそんなのはエラーみてなんとかしんさい。
0182175
NGNGそうですね、これくらいは自己解決レベルですね。
どうも思い込むと発想の転換が下手でして…
コマンドプロンプトがXPなんですか…
0183デフォルトの名無しさん
NGNG某書店(埼玉県)で見つけて慌てて両方買った俺はヴァカですか?
探すと以外に見つからないんだよね、アレ。
0184デフォルトの名無しさん
NGNG貴重だからもっとけ
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNGちょっと後悔。
0187デフォルトの名無しさん
NGNGもっと解説本を出版汁!!
0188デフォルトの名無しさん
NGNG(OSはWinXP SP1、DDKはXP SP1 DDKです)
IoConnectInterrupt関数で割り込み関数を登録したのですが、登録した割り込み関数に
入ってくる割り込みは、必ずそのPCIボードの割り込みなのでしょうか?
デバイスマネージャでIRQを確認すると、そのPCIボードには16番が割り当てられており、
USBホストコントローラとマザーボードのグラフィックコントローラのIRQと共有しています。
割り込み関数に入ってくる割り込みが必ずそのPCIボードの割り込みであれば
それで問題はないのですが、仮に共有しているデバイスの割り込みも入ってしまう場合
入ってきた割り込みがどのデバイスが引き起こしたものなのかを判断する方法がわかりません。
どのような方法でそれを判断するのでしょうか?
0189デフォルトの名無しさん
NGNGhttp://www.sciencepark.co.jp:8080/bbs1/wwwboard.html
http://www.ouk.co.jp/ogawa/treecrsdx/index.cgi?
0190デフォルトの名無しさん
NGNGISRの中で自分のデバイスに訊いてみれば?
0191デフォルトの名無しさん
NGNGPCIボード自体から割り込みの他に「割り込み要因」をフラグかなんかでもらわないとダメでしょ。
要因が無ければ他のデバイスとか。
0192デフォルトの名無しさん
NGNGコインストーラを作りますか?
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGエラーセクタのリトライを止めたいのですけど、
どこを設定したらよいですか。
DeviceIOControlくらいは使えます。ドライバか、IDEやSCSIパススルー
なんかでやるんだと思いますけどどこを見ればいいのか見つけられません。
0195デフォルトの名無しさん
NGNG何がやりたいのかわからないけど、
それはドライバでやりたいの?
0196デフォルトの名無しさん
NGNGいや、分からないのです。出来ればVC、VBアプリからやりたいです。
0197デフォルトの名無しさん
NGNGエラーセクタのリトライってソフトでやってるのかね。
0198デフォルトの名無しさん
NGNGZMODEMの時代が終わったっぽいので、USBに切り替えたいんでつ。
でもWDM難しそうだし、何よりUSBホストのドライバ作ったら他OS(PC Linuxとか)でも同じ動作するドライバを作る必要がありそうな...
じゃあ、ドライバ作らずに、アプリとUSBに標準で付いてるドライバを組み合わせる形を思いつきましたが、そんなことは可能でしょうか?
USB-ZMODEMドライバなんて有るわけ無いよな...
0199デフォルトの名無しさん
NGNGいいんじゃねーかつーきがするが。
0200デフォルトの名無しさん
NGNGやりたいことはまさにそれなんですが、機器側の端子をUSBだけにしたいんでつ。
USBシリアルじゃ、ニセモノっぽくて...
0201デフォルトの名無しさん
NGNG少しは調べろ。USB<>シリアル変換アダプタじゃないぞ
■ このスレッドは過去ログ倉庫に格納されています