BuildCommDCBAndTimeoutsA, fonction (winbase.h)

Convertit une chaîne de définition d’appareil en codes de bloc de contrôle d’appareil appropriés et les place dans un bloc de contrôle d’appareil. La fonction peut également configurer des valeurs de délai d’attente, y compris la possibilité d’aucun délai d’attente, pour un appareil ; Le comportement de la fonction à cet égard dépend du contenu de la chaîne de définition d’appareil.

Syntaxe

BOOL BuildCommDCBAndTimeoutsA(
  [in]  LPCSTR         lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

Paramètres

[in] lpDef

Informations de contrôle de l’appareil. La fonction prend cette chaîne, l’analyse, puis définit les valeurs appropriées dans la structure DCB pointée par lpDCB.

La chaîne doit avoir la même forme que les arguments de ligne de commande de la commande mode :

COMx[ :][baud={11|110|15 150|30|300||600||12|1200|24|2400|484800||969600||19|19200}][parité={n| e |O|M|s}] [data={5|6|7|8}][stop={1|1.5|2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

La sous-chaîne « baud » peut être l’une des valeurs répertoriées, qui sont par paires. Les valeurs à deux chiffres sont les deux premiers chiffres des valeurs associées qu’elles représentent. Par exemple, 11 représente 110 bauds, 19 200 bauds.

La sous-chaîne « parité » indique comment le bit de parité est utilisé pour détecter les erreurs de transmission. Les valeurs représentent « none », « even », « odd »,
« mark » et « space ».

Pour plus d’informations, consultez la référence de la commande Mode dans TechNet.

Par exemple, la chaîne suivante spécifie un taux de bauds de 1200, aucune parité, 8 bits de données et 1 bit d’arrêt :

baud=1200 parity=N data=8 stop=1

[out] lpDCB

Pointeur vers une structure DCB qui reçoit des informations de la chaîne d’informations de contrôle de périphérique pointée par lpDef. Cette structure DCB définit les paramètres de contrôle d’un périphérique de communication.

[out] lpCommTimeouts

Pointeur vers une structure COMMTIMEOUTS qui reçoit des informations sur le délai d’attente.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction BuildCommDCBAndTimeouts modifie son comportement de paramètre de délai d’attente en fonction de la présence ou de l’absence d’une sous-chaîne « to={on|off} » dans lpDef :

  • Si cette chaîne contient la sous-chaîne « to=on », la fonction définit le membre WriteTotalTimeoutConstant de la structure COMMTIMEOUTS sur 60000 et tous les autres membres sur 0.
  • Si cette chaîne contient la sous-chaîne « to=off », la fonction définit les membres de COMMTIMEOUTS sur 0.
  • Si cette chaîne ne spécifie pas de sous-chaîne « to={on|off} », la fonction ignore la structure COMMTIMEOUTS dans lpCommTimeouts.
Pour plus d’informations, consultez remarques relatives à la fonction BuildCommDCB .

Notes

L’en-tête winbase.h définit BuildCommDCBAndTimeouts en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

BuildCommDCB

COMMTIMEOUTS

Fonctions de communication

Ressources de communication

DCB

GetCommTimeouts

SetCommTimeouts