Windows 核心编程之14 探索虚拟内存
来源:互联网 发布:艾媒数据统计 编辑:程序博客网 时间:2024/06/05 07:47
探索虚拟内存
1得到系统信息
GetsystemInfo(LPSYSTEM_INFO os);
typedef struct _SYSTEM_INFO {
union {
DWORD dwOemId; // Obsolete field...do not use
struct {
WORD wProcessorArchitecture;
WORD wReserved;
};
};
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
union {
DWORD dwOemId; // Obsolete field...do not use
struct {
WORD wProcessorArchitecture;
WORD wReserved;
};
};
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
2 虚拟内存状态
VOID
WINAPI
GlobalMemoryStatus(
__out LPMEMORYSTATUS lpBuffer
);
WINAPI
GlobalMemoryStatus(
__out LPMEMORYSTATUS lpBuffer
);
typedef struct _MEMORYSTATUS {
DWORD dwLength; // 在使用前必须用结构体大小来初始化
DWORD dwMemoryLoad; 内存使用百分率
SIZE_T dwTotalPhys; 物理内存总量
SIZE_T dwAvailPhys; 还剩余物理内存总量
SIZE_T dwTotalPageFile; 页面文件总量,包括虚拟内存和物理内存
SIZE_T dwAvailPageFile; 页面剩余量
SIZE_T dwTotalVirtual; 虚拟内存总量
SIZE_T dwAvailVirtual; 剩余虚拟内存量
} MEMORYSTATUS, *LPMEMORYSTATUS;
DWORD dwLength; // 在使用前必须用结构体大小来初始化
DWORD dwMemoryLoad; 内存使用百分率
SIZE_T dwTotalPhys; 物理内存总量
SIZE_T dwAvailPhys; 还剩余物理内存总量
SIZE_T dwTotalPageFile; 页面文件总量,包括虚拟内存和物理内存
SIZE_T dwAvailPageFile; 页面剩余量
SIZE_T dwTotalVirtual; 虚拟内存总量
SIZE_T dwAvailVirtual; 剩余虚拟内存量
} MEMORYSTATUS, *LPMEMORYSTATUS;
GetProcessMemoryInfo
得到进程的信息
PROCESS_MEMORY_COUNTERS_EX pmc = { sizeof(PROCESS_MEMORY_COUNTERS_EX) };
GetProcessMemoryInfo(GetCurrentProcess(), (PPROCESS_MEMORY_COUNTERS)&pmc, sizeof(pmc));
struct _PROCESS_MEMORY_COUNTERS_EX {GetProcessMemoryInfo(GetCurrentProcess(), (PPROCESS_MEMORY_COUNTERS)&pmc, sizeof(pmc));
DWORD cb; 必须初始化为结构体大小
DWORD PageFaultCount; 页面错误
SIZE_T PeakWorkingSetSize; 高峰工作集
SIZE_T WorkingSetSize; 工作集
SIZE_T QuotaPeakPagedPoolUsage; 高峰页面池
SIZE_T QuotaPagedPoolUsage; 页面缓冲池
SIZE_T QuotaPeakNonPagedPoolUsage; 高峰非页面缓冲池
SIZE_T QuotaNonPagedPoolUsage; 非页面缓冲池
SIZE_T PagefileUsage; 页面文件大小
SIZE_T PeakPagefileUsage; 高峰页面文件大小
SIZE_T PrivateUsage; 私有数据
} PROCESS_MEMORY_COUNTERS_EX;
确定地址空间中的状态
VirtualQuery
The VirtualQuery function provides information about a range of pages in the virtual address space of the calling process.这个函数为调用进程提供指定区域的虚拟内存信息
- Windows 核心编程之14 探索虚拟内存
- Windows核心编程:探索虚拟内存
- windows核心编程--探索虚拟内存
- 《Windows核心编程》读书笔记十四 探索虚拟内存
- 《windows核心编程》读书笔记——探索虚拟内存
- Windows核心编程笔记(十四)探索虚拟内存
- WINDOWS核心编程--虚拟内存
- windows核心编程-虚拟内存
- 虚拟内存——Windows核心编程学习手札之十四
- windows 核心编程之在应用程序中使用虚拟内存
- Windows核心编程(笔记12) 第十四章 探索虚拟内存 第十五章 在应用程序中使用虚拟内存
- windows核心编程--虚拟内存
- windows核心编程--虚拟内存
- Windows核心编程<读书笔记十四>虚拟内存一
- Windows核心编程 第十四章 虚拟内存
- 《Windows核心编程》笔记-虚拟内存、内存
- windows学习笔记之探索虚拟内存
- 探索windows虚拟内存
- HDU 1423 子序列
- 自适应大小
- asp.net ListView控件用法简介
- 谷歌获取地址经纬度
- ueditor1_2_6_1-utf8-net传解决本地图片上传失败问题
- Windows 核心编程之14 探索虚拟内存
- SqlDataReader
- Java构造函数
- Blender学习笔记三
- 基于HTTP Live Streaming(HLS) 搭建在线点播系统
- cocos2d-x之SimpleGame分析
- windows7 64位机上,libjpeg-turbo的安装和使用
- Android init启动理解
- 不错,有待