Fungsi AttachConsole

Melampirkan proses panggilan ke konsol proses yang ditentukan sebagai aplikasi klien.

Sintaks

BOOL WINAPI AttachConsole(
  _In_ DWORD dwProcessId
);

Parameter

dwProcessId [in]
Pengidentifikasi proses yang konsolnya akan digunakan. Parameter ini bisa menjadi salah satu nilai berikut.

Value Makna
pid Gunakan konsol proses yang ditentukan.
ATTACH_PARENT_PROCESS(DWORD)-1 Gunakan konsol induk proses saat ini.

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Proses dapat dilampirkan ke paling banyak satu konsol. Jika proses panggilan sudah dilampirkan ke konsol, kode kesalahan yang dikembalikan ERROR_ACCESS_DENIED. Jika proses yang ditentukan tidak memiliki konsol, kode kesalahan yang dikembalikan ERROR_INVALID_HANDLE. Jika proses yang ditentukan tidak ada, kode kesalahan yang dikembalikan ERROR_INVALID_PARAMETER.

Proses dapat menggunakan fungsi FreeConsole untuk melepaskan dirinya dari konsolnya. Jika proses lain berbagi konsol, konsol tidak dihancurkan, tetapi proses yang disebut FreeConsole tidak dapat merujuk ke konsol tersebut. Konsol ditutup ketika proses terakhir yang dilampirkan ke konsol berakhir atau memanggil FreeConsole. Setelah proses memanggil FreeConsole, ia dapat memanggil fungsi AllocConsole untuk membuat konsol baru atau AttachConsole untuk dilampirkan ke konsol lain.

Fungsi ini terutama berguna untuk aplikasi yang ditautkan dengan /SUBSYSTEM:WINDOWS, yang menyiratkan sistem operasi bahwa konsol tidak diperlukan sebelum memasuki metode utama program. Dalam hal ini, handel standar yang diambil dengan GetStdHandle kemungkinan akan tidak valid pada startup hingga AttachConsole dipanggil. Pengecualian untuk ini adalah jika aplikasi diluncurkan dengan pewarisan penanganan oleh proses induknya.

Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan _WIN32_WINNT sebagai 0x0501 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header ConsoleApi.h (melalui WinCon.h, sertakan Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Baca juga

Fungsi Konsol

Konsol

AllocConsole

FreeConsole

GetConsoleProcessList