FILTER_OID_REQUEST_COMPLETE fonction de rappel (ndis.h)
NDIS appelle la fonction FilterOidRequestComplete pour effectuer une demande de pilote de filtre qui a interrogé ou défini des informations dans un pilote sous-jacent.
Syntaxe
FILTER_OID_REQUEST_COMPLETE FilterOidRequestComplete;
void FilterOidRequestComplete(
[in] NDIS_HANDLE FilterModuleContext,
[in] PNDIS_OID_REQUEST OidRequest,
[in] NDIS_STATUS Status
)
{...}
Paramètres
[in] FilterModuleContext
Handle de la zone de contexte pour le module de filtre. Le pilote de filtre a créé et initialisé cette zone de contexte dans la fonction FilterAttach .
[in] OidRequest
Pointeur vers la structure NDIS_OID_REQUEST que le pilote de filtre a précédemment passée à la fonction NdisFOidRequest .
[in] Status
La status finale de la requête définie par un pilote sous-jacent ou par NDIS. Ce paramètre détermine ce que FilterOidRequestComplete fait avec les informations dans OidRequest . Pour obtenir la liste des valeurs status possibles, consultez les valeurs de retour de NdisFOidRequest.
Valeur de retour
None
Remarques
FilterOidRequestComplete est une fonction facultative. Si un pilote de filtre n’utilise pas de requêtes OID, il peut définir le point d’entrée de cette fonction sur NULL lorsqu’il appelle la fonction NdisFRegisterFilterDriver . Si un pilote de filtre définit une fonction FilterOidRequest , il doit fournir la fonction FilterOidRequestComplete .
Si la fonction NdisFOidRequest retourne NDIS_STATUS_PENDING, NDIS doit appeler la fonction FilterOidRequestComplete pour terminer la requête OID.
Si un pilote de filtre a transféré une requête qu’il a reçue dans la fonction FilterOidRequest, FilterOidRequestComplete doit passer la saisie semi-automatique status la pile de pilotes en appelant la fonction NdisFOidRequestComplete. Le pilote de filtre doit appeler NdisFreeCloneOidRequest, pour libérer la structure NDIS_OID_REQUEST, avant d’appeler NdisFOidRequestComplete.
Un pilote de filtre doit effectuer le suivi des demandes qui proviennent et s’assurer qu’il n’appelle pas NdisFOidRequestComplete lorsque NDIS appelle FilterOidRequestComplete pour ces demandes.
NDIS appelle FilterOidRequestComplete à IRQL <= DISPATCH_LEVEL.
Exemples
Pour définir une fonction FilterOidRequestComplete , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, au vérificateur de pilotes statiques (SDV) et à d’autres outils de vérification de trouver des erreurs. Il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.Par exemple, pour définir une fonction FilterOidRequestComplete nommée « MyOidRequestComplete », utilisez le type FILTER_OID_REQUEST_COMPLETE comme indiqué dans cet exemple de code :
FILTER_OID_REQUEST_COMPLETE MyOidRequestComplete;
Ensuite, implémentez votre fonction comme suit :
_Use_decl_annotations_
NDIS_STATUS
MyOidRequestComplete(
NDIS_HANDLE FilterModuleContext,
PNDIS_OID_REQUEST OidRequest,
NDIS_STATUS Status
)
{...}
Le type de fonction FILTER_OID_REQUEST_COMPLETE est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction FILTER_OID_REQUEST_COMPLETE dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.
Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Windows |
En-tête | ndis.h (inclure Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour