Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Driver filter membuat buffer untuk menyalin data jaringan yang diperoleh dari driver lain, atau untuk memulai operasi kirim atau terima.
Jika driver filter tidak membuat buffer, driver tidak mengelola kumpulan buffer. Pengemudi seperti ini hanya meneruskan buffer yang diterimanya dari driver lain.
Driver filter yang membuat buffer untuk mendukung operasi kirim atau terima harus mengelola kumpulan struktur NET_BUFFER_LIST dan kumpulan struktur NET_BUFFER.
Untuk membuat kumpulan ini, driver memanggil fungsi berikut:
Driver filter dapat menggunakan fungsi-fungsi berikut untuk mengalokasikan struktur-struktur dari kumpulan.
NdisAllocateNetBufferAndNetBufferList
Memanggil NdisAllocateNetBufferAndNetBufferList lebih efisien daripada memanggil NdisAllocateNetBufferList diikuti oleh NdisAllocateNetBuffer. Namun, NdisAllocateNetBufferAndNetBufferList hanya membuat satu struktur NET_BUFFER pada struktur NET_BUFFER_LIST. Untuk menggunakan NdisAllocateNetBufferAndNetBufferList, driver harus mengatur parameter AllocateNetBuffer ke TRUE saat memanggil NdisAllocateNetBufferListPool.
Filter driver yang memulai permintaan pengiriman harus menentukan persyaratan konteks dan ruang penyangga driver dasar. Driver filter menggunakan atribut penyalaan ulang untuk menentukan persyaratan pengisian ulang dari driver yang mendasarinya. Driver filter harus menentukan persyaratan isi ulang dan konteks dalam status Restarting. Driver harus mengalokasikan isi ulang dan ruang konteks yang memadai untuk seluruh tumpukan. Jika perlu, driver filter dapat membebaskan kumpulan dan merealokasinya dalam status Menghidupkan ulang.
Filter driver menggunakan fungsi berikut untuk membebaskan memori:
Driver filter menggunakan fungsi berikut untuk membebaskan struktur yang dialokasikan dari kumpulan:
Driver harus membebaskan struktur NET_BUFFER yang dialokasikan dengan NdisAllocateNetBuffer sebelum membebaskan struktur NET_BUFFER_LIST terkait. struktur NET_BUFFER yang dialokasikan dengan NdisAllocateNetBufferAndNetBufferList dibebaskan saat driver memanggil NdisFreeNetBufferList untuk struktur NET_BUFFER_LIST terkait.