struttura SERIAL_HANDFLOW (ntddser.h)
La struttura SERIAL_HANDFLOW specifica le impostazioni di handshake e controllo del flusso per una porta seriale.
Sintassi
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
Membri
ControlHandShake
Maschera di bit che specifica le linee di controllo utilizzate dalla porta seriale per il controllo del flusso. Questo membro è impostato su zero o sull'OR bit per bit o su uno o più dei flag seguenti.
Valore | Descrizione |
---|---|
SERIAL_DTR_CONTROL | La DTR (terminale dati pronto) è abilitata. |
SERIAL_DTR_HANDSHAKE | La DTR viene usata per il controllo del flusso di input. |
SERIAL_CTS_HANDSHAKE | CTS (chiaro da inviare) viene usato per il controllo del flusso di output. |
SERIAL_DSR_HANDSHAKE | La richiesta DSR (set di dati pronto) viene usata per il controllo del flusso di output. |
SERIAL_DCD_HANDSHAKE | DCD (rilevamento gestore dati) viene usato per il controllo del flusso di output. |
SERIAL_DSR_SENSITIVITY | Ignorare i caratteri in arrivo alla porta seriale quando la riga DSR è inattiva. |
SERIAL_ERROR_ABORT | Interrompere un'operazione di trasmissione o ricezione se si verifica un errore. |
SerCx2 supporta il flag SERIAL_CTS_HANDSHAKE e può supportare o meno gli altri sei flag definiti per questo membro, a seconda del driver del controller seriale e delle funzionalità dell'hardware del controller seriale. SerCx supporta solo i primi quattro flag nella tabella precedente. Serial.sys supporta tutti i flag nella tabella precedente.
FlowReplace
Maschera di bit che specifica il comportamento del controllo del flusso. Questo membro è impostato su zero o sull'OR bit per bit o su uno o più dei flag seguenti.
Valore | Descrizione |
---|---|
SERIAL_AUTO_TRANSMIT | Usare XON/XOFF per il controllo del flusso dei dati trasmessi. |
SERIAL_AUTO_RECEIVE | Usare XON/XOFF per il controllo del flusso dei dati ricevuti. |
SERIAL_ERROR_CHAR | Inserire il carattere di errore nei dati ricevuti quando si verifica un errore. Per altre informazioni, vedere la descrizione del membro ErrorChar in SERIAL_CHARS. |
SERIAL_NULL_STRIPPING | Rimuovere automaticamente i caratteri Null dai dati ricevuti. |
SERIAL_BREAK_CHAR | Inserire il carattere di interruzione nei dati ricevuti quando si verifica un'interruzione. Per altre informazioni, vedere la descrizione del membro BreakChar in SERIAL_CHARS. |
SERIAL_RTS_CONTROL | RTS (richiesta di invio) è abilitato. |
SERIAL_RTS_HANDSHAKE | RTS viene usato per il controllo del flusso di output. |
SERIAL_XOFF_CONTINUE | Continuare a trasmettere dopo l'invio di XOFF al dispositivo sull'altra estremità della riga. |
SerCx2 supporta i flag SERIAL_RTS_CONTROL e SERIAL_RTS_HANDSHAKE, ma in genere non supporta gli altri sei flag definiti per questo membro, a seconda del driver del controller seriale e delle funzionalità dell'hardware del controller seriale. SerCx supporta solo i flag SERIAL_RTS_CONTROL e SERIAL_RTS_HANDSHAKE. Serial.sys supporta tutti i flag nella tabella precedente.
XonLimit
Limite XON. Quando il numero di caratteri nel buffer di ricezione interno scende al di sotto del limite XON, il driver del controller seriale usa i segnali di controllo del flusso per indicare al mittente di riprendere l'invio di caratteri.
XoffLimit
Limite XOFF. Quando il numero di caratteri nel buffer di ricezione interno raggiunge il limite XOFF, il driver del controller seriale usa i segnali di controllo del flusso per indicare al mittente di interrompere l'invio dei caratteri.
Osservazioni
Questa struttura viene utilizzata dalle richieste di IOCTL_SERIAL_GET_HANDFLOW e IOCTL_SERIAL_SET_HANDFLOW.
Dopo l'invio di un carattere XOFF (trasmissione disattivata), la porta seriale smette di trasmettere immediatamente, senza inviare altri caratteri. Questo comportamento supporta porte seriali che interpretano qualsiasi carattere che segue un XOFF come XON implicito (trasmissione su).
SerCx2 e SerCx supportano solo subset dei flag definiti per i membri ControlHandShake e FlowControl. Una richiesta di IOCTL_SERIAL_SET_HANDFLOW che specifica un flag non supportato viene completata con STATUS_NOT_IMPLEMENTED.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | ntddser.h |