MEMORY_BASIC_INFORMATION 構造体 (ntifs.h)
プロセスの仮想アドレス空間内のページの範囲に関する情報が含まれます。 ZwQueryVirtualMemory ルーチンは、この構造体を使用します。
構文
typedef struct _MEMORY_BASIC_INFORMATION {
PVOID BaseAddress;
PVOID AllocationBase;
ULONG AllocationProtect;
USHORT PartitionId;
SIZE_T RegionSize;
ULONG State;
ULONG Protect;
ULONG Type;
} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
メンバー
BaseAddress
ページの領域のベース アドレスへのポインター。
AllocationBase
割り当てられたページの範囲のベース アドレスへのポインター。 BaseAddress メンバーが指すページは、この割り当て範囲内に含まれています。
AllocationProtect
リージョンが最初に割り当てられた場合のメモリ保護オプション。 このメンバーには、wdm.h で定義されている次の定数のいずれかを指定できます。呼び出し元にアクセス権がない場合は 0 を指定できます。
値 | 意味 |
---|---|
PAGE_NOACCESS 0x01 | ページの領域へのアクセスは許可されません。 リージョン内で読み取り、書き込み、または実行を試みると、アクセス違反が発生します。 |
PAGE_EXECUTE 0x10 | ページの領域への実行アクセスが許可されます。 リージョン内で読み取りまたは書き込みを試みると、アクセス違反が発生します。 |
PAGE_READONLY 0x02 | ページの領域への読み取り専用および実行アクセスが許可されます。 リージョン内で書き込もうとすると、アクセス違反が発生します。 |
PAGE_READWRITE 0x04 | ページの領域への読み取り、書き込み、および実行アクセスが許可されます。 基になるセクションへの書き込みアクセスが許可されている場合、ページの 1 つのコピーが共有されます。 それ以外の場合、ページは読み取り専用/書き込み時にコピーされます。 |
PAGE_GUARD 0x100 | ページの領域への読み取り、書き込み、実行アクセスが許可されます。ただし、リージョンにアクセスすると、サブジェクト プロセスで "ガード リージョンが入力されました" という条件が発生します。 |
PAGE_NOCACHE 0x200 | コミットされたページのデータ キャッシュへの配置を無効にします。 |
PAGE_WRITECOMBINE 0x400 | コミットされたページのデータ キャッシュへの配置を無効にし、書き込みも組み合わせます。 |
PartitionId
システムで使用するために予約されています。
RegionSize
すべてのページが同じ属性を持つベース アドレスから始まる領域のサイズ (バイト単位)。
State
リージョン内のページの状態。 このメンバーには、次のいずれかの値を指定できます。
状態 | 意味 |
---|---|
MEM_COMMIT 0x1000 | メモリ内またはディスク上のページング ファイル内で、物理ストレージが割り当てられているコミット済みページを示します。 |
MEM_FREE 0x10000 | 呼び出し元プロセスからアクセスできない空きページと割り当て可能なページを示します。 |
MEM_RESERVE 0x2000 | 物理ストレージを割り当てずに、プロセスの仮想アドレス空間の範囲が予約されている予約済みページを示します。 |
Protect
リージョン内のページのアクセス保護。 このメンバーは、 AllocationProtect メンバーに一覧表示されている値の 1 つです。
Type
リージョン内のページの種類。 次の型が定義されています。
Type | 説明 |
---|---|
MEM_IMAGE 0x1000000 | リージョン内のメモリ ページがイメージ セクションのビューにマップされていることを示します。 |
MEM_MAPPED 0x40000 | 領域内のメモリ ページがセクションのビューにマップされていることを示します。 |
MEM_PRIVATE 0x20000 | リージョン内のメモリ ページがプライベートであることを示します (つまり、他のプロセスでは共有されません)。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | ntifs.h |