Поделиться через


Функция 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

См. также

AttachConsole

Функции консоли