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 |
---|---|
|
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 dans FilterCharacteristics n’est pas valide. |
|
Au moins un des membres spécifiés dans NDIS_FILTER_DRIVER_CHARACTERISTICS n’est pas valide. |
|
Au moins l’un des paramètres d’entrée auxquels le pilote est passé NdisFRegisterFilterDriver n’est pas valide. |
|
Échec de NdisFRegisterFilterDriver en raison de ressources insuffisantes. |
|
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
Initialisation d’un pilote de filtre
NDIS_FILTER_DRIVER_CHARACTERISTICS