ReactOS  0.4.14-dev-342-gdc047f9
memory.c File Reference
#include "precomp.h"
Include dependency graph for memory.c:

Go to the source code of this file.

Functions

INT CommandMemory (LPTSTR param)
 

Function Documentation

◆ CommandMemory()

INT CommandMemory ( LPTSTR  param)

Definition at line 18 of file memory.c.

19 {
20  MEMORYSTATUSEX msex;
21  TCHAR szMemoryLoad[20];
22  TCHAR szTotalPhys[40];
23  TCHAR szAvailPhys[40];
24  TCHAR szTotalPageFile[40];
25  TCHAR szAvailPageFile[40];
26  TCHAR szTotalVirtual[40];
27  TCHAR szAvailVirtual[40];
28  BOOL (WINAPI *GlobalMemoryStatusEx)(LPMEMORYSTATUSEX);
29 
30  if (!_tcsncmp (param, _T("/?"), 2))
31  {
33  return 0;
34  }
35 
37  = (BOOL (WINAPI *)(LPMEMORYSTATUSEX))GetProcAddress(GetModuleHandle(_T("KERNEL32")), "GlobalMemoryStatusEx");
39  {
40  msex.dwLength = sizeof(MEMORYSTATUSEX);
41  GlobalMemoryStatusEx(&msex);
42  }
43  else
44  {
45  MEMORYSTATUS ms;
46  ms.dwLength = sizeof(MEMORYSTATUS);
47  GlobalMemoryStatus(&ms);
48  msex.dwMemoryLoad = ms.dwMemoryLoad;
49  msex.ullTotalPhys = ms.dwTotalPhys;
50  msex.ullAvailPhys = ms.dwAvailPhys;
51  msex.ullTotalPageFile = ms.dwTotalPageFile;
52  msex.ullAvailPageFile = ms.dwAvailPageFile;
53  msex.ullTotalVirtual = ms.dwTotalVirtual;
54  msex.ullAvailVirtual = ms.dwAvailVirtual;
55  }
56 
57  ConvertULargeInteger(msex.dwMemoryLoad, szMemoryLoad, 20, FALSE);
58  ConvertULargeInteger(msex.ullTotalPhys, szTotalPhys, 40, TRUE);
59  ConvertULargeInteger(msex.ullAvailPhys, szAvailPhys, 40, TRUE);
60  ConvertULargeInteger(msex.ullTotalPageFile, szTotalPageFile, 40, TRUE);
61  ConvertULargeInteger(msex.ullAvailPageFile, szAvailPageFile, 40, TRUE);
62  ConvertULargeInteger(msex.ullTotalVirtual, szTotalVirtual, 40, TRUE);
63  ConvertULargeInteger(msex.ullAvailVirtual, szAvailVirtual, 40, TRUE);
64 
66  szMemoryLoad, szTotalPhys, szAvailPhys, szTotalPageFile,
67  szAvailPageFile, szTotalVirtual, szAvailVirtual);
68 
69  return 0;
70 }
#define TRUE
Definition: types.h:120
VOID ConOutResPaging(BOOL StartPaging, UINT resID)
Definition: console.c:182
#define BOOL
Definition: nt_native.h:43
SIZE_T dwAvailVirtual
Definition: winbase.h:1183
SIZE_T dwAvailPhys
Definition: winbase.h:1179
SIZE_T dwAvailPageFile
Definition: winbase.h:1181
#define STRING_MEMORY_HELP1
Definition: resource.h:141
DWORD dwMemoryLoad
Definition: winbase.h:1177
struct _MEMORYSTATUS MEMORYSTATUS
char TCHAR
Definition: xmlstorage.h:189
#define _T(x)
Definition: vfdio.h:22
SIZE_T dwTotalVirtual
Definition: winbase.h:1182
INT ConvertULargeInteger(ULONGLONG num, LPTSTR des, UINT len, BOOL bPutSeparator)
Definition: cmd.c:188
GLfloat param
Definition: glext.h:5796
#define WINAPI
Definition: msvc.h:8
#define ConOutResPrintf(uID,...)
Definition: console.h:48
VOID NTAPI GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer)
Definition: heapmem.c:1348
#define GetModuleHandle
Definition: winbase.h:3651
#define STRING_MEMORY_HELP2
Definition: resource.h:142
SIZE_T dwTotalPageFile
Definition: winbase.h:1180
#define GetProcAddress(x, y)
Definition: compat.h:418
BOOL NTAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer)
Definition: heapmem.c:1272
int _tcsncmp(const _TCHAR *s1, const _TCHAR *s2, size_t n)
Definition: tcsncmp.h:9
DWORD dwLength
Definition: winbase.h:1176
SIZE_T dwTotalPhys
Definition: winbase.h:1178