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

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

ページング・ファイル容量の取得(1)

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

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.dwTotalPageFile - ms.dwAvailPageFile);
// ページング・ファイルの空き容量
DWORD dwFree = (ms.dwAvailPageFile);
// ページング・ファイルの搭載容量
DWORD dwSize = (ms.dwTotalPageFile);
注意事項: 4Gバイトを超えるメインメモリを実装しているコンピュータではGlobalMemoryStatusEx()関数を使って下さい。

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

コメントを投稿

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