Bagikan melalui


Fungsi BuildCommDCBA (winbase.h)

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

Sintaksis

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

Parameter

[in] lpDef

Informasi kontrol perangkat. Fungsi mengambil string ini, mengurainya, dan kemudian mengatur nilai yang sesuai dalam struktur DCB yang ditunjukkan oleh lpDCB.

String harus memiliki formulir yang sama dengan mode argumen baris perintah:

COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][octs={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 laju baud 1200, tanpa paritas, 8 bit data, dan 1 bit berhenti:

baud=1200 parity=N data=8 stop=1

[out] lpDCB

Penunjuk ke struktur DCB yang menerima informasi.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

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 mode sistem perintah.
  • 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 yang lebih lama dan lebih baru dari mode sintaks. Fungsi BuildCommDCB mendukung kedua formulir. Namun, Anda tidak dapat mencampur dua bentuk bersama-sama.

Bentuk yang lebih baru dari mode sintaks memungkinkan Anda secara eksplisit mengatur nilai anggota kontrol alur dari struktur DCB. Jika Anda menggunakan bentuk yang lebih lama dari sintaks mode , 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

Nota

Header winbase.h mendefinisikan BuildCommDCB sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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

Syarat Nilai
klien minimum yang didukung Windows XP
server minimum yang didukung Windows Server 2003
Platform Target Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Communications Functions

Sumber Daya Komunikasi

DCB

SetCommState