struktur SERIAL_COMMPROP (ntddser.h)
Struktur SERIAL_COMMPROP menentukan properti port serial.
Sintaks
typedef struct _SERIAL_COMMPROP {
USHORT PacketLength;
USHORT PacketVersion;
ULONG ServiceMask;
ULONG Reserved1;
ULONG MaxTxQueue;
ULONG MaxRxQueue;
ULONG MaxBaud;
ULONG ProvSubType;
ULONG ProvCapabilities;
ULONG SettableParams;
ULONG SettableBaud;
USHORT SettableData;
USHORT SettableStopParity;
ULONG CurrentTxQueue;
ULONG CurrentRxQueue;
ULONG ProvSpec1;
ULONG ProvSpec2;
WCHAR ProvChar[1];
} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
Anggota
PacketLength
Ukuran, dalam byte, dari paket data yang dimulai dengan struktur ini dan yang berisi data properti yang diminta. Ukuran ini mencakup struktur SERIAL_COMMPROP dan elemen array ProvChar tambahan yang mengikuti struktur ini.
PacketVersion
Versi struktur ini. Nomor versi saat ini adalah 2.
ServiceMask
Bitmask yang menunjukkan layanan mana yang diterapkan oleh penyedia komunikasi ini. Anggota ini selalu diatur ke SERIAL_SP_SERIALCOMM oleh penyedia komunikasi serial, termasuk penyedia modem. Anggota ProvSubType menunjukkan jenis komunikasi serial tertentu yang diimplementasikan (misalnya, modem).
Reserved1
Tidak digunakan.
MaxTxQueue
Ukuran antrean transmisi maksimum. Ukuran maksimum, dalam byte, dari buffer output internal driver pengontrol serial. Nilai nol menunjukkan bahwa tidak ada nilai maksimum yang diberlakukan oleh penyedia serial.
MaxRxQueue
Ukuran antrean terima maksimum. Ukuran maksimum, dalam byte, dari buffer input internal driver pengontrol serial. Nilai nol menunjukkan bahwa tidak ada nilai maksimum yang diberlakukan oleh penyedia serial.
MaxBaud
Tingkat baud maksimum yang dapat diterima. Driver pengontrol serial berbasis ekstensi menetapkan anggota ini ke tingkat baud yang dinyatakan dalam bit per detik (bps). Misalnya, jika pengontrol serial mendukung tingkat baud maksimum 115.200 bps, driver menetapkan MaxBaud = 115200.
Namun, Serial.sys dan banyak driver pengontrol serial yang lebih lama mengatur MaxBaud ke salah satu bit bendera SERIAL_BAUD_XXX yang ditentukan dalam file header Ntddser.h. Nilai berikut didefinisikan untuk anggota ini.
Nilai | Deskripsi |
---|---|
SERIAL_BAUD_075 | 75 bps |
SERIAL_BAUD_110 | 110 bps |
SERIAL_BAUD_134_5 | 134,5 bps |
SERIAL_BAUD_150 | 150 bps |
SERIAL_BAUD_300 | 300 bps |
SERIAL_BAUD_600 | 600 bps |
SERIAL_BAUD_1200 | 1.200 bps |
SERIAL_BAUD_1800 | 1.800 bps |
SERIAL_BAUD_2400 | 2.400 bps |
SERIAL_BAUD_4800 | 4.800 bps |
SERIAL_BAUD_7200 | 7.200 bps |
SERIAL_BAUD_9600 | 9.600 bps |
SERIAL_BAUD_14400 | 14.400 bps |
SERIAL_BAUD_19200 | 19.200 bps |
SERIAL_BAUD_38400 | 38.400 bps |
SERIAL_BAUD_56K | 56.000 bps |
SERIAL_BAUD_57600 | 57.600 bps |
SERIAL_BAUD_115200 | 115.200 bps |
SERIAL_BAUD_128K | 128.000 bps |
SERIAL_BAUD_USER | Tarif baud yang dapat diprogram tersedia. |
ProvSubType
Jenis penyedia komunikasi tertentu. Saat anggota ServiceMask diatur ke SERIAL_SP_SERIALCOMM, ProvSubType diatur ke salah satu nilai berikut.
Nilai | Makna |
---|---|
SERIAL_SP_UNSPECIFIED | Tidak disebutkan |
SERIAL_SP_RS232 | Port seri RS-232 |
SERIAL_SP_PARALLEL | Port paralel |
SERIAL_SP_RS422 | Port seri RS-422 |
SERIAL_SP_RS423 | Port seri RS-423 |
SERIAL_SP_RS449 | Port seri RS-449 |
SERIAL_SP_MODEM | Perangkat modem |
SERIAL_SP_FAX | Perangkat FAKS |
SERIAL_SP_SCANNER | Perangkat pemindai |
SERIAL_SP_BRIDGE | Jembatan jaringan yang tidak ditentukan |
SERIAL_SP_LAT | Protokol LAT |
SERIAL_SP_TELNET | Protokol TCP/IP TelnetĀ® |
SERIAL_SP_X25 | Standar X.25 |
ProvCapabilities
Kemampuan yang ditawarkan oleh penyedia. Anggota ini diatur ke nol atau ke bitwise-OR dari satu atau beberapa bit bendera berikut.
Nilai | Deskripsi |
---|---|
SERIAL_PCF_DTRDSR | DTR (terminal data siap) dan DSR (siap himpunan data) didukung. |
SERIAL_PCF_RTSCTS | RTS (permintaan untuk mengirim) dan CTS (jelas untuk dikirim) didukung. |
SERIAL_PCF_CD | CD (deteksi operator) didukung. |
SERIAL_PCF_PARITY_CHECK | Pemeriksaan paritas didukung. |
SERIAL_PCF_XONXOFF | Kontrol alur XON (transmisi aktif) dan XOFF (transmisi nonaktif) didukung. |
SERIAL_PCF_SETXCHAR | Karakter XON dan XOFF diatur. |
SERIAL_PCF_TOTALTIMEOUTS | Total waktu habis yang berlalu didukung. |
SERIAL_PCF_INTTIMEOUTS | Batas waktu interval didukung. |
SERIAL_PCF_SPECIALCHARS | Karakter khusus didukung. |
SERIAL_PCF_16BITMODE | Mode khusus 16-bit didukung. |
SettableParams
Bitmask yang menunjukkan parameter komunikasi yang dapat diubah. Anggota ini diatur ke nol atau ke bitwise-OR dari satu atau beberapa bit bendera berikut.
Nilai | Deskripsi |
---|---|
SERIAL_SP_PARITY | Jenis paritas (genap atau ganjil) |
SERIAL_SP_BAUD | Laju baud |
SERIAL_SP_DATABITS | Bit data |
SERIAL_SP_STOPBITS | Bit berhenti |
SERIAL_SP_HANDSHAKING | Jabat tangan (kontrol alur) |
SERIAL_SP_PARITY_CHECK | Pemeriksaan paritas |
SERIAL_SP_CARRIER_DETECT | Deteksi operator |
SettableBaud
Bitmask yang menunjukkan tingkat baud yang dapat digunakan. Untuk tabel yang menjelaskan bit bendera SERIAL_BAUD_XXX yang ditentukan untuk anggota ini, lihat deskripsi anggota MaxBaud . SettableBaud diatur ke nol atau ke bitwise-OR atau satu atau beberapa bit bendera ini.
Driver pengontrol serial mengatur bit bendera SERIAL_BAUD_USER dalam nilai bitmask SettableBaud untuk menunjukkan bahwa mereka mendukung laju baud yang lebih tinggi daripada yang dapat diekspresikan oleh bit bendera SERIAL_BAUD_XXX lainnya. Misalnya, driver yang mendukung tingkat baud 57600, 115200, 230400, dan 460800 bps set SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).
SettableData
Jumlah bit data yang dapat diatur. Anggota ini diatur ke nol atau ke bitwise-OR dari satu atau beberapa bit bendera berikut.
Nilai | Deskripsi |
---|---|
SERIAL_DATABITS_5 | 5 bit data |
SERIAL_DATABITS_6 | 6 bit data |
SERIAL_DATABITS_7 | 7 bit data |
SERIAL_DATABITS_8 | 8 bit data |
SERIAL_DATABITS_16 | 16 bit data |
SERIAL_DATABITS_16X | Jalur lebar khusus melalui garis perangkat keras serial |
SettableStopParity
Pengaturan stop-bit dan paritas yang dapat dipilih. Anggota ini diatur ke nol atau ke bitwise-OR dari satu atau beberapa bit bendera berikut.
Nilai | Deskripsi |
---|---|
SERIAL_STOPBITS_10 | Satu stop bit. |
SERIAL_STOPBITS_15 | Satu setengah bit berhenti. |
SERIAL_STOPBITS_20 | Dua bit berhenti. |
SERIAL_PARITY_NONE | Tidak ada bit paritas yang digunakan. |
SERIAL_PARITY_ODD | Paritas aneh. Bit paritas adalah 1 jika jumlah 1 dalam nilai karakter merata. Jika tidak, bit paritas adalah 0. |
SERIAL_PARITY_EVEN | Bahkan paritas. Bit paritas adalah 1 jika jumlah 1 dalam nilai karakter ganjil. Jika tidak, bit paritas adalah 0. |
SERIAL_PARITY_MARK | Bit paritas selalu diatur ke 1. |
SERIAL_PARITY_SPACE | Bit paritas selalu diatur ke 0. |
CurrentTxQueue
Mengirimkan ukuran antrean. Anggota ini menentukan ukuran, dalam byte, dari buffer output internal driver pengontrol serial. Nilai nol menunjukkan bahwa ukuran buffer tidak tersedia.
Untuk SerCx2 dan SerCx, driver pengontrol serial terkait biasanya mengatur anggota ini ke nol. Serial.sys menetapkan anggota ini ke nilai bukan nol yang menunjukkan ukuran buffer output.
CurrentRxQueue
Menerima ukuran antrean. Anggota ini menentukan ukuran, dalam byte, dari buffer input internal driver pengontrol serial. Nilai nol menunjukkan bahwa ukuran buffer tidak tersedia.
Untuk SerCx2 dan SerCx, anggota ini diatur oleh driver pengontrol serial terkait. Untuk SerCx2, driver biasanya menetapkan anggota ini ke nol. Untuk SerCx, driver biasanya mengatur anggota ini ke ukuran buffer cincin yang digunakan SerCx untuk buffer data yang diterima. Driver ini dapat memanggil metode SerCxGetRingBufferUtilization untuk mendapatkan ukuran buffer cincin dari SerCx.
Serial.sys menetapkan anggota ini ke nilai bukan nol yang menunjukkan ukuran buffer input.
ProvSpec1
Data khusus penyedia. Aplikasi harus mengabaikan anggota ini kecuali data khusus penyedia tentang format data yang diperlukan oleh port serial tersedia.
ProvSpec2
Data khusus penyedia. Aplikasi harus mengabaikan anggota ini kecuali data khusus penyedia tentang format data yang diperlukan oleh port serial tersedia.
ProvChar[1]
Data khusus penyedia. Aplikasi harus mengabaikan anggota ini kecuali data khusus penyedia tentang format data yang diperlukan oleh port serial tersedia. Anggota ini adalah elemen pertama dalam array karakter lebar dari satu atau beberapa elemen. Elemen tambahan apa pun segera mengikuti anggota ini. Anggota PacketLength menentukan ukuran struktur SERIAL_COMMPROP ditambah elemen array ProvChar tambahan yang mengikuti struktur ini.
Keterangan
Struktur ini digunakan oleh permintaan IOCTL_SERIAL_GET_PROPERTIES .
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddser.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk