Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Melepaskan kepemilikan handle HPCON ke pseudoconsole, memungkinkan perangkat tersebut keluar secara otomatis setelah semua klien terputus.
Sintaksis
HRESULT WINAPI ReleasePseudoConsole(
_In_ HPCON hPC
);
Parameter-parameternya
hPC [in] Handle untuk pseudoconsole aktif seperti yang dibuka oleh CreatePseudoConsole.
Mengembalikan nilai
Jenis: HRESULT
Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT. Panggilan ini tidak diharapkan gagal kecuali jika argumen hPC tidak valid, dalam hal ini akan mengembalikan E_INVALIDARG.
Komentar
Peringatan
ReleasePseudoConsole tidak membatalkan alokasi memori yang terkait dengan HPCON. Anda masih harus memanggil ClosePseudoConsole setelah selesai menggunakan instans HPCON . Lihat ClosePseudoConsole untuk informasi penting tentang penggunaannya yang benar.
Handel HPCON yang dimiliki oleh aplikasi Anda membuat sesi pseudoconsole tetap hidup tanpa batas waktu secara default. Di versi Windows sebelumnya, hanya ClosePseudoConsole yang akan melepaskan kepemilikan handle HPCON. Namun, itu juga akan menunggu hingga semua klien terputus sebelum kembali.
Hal ini mengakibatkan dua masalah:
- Tidak dapat dengan andal mendeteksi apakah semua klien telah terputus. Hanya memeriksa apakah proses konsol yang awalnya diluncurkan telah selesai tidak cukup, karena mungkin telah meluncurkan proses tambahan yang masih berjalan.
- Ini menciptakan siklus kepemilikan dan keberlangsungan antara pseudoconsol dan aplikasi. Aplikasi Anda akan menjaga sesi pseudoconsole tetap aktif dengan mempertahankan pegangan HPCON, sementara pseudoconsole akan memastikan aplikasi Anda tetap berjalan, sambil menunggu tanda bahwa semua klien telah terputus sebelum memanggil ClosePseudoConsole.
ReleasePseudoConsole memecahkan masalah ini: Setelah memanggil fungsi ini, pseudoconsole akan keluar secara otomatis setelah semua klien terputus. Yang perlu Anda lakukan sekarang adalah membaca dari atau menulis ke handle pipa output dan input Anda sampai operasi tersebut menunjukkan kegagalan. Ini menunjukkan bahwa semua klien telah terputus dan pseudoconsole telah keluar. Panggil ClosePseudoConsole untuk melepaskan bit yang tersisa yang dipegang oleh handle HPCON.
Contoh
Untuk panduan lengkap tentang menggunakan fungsi ini untuk membuat sesi pseudoconsole, silakan lihat Membuat Sesi Pseudoconsole.
Persyaratan
| Klien minimum yang didukung | Windows 11 24H2 (build 26100) [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2025 (build 26100) |
| Kepala Halaman | ConsoleApi.h (melalui WinCon.h, sertakan Windows.h) |
| Perpustakaan | Kernel32.lib |
| DLL | Kernel32.dll |