GetConsoleProcessList 函式
擷取附加至目前控制台的進程清單。
語法
DWORD WINAPI GetConsoleProcessList(
_Out_ LPDWORD lpdwProcessList,
_In_ DWORD dwProcessCount
);
參數
lpdwProcessList [out]
緩衝區的指標,這個緩衝區會在成功時接收進程標識符陣列。 這必須是有效的緩衝區,不能是 NULL
。 緩衝區必須有空間,才能接收至少1個傳回的進程標識碼。
dwProcessCount [in]
可以儲存在 lpdwProcessList 緩衝區中的進程標識碼數目上限。 這必須大於 0。
傳回值
如果函式成功,傳回值會小於或等於 dwProcessCount,並代表儲存在 lpdwProcessList 緩衝區中的進程標識碼數目。
如果緩衝區太小而無法保存所有有效的進程標識碼,傳回值就是陣列元素的必要數目。 函式不會在緩衝區中儲存任何標識符。 在此情況下,請使用傳回值來配置足以儲存整個清單並再次呼叫 函式的緩衝區。
如果傳回值為零,函式就會失敗,因為每個控制台至少有一個與其相關聯的進程。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
NULL
如果已提供行程清單或行程計數為 0,則呼叫會傳回 0 並GetLastError
傳回 ERROR_INVALID_PARAMETER
。 請提供至少一個元素的緩衝區,以呼叫此函式。 如果傳回碼大於所提供緩衝區的長度,請配置較大的緩衝區,然後再呼叫一次。
備註
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為 0x0501 或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭。
提示
不建議使用此 API,而且沒有 虛擬終端機 對等專案。 此決策會刻意將 Windows 平臺與其他操作系統對齊。 此狀態僅與本機使用者、會話和許可權內容相關。 透過跨平臺公用程式和 SSH 之類的傳輸進行遠端處理的應用程式在使用這個 API 時可能無法如預期般運作。
需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
頁首 | ConsoleApi3.h (透過 WinCon.h,包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |