Mengonfigurasi File INF untuk Memodifikasi Driver Filter

Masalah penginstalan driver filter NDIS berikut dikaitkan dengan memodifikasi driver filter. Untuk membuat file INF driver filter modifikasi Anda sendiri, Anda juga dapat menyesuaikan sampel driver filter NDIS 6.0.

  • Atur entri file INF Kelas ke NetService dalam file INF. Contoh berikut menunjukkan contoh entri Kelas untuk file INF.

    Class = NetService
    
  • Bagian DDInstall dalam file INF driver filter harus memiliki entri Karakteristik . Contoh berikut menunjukkan bagaimana Anda harus menentukan entri Karakteristik dalam file INF filter Anda.

    Characteristics=0x40000
    

    Nilai 0x40000 menunjukkan bahwa NCF_LW_FILTER (0x40000) diatur. Driver filter tidak boleh mengatur bendera NCF_FILTER (0x400). Nilai bendera NCF_ Xxx ditentukan dalam Netcfgx.h. Untuk informasi selengkapnya tentang bendera NCF_ Xxx , lihat Bagian DDInstall dalam File INF Jaringan.

  • Atur entri file NETCfgInstanceId INF dalam file INF, seperti yang ditunjukkan contoh berikut.

    NetCfgInstanceId="{5cbf81bd-5055-47cd-9055-a76b2b4e3697}"
    

    Anda dapat menggunakan alat Uuidgen.exe untuk membuat GUID untuk entri NetCfgInstanceId .

  • Bagian DDInstall dari file INF untuk driver filter harus menyertakan direktif Addreg untuk kunci Ndi . File INF harus menentukan entri Layanan di bawah kunci Ndi . Entri ServiceBinary di bagian penginstalan layanan dari file INF menentukan jalur ke biner untuk driver filter. Untuk informasi selengkapnya, lihat Menambahkan Nilai Terkait Layanan ke Bagian Kunci Ndi dan DDInstall.Services dalam File INF Jaringan.

  • Bagian DDInstall dalam file INF driver filter harus memiliki entri FilterType dan FilterRunType . Untuk menentukan filter pengubahan, tentukan entri FilterType dalam file INF Anda, seperti yang ditunjukkan contoh berikut.

    HKR, Ndi,FilterType,0x00010001 ,0x00000002
    

    Nilai FilterType 0x00000002 menunjukkan bahwa filter adalah filter yang memodifikasi.

  • Tentukan entri FilterRunType dalam file INF Anda, seperti yang ditunjukkan contoh berikut.

    HKR, Ndi,FilterRunType,0x00010001 ,0x00000001
    

    Nilai 0x00000001 dalam contoh sebelumnya menunjukkan bahwa modul filter adalah wajib. Untuk menginstal modul filter opsional, atur entri FilterRunType ke 0x00000002. Untuk informasi selengkapnya, lihat Driver Filter Wajib.

  • Contoh berikut menunjukkan cara memodifikasi file INF driver filter menentukan nama layanan.

    HKR, Ndi,Service,,"NdisLwf"
    

    Dalam contoh ini, NdisLwf adalah nama layanan driver seperti yang dilaporkan ke NDIS. Perhatikan bahwa nama layanan driver filter bisa berbeda dari nama biner untuk driver—tetapi biasanya sama.

  • Contoh berikut menunjukkan bagaimana file INF filter mereferensikan nama layanan driver filter saat menambahkan layanan tersebut.

    [Install.Services]
    AddService=NdisLwf,,NdisLwf_Service_Inst;, common.EventLog 
    
    [NdisLwf_Service_Inst]
    DisplayName     = %NdisLwf_Desc%
    ServiceType     = 1 ;SERVICE_KERNEL_DRIVER
    StartType       = 1 ;SERVICE_SYSTEM_START
    ErrorControl    = 1 ;SERVICE_ERROR_NORMAL
    ServiceBinary   = %13%\ndislwf.sys
    LoadOrderGroup  = NDIS
    Description     = %NdisLwf_Desc%
    AddReg          = Common.Params.reg
    
  • File INF filter harus menentukan setidaknya nama layanan utama filter untuk atribut CoServices , seperti yang ditunjukkan contoh berikut.

    HKR, Ndi,CoServices,0x00010000,"NdisLwf"
    

    Untuk informasi selengkapnya tentang atribut CoServices , lihat Menambahkan Nilai Terkait Layanan ke Kunci Ndi.

  • Nilai FilterClass dalam file INF untuk driver filter menentukan urutannya dalam tumpukan filter. Driver filter harus menentukan kunci FilterClass . Kelas driver bisa menjadi salah satu nilai dalam tabel berikut.

    Nilai Deskripsi

    penjadwal

    Layanan filter penjadwalan paket. Kelas driver filter ini adalah driver tingkat tertinggi yang dapat ada di atas filter kelas enkripsi dalam tumpukan driver. Penjadwal paket mendeteksi klasifikasi prioritas 802.1p yang diberikan kepada paket berdasarkan komponen sinyal kualitas layanan (QoS) dan penjadwal mengirimkan tingkat paket tersebut ke driver yang mendasar sesuai dengan prioritasnya.

    enkripsi

    Driver filter kelas enkripsi ada antara penjadwal dan filter kelas kompresi.

    compression

    Driver filter kelas kompresi ada antara enkripsi dan filter kelas vpn.

    Vpn

    Driver filter kelas VPN ada antara driver filter kompresi dan keseimbangan beban.

    loadbalance

    Layanan filter penyeimbangan beban. Kelas driver filter ini ada antara penjadwalan paket dan driver failover. Layanan filter penyeimbangan beban menyeimbangkan beban kerja transfer paketnya dengan mendistribusikan beban kerja melalui serangkaian adaptor miniport yang mendasarinya.

    failover

    Layanan filter failover. Kelas driver filter ini ada antara keseimbangan beban dan driver diagnostik.

    diagnostik

    Driver filter diagnostik ada di bawah driver failover di tumpukan.

    custom

    Driver filter di kelas kustom ada di bawah driver diagnostik.

    provider_address

    Driver filter alamat penyedia ada di bawah paket Hyper-V Network Virtualization ms_wnv filter dan beroperasi pada paket alamat penyedia (PA).

Catatan Jika beberapa driver filter memiliki FilterClass yang sama, semuanya akan ditambahkan ke tumpukan berlapis driver filter. Sistem menetapkan urutan lapisan untuk setiap memodifikasi driver filter dengan FilterClass yang sama. Dalam beberapa kasus, administrator sistem dapat mengatur ulang urutan relatif driver filter yang memiliki FilterClass yang sama.

Contoh berikut menunjukkan sampel FilterClass .

HKR, Ndi,FilterClass,, compression
  • Hanya driver filter ekstensi sakelar Hyper-V yang valid di Hyper-V Extensible Switch. Driver filter sakelar yang dapat diperluas Hyper-V harus menentukan kunci FilterClass dengan salah satu nilai dalam tabel berikut.

    Nilai Deskripsi

    ms_switch_capture

    Dimulai dengan NDIS 6.30, driver tangkapan memantau lalu lintas paket di tumpukan driver sakelar yang dapat diperluas Hyper-V. Kelas driver filter ini ada di bawah driver kustom dalam tumpukan.

    Untuk informasi selengkapnya tentang kelas driver ini, lihat Menangkap Ekstensi.

    ms_switch_filter

    Dimulai dengan NDIS 6.30, memfilter driver memfilter lalu lintas paket dan memberlakukan kebijakan port atau beralih untuk pengiriman paket melalui tumpukan driver switch yang dapat diperluas. Kelas driver filter ini ada di bawah ini ms_switch_capture driver dalam tumpukan.

    Untuk informasi selengkapnya tentang kelas driver ini, lihat Ekstensi Pemfilteran.

    ms_switch_forward

    Dimulai dengan NDIS 6.30, filter driver penerusan melakukan fungsi yang sama dengan driver pemfilteran. Meneruskan driver juga meneruskan paket ke dan dari port switch yang dapat diperluas. Kelas driver filter ini ada di bawah ini ms_switch_filter driver di tumpukan.

    Untuk informasi selengkapnya tentang kelas driver ini, lihat Ekstensi Penerusan.

  • Anda harus menentukan entri berikut dalam memodifikasi file INF pengandar filter untuk mengontrol pengikatan pengandar.

    HKR, Ndi\Interfaces,UpperRange,,"noupper"
    HKR, Ndi\Interfaces,LowerRange,,"nolower"
    HKR, Ndi\Interfaces, FilterMediaTypes,,"ethernet"
    

    Untuk informasi selengkapnya tentang mengontrol pengikatan driver, lihat Menentukan Hubungan Pengikatan Driver Filter.

  • Memodifikasi file INF filter dapat menentukan definisi parameter umum untuk driver dan parameter yang terkait dengan adaptor tertentu. Contoh berikut menunjukkan beberapa definisi parameter umum.

Perhatian

Menggunakan HKR AddReg untuk menempatkan kunci langsung di bawah status layanan adalah pelanggaran kepatuhan. Kunci ini perlu ditambahkan di bawah kunci Parameter layanan agar sesuai.

[Common.Params.reg]

HKR, FilterDriverParams\DriverParam,  ParamDesc, , "Driverparam for lwf"
HKR, FilterDriverParams\DriverParam,  default, , "5"
HKR, FilterDriverParams\DriverParam,  type,  , "int"

HKR, FilterAdapterParams\AdapterParam,  ParamDesc, , "Adapterparam for lwf"
HKR, FilterAdapterParams\AdapterParam,  default, , "10"
HKR, FilterAdapterParams\AdapterParam,  type,  , "int"