Struktur DCB (winbase.h)
Menentukan pengaturan kontrol untuk perangkat komunikasi serial.
Sintaks
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary : 1;
DWORD fParity : 1;
DWORD fOutxCtsFlow : 1;
DWORD fOutxDsrFlow : 1;
DWORD fDtrControl : 2;
DWORD fDsrSensitivity : 1;
DWORD fTXContinueOnXoff : 1;
DWORD fOutX : 1;
DWORD fInX : 1;
DWORD fErrorChar : 1;
DWORD fNull : 1;
DWORD fRtsControl : 2;
DWORD fAbortOnError : 1;
DWORD fDummy2 : 17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
Anggota
DCBlength
Panjang struktur, dalam byte. Penelepon harus mengatur anggota ini ke sizeof(DCB)
.
BaudRate
Tingkat baud tempat perangkat komunikasi beroperasi. Anggota ini bisa menjadi nilai tingkat baud aktual, atau salah satu indeks berikut.
fBinary
Jika anggota ini TRUE, mode biner diaktifkan. Windows tidak mendukung transfer mode nonbiner, sehingga anggota ini harus TRUE.
fParity
Jika anggota ini TRUE, pemeriksaan paritas dilakukan dan kesalahan dilaporkan.
fOutxCtsFlow
Jika anggota ini TRUE, sinyal CTS (clear-to-send) dipantau untuk kontrol aliran output. Jika anggota ini TRUE dan CTS dimatikan, output ditangguhkan hingga CTS dikirim lagi.
fOutxDsrFlow
Jika anggota ini TRUE, sinyal DSR (data-set-ready) dipantau untuk kontrol aliran output. Jika anggota ini TRUE dan DSR dimatikan, output ditangguhkan hingga DSR dikirim lagi.
fDtrControl
Kontrol aliran DTR (siap terminal data). Anggota ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Menonaktifkan baris DTR saat perangkat dibuka dan membiarkannya dinonaktifkan. |
|
Mengaktifkan baris DTR saat perangkat dibuka dan membiarkannya menyala. |
|
Mengaktifkan jabat tangan DTR. Jika jabat tangan diaktifkan, itu adalah kesalahan bagi aplikasi untuk menyesuaikan baris dengan menggunakan fungsi EscapeCommFunction . |
fDsrSensitivity
Jika anggota ini TRUE, driver komunikasi sensitif terhadap status sinyal DSR. Driver mengabaikan byte apa pun yang diterima, kecuali baris input modem DSR tinggi.
fTXContinueOnXoff
Jika anggota ini TRUE, transmisi berlanjut setelah buffer input berada dalam byte XoffLim penuh dan driver telah mengirimkan karakter XoffChar untuk berhenti menerima byte. Jika anggota ini FALSE, transmisi tidak berlanjut sampai buffer input berada dalam byte XonLim kosong dan driver telah mengirimkan karakter XonChar untuk melanjutkan penerimaan.
fOutX
Menunjukkan apakah kontrol aliran XON/XOFF digunakan selama transmisi. Jika anggota ini TRUE, transmisi berhenti ketika karakter XoffChar diterima dan dimulai lagi ketika karakter XonChar diterima.
fInX
Menunjukkan apakah kontrol alur XON/XOFF digunakan selama penerimaan. Jika anggota ini TRUE, karakter XoffChar dikirim ketika buffer input berada dalam byte XoffLim penuh, dan karakter XonChar dikirim ketika buffer input berada dalam byte XonLim yang kosong.
fErrorChar
Menunjukkan apakah byte yang diterima dengan kesalahan paritas diganti dengan karakter yang ditentukan oleh anggota ErrorChar . Jika anggota ini TRUE dan anggota fParitytrue, penggantian terjadi.
fNull
Jika anggota ini TRUE, byte null akan dibuang saat diterima.
fRtsControl
Kontrol alur RTS (request-to-send). Anggota ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Menonaktifkan baris RTS saat perangkat dibuka dan membiarkannya dinonaktifkan. |
|
Mengaktifkan baris RTS saat perangkat dibuka dan membiarkannya menyala. |
|
Mengaktifkan jabat tangan RTS. Driver menaikkan garis RTS ketika buffer "type-ahead" (input) kurang dari satu setengah penuh dan menurunkan garis RTS ketika buffer lebih dari tiga perempat penuh. Jika jabat tangan diaktifkan, itu adalah kesalahan bagi aplikasi untuk menyesuaikan baris dengan menggunakan fungsi EscapeCommFunction . |
|
Menentukan bahwa garis RTS akan tinggi jika byte tersedia untuk transmisi. Setelah semua byte yang di-buffer dikirim, baris RTS akan rendah. |
fAbortOnError
Jika anggota ini BENAR, driver mengakhiri semua operasi baca dan tulis dengan status kesalahan jika terjadi kesalahan. Driver tidak akan menerima operasi komunikasi lebih lanjut sampai aplikasi telah mengakui kesalahan dengan memanggil fungsi ClearCommError .
fDummy2
Dipesan; jangan gunakan.
wReserved
Dipesan; harus nol.
XonLim
Jumlah minimum byte yang digunakan yang diizinkan dalam buffer input sebelum kontrol aliran diaktifkan untuk memungkinkan transmisi oleh pengirim. Ini mengasumsikan bahwa kontrol aliran input XON/XOFF, RTS, atau DTR ditentukan dalam anggota fInX, fRtsControl, atau fDtrControl .
XoffLim
Jumlah minimum byte gratis yang diizinkan dalam buffer input sebelum kontrol alur diaktifkan untuk menghambat pengirim. Perhatikan bahwa pengirim dapat mengirimkan karakter setelah sinyal kontrol aliran diaktifkan, sehingga nilai ini tidak boleh nol. Ini mengasumsikan bahwa kontrol aliran input XON/XOFF, RTS, atau DTR ditentukan dalam anggota fInX, fRtsControl, atau fDtrControl . Jumlah maksimum byte yang digunakan yang diizinkan dihitung dengan mengurangi nilai ini dari ukuran, dalam byte, dari buffer input.
ByteSize
Jumlah bit dalam byte yang ditransmisikan dan diterima.
Parity
Skema paritas yang akan digunakan. Anggota ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Bahkan paritas. |
|
Tandai paritas. |
|
Tidak ada paritas. |
|
Paritas ganjil. |
|
Paritas ruang angkasa. |
StopBits
Jumlah bit stop yang akan digunakan. Anggota ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
1 stop bit. |
|
1,5 bit berhenti. |
|
2 bit berhenti. |
XonChar
Nilai karakter XON untuk transmisi dan penerimaan.
XoffChar
Nilai karakter XOFF untuk transmisi dan penerimaan.
ErrorChar
Nilai karakter yang digunakan untuk mengganti byte yang diterima dengan kesalahan paritas.
EofChar
Nilai karakter yang digunakan untuk memberi sinyal akhir data.
EvtChar
Nilai karakter yang digunakan untuk memberi sinyal peristiwa.
wReserved1
Dipesan; jangan gunakan.
Keterangan
Saat struktur DCB digunakan untuk mengonfigurasi 8250, pembatasan berikut berlaku untuk nilai yang ditentukan untuk anggota ByteSize dan StopBits :
- Jumlah bit data harus 5 hingga 8 bit.
- Penggunaan 5 bit data dengan 2 bit stop adalah kombinasi yang tidak valid, seperti 6, 7, atau 8 bit data dengan 1,5 bit stop.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP |
Server minimum yang didukung | Windows Server 2003 |
Header | winbase.h (termasuk Windows.h) |