Partager via


NdisFRegisterFilterDriver, fonction (ndis.h)

Un pilote de filtre appelle le Fonction NdisFRegisterFilterDriver pour inscrire ses fonctions FilterXxx auprès de NDIS.

Syntaxe

NDIS_STATUS NdisFRegisterFilterDriver(
  [in]  PDRIVER_OBJECT                      DriverObject,
  [in]  NDIS_HANDLE                         FilterDriverContext,
        PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
  [out] PNDIS_HANDLE                        NdisFilterDriverHandle
);

Paramètres

[in] DriverObject

Pointeur vers un objet pilote opaque que le pilote de filtre a reçu dans sa routine DriverEntry au niveau du paramètre Argument1 . (Pour plus d’informations, consultez DriverEntry of NDIS Filter Drivers.)

[in] FilterDriverContext

Handle vers une zone de contexte allouée par le pilote où le pilote conserve les informations d’état et de configuration.

FilterDriverCharacteristics

Pointeur vers un NDIS_FILTER_DRIVER_CHARACTERISTICS structure créée et initialisée par le pilote de filtre avec ses points d’entrée de fonction FilterXxx .

[out] NdisFilterDriverHandle

Pointeur vers une variable de handle. Si l’appel à NdisFRegisterFilterDriver réussit, NDIS remplit cette variable avec un handle de pilote de filtre. Le pilote de filtre enregistre ce handle et le transmet ultérieurement à des fonctions NDIS, telles que NdisFDeregisterFilterDriver, qui nécessitent un handle de pilote de filtre en tant que paramètre d’entrée.

Valeur retournée

NdisFRegisterFilterDriver retourne l’une des valeurs status suivantes :
Code de retour Description
NDIS_STATUS_SUCCESS
NdisFRegisterFilterDriver retourne NDIS_STATUS_SUCCESS s’il a inscrit le pilote de filtre.
NDIS_STATUS_BAD_VERSION
La version spécifiée dans le membre MajorNdisVersion de la structure dans FilterCharacteristics n’est pas valide.
NDIS_STATUS_BAD_CHARACTERISTICS
Au moins un des membres spécifiés dans NDIS_FILTER_DRIVER_CHARACTERISTICS n’est pas valide.
NDIS_STATUS_INVALID_PARAMETER
Au moins l’un des paramètres d’entrée auxquels le pilote est passé NdisFRegisterFilterDriver n’est pas valide.
NDIS_STATUS_RESOURCES
Échec de NdisFRegisterFilterDriver en raison de ressources insuffisantes.
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver retourne NDIS_STATUS_FAILURE si aucune des valeurs précédentes ne s’applique.

Remarques

Un pilote de filtre appelle le Fonction NdisFRegisterFilterDriver à partir de sa routine DriverEntry . Pour plus d’informations sur DriverEntry, consultez DriverEntry of NDIS Filter Drivers.

Les pilotes qui appellent NdisFRegisterFilterDriver doivent être préparés pour un appel immédiat à l’une de leurs fonctions FilterXxx . Pour plus d’informations, consultez Initialisation d’un pilote de filtre.

Chaque pilote de filtre exporte un ensemble de fonctions FilterXxx en configurant le NDIS_FILTER_DRIVER_CHARACTERISTICS structure et appel NdisFRegisterFilterDriver. NDIS copie cette structure dans le stockage interne de la bibliothèque NDIS.

Pour autoriser les pilotes de filtre à inscrire des services facultatifs, NDIS appelle la fonction FilterSetOptions dans le contexte de NdisFRegisterFilterDriver.

Une fois inscrit, un pilote de filtre peut appeler la fonction NdisSetOptionalHandlers pour modifier les points d’entrée des fonctions FilterXxx facultatives.

Les pilotes de filtre appellent le Fonction NdisFDeregisterFilterDriver pour libérer les ressources précédemment allouées avec NdisFRegisterFilterDriver.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL
Règles de conformité DDI Irql_Filter_Driver_Function(ndis),NdisFDeregisterFilterDriver(ndis)

Voir aussi

DriverEntry des pilotes de filtre NDIS

FilterAttach

Initialisation d’un pilote de filtre

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers