Fonction NdisFRegisterFilterDriver (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 des pilotes de filtre NDIS.)

[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 que le pilote de filtre a créée et initialisée 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 aux 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 de 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 un des paramètres d’entrée auxquels le pilote a passé NdisFRegisterFilterDriver n’est pas valide.
NDIS_STATUS_RESOURCES
NdisFRegisterFilterDriver a échoué en raison de ressources insuffisantes.
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver retourne NDIS_STATUS_FAILURE si aucune des valeurs précédentes ne s’applique.

Notes

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

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 permettre aux pilotes de filtre d’inscrire des services facultatifs, NDIS appelle la fonction FilterSetOptions dans le contexte de NdisFRegisterFilterDriver.

Une fois inscrit, un pilote de filtre peut appeler ultérieurement 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.

Spécifications

   
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Bureau
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