Stänga av en kanalanslutning
När en klient eller server är klar med en anslutning måste den stängas av. Den andra parten måste i sin tur känna igen avstängningen och ta bort anslutningen.
Stänga av en Schannel-anslutning
- Anropa funktionen ApplyControlToken och ange SCHANNEL_SHUTDOWN kontrolltoken.
- När du har fått ett SEC_E_OK returvärde från ApplyControlTokenanropar du funktionen InitializeSecurityContext (Schannel) (klienter) eller AcceptSecurityContext (Schannel) (servrar) och skickar tomma buffertar.
- Fortsätt som om programmet skapade en ny anslutning tills funktionen returnerar SEC_I_CONTEXT_EXPIRED eller SEC_E_OK för att indikera att anslutningen har stängts av.
- Skicka eventuell slutlig utdatainformation till fjärrparten.
- Anropa DeleteSecurityContext för att frigöra resurser som finns i anslutningen.
Känna igen en avstängning
Funktionen DecryptMessage (Schannel) returnerar SEC_I_CONTEXT_EXPIRED när meddelandesändaren har stängt av anslutningen. När du har fått det här returvärdet, följ proceduren tidigare i det här avsnittet för att stänga av en Schannel-anslutning.