Delen via


Lees- en schrijfbewerkingen

Windows ondersteunt zowel synchrone als asynchrone (overlappende) bestands-I/O-bewerkingen op seriële communicatieresources. Met overlappende bewerkingen kan de aanroepende thread andere taken uitvoeren terwijl de bewerking op de achtergrond wordt uitgevoerd. Een thread maakt gebruik van de functie ReadFile of ReadFileEx om te lezen uit een communicatieresource en de WriteFile- of functie WriteFileEx om naar een communicatieresource te schrijven. ReadFile- en WriteFile- kunnen synchroon of asynchroon worden uitgevoerd. ReadFileEx- en WriteFileEx- kunnen alleen asynchroon worden uitgevoerd.

Het gedrag van deze lees- en schrijffuncties wordt beïnvloed door of de functie wordt uitgevoerd als een overlappende bewerking, of de time-outparameters zijn gekoppeld aan de ingang en of de parameters voor stroombeheer aan de ingang zijn gekoppeld.

Een thread kan ook naar een communicatieresource schrijven met behulp van de functie TransmitCommChar, waarmee een opgegeven teken wordt verzonden voor alle in behandeling zijnde gegevens in de uitvoerbuffer. Deze functie is handig voor het verzenden van een signaal met een hoge prioriteit naar het ontvangende systeem. Overdracht van het teken met hoge prioriteit is nog steeds onderhevig aan stroombeheer en time-outs voor schrijven, en de bewerking wordt synchroon uitgevoerd.

Een thread kan de functie PurgeComm gebruiken om alle tekens in de uitvoer- of invoerbuffer van een apparaat te verwijderen. PurgeComm- kan ook wachtende lees- of schrijfbewerkingen beëindigen, zelfs als de bewerkingen niet zijn voltooid. Als een thread PurgeComm gebruikt om een uitvoerbuffer leeg te maken, worden de verwijderde tekens niet verzonden. Als u de uitvoerbuffer wilt leegmaken terwijl u ervoor wilt zorgen dat de inhoud wordt verzonden, kan een thread de FlushFileBuffers aanroepen functie (een synchrone bewerking). Houd er echter rekening mee dat FlushFileBuffers onderhevig is aan stroombeheer, maar niet aan time-outs voor schrijven, en dat deze pas wordt geretourneerd als alle in behandeling zijnde schrijfbewerkingen zijn verzonden.