Fungsi WSManDisconnectShell (wsman.h)
Memutuskan sambungan jaringan shell aktif dan perintah terkait.
Sintaks
void WSManDisconnectShell(
[in, out] WSMAN_SHELL_HANDLE shell,
DWORD flags,
[in] WSMAN_SHELL_DISCONNECT_INFO *disconnectInfo,
[in] WSMAN_SHELL_ASYNC *async
);
Parameter
[in, out] shell
Menentukan handel yang dikembalikan oleh panggilan ke fungsi WSManCreateShell . Parameter ini tidak boleh NULL.
flags
Dapat berupa bendera WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP atau bendera WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK .
[in] disconnectInfo
Penunjuk ke struktur WSMAN_SHELL_DISCONNECT_INFO yang menentukan batas waktu diam yang dapat diterapkan sesi server. Jika parameter ini NULL, batas waktu menganggur sesi server tidak akan diubah.
[in] async
Mendefinisikan struktur asinkron untuk berisi konteks pengguna opsional dan fungsi panggilan balik wajib. Untuk informasi selengkapnya, lihat WSMAN_SHELL_ASYNC. Parameter ini tidak boleh NULL.
Nilai kembali
Tidak ada
Keterangan
Fungsi ini menangguhkan koneksi jaringan ke sesi server yang tersambung secara aktif. Setiap operasi yang dilakukan pada instans shell, seperti WSManRunShellCommand, WSManSendShellInput, atau WSManSignalShell, terikat untuk menyelesaikan sebelum pemutusan sambungan. Ini memastikan bahwa setiap data yang dikirim melalui WSManSendShellInput diterima oleh sesi server sebelum shell terputus. Klien dapat secara opsional mengubah mode buffering server dengan menggunakan bendera. Perilaku berikut diamati:
- WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP–Ketika buffer penuh, server menghilangkan data sebelumnya dalam buffer aliran respons untuk memastikan operasi perintah yang sesuai terus berjalan.
-
WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK–Ketika buffer aliran respons penuh, server memblokir eksekusi perintah. Jika tidak ada bendera yang ditentukan, server terus menggunakan mode yang dikonfigurasi atau mode yang ditentukan ketika shell dibuat. Jika terjadi kegagalan jaringan, jika klien tidak dapat menghubungi sesi untuk memutuskan sambungan shell, kesalahan berikut dikembalikan:
ERROR_WINRS_SHELL_DISCONNECT_OPERATION_NOT_GRACEFUL
Sesi klien masih dalam keadaan terputus, tetapi tidak dijamin bahwa operasi sebelumnya telah selesai sebelum sesi terputus.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 |
Server minimum yang didukung | Windows Server 2012 |
Target Platform | Windows |
Header | wsman.h |
Pustaka | WsmSvc.lib |
DLL | WsmSvc.dll |