設定修改篩選驅動程式的 INF 檔案
下列 NDIS 篩選驅動程式安裝問題與修改篩選驅動程式相關聯。 若要建立您自己的修改篩選驅動程式 INF 檔案,您也可以調整 範例 NDIS 6.0 篩選驅動程式。
將類別INF 檔案專案設定為 INF 檔案中的NetService。 下列範例顯示 INF 檔案的範例 類別 專案。
Class = NetService
篩選驅動程式 INF 檔案中的 DDInstall 區段必須有 特性 專案。 下列範例示範如何在篩選 INF 檔案中定義 特性 專案。
Characteristics=0x40000
0x40000值表示已設定NCF_LW_FILTER (0x40000) 。 篩選驅動程式不得設定NCF_FILTER (0x400) 旗標。 NCF_ Xxx 旗標的值定義于 Netcfgx.h中。 如需NCF_ Xxx 旗標的詳細資訊,請參閱 網路 INF 檔案中的 DDInstall 區段。
設定 INF 檔案中的 NetCfgInstanceId INF 檔案專案,如下列範例所示。
NetCfgInstanceId="{5cbf81bd-5055-47cd-9055-a76b2b4e3697}"
您可以使用 Uuidgen.exe 工具來建立 NetCfgInstanceId 專案的 GUID。
篩選驅動程式 INF 檔案的DDInstall區段必須包含Ndi索引鍵的Addreg指示詞。 INF 檔案必須在Ndi機碼下指定服務專案。 INF 檔案之service-install區段中的ServiceBinary專案會指定篩選驅動程式二進位檔的路徑。 如需詳細資訊,請參閱網路 INF 檔案 中的將服務相關值新增至 Ndi 機碼 和 DDInstall.Services 一節。
篩選驅動程式 INF 檔案中的 DDInstall 區段必須有 FilterType 和 FilterRunType 專案。 若要指定修改篩選,請在 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 索引鍵。 驅動程式的類別可以是下表中的其中一個值。
值 描述 scheduler
封包排程篩選服務。 此篩選驅動程式類別是驅動程式堆疊中可以存在於加密類別篩選上方的最高層級驅動程式。 封包排程器會偵測依服務品質提供給封包的 802.1p 優先順序分類, (QoS) 訊號元件,而排程器會根據其優先順序將這些封包層級傳送至基礎驅動程式。
加密
加密類別篩選驅動程式存在於排程器和壓縮類別篩選之間。
compression
加密和 vpn 類別篩選之間存在壓縮類別篩選驅動程式。
vpn
VPN 類別篩選驅動程式存在於壓縮和負載平衡篩選器驅動程式之間。
loadbalance
負載平衡篩選服務。 此類別的篩選驅動程式存在於封包排程和容錯移轉驅動程式之間。 負載平衡篩選服務會藉由將工作負載分散到其基礎迷你埠配接器集合,以平衡其封包傳輸的工作負載。
failover
容錯移轉篩選服務。 負載平衡和診斷驅動程式之間存在這種篩選驅動程式類別。
診斷性
診斷篩選驅動程式存在於堆疊中的容錯移轉驅動程式下方。
自訂
自訂類別中的篩選驅動程式存在於診斷驅動程式下方。
provider_address
提供者位址篩選驅動程式存在於內建的 Hyper-V 網路虛擬化ms_wnv篩選下,並在 PA) 封包 (提供者位址上運作。
注意 如果多個篩選驅動程式具有相同的 FilterClass,它們都會新增至篩選驅動程式的分層堆疊。 系統會使用相同的 FilterClass,將分層順序指派給每個修改篩選驅動程式。 在某些情況下,系統管理員可以重新排列具有相同 FilterClass 之篩選驅動程式的相對順序。
下列範例顯示 範例 FilterClass 。
HKR, Ndi,FilterClass,, compression
只有 Hyper-V 交換器擴充篩選器驅動程式在 Hyper-V 可延伸交換器中有效。 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"