Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System Windows obsługuje operacje we/wy plików synchronicznych i asynchronicznych (nakładających się) na zasobach komunikacji szeregowej. Nakładające się operacje umożliwiają wywołaniu wątku wykonywanie innych zadań podczas wykonywania operacji w tle. Wątek używa funkcji ReadFile lub ReadFileEx do odczytu z zasobu komunikacji oraz funkcji WriteFile lub WriteFileEx do zapisu w zasobie komunikacji. ReadFile i WriteFile można wykonywać synchronicznie lub asynchronicznie. ReadFileEx i WriteFileEx mogą być wykonywane asynchronicznie.
Zachowanie tych funkcji odczytu i zapisu ma wpływ na to, czy funkcja jest wykonywana jako nakładana operacja, czy parametry limitu czasu są skojarzone z uchwytem oraz czy parametry sterowania przepływem są skojarzone z uchwytem.
Wątek może również zapisywać w zasobie komunikacji przy użyciu funkcji TransmitCommChar, która przesyła określony znak przed wszystkimi oczekującymi danymi w buforze wyjściowym. Ta funkcja jest przydatna do przesyłania znaku sygnału o wysokim priorytcie do systemu odbierającego. Przesyłanie znaku o wysokim priorytcie nadal podlega kontroli przepływu i limitów czasu zapisu, a operacja jest wykonywana synchronicznie.
Wątek może użyć funkcji PurgeComm, aby odrzucić wszystkie znaki w buforze wyjściowym lub wejściowym urządzenia. purgeComm może również zakończyć oczekujące operacje odczytu lub zapisu, nawet jeśli operacje nie zostały ukończone. Jeśli wątek używa PurgeComm opróżnić bufor wyjściowy, usunięte znaki nie są przesyłane. Aby opróżnić bufor wyjściowy przy jednoczesnym zapewnieniu, że zawartość jest przesyłana, wątek może wywołać funkcję FlushFileBuffers (operacja synchroniczna). Należy jednak pamiętać, że FlushFileBuffers podlega kontrolce przepływu, ale nie zapisuje limitów czasu i nie zostanie zwrócony, dopóki wszystkie oczekujące operacje zapisu nie zostaną przesłane.