掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロセスIDとプロセスハンドルについて質問。 (ID:66816)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
シャノンさんへ。 もう一度書き直します。 結局、任意のプロセスID(別のプロセス)を OpenProcess でプロセスハンドルを取得すると そのハンドルにアクセスすれば別のプロセスの情報を取り出せるための管理情報が作成される。 この「管理情報を示す」アドレスがハンドル値となる。ちなみにアドレスとは仮想メモリに 対するもので物理メモリの実アドレスではないです。 今現在、プロセス、スレッド、仮想メモリのお勉強をしています。 それで1つのプロセスでは最大 4G バイトのメモリ空間があり下位の 2G バイトを扱える。 でも実際の物理メモリはそんなにはないから、最近使われていないページ単位のメモリを ページングファイルに「ページアウト」する。ページアウトしたメモリをアクセスすると 自動的に「ページイン」される。 それで最終的には別プロセスの仮想メモリ空間の利用状況をリスト作成したいのです。 この作成中にちょっとした疑問(今回の疑問)が出たわけ。ハンドルは自分自身のプロセスで 有効な値なのに Windows OS はどうして別プロセスの情報を「プロセスハンドル」の取得だけで 取り出せるの?ってね。 質問する前に「プロセスハンドル」が別プロセスの仮想メモリ空間のアドレスを表していると 思い違いをしていたようです。正しくは「プロセスハンドル」内の情報に別プロセスを取得 できるような情報も含まれるから「プロセスハンドル」を使えば Windows OS が別プロセスの 情報を指していると分かる。よって正常に取得できるということですよね。 これで解釈はあっているかな。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.