Freigeben über


Konfigurieren einer INF-Datei für einen Ändern des Filtertreibers

Die folgenden Probleme bei der Installation des NDIS-Filtertreibers sind mit dem Ändern von Filtertreibern verbunden. Sie können auch den NDIS 6.0-Beispielfiltertreiber anpassen, um Eine eigene inF-Datei ändernde Filtertreiber zu erstellen.

  • Legen Sie den Inf-Dateieintrag der Klasse in der INF-Datei auf NetService fest. Das folgende Beispiel zeigt einen Beispielklasseneintrag für die INF-Datei.

    Class = NetService
    
  • Der Abschnitt DDInstall in einer Filtertreiber-INF-Datei muss über den Eintrag Merkmale verfügen. Das folgende Beispiel zeigt, wie Sie den Eintrag Merkmale in Ihrer Filter-INF-Datei definieren sollten.

    Characteristics=0x40000
    

    Der 0x40000-Wert gibt an, dass NCF_LW_FILTER (0x40000) festgelegt ist. Filtertreiber dürfen das NCF_FILTER-Flag (0x400) nicht festlegen. Die Werte der NCF_ Xxx-Flags werden in Netcfgx.h definiert. Weitere Informationen zum NCF_ Xxx-Flags finden Sie im Abschnitt DDInstall in einer Netzwerk-INF-Datei.

  • Legen Sie den NetCfgInstanceId-INF-Dateieintrag in der INF-Datei fest, wie im folgenden Beispiel gezeigt.

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

    Sie können das toolUuidgen.exe verwenden, um die GUID für den NetCfgInstanceId-Eintrag zu erstellen.

  • Der Abschnitt DDInstall der INF-Datei für einen Filtertreiber muss eine Addreg-Anweisung für einen Ndi-Schlüssel enthalten. Die INF-Datei muss den Diensteintrag unter dem Ndi-Schlüssel angeben. Der Eintrag ServiceBinary im Abschnitt service-install der INF-Datei gibt den Pfad zur Binärdatei für den Filtertreiber an. Weitere Informationen finden Sie unter Hinzufügen dienstbezogener Werte zum Ndi-Schlüssel und abschnitt DDInstall.Services in einer Netzwerk-INF-Datei.

  • Der Abschnitt DDInstall in einer Filtertreiber-INF-Datei muss FilterType - und FilterRunType-Einträge enthalten. Um einen ändernden Filter anzugeben, definieren Sie den FilterType-Eintrag in Ihrer INF-Datei, wie im folgenden Beispiel gezeigt.

    HKR, Ndi,FilterType,0x00010001 ,0x00000002
    

    Der FilterType-Wert 0x00000002 gibt an, dass es sich bei dem Filter um einen Änderungsfilter handelt.

  • Definieren Sie den FilterRunType-Eintrag in Ihrer INF-Datei, wie das folgende Beispiel zeigt.

    HKR, Ndi,FilterRunType,0x00010001 ,0x00000001
    

    Der wert 0x00000001 im vorherigen Beispiel gibt an, dass das Filtermodul obligatorisch ist. Um ein optionales Filtermodul zu installieren, legen Sie den Eintrag FilterRunType auf 0x00000002 fest. Weitere Informationen finden Sie unter Obligatorische Filtertreiber.

  • Das folgende Beispiel zeigt, wie eine ändernde Filtertreiber-INF-Datei den Namen des Diensts angibt.

    HKR, Ndi,Service,,"NdisLwf"
    

    In diesem Beispiel ist NdisLwf der Name des Treiberdiensts, der an NDIS gemeldet wird. Beachten Sie, dass sich der Name des Diensts eines Filtertreibers von dem Namen der Binärdatei für den Treiber unterscheiden kann, aber in der Regel identisch ist.

  • Das folgende Beispiel zeigt, wie die Filter-INF-Datei auf den Namen des Diensts des Filtertreibers verweist, wenn sie diesen Dienst hinzufügt.

    [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
    
  • Eine Filter-INF-Datei muss mindestens den primären Dienstnamen des Filters für das CoServices-Attribut angeben, wie das folgende Beispiel zeigt.

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

    Weitere Informationen zum CoServices-Attribut finden Sie unter Hinzufügen dienstbezogener Werte zum Ndi-Schlüssel.

  • Der FilterClass-Wert in der INF-Datei für einen Filtertreiber bestimmt dessen Reihenfolge in einem Stapel von Filtern. Filtertreiber müssen den FilterClass-Schlüssel definieren. Die Klasse des Treibers kann einer der Werte in der folgenden Tabelle sein.

    Wert Beschreibung

    scheduler

    Paketplanungsfilterdienst. Diese Klasse von Filtertreibern ist der Treiber der höchsten Ebene, der über Verschlüsselungsklassenfiltern in einem Treiberstapel vorhanden sein kann. Ein Paketplaner erkennt die 802.1p-Prioritätsklassifizierung, die Paketen durch QoS-Signalkomponenten (Quality of Service) zugewiesen wird, und der Scheduler sendet diese Paketebenen entsprechend ihrer Priorität an zugrunde liegende Treiber.

    Verschlüsselung

    Verschlüsselungsklassenfiltertreiber sind zwischen Planer- und Komprimierungsklassenfiltern vorhanden.

    compression

    Komprimierungsklassenfiltertreiber sind zwischen Verschlüsselungs- und VPN-Klassenfiltern vorhanden.

    VPN

    VPN-Klassenfiltertreiber gibt es zwischen Komprimierungs- und Lastenausgleichsfiltertreibern.

    Lastenausgleich

    Lastenausgleichsfilterdienst. Diese Klasse von Filtertreibern besteht zwischen Paketplanung und Failovertreibern. Ein Lastenausgleichsfilterdienst gleicht die Workload der Paketübertragungen aus, indem er die Workload über die zugrunde liegenden Miniportadapter verteilt.

    failover

    Failoverfilterdienst. Diese Klasse von Filtertreibern besteht zwischen Lastenausgleich und Diagnose Treibern.

    Diagnose

    Diagnosefiltertreiber befinden sich unterhalb der Failovertreiber im Stapel.

    custom

    Filtertreiber in der benutzerdefinierten Klasse sind unterhalb der Diagnosetreiber vorhanden.

    provider_address

    Anbieteradressenfiltertreiber befinden sich unterhalb der im Lieferumfang enthaltenen Hyper-V-Netzwerkvirtualisierung ms_wnv Filter und arbeiten mit Pa-Paketen (Provider Address).

Hinweis Wenn mehrere Filtertreiber über dieselbe FilterKlasse verfügen, werden sie alle dem stapelweisen Stapel von Filtertreibern hinzugefügt. Das System weist jedem ändernden Filtertreiber mit derselben FilterKlasse eine Schichtreihenfolge zu. In einigen Fällen kann der Systemadministrator die relative Reihenfolge der Filtertreiber mit derselben FilterKlasse neu anordnen.

Das folgende Beispiel zeigt ein FilterClass-Beispiel .

HKR, Ndi,FilterClass,, compression
  • Nur Hyper-V-Switch-Erweiterungsfiltertreiber sind im Hyper-V Extensible Switch gültig. Hyper-V-Erweiterbare Switchfiltertreiber müssen den FilterClass-Schlüssel mit einem der Werte in der folgenden Tabelle definieren.

    Wert Beschreibung

    ms_switch_capture

    Ab NDIS 6.30 überwachen Erfassungstreiber den Paketdatenverkehr im erweiterbaren Hyper-V-Switch-Treiberstapel. Diese Klasse von Filtertreibern befindet sich unterhalb benutzerdefinierter Treiber im Stapel.

    Weitere Informationen zu dieser Treiberklasse finden Sie unter Erfassen von Erweiterungen.

    ms_switch_filter

    Ab NDIS 6.30 filtern Filtertreiber paketdatenverkehr und erzwingen Port- oder Switchrichtlinie für die Paketübermittlung über den erweiterbaren Switchtreiberstapel. Diese Klasse von Filtertreibern befindet sich unter ms_switch_capture Treibern im Stapel.

    Weitere Informationen zu dieser Treiberklasse finden Sie unter Filtererweiterungen.

    ms_switch_forward

    Ab NDIS 6.30 hat der Filter für Weiterleitungstreiber dieselben Funktionen wie ein Filtertreiber. Weiterleitungstreiber leiten auch Pakete an und von erweiterbaren Switchports weiter. Diese Klasse von Filtertreibern befindet sich unter ms_switch_filter Treibern im Stapel.

    Weitere Informationen zu dieser Treiberklasse finden Sie unter Weiterleitungserweiterungen.

  • Sie müssen die folgenden Einträge in der ändernden Filtertreiber-INF-Datei definieren, um die Treiberbindungen zu steuern.

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

    Weitere Informationen zum Steuern der Treiberbindungen finden Sie unter Angeben von Filtertreiberbindungsbeziehungen.

  • Eine ändernde Filter-INF-Datei kann allgemeine Parameterdefinitionen für den Treiber und Parameter angeben, die einem bestimmten Adapter zugeordnet sind. Das folgende Beispiel zeigt einige gängige Parameterdefinitionen.

Achtung

Die Verwendung von HKR AddReg , um Schlüssel direkt unter den Dienststatus zu versetzen, stellt eine Complianceverletzung dar. Diese Schlüssel müssen unter dem Parameterschlüssel des Diensts hinzugefügt werden, um kompatibel zu sein.

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