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) |