Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Koppelt het aanroepende proces aan de console van het opgegeven proces als een clienttoepassing.
Syntaxis
BOOL WINAPI AttachConsole(
_In_ DWORD dwProcessId
);
Parameterwaarden
dwProcessId [in]
De identificatie van het proces waarvoor de console gebruikt moet worden. Deze parameter kan een van de volgende waarden zijn.
| Waarde | Betekenis |
|---|---|
| Pid | Gebruik de console van het opgegeven proces. |
ATTACH_PARENT_PROCESS(DWORD)-1 |
Gebruik de console van het bovenliggende proces van het huidige proces. |
Retourwaarde
Als de functie slaagt, is de retourwaarde niet-nul.
Als de functie mislukt, is de retourwaarde nul. Als u uitgebreide foutinformatie wilt ophalen, roept u GetLastError aan.
Opmerkingen
Een proces kan maximaal aan één console worden gekoppeld. Als het aanroepende proces al is gekoppeld aan een console, wordt de geretourneerde foutcode ERROR_ACCESS_DENIED. Als het opgegeven proces geen console heeft, wordt de geretourneerde foutcode ERROR_INVALID_HANDLE. Als het opgegeven proces niet bestaat, wordt de geretourneerde foutcode ERROR_INVALID_PARAMETER.
Een proces kan de functie FreeConsole gebruiken om zichzelf los te koppelen van de console. Als andere processen de console delen, wordt de console niet vernietigd, maar het proces dat FreeConsole wordt genoemd, kan er niet naar verwijzen. Een console wordt gesloten wanneer het laatste proces dat eraan is gekoppeld, wordt beëindigd of FreeConsole aanroept. Nadat een proces FreeConsole aanroept, kan de functie AllocConsole worden aangeroepen om een nieuwe console te maken of AttachConsole te koppelen aan een andere console.
Deze functie is voornamelijk nuttig voor toepassingen die zijn gekoppeld aan /SUBSYSTEM:WINDOWS, wat het besturingssysteem aangeeft dat een console niet nodig is voordat het programma de hoofdmethode uitvoert. In dat geval zijn de standaardgrepen die zijn opgehaald met GetStdHandle waarschijnlijk ongeldig bij het opstarten totdat AttachConsole wordt aangeroepen. De uitzondering hierop is als de toepassing wordt gestart met overname door het bovenliggende proces.
Als u een toepassing wilt compileren die deze functie gebruikt, definieert u _WIN32_WINNT als 0x0501 of later. Zie Windows-headers gebruikenvoor meer informatie.
Behoeften
| Minimaal ondersteunde client | Windows XP [alleen desktop-apps] |
| Minimaal ondersteunde server | Windows Server 2003 [alleen desktop-apps] |
| Koptekst | ConsoleApi.h (via WinCon.h, inclusief Windows.h) |
| Bibliotheek | Kernel32.lib |
| DLL | Kernel32.dll |