Structure DCB (winbase.h)
Définit le paramètre de contrôle pour un appareil de communication série.
Syntaxe
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary : 1;
DWORD fParity : 1;
DWORD fOutxCtsFlow : 1;
DWORD fOutxDsrFlow : 1;
DWORD fDtrControl : 2;
DWORD fDsrSensitivity : 1;
DWORD fTXContinueOnXoff : 1;
DWORD fOutX : 1;
DWORD fInX : 1;
DWORD fErrorChar : 1;
DWORD fNull : 1;
DWORD fRtsControl : 2;
DWORD fAbortOnError : 1;
DWORD fDummy2 : 17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
Membres
DCBlength
Longueur de la structure, en octets. L’appelant doit définir ce membre sur sizeof(DCB)
.
BaudRate
Débit en bauds auquel l’appareil de communication fonctionne. Ce membre peut être une valeur de débit de bauds réelle ou l’un des index suivants.
fBinary
Si ce membre a la valeur TRUE, le mode binaire est activé. Windows ne prend pas en charge les transferts en mode non-binaire. Ce membre doit donc avoir la valeur TRUE.
fParity
Si ce membre a la valeur TRUE, la vérification de la parité est effectuée et les erreurs sont signalées.
fOutxCtsFlow
Si ce membre a la valeur TRUE, le signal CTS (clear-to-send) est surveillé pour le contrôle du flux de sortie. Si ce membre a la valeur TRUE et que CTS est désactivé, la sortie est suspendue jusqu’à ce que CTS soit à nouveau envoyée.
fOutxDsrFlow
Si ce membre a la valeur TRUE, le signal DSR (data set-ready) est surveillé pour le contrôle du flux de sortie. Si ce membre a la valeur TRUE et que DSR est désactivé, la sortie est suspendue jusqu’à ce que DSR soit à nouveau envoyée.
fDtrControl
Contrôle de flux DTR (data-terminal-ready). Ce membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Désactive la ligne DTR lorsque l’appareil est ouvert et le laisse désactivé. |
|
Active la ligne DTR lorsque l’appareil est ouvert et le laisse activé. |
|
Active la négociation DTR. Si la négociation est activée, l’application a dû ajuster la ligne à l’aide de la fonction EscapeCommFunction . |
fDsrSensitivity
Si ce membre a la valeur TRUE, le pilote de communication est sensible à l’état du signal DSR. Le pilote ignore tous les octets reçus, sauf si la ligne d’entrée du modem DSR est élevée.
fTXContinueOnXoff
Si ce membre a la valeur TRUE, la transmission se poursuit une fois que la mémoire tampon d’entrée a été remplie en octets XoffLim et que le pilote a transmis le caractère XoffChar pour arrêter de recevoir des octets. Si ce membre a la valeur FALSE, la transmission ne se poursuit pas tant que la mémoire tampon d’entrée n’est pas vide et que le pilote n’a pas transmis le caractère XonChar pour reprendre la réception.
fOutX
Indique si le contrôle de flux XON/XOFF est utilisé pendant la transmission. Si ce membre a la valeur TRUE, la transmission s’arrête lorsque le caractère XoffChar est reçu et redémarre lorsque le caractère XonChar est reçu.
fInX
Indique si le contrôle de flux XON/XOFF est utilisé pendant la réception. Si ce membre a la valeur TRUE, le caractère XoffChar est envoyé lorsque la mémoire tampon d’entrée est en octets XoffLim d’être pleine, et le caractère XonChar est envoyé lorsque la mémoire tampon d’entrée se trouve dans les octets XonLim d’être vide.
fErrorChar
Indique si les octets reçus avec des erreurs de parité sont remplacés par le caractère spécifié par le membre ErrorChar . Si ce membre a la valeur TRUE et que le membre fParity a la valeur TRUE, le remplacement se produit.
fNull
Si ce membre a la valeur TRUE, les octets null sont ignorés lorsqu’ils sont reçus.
fRtsControl
Contrôle de flux RTS (request-to-send). Ce membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Désactive la ligne RTS lorsque l’appareil est ouvert et le laisse désactivé. |
|
Active la ligne RTS lorsque l’appareil est ouvert et le laisse activé. |
|
Active la négociation RTS. Le pilote lève la ligne RTS lorsque la mémoire tampon « type-ahead » (entrée) est inférieure à la moitié de la quantité et abaisse la ligne RTS lorsque la mémoire tampon est saturée de plus de trois quarts. Si l’établissement d’une liaison est activé, l’application peut ajuster la ligne à l’aide de la fonction EscapeCommFunction . |
|
Spécifie que la ligne RTS sera élevée si des octets sont disponibles pour la transmission. Une fois que tous les octets mis en mémoire tampon ont été envoyés, la ligne RTS est faible. |
fAbortOnError
Si ce membre a la valeur TRUE, le pilote met fin à toutes les opérations de lecture et d’écriture avec une erreur status si une erreur se produit. Le pilote n’accepte pas d’autres opérations de communication tant que l’application n’a pas reconnu l’erreur en appelant la fonction ClearCommError .
fDummy2
Réservé ; ne pas utiliser.
wReserved
Réservés au; doit être égal à zéro.
XonLim
Nombre minimal d’octets utilisés autorisé dans la mémoire tampon d’entrée avant l’activation du contrôle de flux pour autoriser la transmission par l’expéditeur. Cela suppose que le contrôle de flux d’entrée XON/XOFF, RTS ou DTR est spécifié dans les membres fInX, fRtsControl ou fDtrControl .
XoffLim
Nombre minimal d’octets libres autorisés dans la mémoire tampon d’entrée avant l’activation du contrôle de flux pour inhiber l’expéditeur. Notez que l’expéditeur peut transmettre des caractères après l’activation du signal de contrôle de flux. Cette valeur ne doit donc jamais être égale à zéro. Cela suppose que le contrôle de flux d’entrée XON/XOFF, RTS ou DTR est spécifié dans les membres fInX, fRtsControl ou fDtrControl . Le nombre maximal d’octets en utilisation autorisé est calculé en soustrayant cette valeur de la taille, en octets, de la mémoire tampon d’entrée.
ByteSize
Nombre de bits dans les octets transmis et reçus.
Parity
Schéma de parité à utiliser. Ce membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Même la parité. |
|
Marquer la parité. |
|
Pas de parité. |
|
Parité impaire. |
|
Parité spatiale. |
StopBits
Nombre de bits d’arrêt à utiliser. Ce membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
1 bit d’arrêt. |
|
1,5 bits d’arrêt. |
|
2 bits d’arrêt. |
XonChar
Valeur du caractère XON pour la transmission et la réception.
XoffChar
Valeur du caractère XOFF pour la transmission et la réception.
ErrorChar
Valeur du caractère utilisé pour remplacer les octets reçus par une erreur de parité.
EofChar
Valeur du caractère utilisé pour signaler la fin des données.
EvtChar
Valeur du caractère utilisé pour signaler un événement.
wReserved1
Réservé ; ne pas utiliser.
Remarques
Lorsqu’une structure DCB est utilisée pour configurer le 8250, les restrictions suivantes s’appliquent aux valeurs spécifiées pour les membres ByteSize et StopBits :
- Le nombre de bits de données doit être compris entre 5 et 8 bits.
- L’utilisation de 5 bits de données avec 2 bits d’arrêt n’est pas une combinaison non valide, tout comme 6, 7 ou 8 bits de données avec 1,5 bits d’arrêt.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP |
Serveur minimal pris en charge | Windows Server 2003 |
En-tête | winbase.h (inclure Windows.h) |