NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE fungsi panggilan balik (ndischimney.h)

[Fitur offload cerobong asap TCP tidak digunakan lagi dan tidak boleh digunakan.]

Target offload memanggil fungsi NdisTcpOffloadDisconnectComplete untuk menyelesaikan permintaan pemutusan sambungan yang dimulai oleh panggilan sebelumnya ke Fungsi MiniportTcpOffloadDisconnect dari target offload.

Sintaks

NDIS_TCP_OFFLOAD_DISCONNECT_COMPLETE NdisTcpOffloadDisconnectComplete;

void NdisTcpOffloadDisconnectComplete(
  [in] IN NDIS_HANDLE NdisMiniportHandle,
  [in] IN PNET_BUFFER_LIST NetBufferList
)
{...}

Parameter

[in] NdisMiniportHandle

Handel yang diperoleh target offload dalam panggilan sebelumnya ke Fungsi NdisMRegisterMiniportDriver .

[in] NetBufferList

Penunjuk ke struktur NET_BUFFER_LIST tunggal. Target offload memperoleh pointer ini sebagai parameter input Fungsi MiniportTcpOffloadDisconnect .

Nilai kembali

Tidak ada

Keterangan

Menyelesaikan Pemutusan Sambungan Abortif

Jika target offload mengeluarkan pemutusan abortif, target tersebut harus melakukan hal berikut sebelum memanggil fungsi NdisTcpOffloadDisconnectComplete :

  • Selesaikan semua permintaan pengiriman yang luar biasa pada koneksi dengan nilai status NDIS_STATUS_REQUEST_ABORTED. Target offload menulis nilai status ini ke anggota Status dari setiap struktur NET_BUFFER_LIST dalam daftar tertaut yang diteruskannya ke Fungsi NdisTcpOffloadSendComplete .
  • Tulis nilai status ke anggota Status struktur NET_BUFFER_LIST yang ditujukkan oleh penunjuk NetBufferList . Nilai status NDIS_STATUS_SUCCESS menunjukkan bahwa target offload berhasil mengirim segmen RST. Untuk deskripsi nilai status yang diizinkan, lihat NET_BUFFER_LIST.
Menyelesaikan Pemutusan Sambungan dengan Anggun

Sebelum menyelesaikan permintaan pemutusan sambungan dengan anggun, target offload harus:

  • Tulis nilai status ke anggota Status struktur NET_BUFFER_LIST yang diteruskannya ke Fungsi NdisTcpOffloadDisconnectComplete :
    • Nilai NDIS_STATUS_SUCCESS menunjukkan bahwa segmen FIN, serta data pengguna apa pun, berhasil dikirim oleh target offload dan juga diakui oleh host jarak jauh.
    • Nilai NDIS_STATUS_UPLOAD_IN_PROGRESS menunjukkan bahwa koneksi TCP yang direferensikan oleh NdisMiniportHandle sedang diunggah.
    • Nilai NDIS_STATUS_REQUEST_ABORTED menunjukkan bahwa segmen FIN dan/atau data pengguna apa pun tidak berhasil ditransmisikan oleh target offload dan diakui oleh host jarak jauh. Tumpukan host pada akhirnya akan menghentikan offload koneksi TCP.
  • Tentukan jumlah byte data pengguna yang dikirim dan berhasil diakui. Target offload melakukan ini dengan memanggil makro NET_BUFFER_LIST_INFO dengan idTcpOffloadBytesTransferred.
  • Memanggil Fungsi NdisAdvanceNetBufferDataStart . Parameter NetBufferList harus menunjuk ke struktur NET_BUFFER yang terkait dengan struktur NET_BUFFER_LIST yang diteruskan target offload ke fungsi NdisTcpOffloadDisconnectComplete . Parameter DataOffsetDelta harus menentukan jumlah byte data dari struktur NET_BUFFER yang ditransmisikan oleh target offload dan juga berhasil diakui oleh host jarak jauh. Parameter FreeMdl harus NULL.
Perhatikan bahwa fungsi NdisTcpOffloadDisconnectComplete hanya mengembalikan struktur NET_BUFFER_LIST dan struktur terkait yang diteruskan NDIS ke target offload Fungsi MiniportTcpOffloadDisconnect . Fungsi NdisTcpOffloadDisconnectComplete tidak dapat mengembalikan struktur NET_BUFFER_LIST yang diteruskan NDIS dalam panggilan sebelumnya ke target offload Fungsi MiniportTcpOffloadSend .

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ndischimney.h (termasuk Ndischimney.h)

Lihat juga

MiniportTcpOffloadDisconnect

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisAdvanceNetBufferDataStart

NdisMRegisterMiniportDriver

NdisTcpOffloadSendComplete