Partager via


BuildCommDCBA, fonction (winbase.h)

Remplit une structure DCB spécifiée avec des valeurs spécifiées dans une chaîne de contrôle d’appareil. La chaîne de contrôle d’appareil utilise la syntaxe du mode commande.

Syntaxe

BOOL BuildCommDCBA(
  [in]  LPCSTR lpDef,
  [out] LPDCB  lpDCB
);

Paramètres

[in] lpDef

Informations sur le contrôle de l’appareil. La fonction accepte 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 le même formulaire que le mode arguments de ligne de commande de la commande :

COMx[ :][baud=b][parité=p][data=d][stop=s][to={on|off}][[xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

Le nom de l’appareil est facultatif, mais il doit spécifier un appareil valide s’il est utilisé.

Par exemple, la chaîne suivante spécifie un taux de baud 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 d'DCB qui reçoit les informations.

Valeur de retour

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’erreur étendues, appelez GetLastError.

Remarques

La fonction BuildCommDCB ajuste uniquement les membres de la structure DCB spécifiquement affectée par le paramètre lpDef , à l’exception suivante :

  • Si le taux de baud spécifié est de 110, la fonction définit les bits d’arrêt sur 2 pour rester compatible avec la commande du système.
  • Par défaut, BuildCommDCB désactive XON/XOFF et le contrôle de flux matériel. Pour activer le contrôle de flux, vous devez définir explicitement les membres appropriés de la structure DCB.
La fonction BuildCommDCB remplit uniquement les membres de la structure DCB. Pour appliquer ces paramètres à un port série, utilisez la fonction SetCommState.

Il existe des formes plus anciennes et plus récentes du mode syntaxe. La fonction BuildCommDCB prend en charge les deux formulaires. Toutefois, vous ne pouvez pas combiner les deux formes.

La forme la plus récente du mode syntaxe vous permet de définir explicitement les valeurs des membres du contrôle de flux de la structure DCB . Si vous utilisez une forme antérieure de la syntaxe mode , la fonction BuildCommDCB définit les membres du contrôle de flux de la structure DCB , comme suit :

  • Pour une chaîne qui ne se termine pas par un x ou un p :
    • fInX, fOutX, fOutXDsrFlowet fOutXCtsFlow sont tous définis sur FALSE
    • fDtrControl est défini sur DTR_CONTROL_ENABLE
    • fRtsControl est défini sur RTS_CONTROL_ENABLE
  • Pour une chaîne qui se termine par un x :
    • fInX et fOutX sont tous deux définis sur TRUE
    • fOutXDsrFlow et fOutXCtsFlow sont tous deux définis sur FALSE
    • fDtrControl est défini sur DTR_CONTROL_ENABLE
    • fRtsControl est défini sur RTS_CONTROL_ENABLE
  • Pour une chaîne qui se termine par un p :
    • fInX et fOutX sont tous deux définis sur FALSE
    • fOutXDsrFlow et fOutXCtsFlow sont tous deux définis sur TRUE
    • fDtrControl est défini sur DTR_CONTROL_HANDSHAKE
    • fRtsControl est défini sur RTS_CONTROL_HANDSHAKE

Note

L’en-tête winbase.h définit BuildCommDCB comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP
serveur minimum pris en charge Windows Server 2003
plateforme cible Windows
d’en-tête winbase.h (inclure Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

fonctions de communication

ressources de communication

DCB

SetCommState