Configuration d’un fichier INF pour un pilote de filtre de modification
Les problèmes d’installation du pilote de filtre NDIS suivants sont associés à la modification des pilotes de filtre. Pour créer votre propre fichier INF du pilote de filtre de modification, vous pouvez également adapter l’exemple de pilote de filtre NDIS 6.0.
Définissez l’entrée du fichier INF de classe sur NetService dans le fichier INF. L’exemple suivant montre un exemple d’entrée de classe pour le fichier INF.
Class = NetService
La section DDInstall d’un fichier INF du pilote de filtre doit avoir une entrée Caractéristiques . L’exemple suivant montre comment définir l’entrée Caractéristiques dans votre fichier INF de filtre.
Characteristics=0x40000
La valeur 0x40000 indique que NCF_LW_FILTER (0x40000) est défini. Les pilotes de filtre ne doivent pas définir l’indicateur NCF_FILTER (0x400). Les valeurs des indicateurs xxx NCF_ sont définies dans Netcfgx.h. Pour plus d’informations sur NCF_ indicateurs Xxx , consultez section DDInstall dans un fichier INF réseau.
Définissez l’entrée du fichier INF NetCfgInstanceId dans le fichier INF, comme le montre l’exemple suivant.
NetCfgInstanceId="{5cbf81bd-5055-47cd-9055-a76b2b4e3697}"
Vous pouvez utiliser l’outil Uuidgen.exe pour créer le GUID de l’entrée NetCfgInstanceId .
La section DDInstall du fichier INF d’un pilote de filtre doit inclure une directive Addreg pour une clé Ndi . Le fichier INF doit spécifier l’entrée Service sous la clé Ndi . L’entrée ServiceBinary dans la section service-install du fichier INF spécifie le chemin d’accès au fichier binaire pour le pilote de filtre. Pour plus d’informations, consultez Ajout de valeurs associées au service à la section Clé Ndi et DDInstall.Services dans un fichier INF réseau.
La section DDInstall d’un fichier INF du pilote de filtre doit avoir des entrées FilterType et FilterRunType . Pour spécifier un filtre de modification, définissez l’entrée FilterType dans votre fichier INF, comme le montre l’exemple suivant.
HKR, Ndi,FilterType,0x00010001 ,0x00000002
La valeur FilterType 0x00000002 indique que le filtre est un filtre de modification.
Définissez l’entrée FilterRunType dans votre fichier INF, comme le montre l’exemple suivant.
HKR, Ndi,FilterRunType,0x00010001 ,0x00000001
La valeur 0x00000001 dans l’exemple précédent indique que le module de filtre est obligatoire. Pour installer un module de filtre facultatif, définissez l’entrée FilterRunType sur 0x00000002. Pour plus d’informations, consultez Pilotes de filtre obligatoires.
L’exemple suivant montre comment un fichier INF du pilote de filtre de modification spécifie le nom du service.
HKR, Ndi,Service,,"NdisLwf"
Dans cet exemple, NdisLwf est le nom du service du pilote tel qu’il est signalé à NDIS. Notez que le nom du service d’un pilote de filtre peut être différent du nom du binaire du pilote, mais qu’ils sont généralement identiques.
L’exemple suivant montre comment le fichier INF de filtre référence le nom du service du pilote de filtre lorsqu’il ajoute ce service.
[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
Un fichier INF de filtre doit spécifier au moins le nom de service principal du filtre pour l’attribut CoServices , comme le montre l’exemple suivant.
HKR, Ndi,CoServices,0x00010000,"NdisLwf"
Pour plus d’informations sur l’attribut CoServices , consultez Ajout de valeurs associées au service à la clé Ndi.
La valeur FilterClass dans le fichier INF d’un pilote de filtre détermine son ordre dans une pile de filtres. Les pilotes de filtre doivent définir la clé FilterClass . La classe du pilote peut être l’une des valeurs du tableau suivant.
Valeur Description scheduler
Service de filtre de planification de paquets. Cette classe de pilote de filtre est le pilote de niveau le plus élevé qui peut exister au-dessus des filtres de classe de chiffrement dans une pile de pilotes. Un planificateur de paquets détecte la classification de priorité 802.1p donnée aux paquets par les composants de signalisation de qualité de service (QoS) et le planificateur envoie ces niveaux de paquets aux pilotes sous-jacents en fonction de leur priorité.
le chiffrement
Des pilotes de filtre de classe de chiffrement existent entre les filtres de classe de planificateur et de compression.
compression
Des pilotes de filtre de classe de compression existent entre le chiffrement et les filtres de classe VPN.
vpn
Il existe des pilotes de filtre de classe VPN entre les pilotes de filtre de compression et d’équilibrage de charge.
équilibrage de charge
Service de filtre d’équilibrage de charge. Cette classe de pilote de filtre existe entre la planification des paquets et les pilotes de basculement. Un service de filtre d’équilibrage de charge équilibre sa charge de travail de transferts de paquets en répartissant la charge de travail sur son ensemble d’adaptateurs miniports sous-jacents.
failover
Service de filtre de basculement. Cette classe de pilote de filtre existe entre l’équilibrage de charge et les pilotes diagnostics.
diagnostic
Les pilotes de filtre de diagnostic existent sous les pilotes de basculement dans la pile.
custom
Les pilotes de filtre dans la classe personnalisée existent sous les pilotes de diagnostic.
provider_address
Les pilotes de filtre d’adresses du fournisseur existent sous la zone de virtualisation de réseau Hyper-V ms_wnv filtrer et fonctionner sur les paquets d’adresse du fournisseur (PA).
Note Si plusieurs pilotes de filtre ont la même Classe de filtre, ils seront tous ajoutés à la pile en couches de pilotes de filtre. Le système attribue un ordre de superposition à chaque pilote de filtre de modification avec le même FilterClass. Dans certains cas, l’administrateur système peut réorganiser l’ordre relatif des pilotes de filtre qui ont le même FilterClass.
L’exemple suivant montre un exemple FilterClass .
HKR, Ndi,FilterClass,, compression
Seuls les pilotes de filtre d’extension de commutateur Hyper-V sont valides dans le commutateur extensible Hyper-V. Les pilotes de filtre de commutateur extensible Hyper-V doivent définir la clé FilterClass avec l’une des valeurs du tableau suivant.
Valeur Description ms_switch_capture
À compter de NDIS 6.30, les pilotes de capture surveillent le trafic de paquets dans la pile de pilotes de commutateur extensible Hyper-V. Cette classe de pilote de filtre existe sous les pilotes personnalisés dans la pile.
Pour plus d’informations sur cette classe de pilote, consultez Capture d’extensions.
ms_switch_filter
À compter de NDIS 6.30, le filtrage des pilotes filtre le trafic de paquets et applique une stratégie de port ou de commutateur pour la remise de paquets via la pile de pilotes de commutateur extensible. Cette classe de pilote de filtre existe sous ms_switch_capture pilotes dans la pile.
Pour plus d’informations sur cette classe de pilote, consultez Filtrage des extensions.
ms_switch_forward
À compter de NDIS 6.30, le filtre des pilotes de transfert effectue les mêmes fonctions qu’un pilote de filtrage. Le transfert des pilotes transfère également les paquets vers et depuis les ports de commutateur extensibles. Cette classe de pilote de filtre existe ci-dessous ms_switch_filter pilotes dans la pile.
Pour plus d’informations sur cette classe de pilote, consultez Transfert d’extensions.
Vous devez définir les entrées suivantes dans le fichier INF du pilote de filtre de modification pour contrôler les liaisons de pilotes.
HKR, Ndi\Interfaces,UpperRange,,"noupper" HKR, Ndi\Interfaces,LowerRange,,"nolower" HKR, Ndi\Interfaces, FilterMediaTypes,,"ethernet"
Pour plus d’informations sur le contrôle des liaisons de pilotes, consultez Spécification des relations de liaison de pilote de filtre.
Un fichier INF de filtre de modification peut spécifier des définitions de paramètres courantes pour le pilote et les paramètres associés à un adaptateur spécifique. L’exemple suivant montre quelques définitions de paramètres courantes.
Attention
L’utilisation de HKR AddReg pour placer des clés directement sous l’état du service est une violation de conformité. Ces clés doivent être ajoutées sous la clé Paramètres du service pour être conformes.
[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"