Partager via


structure SERIAL_HANDFLOW (ntddser.h)

La structure SERIAL_HANDFLOW spécifie les paramètres de contrôle de liaison et 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 l’or au niveau du bit ou un ou plusieurs des indicateurs suivants.

Valeur Description
SERIAL_DTR_CONTROL Le DTR (terminal de données prêt) est activé.
SERIAL_DTR_HANDSHAKE DTR est utilisé pour le contrôle de flux d’entrée.
SERIAL_CTS_HANDSHAKE CTS (effacer l’envoi) est utilisé pour le contrôle de flux de sortie.
SERIAL_DSR_HANDSHAKE DSR (jeu de données prêt) est utilisé pour le contrôle de flux de sortie.
SERIAL_DCD_HANDSHAKE DCD (détection du transporteur de données) 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 de SERIAL_CTS_HANDSHAKE et peut ou non prendre en charge les six autres indicateurs définis pour ce membre, en fonction du pilote du 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 l’or au niveau du bit 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 Supprimez 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 (demande d’envoi) 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 de SERIAL_RTS_CONTROL et de 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 du 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 tombe en dessous de 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 de 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 avoir envoyé un caractère XOFF (transmettre hors), le port série cesse de transmettre immédiatement, sans envoyer plus de caractères. Ce comportement prend en charge les ports série qui interprètent n’importe quel caractère qui suit un XOFF comme un XON implicite (transmission activée).

SerCx2 et SerCx prennent uniquement en charge les sous-ensembles des indicateurs définis pour les membres ControlHandShake et FlowControl. Une requête IOCTL_SERIAL_SET_HANDFLOW qui spécifie un indicateur non pris en charge est terminée avec STATUS_NOT_IMPLEMENTED.

Exigences

Exigence Valeur
d’en-tête ntddser.h

Voir aussi

IOCTL_SERIAL_GET_HANDFLOW

IOCTL_SERIAL_SET_HANDFLOW