Share via


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

dwAvailVirtual

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

備註

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

在記憶體超過 4 GB 的計算機上, MEMORYSTATUS 結構可以傳回不正確的資訊,報告值 –1 以指出溢位。 如果您的應用程式有此行為的風險,請使用 GlobalMemoryStatusEx 函式,而不是 GlobalMemoryStatus 函式。

範例

如需範例,請參閱 GlobalMemoryStatus 函式

規格需求

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

另請參閱

GlobalMemoryStatus

GlobalMemoryStatusEx

記憶體效能資訊