Função GetConsoleProcessList
Recupera a lista dos processos anexados ao console atual.
Sintaxe
DWORD WINAPI GetConsoleProcessList(
_Out_ LPDWORD lpdwProcessList,
_In_ DWORD dwProcessCount
);
Parâmetros
lpdwProcessList [out]
Um ponteiro para um buffer que recebe uma matriz de identificadores de processo após o êxito. Deve ser um buffer válido e não pode ser NULL
. O buffer deve ter espaço para receber pelo menos um ID de processo retornado.
dwProcessCount [in]
O número máximo de identificadores de processo que podem ser armazenados no buffer de lpdwProcessList. Deve ser maior que 0.
Valor retornado
Se a função for bem-sucedida, o valor retornado será menor ou igual a dwProcessCount e representará o número de identificadores de processo armazenados no buffer de lpdwProcessList.
Se o buffer for muito pequeno para conter todos os identificadores de processo válidos, o valor retornado será o número exigido de elementos da matriz. A função não terá nenhum identificador armazenado no buffer. Nessa situação, use o valor retornado para alocar um buffer grande o suficiente para armazenar a lista inteira e chamar a função novamente.
Se o valor retornado for zero, a função falhou, pois cada console tem pelo menos um processo associado a ele. Para obter informações de erro estendidas, chame GetLastError.
Se uma lista de processos NULL
foi fornecida ou a contagem de processos foi 0, a chamada devolverá 0 e GetLastError
devolverá ERROR_INVALID_PARAMETER
. Forneça um buffer com ao menos um elemento para chamar essa função. Aloque um buffer maior e faça a chamada outra vez se o código de retorno for maior que o comprimento do buffer fornecido.
Comentários
Para compilar aplicativos que usam essa função, defina _WIN32_WINNT como 0x0501 ou posterior. Para obter mais informações, consulte Usar os cabeçalhos do Windows.
Dica
Essa API não é recomendada e não tem um terminal virtual equivalente. Essa decisão alinha propositalmente a plataforma Windows com outros sistemas operacionais. Esse estado é relevante somente para o contexto de usuário, sessão e privilégio locais. A comunicação remota de aplicativos por meio de utilitários multiplataforma e transportes como SSH pode não funcionar como esperado se essa API é usada.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | ConsoleApi3.h (via WinCon.h, inclui o Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |