DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VBでメモリ参照する方法

分類:[その他]

VisualBasicを使ってメモリのBIOS領域の特定アドレスの値を取得することはできますか。MS-DOSではできたのですが、WindowsXP環境でも同様のことをしたいと思っています。よろしくお願いいたします。
  • 題名: Re[1]: VBでメモリ参照する方法
  • 著者: オショウ
  • 日時: 2007/10/06 9:50:44
  • ID: 20674
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No20671に返信(ざりさんの記事)
> VisualBasicを使ってメモリのBIOS領域の特定アドレスの値を取得することはできますか。MS-DOSではできたのですが、WindowsXP環境でも同様のことをしたいと思っています。よろしくお願いいたします。

  完全なプロテクトモードで動作するOSになっていますので、一般的
  なアプリレベルのコーディングでは、BIOS領域にアクセスできな
  いと思います。まして、WinXP の場合、SP2でいろいろ新たな機能が
  搭載されており、また、インテルCPUとAMDとで違うはずですか
  ら・・・

  できないと言っているのではなく、多分、デバイスドライバを作って
  メモリ空間の物理・論理変換を行って指定されたエリアをマップすれ
  ば可能かと・・・

  簡易なデバドラ製作ツールで、WinDriverだったか・・・ユーザーモー
  ドのアプリケーションレベルのプログラミングでデバイスドライバま
  がいのことができますので、そういうものを使ったら、カーネルモー
  ドのコーディングをしなくてすむので、一度調べてみて下さい。

  因みに、Win98SE/MEであれば・・・
  32ビットDLL=>サンクDLL=>16ビットDLL
  16ビトDLL側にBIOSエリアをアクセスするコードを書く。
  サンクDLLは、VC++4.0だったかの英語版コンパイラにサンクをコン
  パイルできるものが同梱されていたはず・・・(記憶が定かではない)
  Win98SEでは、ISAバスのカード上のBIOSにアクセスしたことが
  ありましたので、PCIでもOSがWin98あたりだとできます。

以上。参考まで・・・

DOBON.NET | プログラミング道 | プログラミング掲示板