CreateFile et port COM supérieur à 9

Résolu
agremlins Messages postés 28 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 16 mars 2007 - 13 juil. 2005 à 16:15
fastspin Messages postés 5 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 27 mars 2009 - 6 oct. 2005 à 16:50
Bonjour,
J'ai une dll qui s'occupe de la connexion avec des périphériques branchés sur le port série.
J'utilise La fonction CreateFile pour ouvrir un port COM disponible.

J'ai fait un test en changeant le numéro de port et dès que je passe au dessus de 9, impossible d'ouvrir le port.
GetLastError() me retourne l'erreur 2.

Est-ce une limitation de la fonction?
Si possibilité, comment la contourner?

ps : actuellement, je ne suis pas bloqué mais sur une machine de test je pense que je le serais (entre les convertisseur USB->Série et ip->Série, ca va dépasser la dizaine.)

3 réponses

sylwae Messages postés 1 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 25 juillet 2005 1
25 juil. 2005 à 14:14
Bonjour, j'ai eu le même problème que toi avec des COM virtuels. Pour résoudre le problème des numéros trop grands, lorsque tu fais le CreateFile("COMx",GENERIC_READ|GENERIC_WRITE,0,NULL,
OPEN_EXISTING,0,NULL);
au lieu de passer en premier argument une chaine de caractère avec seulement COMx avec x num de com, tu passes [file://./COMx \\.\COMx] qui va te permettre d'ouvrir n'importe quel port.

Ex:
comdev=CreateFile("\\\\.\\COM60",GENERIC_READ|GENERIC_WRITE,0,NULL,
OPEN_EXISTING,0,NULL);

Bonne continuation.
1
agremlins Messages postés 28 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 16 mars 2007
25 juil. 2005 à 21:49
Merci beaucoup,
J'essayerai ca très bientot.
0
fastspin Messages postés 5 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 27 mars 2009
6 oct. 2005 à 16:50
Bravo, j'avais le meme probleme et je l'ai resolu en utilisant cette sequence \\.\
Ce n'est pas [file://./ \\.\]
Je n'ai pas compris de ou vient ce [file://./ \\.\]
Pourquoi une telle sequence? De ou vient ce protocole?

Bonne journee et encore braqvo et merci.
0
Rejoignez-nous