WIN32_MEMORY_REGION_INFORMATION 構造体 (memoryapi.h)
メモリ領域に関する情報を格納します。 メモリ領域は、 VirtualAlloc や MapViewOfFile などのメモリ割り当て関数を使用して作成される 1 つの割り当てです。
構文
typedef struct WIN32_MEMORY_REGION_INFORMATION {
PVOID AllocationBase;
ULONG AllocationProtect;
union {
ULONG Flags;
struct {
ULONG Private : 1;
ULONG MappedDataFile : 1;
ULONG MappedImage : 1;
ULONG MappedPageFile : 1;
ULONG MappedPhysical : 1;
ULONG DirectMapped : 1;
ULONG Reserved : 26;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
SIZE_T RegionSize;
SIZE_T CommitSize;
} WIN32_MEMORY_REGION_INFORMATION;
メンバー
AllocationBase
割り当てのベース アドレス。
AllocationProtect
割り当ての作成時に指定されたページ保護値。 割り当て内の個々のページの保護は、この値とは異なる場合があります。 個々のページの保護値に対してクエリを実行するには、 VirtualQuery 関数を使用します。
DUMMYUNIONNAME
DUMMYUNIONNAME.Flags
すべてのメモリ領域フラグを 1 つの ULONG 値として表します。 アプリケーションでは、このフィールドを使用しないでください。 代わりに、以下に定義されている個々のビット フィールド フラグをテストします。
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Private
値 1 は、割り当てがプロセスに対してプライベートであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedDataFile
値 1 は、割り当てがデータ ファイルのマップされたビューであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedImage
値 1 は、割り当てが実行可能イメージのマップされたビューであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPageFile
値 1 は、割り当てがページファイルでサポートされるセクションのマップされたビューであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.MappedPhysical
値 1 は、割り当てが \Device\PhysicalMemory セクションのビューであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectMapped
値 1 は、割り当てが直接マップされたファイルのマップされたビューであることを示します。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved
予約済み。
RegionSize
割り当てのサイズ。
CommitSize
割り当てに関連付けられているコミット料金。 プライベート割り当ての場合、これは予約ではなく、コミットされたリージョン内のページの合計サイズです。 マップされたビューの場合、これは、書き込み時のコピー保護を持っているか、書き込み時のコピーの結果としてプライベートにされたページの合計サイズです。
解説
WIN32_MEMORY_REGION_INFORMATION構造体には、1 つのメモリ割り当てに関する情報が含まれています。 これに対し、VirtualQuery 関数によって返されるMEMORY_BASIC_INFORMATION構造体は、すべての種類、状態、および保護が同じ単一の割り当て内のページの連続した実行を記述します。 VirtualQuery によって返されるWIN32_MEMORY_REGION_INFORMATION フィールドとメモリ型の値の間のマッピングは次のとおりです。
WIN32_MEMORY_REGION_INFORMATION | MEMORY_BASIC_INFORMATION::Type |
---|---|
プライベート | MEM_PRIVATE |
MappedDataFile | MEM_MAPPED |
MappedImage | MEM_IMAGE |
MappedPageFile | MEM_MAPPED |
MappedPhysical | MEM_MAPPED |
要件
サポートされている最小のクライアント | Windows 10、バージョン 1607 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | memoryapi.h (Windows.h を含む) |