X



WindowsDDK各種についてのスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
NGNG
Microsoft Windows Driver Development Kits
http://www.microsoft.com/ddk/

注意:
いつの間にやらDLできなくなってる。
CDを注文する以外に方法はない。しかも送料が$25。

古いバージョンについて
Microsoft Windows DDK Version Retirements
The Microsoft® Windows® 2000 DDK, the Microsoft Windows 98 DDK, and the Microsoft Windows NT® 4.0 DDK are no longer be available for purchase or download on this site.
0182179
垢版 |
NGNG
スマソ、分かりません。
というか、漏れがDDKを使って開発しようとしているのが
>>181と同じ。OS/2なら標準機能なのに。
0184179
垢版 |
NGNG
>>183
thnx!!
これを参考にしてちょっとした工夫を加えてみる。
0186デフォルトの名無しさん
垢版 |
NGNG
Windows2000でASPI経由でSCSIコマンドを発行しようと思ってます。

http://support.microsoft.com/default.aspx?scid=kb;en-us;310072&sd=tech
を適用してデバイスマネージャに認識させることまではできたんですが、
いざコマンドを出すとLUN8以上でSS_NO_DEVICEが返ります。

解決法等心当たりがある方はお願い致します。
0187デフォルトの名無しさん
垢版 |
NGNG
CD-ROM(CDFS) の geometry を得たり、中身をベタで hex 表示したくて、
winXP では、nt4ddk を見て、できるようになったのですが、win98 でも
できないかと 98ddk.exe などを落として来て調べていますが、難渋して
います。
win98 では、Vwin32 を開いて、Ioctl() で、アクセスできないのでしょうか。
FAT, FAT32 は、vector にあった fd_rw にソースがあり、これに似た処理が
できれば、よいと期待しています。
0188デフォルトの名無しさん
垢版 |
NGNG
age
0189デフォルトの名無しさん
垢版 |
NGNG
おまえなんかででけ。
0190187
垢版 |
NGNG
morry さんのサイトの、VxDCall で、int 2Fh を呼ぶ方式で、win98 でも
CDFS を覗けるようになったけど、kernel version が違うせいか、winXP
では、起動しないアプリケーションになってしまった。
0193187
垢版 |
NGNG
単なる趣味のプログラマです。なんでも閲覧アプリを作っています。
起動しているOSを調べて、9x なら VxDCall するルーチンを呼ぶようにした
のだけれど、リンクした lib が 9x の kernel を参照しているので、ダメなの
です。今のとこ、#ifdef - #endif で、9x と XP とは分けるようにしたのだけ
れど、この後2本立ては面倒なので、9x 対応部分は dll にしようかなと思って
います。
それにしても、9x では、こんな面倒なことしないと、CD-ROM のセクタ読みが
出来ないなんて、どうなってるのでしょうね。15セクタまでも読めないし。
0195187
垢版 |
NGNG
>>194
早朝からガイドをありがとうございます。
NT DDK を入手して5日目ですが、CDFS で追求してきて、fd_rw の DeviceIoContorl() 依存に
したがったのが、回り道になった気もしています。
SCSI 制御を少し調べます。
また、質問したときは、よろしくお願い致します。
0196187
垢版 |
NGNG
SCSI 制御はまだ途上ですが、ちょっと分からないことが出てきたので、教えて
下さい。
winXP で、CD-ROM の DISK_GEOMETRY を、MSDN の、
How Win32-Based Applications Read CD-ROM Sectors in Windows NT
のサンプル通りに、IOCTL_CDROM_GET_DRIVE_GEOMETRY で DeviceIoControl()
で、取得したのですが、Cylinders が、HiPart も LowPart もゼロで出てくる
CD-ROM(media) にぶっつかりました。(別の CD-ROM media では、LowPart が
0x99 なんて出てきていました。)
この media は、別の CD-ROM property を見るソフトで見ると、総セクタ数が
1,710 ですが、構造体 DISK_GEOMETRY の要素からはこの数はどうやっても計算
出来ません。
この DISK_GEOMETRY の求め方は、当てにならないということでしょうか。
それとも、この media が特殊ということでしょうか。16 sector に CD001 は
あります。
0198187
垢版 |
NGNG
>>197
レスをどうもありがとうございます。
愚痴になるけど、
IOCTL_CDROM_GET_DRIVE_GEOMETRY でぐぐると、結構出てくるのは、何な
んでしょうね。
0200187
垢版 |
NGNG
>>199
お聞きのことが、よくわかりません。
198 は、IOCTL_CDROM_GET_DRIVE_GEOMETRY で検索すると、これで、
CD-ROM sector を読むサンプルや説明があるということです。
また、196 で、media といったのは、CD-ROM というだけでは、
FD, HD, MO といった分類に聞こえるので、円盤自体をいいたかった
ためです。
用語も厳密に理解していないため、誤解を与えたらお詫びします。

ASPI については、adaptec の driver の download の中に pdf で
technical reference があったので、それを見ていますが、access で
READ CAPACITY 相当のコード例が見つからず、なかなか進みません。
0202187
垢版 |
NGNG
>>201
お教えいただきありがとうございます。
また、新しい用語が出てきて、○×△です。ボチボチ読みます。
ntddscsi.h が必要らしいのが分かって nt4ddk の中を探しましたですよ。
ところで、ANSI は移転したんですねえ。
0203199
垢版 |
NGNG
>>200
あ、誤解や有用なサジェスチョンとかじゃなくて、マルチセッションがらみで
その辺の仕様に影響がでていたような記憶があったので、ROM と R(RW)
で違いがあるのかな、と思って聞いてみたわけです。
0205187
垢版 |
NGNG
>>203
ゆくゆくは、Mac も Unix のも読めるようにしたいと思っていますが、
今は、16 sector に CD001 があるものを読めればと思っています。
17 sector 以降にもいろいろエントリがあるようですが、まだその意味
まで把握していません。CD-RW は容量も違うので、ちょっと違うかなと
想像していますが、CD-R は焼けば、CD-ROM ではないかという程度の
理解です。
vector にあった、fd_rw のソースを生かしたいと、読んだデータを
BPB とかに合わせようとしていますが、197 の方がご指摘のように
CHS はないですから、CD001 形式に限れば、16 sector を読んで、
そこにあるデータを分解すれば、こと足りるわけです。

余談ながら、DiskEditor というソフトで、総セクタ数を見ると、
16 sector の total sector より 0x10 少ないのも気がかりなこと
です。0 - 15 sector は含めないということでしょうか。
0206187
垢版 |
NGNG
>>204
DDK って買うものみたいで、download も出来るので、変な印象を持って
います。
ntddscsi.h が見つからず、他に ddk があるかと探しましたが、ms の
サイトでは、ftp サイトの dir のリストを許してくれませんでした。
どんな SP があるか分かるといいですよね。
尚、ntddscsi.h は、nt4ddk にひそんでいました。
0207デフォルトの名無しさん
垢版 |
NGNG
DDKを入手することで手に入るのは、デバッグ用シンボルテーブルの付いた
カーネルおよびその他周辺プログラムのイメージという理解でいいですか?

と考えると、SPがOSのcoreの総とっかえということからして、DDKのバージョンも
SPの数と同じだけあることになりますね。
0211デフォルトの名無しさん
垢版 |
NGNG
あのー
学生でPGバイトしてて
ddk使って〜な機能のもの作れって言われたんですがー

バイトで半年やってるだけの人にできるんでしょうか
0213デフォルトの名無しさん
垢版 |
NGNG
>>211
半年という期間はどうでもいい、君の知識と能力次第だ。
出来る人もいれば、出来ない人もいる。
自分で判断できないようなら、君は間違いなく後者に属すると思う。
0214デフォルトの名無しさん
垢版 |
NGNG
>>211
ドライバの本を買って読めば、そのうちなんとなくわかってくるよ。
0215211
垢版 |
NGNG
>>214
やっぱ,本とDocument読んでがんばるしかないんですね.
がんばります
0218デフォルトの名無しさん
垢版 |
NGNG
|;´-`).。oO(IFS キットって、何であんなに高いんだろう?
0220デフォルトの名無しさん
垢版 |
NGNG
まあフリー版IFSで結構ファイルシステムドライバ書いてる人は
多いみたいなんで、そっちでいくってことで。

しかしあれはドキュメントも何もないのに彼ら(↑の書いてる人)は
どうやって開発方法とか学習したんだろう?
0221211
垢版 |
NGNG
あーバイトには無理みたいです
というか,自分には無理でした.

もう,前に進む気がしない
でも,社員は,進んでると思ってる.
0223211
垢版 |
NGNG
やる気はありますが,
DDK経験者の社員がいないので,聞けない状況です.

今度,今の状況を詳しく説明して,まだやれって言われたら
もうちょっとがんばってみます.

ホントはバイト先変えたいのですが,
それが終わらないと辞めますもいえないし T T
0224デフォルトの名無しさん
垢版 |
NGNG
いきなり、激しい質問をしてしまいますが、プリンタードライバーを開発しようと
する場合にはDDKを入手すればなんとかなりますか?
0226デフォルトの名無しさん
垢版 |
NGNG
ファイアーウォールと実行ファイルを実行させないツール(BlackICEの実行制限機能の簡易版みたいなの)が作りたくてDDKを購入したのですが何から手をつけていいのかわかりません。
本屋でDDK関連の本を立ち読みしたのですが、どれも内容はUSBのドライバに関するものばかり。

USBのドライバでも学べば他のツールを作れるようになりますか?
0228226
垢版 |
NGNG
>>227
あなたなら作れますか?
0230デフォルトの名無しさん
垢版 |
NGNG
d;rxscacsr
0231226
垢版 |
NGNG
>>229
ありがとう。
ソース読んで挑戦してみます。
0232226
垢版 |
NGNG
すみません。忘れてたした。

>『ファイアーウォールと実行ファイルを実行させないツール』
>『ファイアーウォール』と『実行ファイルを実行させないツール』
>どっちだ?
『ファイアーウォール』と『実行ファイルを実行させないツール』の方です。
0237デフォルトの名無しさん
垢版 |
NGNG
0238デフォルトの名無しさん
垢版 |
NGNG
USB使う場合って、標準USBドライバに合わせるべきなんか、
独自USBドライバ作るべきなんか、
どうやって判断してまつか?
0240デフォルトの名無しさん
垢版 |
NGNG
標準クラス一覧を日本語で読めるところ無いかな...


それと、DDKでなくて、ツールを購入すると50マソ近くするみたいですが何とかなりませんか。
関数を一杯作るんでなくて、クラスライブラリの派生で作りたいでつ。
0242デフォルトの名無しさん
垢版 |
NGNG
ファイルシステムドライバってプラグアンドプレイとか電源管理ってやらないんですか?
0243デフォルトの名無しさん
垢版 |
NGNG
参考になったのであげ。
0247245
垢版 |
NGNG
>>246
Internet ArchiveにはHTMLは全部残っている。画像がかなり足りないが。
http://web.archive.org/web/20040125191913/tech.millto.net/~morry/

で、久しぶりにその内容をじっくり読んで実験を行ってみたところ、
Win32アプリ単体で下位1M領域にメモリを確保することに成功。
もちろん、Win32アプリからBIOSを呼び出すこともできた。
0251デフォルトの名無しさん
垢版 |
NGNG
>>245があったのは無料サーバだし
運営会社が消滅してるのにサーバが存続してるという謎の状態だから
コストの問題で閉鎖したのでないのは明らかだが。
0252デフォルトの名無しさん
垢版 |
05/02/09 23:55:56
sysなどを作るときに使う
build.exe っていったいなにをやってるんですか?
nmakeを呼び出してるんですか?
cl.exeを呼び出してるんですか?
0253252
垢版 |
05/02/10 23:03:13
初心者ですいません
自分で調べたら,
setenv.batが設定をして,buid でnmakeを呼んでました.
nmakeが,cl や link などを呼び出していました.
0254246
垢版 |
05/02/20 03:12:40
>>247
暫くこのスレ見てなくて気づかなかった。
教えてくれてありがとう。
入手困難な古い技術書とかマニュアルとか、
ああいう世界へ行ってしまったよーな気分だった。
0255デフォルトの名無しさん
垢版 |
05/02/25 11:28:20
vmwareとかcolinuxを見てると、Windowsのドライバという形で
なんでも実装できるんだなと思わせられますね。
二つともcr3やgdtrとかldtrを制御が回ってくるたびに書き換えてるわけでしょ?
0256デフォルトの名無しさん
垢版 |
05/03/09 01:20:27
Windowsがリング0とリング3しか使ってないことを利用して、
仮想マシンはリング1で動かしてるんじゃなかったっけ? >vmware
非特権命令のsgdtあたりをどうごまかしてるのか知らないけど
0257デフォルトの名無しさん
垢版 |
05/03/10 20:06:19
>>256
これが概要図としては分りやすそう。
http://www.extremetech.com/article2/0,1558,1156611,00.asp

これを読む限りじゃVMX driverとVMMはring0で動いてるらしい。
CPUとメモリはVMMが直にアクセスしてるところを見ると、
VMX driverが連続した物理メモリ領域を確保して、VMMにコンテキスト
スイッチするたびに、うまいことやってMMU関連を誤魔化してるんだろか。
0258デフォルトの名無しさん
垢版 |
2005/03/28(月) 09:13:56
USBのドライバである.SYSを作成したいんですが、
コンパイラはVC++本体ですか?
それとも、Development Kitsのコマンドプロンプトですか?

それと、プロジェクトファイルを作るときは、EXEと同じ感じで良いのでしょうか?
0259デフォルトの名無しさん
垢版 |
2005/03/28(月) 11:46:32
ビルドは、DDK付属のbuildコマンドで行います。
プロジェクトを作るときは、makeプロジェクト?にしましょう。
外国産のツールなどで、VCでもビルドできるようには出来ますが
あくまでもbuildコマンドを使うのが基本のようです。

また、buildコマンドを実行する前に環境変数の登録等(DDKにバッチファイル付属)を行うようにします。
SOURCES、MAKEFILEの準備も忘れないで下さい。
0260デフォルトの名無しさん
垢版 |
2005/03/28(月) 14:05:16
Win32からFriendlyNameを変えるのはSetupDiSetDeviceRegistryPropertyでいけるんですが
ドライバ側からFriendlyNameを変えるのってどうやるんでしょうか?
同じデバイスをいっぱい繋げてるんですがデバイスマネージャで見分けるのに
デバイスから固有の情報をもらってFriendlyNameを変えるようにしたくて…
0265デフォルトの名無しさん
垢版 |
2005/04/07(木) 00:21:44
DDKサンプルをcygwinのgccでコンパイル,
リンクすることは可能でしょうか?

いちおう,kernel32.lib -> libkernel32.a
のように,対応するライブラリファイルはあるようです.
0266デフォルトの名無しさん
垢版 |
2005/04/07(木) 01:20:10
>>265
自分でmakefile書けばなんとかなるんじゃね
リンク手順が面倒だったり、ヘッダやスタブライブラリの中身が足りなかったり、
ヘッダそのものが足りなかったりすることが多々あるけど。
0267デフォルトの名無しさん
垢版 |
2005/04/09(土) 17:04:20
>>264
AMD64向けビルドしようとするとamd64mk.incが無いって出る。
しかもどこにも無い予感。
いったいどこに?
0269デフォルトの名無しさん
垢版 |
2005/04/25(月) 15:27:51
ファイルシステムをユーザモードで実装するための
ライブラリみたいなのがあったような気がするんですが、
どなたかご存知ないですか?
0271269
垢版 |
2005/04/26(火) 11:23:13
>>270
すみません、知らなかったので調べてみたんですが、
IFSってファイルシステムのフレームワークということで
ファイルシステムのドライバを書くことになると思うんですが、
何か勘違いしてますでしょうか?

以前見たライブラリは、ドライバ自体はユーザモードの
アプリケーションと通信する機能しか持たなくて、
実装をほとんどアプリケーションで行っている、ってやつ
だったような気がしたんですが、どなたかご存知ないでしょうか?
0272デフォルトの名無しさん
垢版 |
2005/05/25(水) 02:38:26
マスストレージデバイスのドライバを作成するために
必要なハードウェアの仕様を知りたいのですが、
それが記載されているURLありませんか?
0273デフォルトの名無しさん
垢版 |
2005/05/25(水) 20:47:58
>>271
そーゆーのあったら俺も欲しいもんだ。

>>272
デバイス製造者にあたるのが筋ではないか?

実装を調べるのなら、Linux, *BSDのソース覗くと
ちょっとはヒントになるかもな。
0276デフォルトの名無しさん
垢版 |
2005/05/28(土) 19:43:51
USB2.0の自作デバイスと約20MBytes/sで数時間通信していると、
0x000000D1 IRQ_NOT_LESS_OR_EQUAL Usbehci.sys
でOSが落ちるのですが、原因がわかりません。
自作ドライバが悪いのか、
デバイス側のUSBコントローラ(FX2LP)が悪いのか、
usbehci.sysが悪いのか。
どなたかご存知ないでしょうか?
usbehci.sysのバージョンはXPはSP2のもの、
2000はSP4以降のものを使用しています。
0277本田
垢版 |
2005/05/28(土) 20:58:45
>>276
デバイスの熱暴走か?
自作デバイスに冷却ファンを付けてみればいいかも。
0280デフォルトの名無しさん
垢版 |
2005/05/29(日) 00:11:30
>>277
返答ありがとうございます。
FX2LPはFX2のLP版でかなり消費電力が抑えられています。
FX2はちりちりに熱くなったけど、
FX2LPはちょっと温かい程度です。
なので熱暴走ではないのではないかと考えていますが、
やっぱりデバイス側(FX2LP自体またはファーム)が原因と思われますでしょうか?
そういえば、前にFX2をいじっていたときも、
間違ったファームを書いたら即座にOSが落ちたことがありました。
0281278
垢版 |
2005/05/29(日) 01:12:14
もう少し具体的に説明させていただくと、昔から使っていたBallPointMouseをVAIO-U1で使いたくて
1)PS/2⇒USB変換@Arvel
2)232C⇒USZ変換@IO
で試したのですが、ダメでした。1)はBallPointMouseのデータがPS/2規格以前のものらしい事、
2)は、認識はされるがドライバ側でBallPointMouseを非サポートの為、カーソルが飛び回ったり。。。
で、結果的にダメでした。

ただ、BallPointMouse自体はSerialマウスなので、RS232C経由のデータの送信自体は正常で
USBドライバ側でBallPointMouseの定義が無いだけのようです。

ゲゲったら、NTまではDDKのサンプル・ソースにBallPointMouseの定義が含まれている旨があったので
このスレの、神カキコからnt4ddk.zipをDLして、MSERIES.C中に
//
// Microsoft BallPoint.
//
 。。。以下省略、を発見したところです。

想像するに、自前のUSBマウスドライバ側で標準Mouseより長いBallPointMouse型のデータを
正しく受け取り、上位層(カーソルのプロトコル?)に正しく渡してあげる部分だけを
なんとかすればなんとか成るのかな。。。ところで、自分で出来るかな?みたいな状態です。
っていうか、やる気なんですが。一点、心配事としては、見つからないだけで既に誰か神が
もう作ってくれているんじゃないかなという点です。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況