共用方式為


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,而 32 位進程大約是 3 GB,而 32 位進程則是在啟用 4 GB 微調 的系統上執行的大型位址感知進程。

ullAvailVirtual

目前在呼叫進程虛擬位址空間的使用者模式部分中,保留和未認可的記憶體數量,以位元組為單位。

ullAvailExtendedVirtual

保留的。 這個值一定是 0。

備註

MEMORYSTATUSEX 會在呼叫時反映記憶體的狀態。 它也會反映該時間的分頁檔案大小。 操作系統可以將分頁檔案放大到系統管理員所設定的大小上限。

傳回的實體記憶體大小包括來自所有節點的記憶體。

範例

如需範例,請參閱 GlobalMemoryStatusEx 函 式。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 sysinfoapi.h (包含 Windows.h)

另請參閱

GlobalMemoryStatusEx

記憶體效能資訊