| 
    
     |  | ▼DULLさん: >実際に rdmsr/wrmsr を vxd 側に移してみました。
 >SysInfo.sys からMSR関係のソ〜スをコピペするだけで
 >問題なく動作するようです。(ただ hlt は試していません。)
 どうもありがとうございます。
 次回は vxd も更新かな・・・?
 
 >vxd の動作チェックをしていたら ReturnedLength が
 >常に0である事に気がつきました。
 >DIOCPARAMETERS のメンバ名を見ると
 >lpcbBytesReturned は lpから始まっているので
 >
 >&lpDIOCParms->lpcbBytesReturned
 >を
 >(ULONG *)lpDIOCParms->lpcbBytesReturned
 >
 >に変更すると ReturnedLength に値が入りました。
 >
 >これで「ペ〜ジ違反」が直るかと思いましたがダメでした。
 >
 >現在わかっているのは
 >・CrystalCPUID.exe と SysInfo.dll の最適化をOFFにすると動作する。
 ということですが、CrystalCPUID.exe だけ最適化でも OK だったりしませんか?
 どっちかだけの場合どうなるかも気になります。
 なんにせよ、次回リリースからは最適化オフで出したいと思います。
 海外のユーザでもな〜んか動かないんだよなぁ〜と思っている方&使用をあきらめてしまった方もいると思うので。
 
 >・スタック領域の書き込みで落ちる。
 >
 >- PciInfo.cpp -
 >c = _pciConfigReadChar( address >> 16, 0x82);
 >c |= 0x04;  ← 今回はここで落ちた
 >
 >- アセンブラ -
 >or al,4
 >mov [ebp-4],al  ← 今回はここで落ちた
 ほんと、何でだ?って感じなんですが。。。
 
 >もう少し探っていきたいと思います。
 >ではでは。
 お手数をおかけいたします。
 
 
 |  |