structure NDIS_FILTER_DRIVER_CHARACTERISTICS (ndis.h)

Pour spécifier ses caractéristiques de pilote, un pilote de filtre initialise une structure NDIS_FILTER_DRIVER_CHARACTERISTICS et la transmet à NDIS.

Syntaxe

typedef struct _NDIS_FILTER_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                              Header;
  UCHAR                                           MajorNdisVersion;
  UCHAR                                           MinorNdisVersion;
  UCHAR                                           MajorDriverVersion;
  UCHAR                                           MinorDriverVersion;
  ULONG                                           Flags;
  NDIS_STRING                                     FriendlyName;
  NDIS_STRING                                     UniqueName;
  NDIS_STRING                                     ServiceName;
  SET_OPTIONS_HANDLER                             SetOptionsHandler;
  FILTER_SET_FILTER_MODULE_OPTIONS_HANDLER        SetFilterModuleOptionsHandler;
  FILTER_ATTACH_HANDLER                           AttachHandler;
  FILTER_DETACH_HANDLER                           DetachHandler;
  FILTER_RESTART_HANDLER                          RestartHandler;
  FILTER_PAUSE_HANDLER                            PauseHandler;
  FILTER_SEND_NET_BUFFER_LISTS_HANDLER            SendNetBufferListsHandler;
  FILTER_SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER   SendNetBufferListsCompleteHandler;
  FILTER_CANCEL_SEND_HANDLER                      CancelSendNetBufferListsHandler;
  FILTER_RECEIVE_NET_BUFFER_LISTS_HANDLER         ReceiveNetBufferListsHandler;
  FILTER_RETURN_NET_BUFFER_LISTS_HANDLER          ReturnNetBufferListsHandler;
  FILTER_OID_REQUEST_HANDLER                      OidRequestHandler;
  FILTER_OID_REQUEST_COMPLETE_HANDLER             OidRequestCompleteHandler;
  FILTER_CANCEL_OID_REQUEST_HANDLER               CancelOidRequestHandler;
  FILTER_DEVICE_PNP_EVENT_NOTIFY_HANDLER          DevicePnPEventNotifyHandler;
  FILTER_NET_PNP_EVENT_HANDLER                    NetPnPEventHandler;
  FILTER_STATUS_HANDLER                           StatusHandler;
  FILTER_DIRECT_OID_REQUEST_HANDLER               DirectOidRequestHandler;
  FILTER_DIRECT_OID_REQUEST_COMPLETE_HANDLER      DirectOidRequestCompleteHandler;
  FILTER_CANCEL_DIRECT_OID_REQUEST_HANDLER        CancelDirectOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_HANDLER          SynchronousOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE_HANDLER SynchronousOidRequestCompleteHandler;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;

Membres

Header

Structure NDIS_OBJECT_HEADER pour la structure des caractéristiques du pilote de filtre (NDIS_FILTER_DRIVER_CHARACTERISTICS). Définissez le membre Type de la structure que l’en-tête spécifie sur NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS.

Pour indiquer la version de la structure NDIS_FILTER_DRIVER_CHARACTERISTICS, définissez le membre Revision sur l’une des valeurs suivantes :

NDIS_FILTER_CHARACTERISTICS_REVISION_3

Ajout des membres SynchronousOidRequestHandler et SynchronousOidRequestCompleteHandler pour NDIS 6.80.

Définissez le membre Size sur NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_FILTER_CHARACTERISTICS_REVISION_2

Ajout des membres DirectOidRequestHandler, DirectOidRequestCompleteHandler et CancelDirectOidRequestHandler pour NDIS 6.1.

Définissez le membre Size sur NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_FILTER_CHARACTERISTICS_REVISION_1

Version d’origine.

Définissez le membre Size sur NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

Version principale de NDIS que le pilote utilise. La valeur actuelle est 0x06.

MinorNdisVersion

Version mineure de NDIS. Voici les paramètres de valeur de version mineure disponibles.

Valeur Signification
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 % NDIS 6.85
86 NDIS 6.86

MajorDriverVersion

Réservé au numéro de version principal du pilote de filtre. Les pilotes de filtre peuvent spécifier n’importe quelle valeur dont ils ont besoin.

MinorDriverVersion

Réservé au numéro de version secondaire du pilote de filtre. Les pilotes de filtre peuvent spécifier n’importe quelle valeur dont ils ont besoin.

Flags

Réservé à NDIS.

FriendlyName

Chaîne Unicode qui représente la description lisible par l’utilisateur du pilote de filtre.

UniqueName

Chaîne Unicode qui représente le nom unique du pilote de filtre. Cette chaîne doit être un GUID, placé dans des accolades, par exemple « {5cbf81bd-5055-47cd-9055-a76b2b4e3697} ». Ce GUID doit correspondre à celui de l’entrée de fichier INF NetCfgInstanceId dans le fichier INF du pilote de filtre. Pour plus d’informations, consultez Paramètres de fichier INF pour les pilotes de filtre.

ServiceName

Chaîne Unicode qui représente le nom de service du pilote de filtre. Cette chaîne doit être le nom de service de la directive AddService dans le fichier INF du pilote de filtre. Pour plus d’informations, consultez Paramètres de fichier INF pour les pilotes de filtre.

SetOptionsHandler

Spécifie le point d’entrée de la fonction FilterSetOptions de l’appelant.

SetFilterModuleOptionsHandler

Point d’entrée de l’appelant Fonction FilterSetModuleOptions .

AttachHandler

Point d’entrée de la fonction FilterAttach de l’appelant.

DetachHandler

Point d’entrée de la fonction FilterDetach de l’appelant.

RestartHandler

Point d’entrée de la fonction FilterRestart de l’appelant.

PauseHandler

Point d’entrée de la fonction FilterPause de l’appelant.

SendNetBufferListsHandler

Point d’entrée de l’appelant Fonction FilterSendNetBufferLists . Pour contourner cette fonction, définissez ce membre sur NULL.

SendNetBufferListsCompleteHandler

Point d’entrée de l’appelant Fonction FilterSendNetBufferListsComplete . Pour contourner cette fonction, définissez ce membre sur NULL.

CancelSendNetBufferListsHandler

Point d’entrée de l’appelant Fonction FilterCancelSendNetBufferLists . Pour contourner cette fonction, définissez ce membre sur NULL.

ReceiveNetBufferListsHandler

Point d’entrée de l’appelant Fonction FilterReceiveNetBufferLists . Pour contourner cette fonction, définissez ce membre sur NULL.

ReturnNetBufferListsHandler

Point d’entrée de l’appelant Fonction FilterReturnNetBufferLists . Pour contourner cette fonction, définissez ce membre sur NULL.

OidRequestHandler

Point d’entrée de la fonction FilterOidRequest de l’appelant. Pour contourner cette fonction, définissez ce membre sur NULL.

OidRequestCompleteHandler

Point d’entrée de l’appelant Fonction FilterOidRequestComplete . Pour contourner cette fonction, définissez ce membre sur NULL.

CancelOidRequestHandler

Point d’entrée de l’appelant Fonction FilterCancelOidRequest . Pour contourner cette fonction, définissez ce membre sur NULL.

DevicePnPEventNotifyHandler

Point d’entrée de l’appelant Fonction FilterDevicePnPEventNotify . Pour contourner cette fonction, définissez ce membre sur NULL.

NetPnPEventHandler

Point d’entrée de la fonction FilterNetPnPEvent de l’appelant. Pour contourner cette fonction, définissez ce membre sur NULL.

StatusHandler

Point d’entrée de la fonction FilterStatus de l’appelant. Pour contourner cette fonction, définissez ce membre sur NULL.

DirectOidRequestHandler

Point d’entrée de l’appelant Fonction FilterDirectOidRequest . Pour contourner cette fonction, définissez ce membre sur NULL.

DirectOidRequestCompleteHandler

Point d’entrée de l’appelant Fonction FilterDirectOidRequestComplete . Pour contourner cette fonction, définissez ce membre sur NULL.

CancelDirectOidRequestHandler

Point d’entrée de l’appelant Fonction FilterCancelDirectOidRequest . Pour contourner cette fonction, définissez ce membre sur NULL.

SynchronousOidRequestHandler

Point d’entrée de la fonction FilterSynchronousOidRequest de l’appelant. Pour contourner cette fonction, définissez ce membre sur NULL.

SynchronousOidRequestCompleteHandler

Point d’entrée de la fonction FilterSynchronousOidRequestComplete de l’appelant. Pour contourner cette fonction, définissez ce membre sur NULL.

Remarques

Un pilote de filtre appelle le Fonction NdisFRegisterFilterDriver pour inscrire ses caractéristiques, y compris les points d’entrée par défaut pour ses fonctions de pilote de filtre (FilterXxx). Le pilote de filtre initialise une structure NDIS_FILTER_DRIVER_CHARACTERISTICS et transmet un pointeur vers cette structure dans le paramètre FilterCharacteristics de NdisFRegisterFilterDriver.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
En-tête ndis.h (inclure Ndis.h)

Voir aussi

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

Paramètres de fichier INF pour les pilotes de filtre

Initialisation d’un pilote de filtre

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver