Bagikan melalui


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