PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE fungsi panggilan balik (ndis.h)

Fungsi ProtocolCoSendNetBufferListsComplete menyelesaikan operasi pengiriman yang dimulai driver protokol dengan panggilan ke Fungsi NdisCoSendNetBufferLists .

Catatan Anda harus mendeklarasikan fungsi dengan menggunakan jenis PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE . Untuk informasi selengkapnya, lihat bagian Contoh berikut ini.
 

Sintaks

PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE ProtocolCoSendNetBufferListsComplete;

void ProtocolCoSendNetBufferListsComplete(
  [in] NDIS_HANDLE ProtocolVcContext,
  [in] PNET_BUFFER_LIST NetBufferLists,
  [in] ULONG SendCompleteFlags
)
{...}

Parameter

[in] ProtocolVcContext

Handel ke area konteks yang dialokasikan driver protokol di mana driver ini mempertahankan informasi status run-time koneksi per virtual (VC). Klien atau manajer panggilan mandiri menyediakan handel ini baik ketika disebut fungsi NdisCoCreateVc atau dari fungsi ProtocolCoCreateVc-nya .

[in] NetBufferLists

Penunjuk ke daftar struktur NET_BUFFER_LIST yang disediakan driver protokol dalam panggilan sebelumnya ke Fungsi NdisCoSendNetBufferLists .

[in] SendCompleteFlags

Bendera NDIS yang dapat dikombinasikan dengan operasi OR bitwise. Untuk menghapus semua bendera, atur parameter ini ke nol. ProtocolCoSendNetBufferListsComplete mendukung bendera NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL, yang; jika diatur, menunjukkan bahwa IRQL saat ini DISPATCH_LEVEL. Untuk informasi selengkapnya tentang bendera ini, lihat Mengirimkan Pelacakan IRQL.

Mengembalikan nilai

Tidak ada

Keterangan

Fungsi ProtocolCoSendNetBufferListsComplete diperlukan untuk driver protokol CoNDIS. ProtocolCoSendNetBufferListsComplete melakukan pascaproses apa pun yang diperlukan untuk menyelesaikan operasi pengiriman. Misalnya, driver protokol dapat memberi tahu klien yang meminta driver untuk mengirim data jaringan bahwa operasi pengiriman selesai.

NDIS memanggil ProtocolCoSendNetBufferListsComplete setelah driver miniport yang mendasar memanggil Fungsi NdisMCoSendNetBufferListsComplete . Operasi pengiriman lengkap tidak selalu menyiratkan bahwa driver miniport yang mendasar telah mengirimkan data jaringan yang ditentukan. Misalnya, driver miniport dapat menunjukkan bahwa operasi pengiriman telah selesai segera setelah mentransfer data jaringan ke perangkat keras kartu antarmuka jaringan (NIC).

Ketika NDIS memanggil ProtocolCoSendNetBufferListsComplete, driver protokol mendapatkan kembali kepemilikan semua sumber daya yang terkait dengan struktur NET_BUFFER_LIST yang ditentukan parameter NetBufferLists .

NDIS selalu mengirimkan data jaringan protokol yang disediakan driver ke driver yang mendasar dalam urutan yang ditentukan protokol yang diteruskan ke NdisCoSendNetBufferLists. Namun, driver yang mendasar dapat menyelesaikan permintaan pengiriman dalam urutan apa pun. Artinya, driver protokol dapat mengandalkan NDIS untuk mengirimkan data jaringan dalam urutan "first in, first out" (FIFO) ke driver yang mendasar. Namun, driver protokol tidak dapat mengandalkan driver yang mendasar untuk memanggil NdisMCoSendNetBufferListsComplete dalam urutan yang sama.

NDIS memanggil ProtocolCoSendNetBufferListsComplete di IRQL<= DISPATCH_LEVEL.

Contoh

Untuk menentukan fungsi ProtocolCoSendNetBufferListsComplete , Anda harus terlebih dahulu memberikan deklarasi fungsi yang mengidentifikasi jenis fungsi yang Anda tentukan. Windows menyediakan sekumpulan tipe fungsi untuk pengandar. Mendeklarasikan fungsi menggunakan jenis fungsi membantu Analisis Kode untuk Driver, Pemverifikasi Driver Statis (SDV), dan alat verifikasi lainnya menemukan kesalahan, dan itu adalah persyaratan untuk menulis driver untuk sistem operasi Windows.

Misalnya, untuk menentukan fungsi ProtocolCoSendNetBufferListsComplete yang diberi nama "MyCoSendNetBufferListsComplete", gunakan jenis PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE seperti yang ditunjukkan dalam contoh kode ini:

PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE MyCoSendNetBufferListsComplete;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
VOID
 MyCoSendNetBufferListsComplete(
    NDIS_HANDLE  ProtocolVcContext,
    PNET_BUFFER_LIST  NetBufferLists,
    ULONG  SendCompleteFlags
    )
  {...}

Jenis fungsi PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE didefinisikan dalam file header Ndis.h. Untuk mengidentifikasi kesalahan secara lebih akurat saat Anda menjalankan alat analisis kode, pastikan untuk menambahkan anotasi Use_decl_annotations ke definisi fungsi Anda. Anotasi Use_decl_annotations memastikan bahwa anotasi yang diterapkan ke jenis fungsi PROTOCOL_CO_SEND_NET_BUFFER_LISTS_COMPLETE dalam file header digunakan. Untuk informasi selengkapnya tentang persyaratan untuk deklarasi fungsi, lihat Mendeklarasikan Fungsi dengan Menggunakan Jenis Peran Fungsi untuk Driver NDIS.

Untuk informasi tentang Use_decl_annotations, lihat Perilaku Fungsi Anotasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Windows
Header ndis.h (termasuk Ndis.h)
IRQL <= DISPATCH_LEVEL

Lihat juga

Fungsi Kirim dan Terima Driver Protokol CoNDIS

NET_BUFFER_LIST

NdisCoCreateVc

NdisCoSendNetBufferLists

NdisMCoSendNetBufferListsComplete

ProtocolCoCreateVc

ProtocolCoReceiveNetBufferLists