Partager via


Demandes d'OID pour CoNDIS MCM

Comme d’autres gestionnaires d’appels CoNDIS, les gestionnaires d’appels miniport (MCMs) peuvent interroger ou définir les paramètres d’exploitation des pilotes clients CoNDIS. Les pilotes clients CoNDIS peuvent interroger ou définir les paramètres du gestionnaire d’appels ou les paramètres de pilote miniport d’un MCM.

Pour initier une requête OID vers un pilote client CoNDIS, un MCM appelle la fonction NdisMCmOidRequest.

La figure suivante illustre une requête OID initiée par un MCM.

Diagramme montrant une requête OID provenant d’un MCM.

Après qu’un pilote MCM appelle la fonction NdisMCmOidRequest , NDIS appelle la fonction ProtocolCoOidRequest du pilote client.

Pour effectuer la synchronisation, NdisMCmOidRequest retourne NDIS_STATUS_SUCCESS ou un état d’erreur. Pour terminer de façon asynchrone, NdisMCmOidRequest retourne NDIS_STATUS_PENDING.

Si NdisMCmOidRequest retourne NDIS_STATUS_PENDING, NDIS appelle la fonction ProtocolCoOidRequestComplete du MCM une fois que les pilotes clients ont terminé la requête OID en appelant la fonction NdisCoOidRequestComplete . Dans ce cas, NDIS transmet les résultats de la requête au paramètre OidRequest de ProtocolCoOidRequestComplete. NDIS transmet l’état final de la requête au paramètre Status de ProtocolCoOidRequestComplete.

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

Les pilotes clients CoNDIS peuvent interroger ou définir les paramètres d’exploitation du gestionnaire d’appels ou les paramètres d’exploitation miniport des machines virtuelles. Pour initier une demande OID concernant les paramètres du gestionnaire d'appels MCM, un client appelle la fonction NdisCoOidRequest et fournit un handle AF (Address Family) valide via le paramètre NdisAfHandle. Pour initier une requête OID pour les paramètres du miniport MCM, un client appelle la fonction NdisCoOidRequest et définit le handle AF sur NULL.

Après qu’un client appelle la fonction NdisCoOidRequest , NDIS appelle la fonction MiniportCoOidRequest ou la fonction ProtocolCoOidRequest du pilote MCM.

La figure suivante illustre une requête OID pour les paramètres miniport du MCM.

Diagramme illustrant une requête OID pour les paramètres miniport d’un MCM.

La figure suivante illustre une demande OID pour les paramètres du gestionnaire d’appels du MCM.

Diagramme affichant une demande OID pour les paramètres du gestionnaire d’appels d’un MCM.

Pour effectuer la synchronisation, NdisCoOidRequest retourne NDIS_STATUS_SUCCESS ou un état d’erreur. Pour effectuer une opération asynchrone, ProtocolCoOidRequest ou MiniportCoOidRequest retourne NDIS_STATUS_PENDING.

Si ProtocolCoOidRequest ou MininportCoOidRequest retourne NDIS_STATUS_PENDING, NDIS appelle la fonction ProtocolCoOidRequestComplete du client une fois que le MCM a terminé la requête OID en appelant la fonction NdisMCoOidRequestComplete ou NdisMCmOidRequestComplete . Dans ce cas, NDIS transmet les résultats de la requête au paramètre OidRequest de ProtocolCoOidRequestComplete. NDIS transmet l’état final de la requête au paramètre Status de ProtocolCoOidRequestComplete.

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