2006年7月の日記


2006/07/29

#1 連射ドライバの開発(4)

前回から約1年半ぶりに再開。再開というか、当時の記憶も薄れてるので、やり直しに近い。実験用ソースコードは残ってたのでそれを流用。前回だめだった原因は、まだ分からず。間にディスパッチ関数をはさむことでエラーコードが返ってることは分かるんだけど、USBパッドを接続した直後、IRP_MJ_CREATEの後にIRP_MJ_DEVICE_CONTROLが3回、その後IRP_MJ_CLEANUPとIRP_MJ_CLOSEが飛んでて、そのうちIRP_MJ_DEVICE_CONTROLの1回目で0xC0000010(STATUS_INVALID_DEVICE_REQUEST)が返ってるのが意図なのかどうかよく分からん。これ以外にはエラーが返ってないのにCLOSEされてるところをみると、多分ここでエラーが返るのがおかしいんだろうけど、ここで送られてるコントロールコード(0xb019c)の意味もわかんないし、例のごとく自分より上も下もWindowsでソースコードがこれ以上追えないのでなんとも。予想では、このあたりのIRPが飛んでくるよりもっと前の、デバイス接続時の初期化処理が何か間違ってるんだと思う。

今日発見したツール1つめ。DriverWalker。インストールしたドライバを簡単に無効にしたり削除したりできるので、ドライバ開発には結構便利。自分のドライバが原因でブルースクリーンから抜けられなくなったときは、セーフモードで起動してこのソフトで削除しとけばOK。2つめ。Microsoft Exchange Server Error Code Look-up。エラーコードの内容調査ツール。エラーコードを10進か16進で渡すと、定義名と、あれば意味も表示される。ただ、小さい値のエラーコードは大量にいろんな名前で定義されてるのでどれかすぐに分かんないけど。

それと、前回の段階の知識では理解してなかったけど今なら分かること。マルチCPU対応のドライバを書くためには、当然マルチCPU環境でのテストが必要。1CPUだと必要の無いCPU間排他処理が複数CPU環境だと必要になるため。これをちゃんとやってないとまともに動いてくれなくなる。(これはユーザ空間のソフトで効率向上のためにマルチCPU対応することと全く意味が違う。)手元にあるVMware4系だと仮想マシンはCPU1個しか使えないんだよなぁ。

そういえば、この1年半の間に、いつのまにかDDKがKMDFの一部としてダウンロードできるようになってた。これでわざわざアメリカから送ってもらう必要もなくなって楽だ。今回も早速最新版を入れてる。

2006/07/23

#1 ピタパで買い物

本屋で\10kぐらい本を買ったので、初めてピタパを使ってみた。暗証番号も無ければサインも必要なかったんだけど、これって危なくないですか?当日累計利用金額は表示されてたけど、上限あるよね?いくらなんだろ。

2006/07/22

#1 フルートおじさん

会社の近くの地下道で、音楽が聞こえると思ったらフルート吹いてる人がいた。以前も見たんだけど、今日は2人に増えてた。もしかして頻繁にここで演奏してるんだろうか。確かに地下道って音が響くから結構いい感じだとは思うけど。

#2 増水

最近雨続きなので、かなり淀川の水位が上がってる模様。あと3mぐらいで河川敷のグランドとかテニスコートは水没しそうだった。

2006/07/16

#1 事故車

昨日ぶつけられた車、レッカーでディーラーまで運んだらしいけど、今日もディーラーに保険について話に行くってことで、写真を撮ってきてもらった。

2006/07/15

#1 実家の家族が交通事故

法事のために早朝から出発。俺は大阪からだけど、実家からも遠いところなので、高速を使って移動してたところ、玉突き事故に巻き込まれたという電話。4台の玉突きで前から2番目で、一緒に乗ってた親戚も含めてとりあえず怪我はなさそうって話なのでよかった。でも、車は買い換えるつもりらしい。

で、事故処理を全部終わったあと、なんとか法事をしてた親戚のところ(俺もそこにいた)まで到着。おかげで俺は実家に簡単に帰ることができた。

2006/07/08

#1 駐車監視員

関西のニュースだと、いつも難波の様子が流れてたので、かなり限定されたところでしか駐車監視員は活動してないと思ってたんだけど、今日は比較的近所で活動してるのを発見。でも、どうせならもうちょっと先の交差点直前にいつも止まってる車を何とかしてほしい。

2006/07/05

#1 探検隊気分

多人数でのソフト開発の仕事ってのは、担当者ごとにある程度担当範囲が決まってて、動作に問題が見つかった場合はその境界線上でどちら側にバグがあるかを見つけて、そこの担当者が具体的な場所を見つけて直すのが基本。でも、最近は、自分の仕事がある程度片付いてきたこと、周りの人は全然手が回ってないこと、ソースコードと実行バイナリと逆アセンブルコードさえあれば比較的短時間でどこまででも追いかけていけるだけの技術は身についてきたことなどから、担当外のいろんなコードを追っかけることが多くなってきた。自分の担当範囲にあるバグの原因を探すのはそんなに楽しくないけど、こうやっていろんなコードを見て回るのって、探検隊気分で楽しめる。それでいて成果はちゃんと上がってるから結果オーライ。自分の担当範囲に問題が無いと分かってるので、最悪、原因を見つけられなくても自分の責任にはならないし(えー。

それはともかく、ここ2年では間違いなく最近1ヶ月が最も経験値が上がってると実感できる。それだけに、残業時間が長かろうが精神的には全然疲れてない。

2006/07/02

#1 久々に浴槽に入る

1週間前の指の怪我からシャワーだけの日々が続いてたんだけど、久々に湯船につかることができた。でも、いまだに爪の色が赤くなってて痛々しい。どうやら爪の真ん中辺りが被害の中心部らしい。


count: [an error occurred while processing this directive]

ごみ的ページ。のインデックスに戻る