共用方式為


queryWorkingSet 函式 (psapi.h)

擷取目前新增至指定進程工作集之頁面的相關信息。

若要擷取虛擬位址子集的工作集資訊,或擷取不屬於工作集之頁面的資訊, (例如 AWE 或大型頁面) ,請使用 QueryWorkingSetEx 函 式。

語法

BOOL QueryWorkingSet(
  [in]  HANDLE hProcess,
  [out] PVOID  pv,
  [in]  DWORD  cb
);

參數

[in] hProcess

進程的句柄。 句柄必須具有 PROCESS_QUERY_INFORMATIONPROCESS_VM_READ 訪問許可權。 如需詳細資訊,請參閱 處理安全性和訪問許可權

[out] pv

接收信息的緩衝區指標。 如需詳細資訊,請參閱 PSAPI_WORKING_SET_INFORMATION

如果 pv 參數指向的緩衝區不夠大,無法包含目標進程的所有工作集專案,則函式會因為 ERROR_BAD_LENGTH而失敗。 在此情況下,PSAPI_WORKING_SET_INFORMATION 結構的 NumberOfEntries 成員會設定為必要的項目數目,但函式不會傳回工作集專案的相關信息。

[in] cb

pv 緩衝區的大小,以位元組為單位。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

從 Windows 7 和 Windows Server 2008 R2 開始,Psapi.h 會建立 PSAPI 函式的版本號碼。 PSAPI 版本號碼會影響用來呼叫函式的名稱,以及程式必須載入的連結庫。

如果 PSAPI_VERSION 為 2 或更新版本,此函式會在 Psapi.h 中定義為 K32QueryWorkingSet ,並在 Kernel32.lib 和 Kernel32.dll 中導出。 如果 PSAPI_VERSION 為 1,此函式會在 Psapi.h 中定義為 QueryWorkingSet ,並在 Psapi.lib 中匯出,並 Psapi.dll 為呼叫 K32QueryWorkingSet 的包裝函式。

必須在舊版 Windows 和 Windows 7 和更新版本上執行的程式應該一律將此函式呼叫為 QueryWorkingSet。 若要確保符號的正確解析度,請將 Psapi.lib 新增至 TARGETLIBS 宏,並使用 -DPSAPI_VERSION=1 編譯程式。 若要使用運行時間動態連結,請載入 Psapi.dll。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 psapi.h
程式庫 Windows 7 和 Windows Server 2008 R2 上的 Kernel32.lib;如果 Windows 7 和 Windows Server 2008 R2 上的 PSAPI_VERSION=1) ,Psapi.lib (;Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Psapi.lib
Dll Windows 7 和 Windows Server 2008 R2 上的 Kernel32.dll;如果 windows 7 和 Windows Server 2008 R2 上的 PSAPI_VERSION=1) ,則為 Psapi.dll (;Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Psapi.dll

另請參閱

EnumProcesses

PSAPI 函式

PSAPI_WORKING_SET_INFORMATION

QueryWorkingSetEx

工作集資訊