Melampirkan Sebuah Modul Filter

Untuk memulai memasukkan modul filter ke dalam rangkaian driver, NDIS memanggil fungsi FilterAttach driver filter. Pada awal eksekusi dalam fungsi FilterAttach , modul filter memasuki status Melampirkan . Untuk informasi selengkapnya tentang melampirkan modul filter ke tumpukan driver, lihat Memulai Driver Stack.

Driver filter menggunakan handle, yang diberikan oleh NDIS pada parameter NdisFilterHandleFilterAttach di semua panggilan fungsi NdisXxx ke depan yang merujuk pada modul filter ini. Fungsi tersebut mencakup indikasi status, permintaan pengiriman, indikasi penerimaan, dan permintaan OID.

Saat modul filter berada dalam status Menyambungkan, driver:

  • Membuat area konteks untuk modul filter dan mengalokasikan kumpulan buffer dan sumber daya khusus modul filter lainnya. Untuk informasi selengkapnya tentang kumpulan buffer, lihat Filter Driver Buffer Management.

  • Memanggil fungsi NdisFSetAttributes dengan menggunakan nilai NdisFilterHandle yang diteruskan NDIS ke FilterAttach. Parameter FilterModuleContextNdisFSetAttributes menentukan area konteks driver filter untuk modul filter ini. NDIS meneruskan area konteks ini ke fungsi FilterXxx dari driver filter.

  • Secara opsional, membaca parameter konfigurasi untuk modul filter ini dari registri. Untuk informasi selengkapnya, lihat Mengakses Informasi Konfigurasi untuk Driver Filter.

  • Jika operasi sebelumnya berhasil diselesaikan, modul filter berada dalam status Dijeda .

  • Jika operasi sebelumnya gagal, driver filter harus merilis sumber daya apa pun yang dialokasikan dalam fungsi FilterAttach dan mengembalikan modul filter ke status Dilepas .

  • Mengembalikan NDIS_STATUS_SUCCESS atau kode kegagalan yang sesuai. Jika driver mengembalikan kode kegagalan, NDIS mengakhiri rantai driver.

Nota Registri dapat berisi bendera, yang menentukan bahwa modul filter bersifat opsional. Jika modul filter opsional tidak terpasang, NDIS tidak mengakhiri sisa tumpukan driver.

Driver filter tidak dapat membuat permintaan pengiriman, menunjukkan data yang diterima, membuat permintaan OID, atau membuat indikasi status dari status Melampirkan . Operasi kirim dan terima didukung di status Berjalan dan Jeda . Permintaan OID dan indikasi status didukung dalam status Dijeda, Memulai Ulang, Menjalankan, dan Menjeda .

NDIS memanggil fungsi FilterDetach untuk melepaskan modul filter yang dilampirkan NDIS dengan FilterAttach. Untuk informasi selengkapnya, lihat Mencopot Modul Filter.