ReleasePseudoConsole işlevi

Handle'ın HPCON sahipliğini pseudokonsola devrederek, tüm istemcilerin bağlantısı kesildiğinde onun otomatik olarak çıkmasını sağlar.

Sözdizimi

HRESULT WINAPI ReleasePseudoConsole(
    _In_ HPCON hPC
);

Parametreler

hPC [in] CreatePseudoConsole tarafından açılmış bir etkin sahte konsol tutamacı.

Dönüş değeri

Tür: HRESULT

Bu yöntem başarılı olursa, S_OKdöndürür. Aksi takdirde, bir HRESULT hata kodu döndürür. hPC bağımsız değişkeni geçersiz olmadığı sürece çağrının başarısız olması beklenmez ve bu durumda E_INVALIDARG döndürür.

Açıklamalar

Uyarı

ReleasePseudoConsole, HPCON ile ilişkili belleği serbest bırakmaz. HPCON örneğini kullanmayı bitirdikten sonra ClosePseudoConsole'u çağırmanız gerekir. Doğru kullanımı hakkında önemli bilgiler için bkz. ClosePseudoConsole .

Uygulamanızın sahip olduğu HPCON tanıtıcısı, psödokonole oturumunu varsayılan olarak süresiz olarak etkin tutar. Windows'un önceki sürümlerinde yalnızca ClosePseudoConsole, HPCON tanıtıcısının sahipliğini geri verecekti. Ancak, geri dönmeden önce tüm istemcilerin bağlantısı kesilene kadar da bekler.

Bu iki soruna neden oldu:

  1. Tüm istemcilerin bağlantısının kesilip kesilmediğini güvenilir bir şekilde algılaması mümkün değildi. Başlangıçta başlatılan konsol işleminin sonlanıp sonlanmadığını test etmek, ek olarak başlatılmış olabilecek ve halen çalışmaya devam eden işlemler olabileceği için yetersizdir.
  2. Pseudokonsol ile uygulama arasında bir ömür ve sahiplik döngüsü oluşturmuştur. Uygulamanız, HPCON tanıtıcısını tutarak psödokonsol oturumunu canlı tutarken, psödokonsol ise uygulamanızı canlı tutar. Tüm istemcilerin bağlantısının kesildiğini belirten bir gösterge bekliyordunuz ve ancak bu gösterge geldiğinde ClosePseudoConsole çağrısını yapabiliyorsunuz.

ReleasePseudoConsole bu sorunu çözer: Bu işlev çağrıldıktan sonra, tüm istemcilerin bağlantısı kesildikten sonra psödokondiyolu otomatik olarak çıkar. Şimdi tek yapmanız gereken çıkış ve giriş kanalı tutamaçlarınızdan hata döndürene kadar bunları okumak veya bunlara yazmaktır. Bu, tüm istemcilerin bağlantısının kesildiğini ve psödokonsolun çıktığını gösterir. HPCON tanıtıcısının tuttuğu kalan bitleri serbest bırakmak için ClosePseudoConsole'u çağırın.

Örnekler

Bu işlevi kullanarak psödokonsol oturumu oluşturma hakkında kapsamlı bir kılavuz için bkz. Pseudoconsole Oturumu Oluşturma.

Gereksinimler

   
Desteklenen en düşük düzeydeki istemci Windows 11 24H2 (derleme 26100) [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows Server 2025 (derleme 26100)
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

Pseudoconsoles

Pseudoconsole Oturumu Oluşturma

ClosePseudoConsole