This structure contains information about a range of pages in the virtual address space of a process. The VirtualQuery function uses this structure.
typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; PVOID AllocationBase; DWORD AllocationProtect; DWORD RegionSize; DWORD State; DWORD Protect; DWORD Type; } MEMORY_BASIC_INFORMATION; typedef MEMORY_BASIC_INFORMATION *PMEMORY_BASIC_INFORMATION; 
Members
- BaseAddress 
 Pointer to the base address of the region of pages.
- AllocationBase 
 Pointer to the base address of a range of pages allocated by the VirtualAlloc function. The page pointed to by the BaseAddress member is contained within this allocation range.
- AllocationProtect 
 Specifies the access protection given when the region was initially allocated.- Note This field is not supported. - The following table shows this member's flags. Any one of these flags can be present, along with the PAGE_GUARD and PAGE_NOCACHE protection modifier flags. - Value - Description - PAGE_READONLY - Enables read access to the committed region of pages. - An attempt to write to the committed region results in an access violation. - If the system differentiates between read-only access and execute access, an attempt to execute code in the committed region results in an access violation. - PAGE_READWRITE - Enables both read and write access to the committed region of pages. - PAGE_WRITECOPY - Gives copy-on-write access to the committed region of pages. - PAGE_EXECUTE - Enables execute access to the committed region of pages. - An attempt to read or write to the committed region results in an access violation. - PAGE_EXECUTE_READ - Enables execute and read access to the committed region of pages. - An attempt to write to the committed region results in an access violation. - PAGE_EXECUTE_READWRITE - Enables execute, read, and write access to the committed region of pages. - PAGE_EXECUTE_WRITECOPY - Enables execute, read, and write access to the committed region of pages. - The pages are shared read-on-write and copy-on-write. - PAGE_GUARD - Protects the page with the underlying page protection. However, access to the region causes a guard-page entered condition to be raised in the subject process. - This flag is a page protection modifier and is only valid when used with a page protection other than PAGE_NOACCESS. - PAGE_NOACCESS - Disables all access to the committed region of pages. - An attempt to read from, write to, or execute in the committed region results in an access violation exception, called a general protection (GP) fault. - PAGE_NOCACHE - Allows no caching of the committed regions of pages. The hardware attributes for the physical memory should be set to no cache. - This is not recommended for general use. It is useful for device drivers; for example, mapping a video frame buffer with no caching. - This flag is a page protection modifier and is only valid when used with a page protection other than PAGE_NOACCESS. 
- RegionSize 
 Specifies the size, in bytes, of the region beginning at the base address in which all pages have identical attributes.
- State 
 Specifies the state of the pages in the region.- The following table shows the possible values. - Value - Description - MEM_COMMIT - Indicates committed pages for which physical storage has been allocated, either in memory or in the paging file on disk. - MEM_FREE - Indicates free pages not accessible to the calling process and available to be allocated. - For free pages, the information in the AllocationBase, AllocationProtect, Protect, and Type members is undefined. - MEM_RESERVE - Indicates reserved pages where a range of the virtual address space of the process is reserved without physical storage being allocated. - For reserved pages, the information in the Protect member is undefined. 
- Protect 
 Specifies the access protection of the pages in the region.- One of the flags listed for the AllocationProtect member is specified. 
- Type 
 Specifies the type of pages in the region.- The following table shows the possible values. - Value - Description - MEM_IMAGE - Indicates that the memory pages within the region are mapped into the view of an image section. - MEM_MAPPED - Indicates that the memory pages within the region are mapped into the view of a section. - MEM_PRIVATE - Indicates that the memory pages within the region are private (that is, not shared by other processes). 
Requirements
OS Versions: Windows CE 1.0 and later.
Header: Winnt.h.
See Also
Send Feedback on this topic to the authors