MEMORY_BASIC_INFORMATION構造体 (winnt.h)
プロセスの仮想アドレス空間内のページの範囲に関する情報が含まれます。 VirtualQuery 関数と VirtualQueryEx 関数では、この構造が使用されます。
構文
typedef struct _MEMORY_BASIC_INFORMATION {
PVOID BaseAddress;
PVOID AllocationBase;
DWORD AllocationProtect;
WORD PartitionId;
SIZE_T RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
メンバー
BaseAddress
ページの領域のベース アドレスへのポインター。
AllocationBase
VirtualAlloc 関数によって割り当てられたページ範囲のベース アドレスへのポインター。 BaseAddress メンバーが指すページは、この割り当て範囲内に含まれています。
AllocationProtect
リージョンが最初に割り当てられた場合のメモリ保護オプション。 このメンバーには 、メモリ保護定数 の 1 つ、または呼び出し元にアクセス権がない場合は 0 を指定できます。
PartitionId
RegionSize
すべてのページが同じ属性を持つベース アドレスから始まるリージョンのサイズ (バイト単位)。
State
リージョン内のページの状態。 このメンバーには、次のいずれかの値を指定できます。
Protect
リージョン内のページのアクセス保護。 このメンバーは、 AllocationProtect メンバーに一覧表示されている値の 1 つです。
Type
リージョン内のページの種類。 次の型が定義されています。
Type | 説明 |
---|---|
|
領域内のメモリ ページがイメージ セクションのビューにマップされることを示します。 |
|
領域内のメモリ ページがセクションのビューにマップされることを示します。 |
|
領域内のメモリ ページがプライベートであることを示します (つまり、他のプロセスでは共有されません)。 |
注釈
デバッガーが別のアーキテクチャ (32 ビットと 64 ビット) で実行されているターゲットをデバッグできるようにするには、この構造体の明示的な形式のいずれかを使用します。
typedef struct _MEMORY_BASIC_INFORMATION32 {
DWORD BaseAddress;
DWORD AllocationBase;
DWORD AllocationProtect;
DWORD RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32;
typedef struct DECLSPEC_ALIGN(16) _MEMORY_BASIC_INFORMATION64 {
ULONGLONG BaseAddress;
ULONGLONG AllocationBase;
DWORD AllocationProtect;
DWORD __alignment1;
ULONGLONG RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
DWORD __alignment2;
} MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64;
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winnt.h (Windows.h を含む) |