AttachConsole function

Attaches the calling process to the console of the specified process.

Syntax


BOOL WINAPI AttachConsole(
  _In_  DWORD dwProcessId
);

Parameters

dwProcessId [in]

The identifier of the process whose console is to be used. This parameter can be one of the following values.

ValueMeaning
pid

Use the console of the specified process.

ATTACH_PARENT_PROCESS
(DWORD)-1

Use the console of the parent of the current process.

 

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

A process can be attached to at most one console. If the calling process is already attached to a console, the error code returned is ERROR_ACCESS_DENIED (5). If the specified process does not have a console, the error code returned is ERROR_INVALID_HANDLE (6). If the specified process does not exist, the error code returned is ERROR_GEN_FAILURE (31).

A process can use the FreeConsole function to detach itself from its console. If other processes share the console, the console is not destroyed, but the process that called FreeConsole cannot refer to it. A console is closed when the last process attached to it terminates or calls FreeConsole. After a process calls FreeConsole, it can call the AllocConsole function to create a new console or AttachConsole to attach to another console.

To compile an application that uses this function, define _WIN32_WINNT as 0x0501 or later. For more information, see Using the Windows Headers.

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Wincon.h (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

See also

Console Functions
Consoles
AllocConsole
FreeConsole
GetConsoleProcessList

 

 

Community Additions

ADD
Show:
© 2014 Microsoft