GlobalMemoryStatus 関数 (winbase.h)

[GlobalMemoryStatus は正しくない情報を返す可能性があります。 代わりに GlobalMemoryStatusEx 関数を使用してください。

物理メモリと仮想メモリの両方のシステムの現在の使用状況に関する情報を取得します。

構文

void GlobalMemoryStatus(
  [out] LPMEMORYSTATUS lpBuffer
);

パラメーター

[out] lpBuffer

MEMORYSTATUS 構造体へのポインター。 GlobalMemoryStatus 関数は、現在のメモリの可用性に関する情報をこの構造体に格納します。

戻り値

なし

解説

メモリが 4 GB を超えるコンピューターでは、 GlobalMemoryStatus 関数が正しくない情報を返し、オーバーフローを示す値 –1 を報告する可能性があります。 このため、アプリケーションでは代わりに GlobalMemoryStatusEx 関数を 使用する必要があります。

2 GB を超え、メモリが 4 GB 未満の Intel x86 コンピューターでは、GlobalMemoryStatus 関数は MEMORYSTATUS 構造体の dwTotalPhys メンバーで常に 2 GB を返します。 同様に、使用可能なメモリの合計が 2 から 4 GB の場合、MEMORYSTATUS 構造体の dwAvailPhys メンバーは 2 GB に切り捨てられます。 実行可能ファイルが /LARGEADDRESSAWARE リンカー オプションを使用してリンクされている場合、 GlobalMemoryStatus 関数は両方のメンバーの正しい量の物理メモリを返します。

GlobalMemoryStatus 関数によって返される情報は揮発性です。 この関数を 2 回連続して呼び出すと、同じ情報が返される保証はありません。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

GlobalMemoryStatusEx

MEMORYSTATUS

メモリ管理関数

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

仮想アドレス空間と物理ストレージ