DllMain
Visual C++ Express Edition あれこれ (NyaRuRuの日記)
を「激しく同意」しながら読んでいたのですが、気になる一文が・・・
DllMain の中で使える API は kernel32.dll が公開するもののみだよと言われて首をかしげる
とりあえず、首をかしげながら「DllMain」で検索したところ・・・
DllMain (MSDN)
なるほど。
というわけで、SysInfo.dll も WinRing0.dll も問題大アリでした。DllMain でデバイスドライバのロードはしちゃいけなかったんですねぇ。kernel32.dll 以外の DLL が公開している API を使用することになるんで。
今まで寄せられていた環境依存のトラブルもひょっとするとこれが原因だったのかも??それと、デバイスドライバのロードがたまに失敗することがあったのもこれが原因なのかも???
早速、WinRing0 1.1 ではこの辺も修正したいと思います。
1件の返信
[…] https://crystaldew.info/2007/10/31/dllmain/ […]