プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

物理メモリ容量の取得(1)

2007年09月12日 18時32分30秒 | メモリ関連

4Gバイト以下の物理メモリ容量を取得するにはGlobalMemoryStatus()関数を使います。
搭載容量と空き容量が取得できます。使用容量は引き算して求めます。(戻る)

プロトタイプ宣言

VOID GlobalMemoryStatus(
  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;

サンプル

// 情報収集
MEMORYSTATUS ms = { sizeof(MEMORYSTATUS) };
GlobalMemoryStatus( &ms );

// 物理メモリの使用容量
DWORD dwUsed = (ms.dwTotalPhys - ms.dwAvailPhys);
// 物理メモリの空き容量
DWORD dwFree = (ms.dwAvailPhys);
// 物理メモリの搭載容量
DWORD dwSize = (ms.dwTotalPhys);
注意事項: 4Gバイトを超えるメインメモリを実装しているコンピュータではGlobalMemoryStatusEx()関数を使って下さい。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« サウンドを鳴らす(MIDIファイル) | トップ | 仮想メモリ容量の取得(1) »
最新の画像もっと見る

コメントを投稿

メモリ関連」カテゴリの最新記事