Partager via


Requêtes OID du pilote de protocole CoNDIS

Les pilotes de protocole CoNDIS, clients ou gestionnaires d’appels, peuvent interroger ou définir les paramètres de fonctionnement des pilotes miniport et d’autres pilotes de protocole. Les pilotes de protocole CoNDIS peuvent également interroger ou définir des informations dans les gestionnaires d’appels miniport (MCM). Pour plus d’informations sur les requêtes OID et les MCM, consultez Demandes OID MCM CoNDIS.

Pour envoyer une requête OID à un pilote sous-jacent, un pilote de protocole appelle la fonction NdisCoOidRequest et définit le handle de famille d’adresses (AF), au niveau du paramètre NdisAfHandle , sur NULL. Pour créer une requête OID vers un autre pilote de protocole CoNDIS, un pilote de protocole appelle NdisCoOidRequest et fournit un handle AF valide.

Après qu’un pilote de protocole a appelé la fonction NdisCoOidRequest , NDIS appelle la fonction de requête OID de l’autre pilote (un pilote sous-jacent ou un autre pilote de protocole CoNDIS). Pour les pilotes miniport, NDIS appelle la fonction MiniportCoOidRequest . Pour les pilotes de protocole, NDIS appelle la fonction ProtocolCoOidRequest .

La figure suivante illustre une requête OID dirigée vers un pilote miniport.

Diagramme illustrant une requête OID dirigée vers un pilote miniport.

La figure suivante illustre une requête OID dirigée vers un pilote de protocole.

Diagramme illustrant une requête OID dirigée vers un pilote de protocole.

Pour effectuer une opération synchrone, NdisCoOidRequest retourne NDIS_STATUS_SUCCESS ou une erreur status. Pour effectuer une opération asynchrone, NdisCoOidRequest retourne NDIS_STATUS_PENDING.

Si NdisCoOidRequest retourne NDIS_STATUS_PENDING, NDIS appelle la fonction ProtocolCoOidRequestComplete après que l’autre pilote a terminé la requête OID en appelant la fonction NdisMCoOidRequestComplete ou la fonction NdisCoOidRequestComplete . Dans ce cas, NDIS transmet les résultats de la requête au paramètre OidRequest de ProtocolCoOidRequestComplete. NDIS transmet la status finale de la requête au paramètre Status de ProtocolCoOidRequestComplete.

Si NdisCoOidRequest retourne NDIS_STATUS_SUCCESS, il retourne les résultats d’une requête dans la structure NDIS_OID_REQUEST aux points de paramètre OidRequest . Dans ce cas, NDIS n’appelle pas la fonction ProtocolCoOidRequestComplete .

Si un pilote sous-jacent doit associer la requête OID à une indication de status suivante, le pilote de protocole doit définir les membres RequestId et RequestHandle dans la structure NDIS_OID_REQUEST. Si le pilote sous-jacent émet une indication de status, le pilote affecte au membre RequestId de la structure NDIS_STATUS_INDICATION la valeur du membre RequestId de la structure NDIS_OID_REQUEST et du membre DestinationHandle de la structure NDIS_STATUS_INDICATION à la valeur du membre RequestHandle de la structure NDIS_OID_REQUEST.

Un pilote peut appeler NdisCoOidRequest lorsqu’une liaison se trouve dans l’état Restarting, Running, Pausing ou Paused .