PFN_WSK_SEND fungsi panggilan balik (wsk.h)
Fungsi WskSend mengirim data melalui soket berorientasi koneksi atau streaming ke alamat transportasi jarak jauh.
Sintaks
PFN_WSK_SEND PfnWskSend;
NTSTATUS PfnWskSend(
[in] PWSK_SOCKET Socket,
[in] PWSK_BUF Buffer,
[in] ULONG Flags,
[in, out] PIRP Irp
)
{...}
Parameter
[in] Socket
Penunjuk ke struktur WSK_SOCKET yang menentukan objek soket untuk soket tempat mengirim data.
[in] Buffer
Penunjuk ke struktur WSK_BUF yang diinisialisasi yang menjelaskan buffer data yang berisi data yang dikirim melalui soket.
[in] Flags
Nilai ULONG yang berisi bitwise OR dari kombinasi bendera berikut:
WSK_FLAG_NODELAY
Mengarahkan transportasi yang mendasar untuk segera mengirim data, dan data yang sebelumnya diantrekan, ke aplikasi jarak jauh tanpa penundaan.
Bendera ini didukung oleh protokol transportasi Microsoft TCP/IP. Bendera ini mungkin tidak didukung oleh protokol transportasi lainnya.
[in, out] Irp
Penunjuk ke IRP yang dialokasikan pemanggil yang digunakan subsistem WSK untuk menyelesaikan operasi pengiriman secara asinkron. Untuk informasi selengkapnya tentang menggunakan IRP dengan fungsi WSK, lihat Menggunakan RUNP dengan Fungsi Kernel Winsock.
Mengembalikan nilai
WskSend mengembalikan salah satu kode NTSTATUS berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Data berhasil dikirim melalui soket. IRP akan diselesaikan dengan status keberhasilan. Bidang IoStatus.Information dari IRP berisi jumlah byte yang dikirim. |
|
Subsistem WSK tidak dapat segera mengirim data melalui soket. Subsistem WSK akan menyelesaikan IRP setelah mengirim data melalui soket. Status operasi pengiriman akan dikembalikan di bidang IoStatus.Status dari IRP. Jika operasi berhasil, bidang IoStatus.Information dari IRP akan berisi jumlah byte yang dikirim. |
|
Soket tidak lagi berfungsi. IRP akan diselesaikan dengan status kegagalan. Aplikasi WSK harus memanggil fungsi WskCloseSocket untuk menutup soket sesegera mungkin. |
|
Bendera yang ditentukan tidak didukung oleh transportasi jaringan yang mendasar. |
|
Terjadi kesalahan. IRP akan diselesaikan dengan status kegagalan. |
Keterangan
Aplikasi WSK hanya dapat memanggil fungsi WskSend pada soket berorientasi koneksi atau streaming yang sebelumnya telah terhubung ke alamat transportasi jarak jauh. Soket berorientasi koneksi terhubung ke alamat transportasi jarak jauh dengan salah satu metode berikut:
- Aplikasi WSK menghubungkan soket dengan memanggil fungsi WskConnect .
- Aplikasi WSK membuat, mengikat, dan menghubungkan soket dengan memanggil fungsi WskSocketConnect .
- Subsistem WSK menghubungkan soket ketika aplikasi WSK menerima permintaan koneksi masuk pada soket mendengarkan.
Subsistem WSK tidak melakukan buffering data saat mengirim data melalui soket. Oleh karena itu, panggilan ke fungsi WskSend tidak akan diselesaikan oleh subsistem WSK sampai semua data benar-benar telah dikirim.
Persyaratan
Klien minimum yang didukung | Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. |
Target Platform | Universal |
Header | wsk.h (termasuk Wsk.h) |
IRQL | <= DISPATCH_LEVEL |