PFN_WSK_CONNECT_EX fungsi panggilan balik (wsk.h)

Fungsi WskConnectEx menyambungkan soket berorientasi koneksi atau aliran ke alamat transportasi jarak jauh.

WskConnectEx mirip dengan WskConnect kecuali bahwa WskConnect juga dapat secara opsional mengirim buffer data selama atau setelah sinkronisasi koneksi.

Sintaks

PFN_WSK_CONNECT_EX PfnWskConnectEx;

NTSTATUS PfnWskConnectEx(
  [in]           PWSK_SOCKET Socket,
  [in]           PSOCKADDR RemoteAddress,
  [in, optional] PWSK_BUF Buffer,
                 ULONG Flags,
  [in, out]      PIRP Irp
)
{...}

Parameter

[in] Socket

Penunjuk ke struktur WSK_SOCKET yang menentukan objek soket untuk soket yang tersambung ke alamat transportasi jarak jauh.

[in] RemoteAddress

Penunjuk ke struktur yang menentukan alamat transportasi jarak jauh untuk menyambungkan soket. Penunjuk ini harus menjadi penunjuk ke jenis struktur SOCKADDR tertentu yang sesuai dengan keluarga alamat yang ditentukan aplikasi WSK saat membuat soket.

[in, optional] Buffer

Penunjuk ke struktur WSK_BUF , yang berisi data yang akan dikirim selama atau setelah sinkronisasi koneksi. Ukuran maksimum yang diizinkan dalam byte adalah 65.535.

Flags

Parameter ini dicadangkan untuk penggunaan sistem. Aplikasi WSK harus mengatur parameter ini ke nol.

[in, out] Irp

Penunjuk ke IRP yang dialokasikan pemanggil yang digunakan subsistem WSK untuk menyelesaikan operasi koneksi secara asinkron. Untuk informasi selengkapnya tentang menggunakan IRP dengan fungsi WSK, lihat Menggunakan RUNP dengan Fungsi Kernel Winsock.

Nilai kembali

WskConnectEx mengembalikan salah satu kode NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Soket berhasil tersambung ke alamat transportasi jarak jauh. IRP akan diselesaikan dengan status keberhasilan.
STATUS_PENDING
Subsistem WSK tidak dapat segera menyambungkan soket. Subsistem WSK akan menyelesaikan IRP setelah menyambungkan soket ke alamat transportasi jarak jauh. Status operasi sambungkan akan dikembalikan di bidang IoStatus.Status dari IRP.
STATUS_FILE_FORCED_CLOSED
Soket tidak lagi berfungsi. IRP akan diselesaikan dengan status kegagalan. Aplikasi WSK harus memanggil fungsi WskCloseSocket untuk menutup soket sesegera mungkin.
STATUS_INVALID_PARAMETER
Aplikasi WSK mencoba meneruskan bendera ke parameter Bendera (karena tidak ada bendera yang valid yang saat ini ditentukan untuk WskConnectEx, ini tidak diizinkan).
STATUS_BUFFER_OVERFLOW
Aplikasi WSK mencoba meneruskan buffer yang lebih besar dari 65.535 byte ke parameter Buffer .
Kode status lainnya
Terjadi kesalahan. IRP akan diselesaikan dengan status kegagalan.

Keterangan

Aplikasi WSK dapat membuat, mengikat, dan menghubungkan soket berorientasi koneksi dalam satu panggilan fungsi dengan memanggil fungsi WskSocketConnect daripada memanggil fungsi WskSocket , fungsi WskBind , lalu fungsi WskConnectEx . Sebaiknya panggil fungsi WskSocketConnect kecuali aplikasi WSK perlu mengatur opsi soket atau mengeluarkan operasi kontrol I/O sebelum mengikat atau menyambungkan soket.

Aplikasi WSK dapat memanggil fungsi WskConnectEx hanya pada soket berorientasi koneksi atau streaming yang sebelumnya terikat aplikasi ke alamat transportasi lokal dengan memanggil fungsi WskBind .

Untuk soket streaming, setelah WskConnectEx berhasil dipanggil pada soket aliran, soket berkomitmen pada alur berorientasi koneksi dan mungkin tidak lagi memanggil fungsi soket mendengarkan.

Jika parameter Buffer digunakan, pemanggil dapat membebaskan MDL dalam struktur WSK_BUF segera setelah permintaan koneksi selesai.

Sebelum memanggil WskConnectEx dengan buffer pengiriman yang disediakan, jika aplikasi WSK mengatur opsi TCP_FASTOPEN pada soket WSK melalui fungsi WskControlSocket , sistem akan secara opsional mengirim beberapa atau semua data dalam paket SYN. Untuk informasi selengkapnya, lihat opsi TCP Fastopen di Opsi Soket IPPROTO_TCP.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1703
Target Platform Universal
Header wsk.h (termasuk Wsk.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

SOCKADDR

WSK_PROVIDER_STREAM_DISPATCH WSK_PROVIDER_CONNECTION_DISPATCH

WSK_SOCKET

WskBind

WskCloseSocket

WskControlSocket

WskDisconnect

WskDisconnectEvent

WskSocket

WskSocketConnect