次の方法で共有


GetPhysicallyInstalledSystemMemory 関数 (sysinfoapi.h)

コンピューターに物理的にインストールされている RAM の量を取得します。

構文

BOOL GetPhysicallyInstalledSystemMemory(
  [out] PULONGLONG TotalMemoryInKilobytes
);

パラメーター

[out] TotalMemoryInKilobytes

物理的にインストールされた RAM の量をキロバイト単位で受け取る変数へのポインター。

戻り値

関数が成功すると、 TRUE が返され、 TotalMemoryInKilobytes パラメーターが 0 以外の値に設定されます。

関数が失敗した場合、 FALSE が 返され、 TotalMemoryInKilobytes パラメーターは 変更されません。 拡張エラー情報を取得するには、 GetLastError 関数を使用します。 一般的なエラーを次の表に示します。

リターン コード 説明
ERROR_INVALID_PARAMETER
TotalMemoryInKilobytes パラメーターは NULL です
ERROR_INVALID_DATA
システム管理 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

関連項目

EnumSystemFirmwareTables

GetSystemFirmwareTable

GlobalMemoryStatusEx