Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En samtalshanterare anropar NdisCmDeactivateVc som ett viktigt steg för att stänga ett utgående eller inkommande samtal, vanligtvis efter paketutbytet med nätverkskomponenter som river ned samtalet (se Client-Initiated Begäran om att stänga ett samtal och inkommande begäran om att stänga ett samtal). En MCM-drivrutin gör samma sak genom att anropa NdisMCmDeactivateVc.
Anropet till NdisCmDeactivateVc gör att NDIS anropar den underliggande miniportdrivrutinens MiniportCoDeactivateVc- funktion (se följande bild). MiniportCoDeactivateVc kommunicerar med sitt nätverkskort för att avsluta all kommunikation i den här VC:n (till exempel genom att rensa mottagnings- eller sändningsbuffertar på adaptern).
Innan den inaktiverar en VC måste miniportdrivrutinen slutföra väntande överföringar på VC:n. Det vill säga, miniportdrivrutinen måste vänta tills den har slutfört alla pågående sändningar och tills alla mottagna paket som den har indikerat returneras till den. När du har inaktiverat VC kan miniportdrivrutinen inte ange mottagningar eller sändningsöverföringar på VC.
Observera att MiniportCoDeactivateVc inte tar bort VC. Skaparen (klient, samtalshanterare eller MCM-drivrutin) av en viss VC som inte återanvänds anropar NdisCoDeleteVc för att förstöra denna VC. En inaktiverad VC kan återaktiveras av en anslutningsorienterad klient, en samtalshanterare eller en MCM-drivrutin.
MiniportCoDeactivateVc kan slutföras synkront eller asynkront. Ett anrop till NdisMCoDeactivateVcComplete. gör att NDIS anropar ProtocolCmDeactivateVcComplete funktion för den samtalshanterare som ursprungligen begärde VC-inaktivering. Slutförandet av inaktiveringen innebär att alla anropsparametrar för den VC som används vid aktivering inte längre är giltiga. All ytterligare användning av VC är förbjuden förutom att återaktivera den med en ny uppsättning anropsparametrar.
Ett MCM-drivrutinsanrop till NdisMCmDeactivateVc informerar NDIS om att den har inaktiverat en VC eller ändrat anropsparametrarna på en etablerad VC (se följande bild). NDIS slutför inaktiveringssekvensen genom att anropa funktionen MCM-drivrutinens ProtocolCmDeactivateVcComplete.
En MCM-drivrutin anropar inte NdisMCmDeactivateVc för att inaktivera virtuella kretsar som används för att utbyta signalmeddelanden mellan MCM-drivrutinen och nätverkskomponenter, till exempel en växel. En MCM-drivrutin inaktiverar en signalerande VC internt utan att anropa någon NdisXxx funktion.