Функция 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.
Requirements
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхний колонтитул | ConsoleApi3.h (через WinCon.h, включая Windows.h) |
Библиотека | Kernel32.lib |
DLL-библиотеки | Kernel32.dll |