【WDM】Windows Driver Model相談室【デバドラ】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
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<>シリアル変換アダプタじゃないぞ
0202デフォルトの名無しさん
NGNG「USB<>シリアル変換アダプタじゃない」ドライバか何かが存在する、と?
はつみみです。
0203198
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGもしかして、
USB⇔シリアル変換モジュール
でつか?
確かに見た目USBだから良サゲ。
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGさらに、Linux版も同時開発できまつか?
0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNGBULK転送でデータを送受信するくらいのものなら、
DDKのbulkusbをほとんどそのまま使える
linuxの方は、ここだとスレ違いだが、WDM書くより簡単に思えた
0210デフォルトの名無しさん
NGNGそんなことないYO!
WDMとLinuxと同時開発方法とか教えてYO!
0211デフォルトの名無しさん
NGNGwindowsの方は、DDKにサンプルあるし、
linuxの方は、あちこちにソースあるだろうから、そう苦労しないと思うけど
とりあえず、参考資料
WindowsXPデバイスドライバプログラミング 入門と実践
http://www.amazon.co.jp/exec/obidos/ASIN/4774118419/
詳解Linuxカーネル
http://www.amazon.co.jp/exec/obidos/ASIN/4873111331/
LINUXデバイスドライバ 第2版
http://www.amazon.co.jp/exec/obidos/ASIN/4873110815/
0212198
NGNG別スレで、Win32の中の人がCLI/WinFXになるから、CLIがネイティブになると盛んに言われてます。
(ドライバなんかもマネージドになっちゃうんだろうか?)
今までのドライバの動作が遅くなって、ドライバもCLIで作れ!なんてことは発生しえるのでしょうか?
ドライバはOSの命とまでは言わなくても、それなしでは機器を制御出来ないわけですが、
VBを丸々捨てたM$ですから、今までのドライバを丸々捨てられることはあながち無いとも言い切れないような。
と考えると、データ転送ならUSBドライバ作るよりLANポートと標準ドライバの方が良いのかな???
でも、機器側のIPとかネットに入るの大変なんだよな。
と、独り言ですた。
0213デフォルトの名無しさん
NGNG0214198
NGNGやっぱIP設定があるのでUSBにします。
シリアル <-> USB 変換器
はどうなのか教えて下さい。
0215198
NGNGm$もLinuxもそういうことはしてくれませんか。
0216デフォルトの名無しさん
NGNGおまえさー、
>ZMODEMの時代が終わったっぽいので、USBに切り替えたいんでつ。
って自分で言っておいて何でUSB側をZMODEMにせなあかんねん。
0217198
NGNG確かに自己矛盾してますた。
開発なんて矛盾があるところの調整みたいなもんだし、、、
出来上がりはバリバリのUSBが良いけど、中の人がZMODEMであれば開発楽だなー、と。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGハブを経由するとデータが落ちてしまうことがある。
これってハブが悪いって断言していいのだろうか?
装置側が悪いってこともあるの?
0222デフォルトの名無しさん
NGNG他の機器が動くなら、御社に難あり。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG難しいのを意外だと思う奴がいることが意外。
0225デフォルトの名無しさん
NGNG実際にSCSIコマンドを作成して、コマンド転送している部分が載ってる
ソースはありますか?
bulkusbなんて、バルクオンリーでSCSIコマンド転送してそうな感じが
したんですけど、IoCallDriverかなにかで全部丸投げしていて、肝心
のCBWを作成してる所や実際に転送してる所が判りませんでした。
CBW == SRB
CBWCB == CDB
という認識は間違って無いですよね?
0226デフォルトの名無しさん
NGNGbulkusbは、バルク転送でデータを送るだけ
SCSIコマンド云々は自分で実装しる
>>211で出てる
>WindowsXPデバイスドライバプログラミング 入門と実践
>http://www.amazon.co.jp/exec/obidos/ASIN/4774118419/
で、CDのストレージデバイスクラスを作成してるサンプルがあるから、参考になるかも
0227225
NGNGありがとうございます。
紹介してもらった書籍はあるので、これからは書籍ベースで解析してみます。
とは言うものの、Win32アプリからI/Oに送ったWriteFile()等のメッセージがIRPに
詰められて送られて来るとは思うのですが、そこからSCSIコマンドに直すところが
どうにも不明なところで、実際にやってるソースは無いかなと思ったのです。
0228デフォルトの名無しさん
NGNGファイルシステムフィルタドライバを作ろうと思ってます.
そこで,マイクロソフトのIFSキットでいるのでしょうか?
フリーのIFSキットあると聞いたんですけど,よくわかりません.
OSRのFSDKはダウンロード先が書いてないような・・・・
どなたか知っていたらお願いします.
0230デフォルトの名無しさん
NGNGext3ifsってのがあるよ
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGフィルタドライバならDDKだけでいけるよ。
Filemonのソースを見れ。
0233デフォルトの名無しさん
NGNGご存知の方、教えてください。
0234デフォルトの名無しさん
NGNGフィルタドライバ実践の書籍は手元にあるので,読んでいるところです.
>>230
有難うございます
ソースをダウンロードして読んでみようと思います
これはIFSキットとは別でファイルシステムドライバそのものなのかな?
>>232
ご指摘有難うございます
サンプルを読んでみます
0235デフォルトの名無しさん
NGNGファイル一つ送るだけなのに、全部で30個のコマンド(コマンド転送、
データ転送、ステータス転送が一括りとして10個のコマンド)を送って
いて少し驚いています。
そこで質問なのですが、実際に書き込みたいデータ
(Write10のコマンド転送、実データ転送、ステータス転送)
を送っている所は、1個所しかなく、他の部分で行われ
ている処理も、SCSIコマンドを読み解くとWrite10のコマンド転送、
データ転送(何を転送?)、ステータス転送しています。
USBに書き込みたいファイルの中身を転送している場所以外のWrite10
コマンドは、何をしている所なのでしょうか?
どなたか、宜しくお願い致します
0236235
NGNGその上記の知りたい部分のByte配列で読みとれる部分には、
MSDOS5.0
NO NAME
FAT16
等の記述がありました。
USBの情報を取得しているなら、この部分のコマンド転送部の
CBWCBにはReadが来ると思うのですが、これもWriteなのです。
0237デフォルトの名無しさん
NGNGMass Storage デバイスの話しだよな?
http://www.usb.org/developers/devclass_docs
↑からマスストレージクラスの仕様書落として、読んでみたら?
0238デフォルトの名無しさん
NGNGよくわからんが、ファイルを書き込むならFAT領域なども当然更新
書き込みされる。で、それ以外の場所に何故か書き込むとかそういう話?
0239235
NGNGはい、Mass Storageの話で、紹介頂いた仕様書も
一応目を通しています。
>238さん
>よくわからんが、ファイルを書き込むならFAT領域なども当然更新
>書き込みされる。で、それ以外の場所に何故か書き込むとかそういう話?
それ以外の場所に、と言うよりは、書き込みたい内容の分(ファイルの実データ)
だけWriteすれば良いものだと思っていました。
それがUSBモニタで、ファイルをUSBメモリに書き込んだ全パケットを監視すると、
書き込みたいファイルの転送の前に、前処理の様にwriteが走っており、さらに
書き込みたいファイル転送の後には、後処理の様にwriteが走っています。
前処理部分で読みとれるのは>236で書いたとおりで、後処理では良く読みとると
(>236を書いてから気が付いたのですが)ファイル名らしき物がデータ転送部に
ありました。
その、此処で便宜上に言った前処理と後処理(それも含めてファイル転送なので
しょうが)について、そこで何が行われているのか教えて頂きたいのです。
たぶん前処理は、>238さんの仰るFAT領域などの更新処理なのかと思っています。
長文の上、説明下手で申し訳ありません。
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGそもそも「ファイルシステム」とは何か、ということを調べるといいと思う。
ちゃんと。
0244デフォルトの名無しさん
NGNGそれか、m$が配布してるバルクUSBサンプルの方が良いで塚?
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGちょっと処理足すだけでOKなんでつか?
0247デフォルトの名無しさん
NGNG転送単位が256B単位になっててHi-speedで使えんかったから増やしてみた。
あとは、もうちょっと速くするための工夫を挿れてみたとか。。。
0248デフォルトの名無しさん
NGNG本読んでみたら、Bulkてのが基本的なパケット通信みたいね。
とりあえず、BulkUsbのソース印刷してみまつ。
0249デフォルトの名無しさん
NGNGどうしたことでしょう。
0250デフォルトの名無しさん
NGNGインストールのチェックで抜かしたんじゃない?
0251デフォルトの名無しさん
NGNGインストールし直して入りますた。
0252デフォルトの名無しさん
NGNGWindowsNT/XPで、LPT1をCreateFileしてDeviceIoControlしたいのですが、
なにをやってもロジアナに反応しません。入り口でつまづいてます。
標準ドライバとかBIOSとか、その辺の設定に問題があるのでしょうか?
0253デフォルトの名無しさん
NGNGサンプル位しかないのかなぁ
0254デフォルトの名無しさん
NGNGこれぐらいしか知らない
http://www.sciencepark.co.jp:8080/bbs1/wwwboard.html
http://www.ouk.co.jp/ogawa/treecrsdx/index.cgi?
0255デフォルトの名無しさん
NGNG情報交換系ですか
勉強するためのサイトがよかったですが、掲示板でも見ていれば勉強になりますね
ありがとうございます
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG印刷結果を画像出力したいのですが、どのサンプルを見ればよいのか教えてください
XP_DDKの内容でお願いします。
0258デフォルトの名無しさん
NGNGftp://ftp.atfile.com/download/WindowsDDK/
http://club.shelek.com/viewfiles.php?id=2
0259デフォルトの名無しさん
NGNG2003DDKはないようですね
0260デフォルトの名無しさん
NGNGそれは注文するしかないってことか。
探せばありそうだが。
0261デフォルトの名無しさん
05/01/28 11:46:160262デフォルトの名無しさん
05/01/28 14:50:20質問が漠然としすぎです
0263デフォルトの名無しさん
05/01/30 17:37:26Ke386IoSetAccessProcess()
と同じような関数ってx86-64にありますか?
0264デフォルトの名無しさん
05/02/03 20:28:32ドライバ上でI/O使えばいいじゃんかよ
0265デフォルトの名無しさん
05/02/11 03:09:29XP checkedをインストールして /debug /debugport=COM1 /baudrate=115200としたのですが
いざ再起動させてみると COM1は相変わらずデバイスマネージャに存在し
当然ホスト側からも接続出来ませんでした
/debugport=COM1を付けたのにもかかわらず
COM1が普通に鎮座している事についての理由が判りません
ささいな事で構いませんので何か教えて頂けるとありがたいです
0266265
05/02/11 09:35:011. 現在ターゲット用に使っているPC以外は /debugport指定によりCOMが占有される
2. ターゲット用PCにはCOMポートが一つしか存在しない
3. 他PCにはCOMが二つついている
>>20氏とはデバイスマネージャにCOMが鎮座しているかどうかの差があるけど
おそらくCOMが1ポートかどうかで COMをデバッグ用に使えるかどうかが決まる?
この推測が正しいかどうかは知りませんが情報が無いよりましかと思い postします
0267デフォルトの名無しさん
05/02/11 17:18:27ターゲットは一般的なマザーボード使ったデスクトップPCだよね?とりあえず試しに通信速度sageてみたら?
0268265
05/02/12 08:13:16845Gチップセットをつかった microATXな一般的マザーです
ただしCOMが1ポートしかありませんが・・・・
通信速度は 19200〜115200まですべて試しました
HyperTerminalで相互通信確認も行いましたです
/debugport指定したのに COMが占有されないのが今回の問題かなと
0269デフォルトの名無しさん
05/02/13 19:02:02デバマネでCOM1のI/Oポートアドレスって確認できる?他のPCと一緒かな?
/debugmodeのターゲットPCは直接I/Oポートいじってると思うんだけど。。。タブン
027020
05/02/15 00:02:00COMが1ポートだとダメなのかな?ノートPCもCOMが1ポートしか無いです。
0272デフォルトの名無しさん
05/03/03 16:38:32Ntfsに渡されているメジャーファンクションとIOを見張る
フィルタドライバを作りたいのですが、
(動きとしてみれば、Filemonみたいに、DeleteやCreateなどをフックしたい)
正直な話、インストールの方法(infファイルの書式)がわかりません。
GUIDやClassの部分が肝になってる気がするのですが…。
当然インストールができないため、ドライバ自体も作ってはみたものの、
動いてるかどうかの確認ができない状況にあります。
filemonの作者様がソースを後悔していれば、即時解決なきがするのですが、
filemonはなぜかソースが後悔されていません…。
ドつぼにはまってます。
誰か情報をお持ちのかた、どんな情報でもかまわないので、
馬鹿な私に知恵を与えてください。
よろしくお願いします。
0273デフォルトの名無しさん
05/03/03 16:46:32> filemonの作者様がソースを後悔していれば、即時解決なきがするのですが、
> filemonはなぜかソースが後悔されていません…。
ああいうのはソース公開して欲しいよねぇ。
ということでお前。解決したらソース公開しるw
0275デフォルトの名無しさん
05/03/03 19:55:450276デフォルトの名無しさん
05/03/03 19:59:280277デフォルトの名無しさん
05/03/04 09:03:46InfのClassやGUIDがわかんねーって書いてるってことは、
レジストリの直接いじる部分もわかんねーってことじゃないの?
俺はあまり詳しくないから、断言できないが・・・。
■ このスレッドは過去ログ倉庫に格納されています