Microsoft Windows CE 3.0  

MEMORY_BASIC_INFORMATION

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This structure contains information about a range of pages in the virtual address space of a process. The VirtualQueryfunction 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 VirtualAllocfunction. The page pointed to by the BaseAddressmember is contained within this allocation range.
AllocationProtect
Specifies the access protection given when the region was initially allocated. One of the flags listed in the following table 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 one of the page protections 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 usage. 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 one of the page protections 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. One of the values in the following table is indicated.
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 Typemembers is undefined.
MEM_RESERVE Indicates reserved pages where a range of the process's virtual address space is reserved without any physical storage being allocated. For reserved pages, the information in the Protectmember is undefined.
Protect
Specifies the access protection of the pages in the region. One of the flags listed for the AllocationProtectmember is specified.
Type
Specifies the type of pages in the region. The following table lists the values for this parameter.
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

Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Winnt.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

VirtualAlloc, VirtualQuery