2017-02-04 6 views
0

J'écris un pilote de filtre NDIS pour Windows. Lorsque j'examine les drapeaux NBL, disons NDIS_NBL_FLAGS_IS_IPV4, il ne semble pas avoir défini, ni d'autres drapeaux de champ NblFlags? Quel pilote dans la pile définit ces valeurs?Pilote de filtre Windows NDIS

Répondre

0

Il n'est pas garanti que ces indicateurs soient définis en permanence dans toutes les situations. Les indicateurs sont uniquement requis lors de l'exécution sur une pile haut débit mobile native (car il n'y a aucune couche MAC & EtherType à regarder). Si vous écrivez un fichier LWF générique qui doit fonctionner dans une variété de configurations, vous ne pouvez pas compter sur cet indicateur, et vous devrez regarder la charge utile du paquet elle-même pour déterminer le type de paquet.

+0

Merci. Par ailleurs, toute idée sur la façon d'accéder au paquet réseau à partir de l'espace utilisateur si elle correspond à certains critères au niveau de la couche de filtre? Je veux dire comment faire pour que le filtre communique avec l'application de l'utilisateur? –

+0

NDIS lui-même n'offre aucune intégration avec usermode. Si vous le souhaitez dans une FLM, vous devez le construire vous-même. L'exemple de pilote "ndisprot" montre comment vous pouvez intégrer cela dans un pilote NDIS, même s'il n'est pas très performant. Une performance plus élevée nécessite un code plus compliqué. –

+0

Okay. Merci. :) –