パスワードを忘れた? アカウント作成
638087 journal

plustreeの日記: DO_DEVICE_INITIALIZING 恐るべし

日記 by plustree

Windows のデバイスドライバを作って遊んでみた。

IoCreateDevice でデバイスを作成したものの、うまく機能しない。どうやら作成自体には成功しているようだが、まるで機能しない。ディスパッチハンドラに制御が飛んでこない。

似たような機能を実現したサンプルと比較してみたら、DO_DEVICE_INITIALIZING なるフラグが立っているみたい。これが残っていると、きっと OS 君は処理を躊躇するのだろう。

というわけで、DO_DEVICE_INITIALIZING をクリアする方法を必死こいて探してみた。初期化処理を完了するためのカーネル API を。しかし、ない。

さらに調べてみると、なんとこのフラグはドライバで勝手にクリアすればいいらしい。
    DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;

ぬぬぬ。してやられた。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...