SERIAL_HANDFLOW structure (ntddser.h)
La structure SERIAL_HANDFLOW spécifie les paramètres de négociation et de contrôle de flux pour un port série.
Syntaxe
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
Membres
ControlHandShake
Masque de bits qui spécifie les lignes de contrôle que le port série utilise pour le contrôle de flux. Ce membre est défini sur zéro ou sur le bit -OR ou un ou plusieurs des indicateurs suivants.
Valeur | Description |
---|---|
SERIAL_DTR_CONTROL | La DTR (data terminal ready) est activée. |
SERIAL_DTR_HANDSHAKE | La DTR est utilisée pour le contrôle de flux d’entrée. |
SERIAL_CTS_HANDSHAKE | CTS (clear to send) est utilisé pour le contrôle de flux de sortie. |
SERIAL_DSR_HANDSHAKE | La DSR (jeu de données prêt) est utilisée pour le contrôle de flux de sortie. |
SERIAL_DCD_HANDSHAKE | DCD (data carrier detect) est utilisé pour le contrôle de flux de sortie. |
SERIAL_DSR_SENSITIVITY | Ignorez les caractères arrivant au port série lorsque la ligne DSR est inactive. |
SERIAL_ERROR_ABORT | Abandonner une opération de transmission ou de réception si une erreur se produit. |
SerCx2 prend en charge l’indicateur SERIAL_CTS_HANDSHAKE et peut ou non prendre en charge les six autres indicateurs définis pour ce membre, en fonction du pilote de contrôleur série et des fonctionnalités du matériel du contrôleur série. SerCx prend uniquement en charge les quatre premiers indicateurs du tableau précédent. Serial.sys prend en charge tous les indicateurs du tableau précédent.
FlowReplace
Masque de bits qui spécifie le comportement du contrôle de flux. Ce membre est défini sur zéro ou sur le bit -OR ou un ou plusieurs des indicateurs suivants.
Valeur | Description |
---|---|
SERIAL_AUTO_TRANSMIT | Utilisez XON/XOFF pour le contrôle de flux des données transmises. |
SERIAL_AUTO_RECEIVE | Utilisez XON/XOFF pour le contrôle de flux des données reçues. |
SERIAL_ERROR_CHAR | Insérez le caractère d’erreur dans les données reçues lorsqu’une erreur se produit. Pour plus d’informations, consultez la description du membre ErrorChar dans SERIAL_CHARS. |
SERIAL_NULL_STRIPPING | Supprimer automatiquement les caractères Null des données reçues. |
SERIAL_BREAK_CHAR | Insérez le caractère d’arrêt dans les données reçues lorsqu’un arrêt se produit. Pour plus d’informations, consultez la description du membre BreakChar dans SERIAL_CHARS. |
SERIAL_RTS_CONTROL | RTS (request to send) est activé. |
SERIAL_RTS_HANDSHAKE | RTS est utilisé pour le contrôle de flux de sortie. |
SERIAL_XOFF_CONTINUE | Continuez à transmettre après l’envoi de XOFF à l’appareil à l’autre extrémité de la ligne. |
SerCx2 prend en charge les indicateurs SERIAL_RTS_CONTROL et SERIAL_RTS_HANDSHAKE, mais ne prend généralement pas en charge les six autres indicateurs définis pour ce membre, en fonction du pilote de contrôleur série et des fonctionnalités du matériel du contrôleur série. SerCx prend uniquement en charge les indicateurs SERIAL_RTS_CONTROL et SERIAL_RTS_HANDSHAKE. Serial.sys prend en charge tous les indicateurs du tableau précédent.
XonLimit
Limite XON. Lorsque le nombre de caractères dans la mémoire tampon de réception interne est inférieur à la limite XON, le pilote du contrôleur série utilise les signaux de contrôle de flux pour indiquer à l’expéditeur de reprendre l’envoi des caractères.
XoffLimit
Limite XOFF. Lorsque le nombre de caractères dans la mémoire tampon de réception interne atteint la limite XOFF, le pilote du contrôleur série utilise les signaux de contrôle de flux pour indiquer à l’expéditeur d’arrêter l’envoi de caractères.
Remarques
Cette structure est utilisée par les requêtes IOCTL_SERIAL_GET_HANDFLOW et IOCTL_SERIAL_SET_HANDFLOW .
Après l’envoi d’un caractère XOFF (transmission désactivée), le port série cesse immédiatement de transmettre, sans envoyer plus de caractères. Ce comportement prend en charge les ports série qui interprètent tout caractère qui suit un XOFF comme un XON implicite (transmission sur).
SerCx2 et SerCx prennent uniquement en charge les sous-ensembles des indicateurs définis pour les membres ControlHandShake et FlowControl . Une demande IOCTL_SERIAL_SET_HANDFLOW qui spécifie un indicateur non pris en charge est effectuée avec STATUS_NOT_IMPLEMENTED.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddser.h |