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

另請參閱

AttachConsole

主控台函式