MEMORYSTATUS 構造体 (winbase.h)
物理メモリと仮想メモリの両方の現在の状態に関する情報が含まれます。 GlobalMemoryStatus 関数は、MEMORYSTATUS 構造体に情報を格納します。
構文
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;
メンバー
dwLength
MEMORYSTATUS データ構造のサイズ (バイト単位)。 GlobalMemoryStatus 関数を呼び出す前に、このメンバーを設定する必要はありません。関数によって設定されます。
dwMemoryLoad
使用中の物理メモリのおおよその割合を指定する 0 から 100 までの数値 (0 はメモリ使用量を示し、100 は完全メモリ使用量を示します)。
dwTotalPhys
実際の物理メモリの量 (バイト単位)。
dwAvailPhys
現在使用可能な物理メモリの量 (バイト単位)。 これは、最初にディスクに内容を書き込む必要なくすぐに再利用できる物理メモリの量です。 これは、スタンバイ、空き、ゼロのリストのサイズの合計です。
dwTotalPageFile
コミットされたメモリ制限の現在のサイズ (バイト単位)。 これは、物理メモリにページ ファイルのサイズを加えて、わずかなオーバーヘッドを差し引いた値です。
dwAvailPageFile
現在のプロセスでコミットできるメモリの最大量 (バイト単位)。 この値は、システム全体で使用可能なコミットよりも小さくする必要があります。 この値を計算するには、 GetPerformanceInfo を 呼び出し、 CommitLimit から CommitTotal の値 を減算します。
dwTotalVirtual
呼び出し元プロセスの仮想アドレス空間のユーザー モード部分のサイズ (バイト単位)。 この値は、プロセスの種類、プロセッサの種類、オペレーティング システムの構成によって異なります。 たとえば、この値は、x86 プロセッサ上のほとんどの 32 ビット プロセスでは約 2 GB、4 GT RAM チューニングが有効なシステムで実行されている大きなアドレス対応の 32 ビット プロセスの場合は約 3 GB です。
dwAvailVirtual
呼び出し元プロセスの仮想アドレス空間のユーザー モード部分にある、予約されていないメモリとコミットされていないメモリの量 (バイト単位)。
注釈
MEMORYSTATUS は、呼び出し時のメモリの状態を反映します。 また、その時点のページング ファイルのサイズも反映されます。 オペレーティング システムは、ページング ファイルを管理者が設定した最大サイズまで拡大できます。
メモリが 4 GB を超えるコンピューターでは、 MEMORYSTATUS 構造体によって正しくない情報が返され、オーバーフローを示す値 –1 が報告される可能性があります。 アプリケーションがこの動作の危険にさらされている場合は、 GlobalMemoryStatus 関数の代わりに GlobalMemoryStatusEx 関数を 使用します。
例
例については、「 GlobalMemoryStatus 関数」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winbase.h (Windows.h を含む) |