FILTER_SET_MODULE_OPTIONS fungsi panggilan balik (ndis.h)

Fungsi FilterSetModuleOptions mengubah kumpulan layanan opsional yang terkait dengan modul filter tertentu.

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

Sintaks

FILTER_SET_MODULE_OPTIONS FilterSetModuleOptions;

NDIS_STATUS FilterSetModuleOptions(
  [in] NDIS_HANDLE FilterModuleContext
)
{...}

Parameter

[in] FilterModuleContext

Handel ke area konteks untuk modul filter yang merupakan target permintaan ini. Driver filter membuat dan menginisialisasi area konteks ini dalam fungsi FilterAttach .

Nilai kembali

FilterSetModuleOptions mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
FilterSetModuleOptions berhasil mendaftarkan layanan dan sumber daya opsional modul filter.
NDIS_STATUS_RESOURCES
FilterSetModuleOptions tidak dapat mengalokasikan sumber daya yang diperlukan modul filter.
NDIS_STATUS_ XXX atau NTSTATUS_ XXX
Gagal mendaftarkan opsi pengandar filter. Biasanya, status kesalahan seperti itu disebarluaskan dari fungsi NdisXxx atau rutinitas dukungan mode kernel.

Keterangan

Jika FilterSetModuleOptions ditentukan, NDIS memanggil FilterSetModuleOptions sebelum memanggil fungsi FilterRestart untuk memulai modul filter.

Driver filter menentukan nilai default untuk opsi modul filter yang dapat diubah dalam struktur NDIS_FILTER_DRIVER_CHARACTERISTICS yang diteruskannya ke Fungsi NdisFRegisterFilterDriver selama inisialisasi driver.

Untuk mengubah opsi modul filter tertentu pada waktu proses, driver filter juga harus menentukan titik masuk untuk FilterSetModuleOptions di NDIS_FILTER_DRIVER_CHARACTERISTICS struktur.

Untuk menentukan opsi yang harus diubah, FilterSetModuleOptions menentukan struktur karakteristik dan memanggil fungsi NdisSetOptionalHandlers . Driver filter tidak boleh memanggil NdisSetOptionalHandlers dari utas yang berbeda.

Kemungkinan struktur karakteristik yang dapat ditentukan dari FilterSetModuleOptions adalah:

NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

Untuk informasi tentang empat struktur terakhir, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.

Opsi yang ditentukan dalam setiap struktur karakteristik dapat berbeda untuk setiap modul filter.

Ketika NDIS memanggil fungsi FilterDetach , driver filter harus membatalkan semua operasi yang dilakukan di FilterSetModuleOptions.

NDIS memanggil FilterSetModuleOptions di IRQL = PASSIVE_LEVEL.

Contoh

Untuk menentukan fungsi FilterSetModuleOptions , 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 FilterSetModuleOptions yang diberi nama "MySetModuleOptions", gunakan jenis FILTER_SET_MODULE_OPTIONS seperti yang ditunjukkan dalam contoh kode ini:

FILTER_SET_MODULE_OPTIONS MySetModuleOptions;

Kemudian, terapkan fungsi Anda sebagai berikut:

_Use_decl_annotations_
NDIS_STATUS
 MySetModuleOptions(
    NDIS_HANDLE  FilterModuleContext
    )
  {...}

Jenis fungsi FILTER_SET_MODULE_OPTIONS 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 FILTER_SET_MODULE_OPTIONS 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 PASSIVE_LEVEL

Lihat juga

FilterRestart

NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFRegisterFilterDriver

NdisSetOptionalHandlers