Fungsi NdisCancelSendNetBufferLists (ndis.h)

Driver protokol memanggil fungsi NdisCancelSendNetBufferLists untuk membatalkan transmisi data jaringan.

Sintaks

void NdisCancelSendNetBufferLists(
  [in] NDIS_HANDLE NdisBindingHandle,
  [in] PVOID       CancelId
);

Parameter

[in] NdisBindingHandle

Handel yang dikembalikan oleh fungsi NdisOpenAdapterEx yang mengidentifikasi driver miniport atau miniport virtual tempat pembatalan berlaku.

[in] CancelId

Pengidentifikasi pembatalan. Pengidentifikasi ini menentukan data jaringan tempat transmisi dibatalkan.

Nilai kembali

Tidak ada

Keterangan

Driver protokol memetakan IRP yang diterimanya dari perangkat lunak tingkat lebih tinggi ke data jaringan NDIS. Daftar struktur NET_BUFFER_LIST menjelaskan data jaringan yang dikirim driver protokol ke driver tingkat bawah untuk transmisi. Jika IRP dibatalkan, driver protokol dapat memanggil fungsi NdisCancelSendNetBufferLists untuk membatalkan transmisi data jaringan NDIS yang sesuai yang tertunda.

Memanggil NDIS_SET_NET_BUFFER_LIST_CANCEL_ID makro untuk setiap struktur NET_BUFFER_LIST yang diteruskan ke driver tingkat bawah untuk transmisi. Makro NDIS_SET_NET_BUFFER_LIST_CANCEL_ID menandai paket yang ditentukan dengan pengidentifikasi pembatalan.

NdisCancelSendNetBufferLists membatalkan transmisi semua data yang ditandai dengan pengidentifikasi pembatalan yang ditentukan dan dikaitkan dengan driver miniport yang ditentukan. Handel pengikatan yang ditentukan dalam parameter NdisBindingHandle mengidentifikasi driver miniport.

Fungsi NdisCancelSendNetBufferLists membatalkan transmisi data jaringan pada satu pengikatan. Untuk membatalkan transmisi data jaringan pada lebih dari satu pengikatan, driver protokol harus memanggil fungsi NdisCancelSendNetBufferLists sekali untuk setiap pengikatan.

Driver protokol harus memastikan bahwa handel yang ditentukan parameter NdisBindingHandle tetap valid selama durasi panggilan ke NdisCancelSendNetBufferLists. Artinya, driver protokol tidak boleh memanggil fungsi NdisCloseAdapterEx untuk menutup pengikatan sebelum NdisCancelSendNetBufferLists kembali.

Tidak ada jaminan bahwa memanggil NdisCancelSendNetBufferLists akan membatalkan transmisi yang tertunda dari semua data jaringan dengan pengidentifikasi pembatalan yang ditentukan. Misalnya, jika driver berikutnya yang lebih rendah yang terikat driver protokol tidak menyediakan fungsi MiniportCancelSend , panggilan ke NdisCancelSendNetBufferLists tidak melakukan apa pun.

Dalam semua kasus, NDIS mengembalikan data jaringan yang dikirimkan untuk transmisi ke driver protokol asal Fungsi ProtocolSendNetBufferListsComplete . NDIS mengembalikan data pengiriman yang dibatalkan dengan status penyelesaian NDIS_STATUS_SEND_ABORTED. Penundaan antara memanggil NdisCancelSendNetBufferLists dan pengembalian struktur NET_BUFFER_LIST yang dibatalkan dapat bervariasi dan oleh karena itu tidak dapat ditentukan dengan tepat.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_SendRcv_Function(ndis)

Lihat juga

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete