Demandes OID CoNDIS MCM
Comme d’autres gestionnaires d’appels CoNDIS, les gestionnaires d’appels miniport (MCM) peuvent interroger ou définir les paramètres de fonctionnement 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 créer une requête OID à un pilote client CoNDIS, un MCM appelle la fonction NdisMCmOidRequest .
La figure suivante illustre une requête OID à l’origine d’un MCM.
Une fois qu’un pilote MCM appelle la fonction NdisMCmOidRequest , NDIS appelle la fonction ProtocolCoOidRequest du pilote client.
Pour effectuer une opération synchrone, NdisMCmOidRequest retourne NDIS_STATUS_SUCCESS ou une status d’erreur. Pour effectuer une opération asynchrone, NdisMCmOidRequest retourne NDIS_STATUS_PENDING.
Si NdisMCmOidRequest retourne NDIS_STATUS_PENDING, NDIS appelle la fonction ProtocolCoOidRequestComplete du MCM après 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 la status finale 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 niveau du 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 de fonctionnement miniport des machines virtuelles. Pour créer une requête OID pour les paramètres du gestionnaire d’appels MCM, un client appelle la fonction NdisCoOidRequest et fournit un handle de famille d’adresses (AF) valide au niveau du paramètre NdisAfHandle . Pour créer une requête OID pour les paramètres de miniport MCM, un client appelle la fonction NdisCoOidRequest et définit le handle AF sur NULL.
Après qu’un client a appelé 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.
La figure suivante illustre une demande OID pour les paramètres du gestionnaire d’appels du MCM.
Pour effectuer une opération synchrone, NdisCoOidRequest retourne NDIS_STATUS_SUCCESS ou une status 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 après 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 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 au niveau du paramètre OidRequest . Dans ce cas, NDIS n’appelle pas la fonction ProtocolCoOidRequestComplete du client.