[DllImport("coredll.dll", SetLastError=true)]
static extern uint SetSystemMemoryDivision(uint dwStorePages);
Declare Function SetSystemMemoryDivision Lib "coredll.dll" (dwStorePages As UInt32) As UInt32
None.
Do you know one? Please contribute it!
This function takes one argument - size of storage in memory pages. It returns result code that could be:
0 - SYSMEM_CHANGED: Memory division changed successfully
1 - SYSMEM_MUSTREBOOT: Need to reboot to accept memory division changes
2 - SYSMEM_REBOOTPENDING: Cannot change memory division because the system should be rebooted after the previous call before
3 - SYSMEM_FAILED: Change failed. Use GetLastError to get more details.
Please add some!
namespace MemGetSet
{
public partial class Form1 : Form
{
[DllImport("coredll", SetLastError = true)]
private static extern int GetSystemMemoryDivision(ref int storage, ref int ram, ref int pageSize);
[DllImport("coredll", SetLastError = true)]
private static extern int SetSystemMemoryDivision(int pages);
public Form1()
{
InitializeComponent();
}
private void btnGet_Click(object sender, EventArgs e)
{
int storage=0;
int ram=0;
int pageSize=0;
int result = GetSystemMemoryDivision( ref storage, ref ram, ref pageSize);
edtPages.Text = string.Format("Get Mem result {0} storage {1} ram {2} pagesize {3}", result, storage, ram, pageSize);
}
private void btnSet_Click(object sender, EventArgs e)
{
int result = SetSystemMemoryDivision(int.Parse(edtPages.Text));
edtPages.Text = string.Format("Set Mem result {0} ", result);
}
}
}