Aracılığıyla paylaş


AttachConsole işlevi

Çağrı işlemini, belirtilen işlemin konsoluna istemci uygulaması olarak ekler.

Sözdizimi

BOOL WINAPI AttachConsole(
  _In_ DWORD dwProcessId
);

Parametreler

dwProcessId [in]
Konsolu kullanılacak işlemin tanımlayıcısı. Bu parametre aşağıdaki değerlerden biri olabilir.

Değer Anlamı
pid Belirtilen işlemin konsolunu kullanın.
ATTACH_PARENT_PROCESS(DWORD)-1 Geçerli işlemin ana sürecinin konsolunu kullanın.

Dönüş değeri

İşlev başarılı olursa, dönüş değeri sıfır değildir.

İşlev başarısız olursa, dönüş değeri sıfır olur. Genişletilmiş hata bilgilerini almak için GetLastError'ı arayın.

Açıklamalar

Bir işlem en fazla bir konsola eklenebilir. Çağırma işlemi zaten bir konsola bağlıysa, döndürülen hata kodu ERROR_ACCESS_DENIED. Belirtilen işlemin konsolu yoksa, döndürülen hata kodu ERROR_INVALID_HANDLE. Belirtilen işlem yoksa, döndürülen hata kodu ERROR_INVALID_PARAMETER.

Bir işlem, kendisini konsolundan ayırmak için FreeConsole işlevini kullanabilir. Diğer işlemler konsolu paylaşıyorsa, konsol yok olmaz, ancak FreeConsole olarak adlandırılan işlem buna başvuramaz. Bir konsola eklenen son işlem sonlandırıldığında veya FreeConsole'yi çağırdığında kapatılır. Bir işlem FreeConsole'u çağırdıktan sonra AllocConsole işlevini çağırarak yeni bir konsol oluşturabilir veya AttachConsole'u başka bir konsola iliştirebilir.

Bu işlev öncelikle /SUBSYSTEM:WINDOWS ile bağlantılı uygulamalar için yararlıdır. Bu, işletim sistemine programın ana yöntemine girmeden önce bir konsolun gerekli olmadığını gösterir. Bu örnekte, GetStdHandle ile alınan standart tanıtıcılar AttachConsole çağrılana kadar büyük olasılıkla başlangıçta geçersiz olacaktır. Bunun istisnası, uygulamanın ana işlemi tarafından kulp devralma ile başlatılmasıdır.

Bu işlevi kullanan bir uygulamayı derlemek için _WIN32_WINNT veya üzeri olarak 0x0501 tanımlayın. Daha fazla bilgi için bkz. windows üst bilgilerini kullanma .

Gereksinimler

   
Desteklenen en düşük düzeydeki istemci Windows XP [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows Server 2003 [yalnızca masaüstü uygulamaları]
Başlık ConsoleApi.h (WinCon.h aracılığıyla Windows.h'yi dahil edin)
Kütüphane Kernel32.lib
DLL Kernel32.dll

Ayrıca bakınız

Konsol İşlevleri

Konsolları

AllocConsoleWithOptions

AllocConsole

FreeConsole

GetConsoleProcessList (Konsol İşlem Listesi Al)