<Return[UV]><Top>
VirtualQuery |
Declare Function Api_VirtualQuery& Lib "kernel32" Alias "VirtualQuery" (lpAddress As Any, lpBuffer As MEMORY_BASIC_INFORMATION, ByVal dwLength&) |
Declare Function VirtualQuery Lib "kernel32" Alias "VirtualQuery" (lpAddress As Any, lpBuffer As MEMORY_BASIC_INFORMATION, ByVal dwLength As Long) As Long |
|
呼び出し側のプロセスの仮想アドレス空間にある範囲のページに関する情報を取得する。 |
|
パラメータ
ージサイズを調べるには、 関数を使う。
戻り値
る。 MEM_PRIVATE、MEM_MAPPED、MEM_IMAGE のうち 1 つのフラグをセットして割り当てられたページが対象になる(最初の 3 つのフ
ラグは MEMORY_BASIC_INFORMATION 構造体の State メンバ、後の 3 つのフラグは Type メンバ)。
内のすべてのページが対象になる。 PAGE_READWRITE、PAGE_NOACCESS、PAGE_WRITECOPY、PAGE_EXECUTE、PAGE_EXECUTE_READ、 PAGE_EXECUTE_READWRITE、PAGE_EXECUTE_WRITECOPY、PAGE_GUARD、PAGE_NOCACHE のうち 1 つのフラグをセ
ットして割り当てられたページが対象になる(MEMORY_BASIC_INFORMATION
構造体の AllocationProtect メンバ)。 が見つかるまで、ページを検索し続ける。この関数は最初のページ属性と共通の属性を持つページ領域のバイト単位のサイズを返す。たと えば、サイズが 40MB の空きメモリ領域が存在する場合、その領域の先頭から 10MB 進んだ場所にあるページに対して VirtualQuery 関
数を呼び出すと、MEM_FREE の状態と 30MB のサイズが取得できる。 モリ内のページ領域に関する情報が取得できる。 |