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
- 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.
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
- 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 |