[structure]MEMORY_BASIC_INFORMATION

MEMORY_BASIC_INFORMATION[MSDN]

typedef struct _MEMORY_BASIC_INFORMATION {
    PVOID    BaseAddress;
    PVOID    AllocationBase;
    DWORD  AllocationProtect;
    SIZE_T    RegionSize;
    DWORD State;
    DWORD Protect;
    DWORD Type;
} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;

분석

*BaseAddress

Page 영역의 Base Address 포인터

*AllocationBase

VirtualAlloc함수의 의해 할당된 페이지 범위의 Base Address 포인터,
BaseAddress포인터가 가리키는 영역이 이 영역에 포함됨.

AllocationProtect

페이지가 할당 될 때의 메모리 보호 옵션

RegionSize

페이지의 크기 

State

MEM_COMMIT  : 현재 메모리가 사용되는 상태
MEM_FREE          : 현재 메모리가 쓰지 않는 상태
MEM_RESERVE : 현재 사용하고 있지 않지만 사용을 대비한 상태

Protect

지역 페이지에 대한 액세스 보호

Type

MEM_IMAGE      : 영역 내의 메모리 페이지가 이미지 섹션의 뷰에 매핑됨을 나타냅니다.
MEM_MAPPED  : 영역 내의 메모리 페이지가 섹션보기에 매핑됨을 나타냅니다.
MEM_PRIVATE : 영역 내의 메모리 페이지가 비공개 (즉, 다른 프로세스와 공유되지 않음)임을 나타냅니다.

“[structure]MEMORY_BASIC_INFORMATION”에 대한 한개의 댓글

글의 문제가 있다면 댓글을 달아 주세요.

This site uses Akismet to reduce spam. Learn how your comment data is processed.