10 月 31
Visual C++ Express Edition あれこれ (NyaRuRuの日記)
を「激しく同意」しながら読んでいたのですが、気になる一文が・・・
DllMain の中で使える API は kernel32.dll が公開するもののみだよと言われて首をかしげる
とりあえず、首をかしげながら「DllMain」で検索したところ・・・
DllMain (MSDN)
なるほど。
というわけで、SysInfo.dll も WinRing0.dll も問題大アリでした。DllMain でデバイスドライバのロードはしちゃいけなかったんですねぇ。kernel32.dll 以外の DLL が公開している API を使用することになるんで。
今まで寄せられていた環境依存のトラブルもひょっとするとこれが原因だったのかも??それと、デバイスドライバのロードがたまに失敗することがあったのもこれが原因なのかも???
早速、WinRing0 1.1 ではこの辺も修正したいと思います。
10 月 30
Device\PhysicalMemory オブジェクト
近日リリース予定の WinRing0 1.1 では、物理メモリアクセス機能を Special API として再定義します。この問題は、言い出すとキリがないのですが、SysInfo と異なり私以外のプログラマも利用することやデバイスドライバをインストールする機能を搭載していることも加味すると・・・。
この変更で、WinRing0 は一段落とする予定です。
10 月 28
昨日、ずいぶん前から欲しかった「インサイド Windows」を昨日上下巻セットで購入しました。セットで 1 万円以上の高価な本ですが、NyaRuRu さんのサイトで頻繁に参照されており、Windows プログラマとしてこれは手元においておきたいなぁ~と思っておりました。
なかなか購入に踏み切れずにいたのですが、先日、デジタル署名を取得した絡みなどもあって、人生の大先輩?から多大なご支援をいただいたので、形に残るものをと思い購入に踏み切りました。
ギリギリ通勤時に読めそうな重さなので、少しずつ読み進めていきたいと思います。
ちなみに、Crystal Dew World は皆様の開発支援をお待ちしております。皆様のご好意は開発環境の拡充や参考書の購入に充てさせていただきたいと思います。
10 月 28
先日メイン PC が故障したため、パソコンを新調しました。来月は新製品ラッシュということでもう少し先延ばしをしようとも思ったのですが、予算的に新製品が出たからといって購入できるわけでもないだろうと判断し、昨日台風の中秋葉で購入してきました。
ベースシステム:Shuttle SN68SG2 (NVIDIA GeForce 7025+nForce 630a)
CPU:Athlon 64 X2 6000+ (Socket AM2) TDM 89W版
HDD:Seagate ST3500630AS (500GB)
メモリ:1GB×2 (PC6400)
ビデオカードは今まで使用していた GeForce 6600 無印を流用しました。Direct3D 10.1 対応まで粘る予定です。どうせ、ゲームしないし・・・。
今日は、Visual Studio やら WDK、DDK などなど開発に必要なソフトウェアのセットアップを行いました。WinRing0 をリリースして以来ほんのり充電モードですが、そろそろ新作の開発に向けてがんばりたいところです。
それにしても、新 PC 動作音がほとんどしません!!Athlon 64 X2 の 3GHz を 5% OC して運用中ですが、ファンはずぅ~っと低速のまま。初期電圧が 1.35V だったのはちょっと残念ですが、それ以外は大満足のお買い物でした。
10 月 28
以前、このブログで「SSD 欲しいなぁ~でも高いし・・・」という趣旨のコメントしていたわけですが、なんと、メディアロジックさん(http://www.medialogic.co.jp/)から評価用ということで高速SSDアダプタ AX25CF-S をいただきました。AX25CF-S は最大 3 枚の CF をストライピング可能な CF を用いた高速 SSD アダプタなのですが、当然ながら別途 CF が必要(^_^; CF 持ってないんですけど・・・ということで、併せて 8GB の CF 3 枚をお借りいたしました m(_ _)m
Crystal Dew World の活動を通して色々嬉しいことがありましたが、評価用に機器を戴いたのは初めてなので、とてもうれしいです。う~ん、こんなこともあるんですねぇ~。
現在、モニター募集中ということなので、興味のある方はメディアロジックさんのサイトで詳細をご確認ください。
で、早速ベンチマークを・・・

メディアロジック AX25CF-S + Transcend 266倍速コンパクトフラッシュ8GB×3
テスト環境:
ベースシステム:Shuttle SN25P (NVIDIA nForce4 Ultra )
CPU:Athlon 64 X2 3800+ (Socket 939)
メモリ:1GB×2 (PC3200)
ランダム書き込みは多少難ありといったところではありますが、シーケンシャルリード&ライトとランダムリードはかなり高速です。特に Random 4KB は非常に高速で実使用上もメリットがありそうな予感♪
2007/10/24 追記
メイン PC が故障したのでサブ PC で同様にベンチマークをしてみたところ、かなりの性能改善が!?PC によってここまで違うんですねぇ~ホントあと一歩で 100MB/s に届きそうな感じです。

メディアロジック AX25CF-S + Transcend 266倍速コンパクトフラッシュ8GB×3
テスト環境:
ベースシステム:Shuttle SB61G2 (Intel 865G/ICH5)
CPU:Pentium 4 HT 2.4GHz (Socket 478)
メモリ:1GB×2 (PC3200)
2007/10/28 追記
PCを新調したので早速ベンチマークを・・・。

メディアロジック AX25CF-S + Transcend 266倍速コンパクトフラッシュ8GB×3
テスト環境:
ベースシステム:Shuttle SN68SG2 (NVIDIA GeForce 7025+nForce 630a)
CPU:Athlon 64 X2 6000+ (Socket AM2)
メモリ:1GB×2 (PC6400)
ベンチ結果はもとより、動作音が静かというのは非常に魅力的です。今回購入した新HDDの動作音が今までよりも大きくてちょっとショックだったんですよね・・・。
10 月 26
“disc”と“disk”の違い (Apple)
今までなんとなく使っていたけれどそういう違いがあったのか・・・。
10 月 23
ReadIoPortDword が正常に動作しないという致命的な不具合を修正いたしました。致命的な不具合を持ったデバイスドライバが流通することを防止するため 1.0.3 以前のバージョンは全て非公開とさせていただきます。
誠にお手数をおかけいたしますが、1.0.3 以前のバージョンをご利用の方は必ず 1.0.4 以降への更新をお願いいたします。
◇公式サイト
1.0.3 からの修正点
◇全体
- ReadIoPortDword が正常に動作しないという致命的な不具合を修正
◇WinRing0.dll (1.0.4.5)
- ReadIoPortDword の不具合を修正
- ReadIoPortXXXX, WriteIoPortXXXX 系機能の ControlCode を追加
◇OpenLibSys.sys (1.0.1.3)
- ReadIoPortDword の不具合を修正
- ReadIoPortXXXX, WriteIoPortXXXX 系機能の ControlCode を追加
◇OpenLibSys.vxd (1.0.1.3)
- ReadIoPortDword の不具合を修正
- ReadIoPortXXXX, WriteIoPortXXXX 系機能の ControlCode を追加
◇ダウンロード:
■不具合の原因
- DLL とデバイスドライバ間でやりとりするためのバッファサイズが足りず DWORD のうち上位 2 バイトが切り捨てられていました。
10 月 22
WinRing0 1.0.3 以下に ReadIoPortXXXX/WriteIoPortXXXX が正常に動作しないという致命的な不具合があることが判明しました。
現在修正作業を開始したところですが、先日メイン PC が崩壊したため開発環境を整えている最中です・・・。バグの原因ははっきりしたのですが、多少手を入れないと直せないので修正版のリリースは週末になりそうです。
バグレポートを下さった Olivier さんと abo さんに感謝いたします。修正まで今しばらくお待ちください。