MEMORYSTATUSEX 構造体 (sysinfoapi.h)

拡張メモリを含む物理メモリと仮想メモリの両方の現在の状態に関する情報が含まれます。 GlobalMemoryStatusEx 関数は、この構造体に情報を格納します。

構文

typedef struct _MEMORYSTATUSEX {
  DWORD     dwLength;
  DWORD     dwMemoryLoad;
  DWORDLONG ullTotalPhys;
  DWORDLONG ullAvailPhys;
  DWORDLONG ullTotalPageFile;
  DWORDLONG ullAvailPageFile;
  DWORDLONG ullTotalVirtual;
  DWORDLONG ullAvailVirtual;
  DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

メンバー

dwLength

この構造体のサイズ (バイト単位)。 を呼び出す前に、このメンバーを設定する必要があります
GlobalMemoryStatusEx

dwMemoryLoad

使用中の物理メモリのおおよその割合を指定する 0 から 100 までの数値 (0 はメモリ使用量を示し、100 は完全メモリ使用量を示します)。

ullTotalPhys

実際の物理メモリの量 (バイト単位)。

ullAvailPhys

現在使用可能な物理メモリの量 (バイト単位)。 これは、最初にディスクに内容を書き込む必要なくすぐに再利用できる物理メモリの量です。 これは、スタンバイ、空き、ゼロのリストのサイズの合計です。

ullTotalPageFile

システムまたは現在のプロセスの現在のコミット済みメモリ制限 (どちらか小さい方) (バイト単位)。 システム全体でコミットされたメモリ制限を取得するには、 GetPerformanceInfo を呼び出します。

ullAvailPageFile

現在のプロセスでコミットできるメモリの最大量 (バイト単位)。 この値は、システム全体で使用可能なコミット値以下です。 システム全体で使用可能なコミット値を計算するには、GetPerformanceInfo を呼び出し、CommitLimit の値から CommitTotal の値を減算します。

ullTotalVirtual

呼び出し元プロセスの仮想アドレス空間のユーザー モード部分のサイズ (バイト単位)。 この値は、プロセスの種類、プロセッサの種類、オペレーティング システムの構成によって異なります。 たとえば、この値は、x86 プロセッサ上のほとんどの 32 ビット プロセスでは約 2 GB、 4 ギガバイトのチューニング が有効なシステムで実行されている大きなアドレス対応の 32 ビット プロセスの場合は約 3 GB です。

ullAvailVirtual

呼び出し元プロセスの仮想アドレス空間のユーザー モード部分にある、予約されていないメモリとコミットされていないメモリの量 (バイト単位)。

ullAvailExtendedVirtual

予約済み。 この値は常に 0 です。

注釈

MEMORYSTATUSEX は 、呼び出し時のメモリの状態を反映します。 また、その時点のページング ファイルのサイズも反映されます。 オペレーティング システムは、ページング ファイルを管理者が設定した最大サイズまで拡大できます。

返される物理メモリ サイズには、すべてのノードからのメモリが含まれます。

例については、 GlobalMemoryStatusEx 関数を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header sysinfoapi.h (Windows.h を含む)

こちらもご覧ください

GlobalMemoryStatusEx

メモリ パフォーマンス情報