Fungsi BuildCommDCBA (winbase.h)

Mengisi struktur DCB tertentu dengan nilai yang ditentukan dalam string kontrol perangkat. String kontrol perangkat menggunakan sintaks perintah mode .

Sintaks

BOOL BuildCommDCBA(
  [in]  LPCSTR lpDef,
  [out] LPDCB  lpDCB
);

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=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][okt={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

Nama perangkat bersifat opsional, tetapi harus menentukan perangkat yang valid jika digunakan.

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.

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 BuildCommDCB hanya menyesuaikan anggota struktur DCB yang secara khusus dipengaruhi oleh parameter lpDef , dengan pengecualian berikut:

  • Jika laju baud yang ditentukan adalah 110, fungsi mengatur bit berhenti ke 2 agar tetap kompatibel dengan perintah mode sistem.
  • Secara default, BuildCommDCB menonaktifkan XON/XOFF dan kontrol alur perangkat keras. Untuk mengaktifkan kontrol alur, Anda harus secara eksplisit mengatur anggota struktur DCB yang sesuai.
Fungsi BuildCommDCB hanya mengisi anggota struktur DCB . Untuk menerapkan pengaturan ini ke port serial, gunakan fungsi SetCommState .

Ada bentuk sintaks mode yang lebih lama dan lebih baru. Fungsi BuildCommDCB mendukung kedua formulir. Namun, Anda tidak dapat mencampur dua bentuk bersama-sama.

Bentuk sintaks mode yang lebih baru memungkinkan Anda secara eksplisit mengatur nilai anggota kontrol alur dari struktur DCB . Jika Anda menggunakan bentuk sintaks mode yang lebih lama, fungsi BuildCommDCB mengatur anggota kontrol alur struktur DCB , sebagai berikut:

  • Untuk string yang tidak diakhir dengan x atau p:
    • fInX, fOutX, fOutXDsrFlow, dan fOutXCtsFlow semuanya diatur ke FALSE
    • fDtrControl diatur ke DTR_CONTROL_ENABLE
    • fRtsControl diatur ke RTS_CONTROL_ENABLE
  • Untuk string yang diakhir dengan x:
    • fInX dan fOutX keduanya diatur ke TRUE
    • fOutXDsrFlow dan fOutXCtsFlow keduanya diatur ke FALSE
    • fDtrControl diatur ke DTR_CONTROL_ENABLE
    • fRtsControl diatur ke RTS_CONTROL_ENABLE
  • Untuk string yang diakhir dengan p:
    • fInX dan fOutX keduanya diatur ke FALSE
    • fOutXDsrFlow dan fOutXCtsFlow keduanya diatur ke TRUE
    • fDtrControl diatur ke DTR_CONTROL_HANDSHAKE
    • fRtsControl diatur ke RTS_CONTROL_HANDSHAKE

Catatan

Header winbase.h mendefinisikan BuildCommDCB 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

Lihat juga

Fungsi Komunikasi

Sumber Daya Komunikasi

DCB

SetCommState