Fungsi WsCloseChannel (webservices.h)
Menutup saluran tertentu.
Sintaks
HRESULT WsCloseChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parameter
[in] channel
Arahkan ke struktur WS_CHANNEL yang mewakili saluran untuk ditutup.
[in, optional] asyncContext
Arahkan ke struktur data WS_ASYNC_CONTEXT yang berisi informasi untuk memanggil fungsi secara asinkron. Teruskan nilai NULL untuk memanggil fungsi secara sinkron.
[in, optional] error
Penunjuk ke struktur WS_ERROR tempat informasi kesalahan tambahan disimpan jika fungsi gagal.
Mengembalikan nilai
Jika fungsi berhasil, fungsi akan mengembalikan NO_ERROR; jika tidak, kode kesalahan HRESULT akan dikembalikan.
Menampilkan kode | Deskripsi |
---|---|
|
Operasi asinkron masih tertunda. |
|
Penutupan saluran dibatalkan oleh panggilan ke WsAbortChannel saat saluran ditutup. |
|
Saluran dalam status tidak pantas (lihat bagian Keterangan). |
|
Koneksi dengan titik akhir jarak jauh dihentikan. |
|
Titik akhir jarak jauh tidak dapat memproses permintaan. |
|
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan. |
|
Operasi tidak selesai dalam waktu yang dialokasikan. |
|
Kuota terlampaui. |
|
Tidak cukup memori untuk menyelesaikan operasi. |
|
Satu atau beberapa argumen tidak valid. |
|
Fungsi ini dapat mengembalikan kesalahan lain yang tidak tercantum di atas. |
Keterangan
Jika Anda membuka saluran atau berhasil menerima saluran, Anda harus menutupnya saat tidak lagi diperlukan. Setelah saluran ditutup, sumber daya terkait dapat dibebaskan dengan aman.
Proses penutupan saluran akan menunggu I/O yang sudah dimulai dan tertunda selesai.
Jika saat ini tidak ada pesan yang sedang dibaca atau ditulis untuk saluran, saluran akan mencoba mematikan dengan baik. Jika tidak, semua I/O yang masih tertunda di saluran itu sendiri dibatalkan dan saluran melakukan pematian yang kasar.
Jika saluran mencoba mematikan dengan baik tetapi mengalami kesalahan, WsCloseChannel akan mengembalikan kesalahan, tetapi saluran masih akan ditutup.
Operasi ini hanya diperbolehkan jika saluran berada dalam status WS_CHANNEL_STATE_OPEN atau WS_CHANNEL_STATE_FAULTED.
Menutup saluran secara otomatis memisahkan pesan apa pun yang sedang dalam proses dibaca atau ditulis. Oleh karena itu, tidak perlu memanggil WsAbandonMessage sebelum memanggil WsCloseChannel).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | webservices.h |
Pustaka | WebServices.lib |
DLL | WebServices.dll |