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

Voir aussi

IOCTL_SERIAL_GET_HANDFLOW

IOCTL_SERIAL_SET_HANDFLOW