很久以前用過此函數,今天有同事問它有用法,自己都不太記得了。
將今天寫的測試代碼留個痕跡吧。
void?CSetSystemMemoryDivisionDlg::SetSystemMemoryStatus(int?iSize) { DWORD?dwRet?=?0; dwRet?=?SetSystemMemoryDivision(iSize); //?64 if(SYSMEM_FAILED?==?dwRet) { RETAILMSG(1,(TEXT("==Failure?%d!rn"),GetLastError())); } else?if(SYSMEM_CHANGED?==?dwRet) { RETAILMSG(1,(TEXT("==Successd!rn"))); } else?if(SYSMEM_MUSTREBOOT?==?dwRet) { RETAILMSG(1,(TEXT("==Must?reboot!rn"))); } }
主要用到函數: DWORD SetSystemMemoryDivision (DWORD dwStorePages).
參數: dwStorePages 是存儲內存的大小,以 4KB 為單位。
如果此參數設置為零時,返回錯誤值為: 87(參數不正確。)
如果此參數設置為小于從“控制面板”/“系統(tǒng)屬性”中看到的存儲內存正在使用的大小,返回錯誤值為: 112(磁盤空間不足。)
重要的信息,可以關于 FSRAMPERCENT 的幫助中獲得。