很久以前用过此函数,今天有同事问它有用法,自己都不太记得了。
将今天写的测试代码留个痕迹吧。
1 void CSetSystemMemoryDivisionDlg::SetSystemMemoryStatus(int iSize) 2 { 3 DWORD dwRet = 0; 4 5 dwRet = SetSystemMemoryDivision(iSize); // 64 6 if(SYSMEM_FAILED == dwRet) 7 { 8 RETAILMSG(1,(TEXT("==Failure %d! "),GetLastError())); 9 } 10 else if(SYSMEM_CHANGED == dwRet) 11 { 12 RETAILMSG(1,(TEXT("==Successd! "))); 13 } 14 else if(SYSMEM_MUSTREBOOT == dwRet) 15 { 16 RETAILMSG(1,(TEXT("==Must reboot! "))); 17 } 18 }
主要用到函数: DWORD SetSystemMemoryDivision (DWORD dwStorePages).
参数: dwStorePages 是存储内存的大小,以 4KB 为单位。
如果此参数设置为零时,返回错误值为: 87(参数不正确。)
如果此参数设置为小于从“控制面板”/“系统属性”中看到的存储内存正在使用的大小,返回错误值为: 112(磁盘空间不足。)
重要的信息,可以关于 FSRAMPERCENT 的帮助中获得。