GetPhysicallyInstalledSystemMemory 関数 (sysinfoapi.h)
コンピューターに物理的にインストールされている RAM の量を取得します。
構文
BOOL GetPhysicallyInstalledSystemMemory(
[out] PULONGLONG TotalMemoryInKilobytes
);
パラメーター
[out] TotalMemoryInKilobytes
物理的にインストールされた RAM の量をキロバイト単位で受け取る変数へのポインター。
戻り値
関数が成功すると、 TRUE が返され、 TotalMemoryInKilobytes パラメーターが 0 以外の値に設定されます。
関数が失敗した場合、 FALSE が 返され、 TotalMemoryInKilobytes パラメーターは 変更されません。 拡張エラー情報を取得するには、 GetLastError 関数を使用します。 一般的なエラーを次の表に示します。
リターン コード | 説明 |
---|---|
|
TotalMemoryInKilobytes パラメーターは NULL です。 |
|
システム管理 BIOS (SMBIOS) データの形式が正しくありません。 |
注釈
GetPhysicallyInstalledSystemMemory 関数は、コンピューターの SMBIOS ファームウェア テーブルから物理的にインストールされた RAM の量を取得します。 これは、MEMORYSTATUSEX 構造体の ullTotalPhys メンバーをオペレーティング システムで使用できる物理メモリの量に設定する GlobalMemoryStatusEx 関数によって報告される量とは異なる場合があります。 オペレーティング システムで使用できるメモリの量は、コンピューターに物理的にインストールされているメモリの量よりも少なくなる可能性があります。これは、BIOS と一部のドライバーによってメモリマップされたデバイスの I/O 領域としてメモリが予約され、オペレーティング システムとアプリケーションでメモリが使用できなくなる可能性があるためです。
GetPhysicallyInstalledSystemMemory 関数によって取得される物理メモリの量は、GlobalMemoryStatusEx 関数によって報告される量以上である必要があります。小さい場合、SMBIOS データの形式が正しくないため、関数は ERROR_INVALID_DATA で失敗します。 SMBIOS データの形式が正しくないと、ユーザーのコンピューターに問題が発生している可能性があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | WINDOWS Vista と SP1 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | sysinfoapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |