SERIAL_HANDFLOW 結構 (ntddser.h)
SERIAL_HANDFLOW 結構會指定序列埠的交握和流程控制設定。
語法
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
成員
ControlHandShake
位掩碼,指定序列埠用於流程控制的控制線。 這個成員設定為零或位 OR 或下列一或多個旗標。
值 | Description |
---|---|
SERIAL_DTR_CONTROL | 已啟用 DTR (資料終端機) 。 |
SERIAL_DTR_HANDSHAKE | DTR 用於輸入流程控制。 |
SERIAL_CTS_HANDSHAKE | CTS (清楚傳送) 用於輸出流程控制。 |
SERIAL_DSR_HANDSHAKE | DSR (數據集就緒) 用於輸出流程控制。 |
SERIAL_DCD_HANDSHAKE | DCD (數據載具偵測) 用於輸出流程控制。 |
SERIAL_DSR_SENSITIVITY | 忽略 DSR 行非使用中時抵達序列埠的字元。 |
SERIAL_ERROR_ABORT | 如果發生錯誤,中止傳輸或接收作業。 |
SerCx2 支援 SERIAL_CTS_HANDSHAKE 旗標,而且可能不支援為此成員定義的其他六個旗標,視序列控制器驅動程式和序列控制器硬體的功能而定。 SerCx 僅支援上表中的前四個旗標。 Serial.sys 支援上表中的所有旗標。
FlowReplace
指定流程控制行為的位掩碼。 這個成員設定為零或位 OR 或下列一或多個旗標。
值 | Description |
---|---|
SERIAL_AUTO_TRANSMIT | 使用 XON/XOFF 來控制傳輸的數據。 |
SERIAL_AUTO_RECEIVE | 使用 XON/XOFF 來控制所接收數據的流程。 |
SERIAL_ERROR_CHAR | 當發生錯誤時,將錯誤字元插入收到的數據中。 如需詳細資訊,請參閱 SERIAL_CHARS 中的 ErrorChar 成員描述。 |
SERIAL_NULL_STRIPPING | 自動從收到的數據移除 Null 字元。 |
SERIAL_BREAK_CHAR | 發生中斷時,將中斷字元插入收到的數據中。 如需詳細資訊,請參閱 SERIAL_CHARS 中的 BreakChar 成員描述。 |
SERIAL_RTS_CONTROL | 已啟用 RTS (傳送) 要求。 |
SERIAL_RTS_HANDSHAKE | RTS 用於輸出流程控制。 |
SERIAL_XOFF_CONTINUE | 將 XOFF 傳送至該行另一端的裝置之後,繼續傳輸。 |
SerCx2 支援SERIAL_RTS_CONTROL和SERIAL_RTS_HANDSHAKE旗標,但通常不支援為此成員定義的其他六個旗標,視序列控制器驅動程式和序列控制器硬體的功能而定。 SerCx 僅支援SERIAL_RTS_CONTROL和SERIAL_RTS_HANDSHAKE旗標。 Serial.sys 支援上表中的所有旗標。
XonLimit
XON 限制。 當內部接收緩衝區中的字元數目低於 XON 限制時,序列控制器驅動程式會使用流程控制訊號來告知傳送者繼續傳送字元。
XoffLimit
XOFF 限制。 當內部接收緩衝區中的字元數達到 XOFF 限制時,序列控制器驅動程式會使用流程控制訊號來告知傳送者停止傳送字元。
備註
IOCTL_SERIAL_GET_HANDFLOW和IOCTL_SERIAL_SET_HANDFLOW要求會使用此結構。
傳送 XOFF (傳輸) 字元之後,序列埠會立即停止傳輸,而不會傳送更多字元。 此行為支援串行埠,可將 XOFF 後面的任何字元解譯為) 上的隱含 XON (傳輸。
SerCx2 和 SerCx 僅支持針對 ControlHandShake 和 FlowControl 成員定義的旗標子集。 指定不支援旗標的 IOCTL_SERIAL_SET_HANDFLOW 要求已完成STATUS_NOT_IMPLEMENTED。
規格需求
需求 | 值 |
---|---|
標頭 | ntddser.h |