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 を含む) |