Bagikan melalui


Struktur COMMTIMEOUTS (winbase.h)

Berisi parameter waktu habis untuk perangkat komunikasi. Parameter menentukan perilaku operasi ReadFile, WriteFile, ReadFileEx, dan WriteFileEx pada perangkat.

Sintaks

typedef struct _COMMTIMEOUTS {
  DWORD ReadIntervalTimeout;
  DWORD ReadTotalTimeoutMultiplier;
  DWORD ReadTotalTimeoutConstant;
  DWORD WriteTotalTimeoutMultiplier;
  DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS, *LPCOMMTIMEOUTS;

Anggota

ReadIntervalTimeout

Waktu maksimum yang diizinkan untuk berlalu sebelum kedatangan byte berikutnya pada jalur komunikasi, dalam milidetik. Jika interval antara kedatangan dua byte melebihi jumlah ini, operasi ReadFile selesai dan data buffer dikembalikan. Nilai nol menunjukkan bahwa batas waktu interval tidak digunakan.

Nilai MAXDWORD, dikombinasikan dengan nilai nol untuk anggota ReadTotalTimeoutConstant dan ReadTotalTimeoutMultiplier , menentukan bahwa operasi baca akan segera dikembalikan dengan byte yang telah diterima, bahkan jika tidak ada byte yang diterima.

ReadTotalTimeoutMultiplier

Pengali yang digunakan untuk menghitung total periode waktu habis untuk operasi baca, dalam milidetik. Untuk setiap operasi baca, nilai ini dikalikan dengan jumlah byte yang diminta untuk dibaca.

ReadTotalTimeoutConstant

Konstanta yang digunakan untuk menghitung total periode waktu habis untuk operasi baca, dalam milidetik. Untuk setiap operasi baca, nilai ini ditambahkan ke produk anggota ReadTotalTimeoutMultiplier dan jumlah byte yang diminta.

Nilai nol untuk anggota ReadTotalTimeoutMultiplier dan ReadTotalTimeoutConstant menunjukkan bahwa total waktu habis tidak digunakan untuk operasi baca.

WriteTotalTimeoutMultiplier

Pengali yang digunakan untuk menghitung total periode waktu habis untuk operasi tulis, dalam milidetik. Untuk setiap operasi tulis, nilai ini dikalikan dengan jumlah byte yang akan ditulis.

WriteTotalTimeoutConstant

Konstanta yang digunakan untuk menghitung total periode waktu habis untuk operasi tulis, dalam milidetik. Untuk setiap operasi tulis, nilai ini ditambahkan ke produk anggota WriteTotalTimeoutMultiplier dan jumlah byte yang akan ditulis.

Nilai nol untuk anggota WriteTotalTimeoutMultiplier dan WriteTotalTimeoutConstant menunjukkan bahwa total waktu habis tidak digunakan untuk operasi tulis.

Keterangan

Jika aplikasi mengatur ReadIntervalTimeout dan ReadTotalTimeoutMultiplier ke MAXDWORD dan mengatur ReadTotalTimeoutConstant ke nilai yang lebih besar dari nol dan kurang dari MAXDWORD, salah satu hal berikut ini terjadi ketika fungsi ReadFile dipanggil:

  • Jika ada byte dalam buffer input, ReadFile segera kembali dengan byte di buffer.
  • Jika tidak ada byte dalam buffer input, ReadFile menunggu hingga byte tiba dan kemudian segera kembali.
  • Jika tidak ada byte yang tiba dalam waktu yang ditentukan oleh ReadTotalTimeoutConstant, waktu ReadFile habis.

Persyaratan

   
Klien minimum yang didukung Windows XP
Server minimum yang didukung Windows Server 2003
Header winbase.h (termasuk Windows.h)

Lihat juga

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx