plustreeの日記: DO_DEVICE_INITIALIZING 恐るべし
日記 by
plustree
Windows のデバイスドライバを作って遊んでみた。
IoCreateDevice でデバイスを作成したものの、うまく機能しない。どうやら作成自体には成功しているようだが、まるで機能しない。ディスパッチハンドラに制御が飛んでこない。
似たような機能を実現したサンプルと比較してみたら、DO_DEVICE_INITIALIZING なるフラグが立っているみたい。これが残っていると、きっと OS 君は処理を躊躇するのだろう。
というわけで、DO_DEVICE_INITIALIZING をクリアする方法を必死こいて探してみた。初期化処理を完了するためのカーネル API を。しかし、ない。
さらに調べてみると、なんとこのフラグはドライバで勝手にクリアすればいいらしい。
DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
ぬぬぬ。してやられた。
DO_DEVICE_INITIALIZING 恐るべし More ログイン