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 |
---|---|
|
NdisFRegisterFilterDriver retourne NDIS_STATUS_SUCCESS s’il a inscrit le pilote de filtre. |
|
La version spécifiée dans le membre MajorNdisVersion de la structure de FilterCharacteristics n’est pas valide. |
|
Au moins un des membres spécifiés dans NDIS_FILTER_DRIVER_CHARACTERISTICS n’est pas valide. |
|
Au moins un des paramètres d’entrée auxquels le pilote a passé NdisFRegisterFilterDriver n’est pas valide. |
|
NdisFRegisterFilterDriver a échoué en raison de ressources insuffisantes. |
|
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
Initialisation d’un pilote de filtre
NDIS_FILTER_DRIVER_CHARACTERISTICS