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
最初分配区域时的内存保护选项。 此成员可以是 内存保护常量 之一,如果调用方没有访问权限,则为 0。
PartitionId
RegionSize
从基址开始的区域大小,其中所有页面都具有相同的属性(以字节为单位)。
State
区域中页面的状态。 此成员可以是以下值之一。
Protect
区域中页面的访问保护。 此成员是为 AllocationProtect 成员列出的值之一。
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 [仅限桌面应用] |
标头 | winnt.h (包括 Windows.h) |