共用方式為


設定用於修改篩選驅動程式的 INF 檔案

下列 NDIS 篩選驅動程式安裝問題與修改篩選驅動程式相關聯。 若要建立您自己的修改篩選驅動程式 INF 檔案,您也可以調整 範例 NDIS 6.0 篩選驅動程式

  • 類別 INF 檔案項目設定為 INF 檔案中的 NetService。 下列範例顯示了 INF 檔案中的 Class 範例項目。

    Class = NetService
    
  • 篩選驅動程式 INF 檔案中的 DDInstall 區段必須具有 特徵項目。 下列範例示範如何在您的篩選 INF 檔中定義 特性 條目。

    Characteristics=0x40000
    

    0x40000值表示已設定NCF_LW_FILTER (0x40000)。 篩選驅動程式不得設定NCF_FILTER (0x400) 旗標。 Netcfgx.h中定義NCF_ Xxx 旗標的值。 如需NCF_ Xxx 旗標的詳細資訊,請參閱網路 INF 檔案 中的DDInstall 區段。

  • 如以下範例所示,在 INF 檔案中設定 NetCfgInstanceId INF 檔案項目。

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

    您可以使用 Uuidgen.exe 工具來建立 NetCfgInstanceId 專案的 GUID。

  • 篩選驅動程式 INF 檔案的 DDInstall 區段必須包含 Ndi 鍵值的 Addreg 指示詞。 INF 檔案必須在 Ndi 機碼下指定 Service 項目。 INF 檔案中的 service-install 區段中的 ServiceBinary 項目指定篩選驅動程式的二進位檔路徑。 如需詳細資訊,請參閱網路 INF 檔案中的 將服務相關值新增至 Ndi 金鑰DDInstall.Services 一節

  • 篩選驅動程式 INF 檔案中的 DDInstall 區段必須具有 FilterTypeFilterRunType 專案。 若要指定修改篩選,請在 INF 檔案中定義 FilterType 專案,如下列範例所示。

    HKR, Ndi,FilterType,0x00010001 ,0x00000002
    

    FilterType 值0x00000002指出篩選條件是修改篩選。

  • 定義 INF 檔案中的 FilterRunType 項目,如以下範例所示。

    HKR, Ndi,FilterRunType,0x00010001 ,0x00000001
    

    上述範例中的0x00000001值表示篩選模組是必要的。 若要安裝選用的篩選模組,請將 FilterRunType 項目設定為 0x00000002。 如需詳細資訊,請參閱 強制篩選驅動程式

  • 下列範例示範修改篩選驅動程式 INF 檔案如何指定服務的名稱。

    HKR, Ndi,Service,,"NdisLwf"
    

    在此範例中,NdisLwf 是驅動程式服務的名稱,因為它會回報給 NDIS。 請注意,篩選驅動程式服務的名稱與驅動程式的二進位檔名稱不同,但通常相同。

  • 下列範例示範篩選 INF 檔案在新增該服務時,如何參考篩選驅動程式服務的名稱。

    [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
    
  • 篩選 INF 檔案必須至少指定 CoServices 屬性篩選的主要服務名稱,如下列範例所示。

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

    如需 CoServices 屬性的詳細資訊,請參閱 將服務相關值新增至 Ndi 索引鍵

  • 篩選驅動程式 INF 檔案中的 FilterClass 值會決定其在篩選堆疊中的順序。 篩選驅動程序必須定義 FilterClass 索引鍵。 驅動程式的類別可以是下表中的其中一個值。

    價值 說明

    排程器

    封包排程篩選服務。 此類別的篩選驅動程式是驅動程式堆疊中可存在於加密類別篩選之上的最高層級驅動程式。 封包排程器會偵測由服務品質 (QoS) 信令元件提供給封包的 802.1p 優先等級,根據優先級別將這些封包傳送到基礎驅動程式。

    加密

    排程器與壓縮類別篩選之間存在加密類別篩選驅動程式。

    壓縮

    壓縮類別篩選驅動程式存在於加密和 vpn 類別篩選之間。

    vpn

    VPN 類別篩選驅動程式存在於壓縮和負載平衡篩選驅動程序之間。

    負載平衡

    負載平衡篩選服務。 此類別的篩選驅動程式存在於封包排程和故障轉移驅動程序之間。 負載平衡篩選服務會藉由將工作負載分散到其基礎迷你埠配接器集,以平衡其封包傳輸的工作負載。

    故障切換

    故障轉移篩選服務。 負載平衡和診斷驅動程序之間存在這種篩選驅動程序類別。

    診斷

    診斷篩選驅動程式存在於堆疊中的故障轉移驅動程式下方。

    習慣

    自定義類別中的篩選驅動程式存在於診斷驅動程式下方。

    提供者地址

    提供者地址篩選驅動程式位於內建於系統中的 Hyper-V 網路虛擬化 ms_wnv 篩選器之下,並在提供者位址(PA)封包上運作。

注意 如果多個篩選驅動程式具有相同的 FilterClass,它們都會新增至篩選驅動程式的分層堆疊。 系統會使用相同的 FilterClass,為每個修改篩選驅動程式指派分層順序。 在某些情況下,系統管理員可以重新排列具有相同 FilterClass 之篩選驅動程式的相對順序。

下列範例顯示範例 FilterClass

HKR, Ndi,FilterClass,, compression
  • 只有 Hyper-V 參數擴充篩選器驅動程式在 Hyper-V Extensible Switch 中有效。 Hyper-V 可延伸交換器篩選驅動程式必須使用下表中的其中一個值來定義 FilterClass 索引鍵。

    價值 說明

    ms_switch_capture

    從 NDIS 6.30 開始,擷取驅動程式會監視 Hyper-V 可延伸交換器驅動程式堆疊中的封包流量。 此類別的篩選驅動程式存在於堆疊中的自定義驅動程式下方。

    如需此類別驅動程式的詳細資訊,請參閱 擷取擴充功能

    ms_switch_filter

    從 NDIS 6.30 開始,篩選驅動程式會對封包流量進行篩選,並根據埠或交換器原則,透過可延伸交換器驅動程式堆疊強制執行封包傳遞。 此類別的篩選驅動程式存在於堆疊中 ms_switch_capture 驅動程式下方。

    如需此驅動程式類別的詳細資訊,請參閱 篩選延伸模組

    ms_switch_forward

    從 NDIS 6.30 開始,轉送驅動程式篩選會執行與篩選驅動程式相同的功能。 轉送驅動程式也會將封包轉送到可延伸交換器埠,並從可延伸交換器埠轉送出去。 此類別的篩選驅動程式存在於堆疊中 ms_switch_filter 驅動程式下方。

    如需此驅動程式類別的詳細資訊,請參閱 轉送延伸模組

  • 您必須在修改篩選驅動程式 INF 檔案中定義下列專案,以控制驅動程式系結。

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

    如需控制驅動程式系結的詳細資訊,請參閱 指定篩選驅動程式系結關聯性

  • 修改篩選 INF 檔案可以指定與特定配接器相關聯的驅動程式和參數的通用參數定義。 下列範例顯示一些常見的參數定義。

謹慎

使用 HKR AddReg,將密鑰直接置於服務狀態之下是合規性違規。 這些金鑰必須在服務的 Parameters 金鑰下新增,才能符合規範。

[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"