掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロセスIDとプロセスハンドルについて質問。 (ID:66817)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 結局、任意のプロセスID(別のプロセス)を OpenProcess でプロセスハンドルを取得すると > そのハンドルにアクセスすれば別のプロセスの情報を取り出せるための管理情報が作成される。 たぶんね。保証はありません。 > この「管理情報を示す」アドレスがハンドル値となる。 その思い込みを捨てなさい、と言われているでしょう? 管理情報構造体のアドレスかもしれませんが、そうでないかもしれません。 そして、アドレスであろうが無かろうが、使い方は変わらないのです。 > でも実際の物理メモリはそんなにはないから、最近使われていないページ単位のメモリを > ページングファイルに「ページアウト」する。ページアウトしたメモリをアクセスすると > 自動的に「ページイン」される。 仮想アドレス空間は実メモリ(マザーボードに装着されたメモリモジュール)とページングファイルのみではなく、その他のファイルマッピングオブジェクトや、どんな物理ストアにも割り当てられていない領域からなる。 アドレス空間は原則としてプロセスごとに独立しているが、ページングファイルやファイルマッピングオブジェクトを使うと共有することができる。 プロセスのアドレス空間の上位2GBはカーネルによって利用され、すべてのプロセスで共有される(…たぶん。間違えていたらつっこんで)。 で、プロセスやスレッド、イベント等のカーネルオブジェクトの情報構造体は、この上位領域に置かれている。 OpenProcess したタイミングで、この管理情報がユーザ領域(下位2GB)にコピーされるのか、それともカーネルメモリを直接参照しているのかはわからない。 > それで最終的には別プロセスの仮想メモリ空間の利用状況をリスト作成したいのです。 そういうマニアックなプログラミングは大好きです。 応援しますよ。がんばって。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.