Fungsi BuildCommDCBAndTimeoutsA (winbase.h)
Menerjemahkan string definisi perangkat ke dalam kode blok kontrol perangkat yang sesuai dan menempatkannya ke dalam blok kontrol perangkat. Fungsi ini juga dapat mengatur nilai waktu habis, termasuk kemungkinan tidak ada waktu habis, untuk perangkat; perilaku fungsi dalam hal ini tergantung pada konten string definisi perangkat.
Sintaks
BOOL BuildCommDCBAndTimeoutsA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB,
[out] LPCOMMTIMEOUTS lpCommTimeouts
);
Parameter
[in] lpDef
Informasi kontrol perangkat. Fungsi mengambil string ini, mengurainya, lalu mengatur nilai yang sesuai dalam struktur DCB yang ditunjukkan oleh lpDCB.
String harus memiliki formulir yang sama dengan argumen baris perintah perintah mode :
COMx[:][baud={11|110|15 150|30||300|60|600|12|1200|24|2400|484800||96|9600|19|19200}][parity={n | e |O|M|s}] [data={5|6|7|8}][stop={11.5||2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]
Substring "baud" dapat berupa salah satu nilai yang tercantum, yang berpasangan. Nilai dua digit adalah dua digit pertama dari nilai terkait yang diwakilinya. Misalnya, 11 mewakili 110 baud, 19 mewakili 19.200 baud.
Substring "paritas" menunjukkan bagaimana bit paritas digunakan untuk mendeteksi kesalahan transmisi.
Nilai mewakili "none", "even", "odd",
"mark", dan "space".
Untuk informasi selengkapnya, lihat referensi perintah Mode di TechNet.
Misalnya, string berikut menentukan tingkat baud 1200, tanpa paritas, 8 bit data, dan 1 stop bit:
baud=1200 parity=N data=8 stop=1
[out] lpDCB
Penunjuk ke struktur DCB yang menerima informasi dari string informasi kontrol perangkat yang ditunjukkan oleh lpDef. Struktur DCB ini menentukan pengaturan kontrol untuk perangkat komunikasi.
[out] lpCommTimeouts
Penunjuk ke struktur COMMTIMEOUTS yang menerima informasi waktu habis.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Fungsi BuildCommDCBAndTimeouts memodifikasi perilaku pengaturan waktu habis berdasarkan ada atau tidak adanya substring "to={on|off}" di lpDef:
- Jika string tersebut berisi substring "to=on", fungsi mengatur anggota WriteTotalTimeoutConstant dari struktur COMMTIMEOUTS menjadi 60000 dan semua anggota lainnya ke 0.
- Jika string tersebut berisi substring "to=off", fungsi akan mengatur anggota COMMTIMEOUTS ke 0.
- Jika string tersebut tidak menentukan substring "to={on|off}", fungsi mengabaikan struktur COMMTIMEOUTS di lpCommTimeouts.
Catatan
Header winbase.h mendefinisikan BuildCommDCBAndTimeouts sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP |
Server minimum yang didukung | Windows Server 2003 |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |