Réponse aux jeux et aux requêtes dans un pilote intermédiaire
Étant donné qu’un pilote intermédiaire NDIS est lié à un pilote NDIS trop important, il peut également recevoir des requêtes et des jeux à partir de sa fonction MiniportOidRequest . Dans certains cas, le pilote intermédiaire transmet simplement ces requêtes au pilote miniport sous-jacent. Dans le cas contraire, il peut répondre à ces requêtes et définir en fonction du support qu’il exporte à son bord supérieur. Notez qu’un pilote intermédiaire doit toujours passer par toutes les requêtes OID_PNP_Xxx qu’il reçoit d’un pilote NDIS surclassé vers le pilote miniport sous-jacent. Les pilotes intermédiaires NDIS 6.0 peuvent également annuler les demandes OID.
Pour transférer une requête vers les pilotes sous-jacents, un pilote intermédiaire NDIS appelle NdisAllocateCloneOidRequest pour allouer une structure NDIS_OID_REQUEST clonée. Le pilote appelle la fonction NdisOidRequest pour envoyer la requête. Une fois la demande terminée, le pilote doit appeler la fonction NdisFreeCloneOidRequest pour libérer la structure NDIS_OID_REQUEST.
Pour annuler une requête OID, appelez la fonction NdisCancelOidRequest .
En règle générale, les OID généraux reçus par un pilote intermédiaire sont identiques ou similaires à ceux que le pilote intermédiaire envoie au pilote miniport sous-jacent. Les OID spécifiques au moyen qu’un pilote intermédiaire reçoit sont le type du support requis par le pilote surdimensionné.
Si un pilote intermédiaire traite lui-même le paramètre d’un OID plutôt que de passer la demande de jeu à un miniport sous-jacent, il doit valider la valeur à définir. Si le pilote intermédiaire détermine que la valeur à définir est hors limites, la demande de jeu doit échouer.
Note Si un pilote intermédiaire modifie le contenu des données réseau TCP qu’il transfère vers un pilote miniport sous-jacent, de sorte que les fonctions de déchargement TCP ne peuvent pas être effectuées sur les données réseau, le pilote intermédiaire doit répondre aux requêtes OID_TCP_OFFLOAD_CURRENT_CONFIG avec une status de NDIS_STATUS_NOT_SUPPORTED au lieu de transmettre la demande au miniport sous-jacent.
Pour plus d’informations sur la réponse aux jeux et aux requêtes dans un pilote intermédiaire, consultez Obtention et définition d’informations sur le pilote Miniport et prise en charge de NDIS pour WMI.