|
▼GOジャグさん:
>すみません。「CrystalCPUID の結果をひたすら報告するツリー 其の誤」のスレッドに入れようと思ったのが、誤って新規スレッドになってしまいました。
>よろしければ、移動していただければと思うのですが。。。
えと、移動機能はないので・・・まぁ、このままでいいです。
なにやら最近スタートアップ時にうまくドライバが読み込めないような・・・という報告が数件(海外からも・・・)あったわけですが、原因がわかりました。
先日 32bit DLL から 32bit/64bit のドライバをロードできるようにしたわけですが、その際、ドライバ読み込みの再試行機能をオフにしておりました。
http://crystalmark.info/BBS/c-board.cgi?cmd=ntr;tree=1294;id=
で頂いたサンプルを丸写ししたのが原因でした。従来は NT ドライバの読み込み部分で再試行を行うループがあったのです。
SysInfo 232 で従来 4.0.x.y 通りの方法+試行回数を16回に倍増したのでドライバのロードには失敗しなくなると思います。
一部抜粋... initialize を最大 16 回繰り返すようにしました。
if(drivertype & SYS_DRIVER_USE) {
for(i=0;i<16;i++){
res = initialize(hModule);
if(res == 0){break;}
}
} else if(drivertype & VXD_DRIVER_USE) {
|
|