IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Soucis avec la fonction WriteFile de windows


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut Soucis avec la fonction WriteFile de windows
    bonjour,
    j'essaye de faire communiquer un periphérique avec connectique bluetooth et usb (je me sers des 2). j'arrive à établir une communication du périphérique vers une application PC mais je n'arrive pas à envoyer des informations vers ce periphérique.
    mon environnement de developpement est windows XP, j'utilise donc les fonctions createFile pour récupérer un Handle vers mon port com ou mon port usb, readFile pour recevoir des données (dans ce sens, la communication marche), et writeFile pour ecrire vers le périphérique sauf que writeFile echoue et getLastError() me renvoie une erreur de type 87 (à savoir : INVALIDE_PARAMETER)
    mon appel à la fonction writeFile est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	bool success=WriteFile(handle,data,64,&nbWritten,NULL);
    avec : handle mon handle vers mon port (il doit etre bon car je peux je peux faire un readFile avec ce handle là)
    data un tableau de BYTE de taille 64
    nbWritten un pointeur vers un DWORD
    mon tableau data semble être initialisé correctement.
    D'où peut donc bien venir cette erreur 87 ???


    extrait de code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ....
    ....
    BYTE dataToSend[64];
    DWORD nbWritten;
    
    dataToSend[0] = 16 ; 
    for(int i=1; i<=63;i++){
    	dataToSend[i]=0;
    }
    ....
    ....
    handle = CreateFile(FunctionClassDeviceData.DevicePath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
    
    if(handle != INVALID_HANDLE_VALUE) {
    	success=WriteFile(handle,dataToSend,64,&nbWritten,NULL);
    	if(!success){
    		std::cout<<"Erreur numéro "<<GetLastError()<< std::endl;
    	}
    }
    Kendra533

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 302
    Billets dans le blog
    2
    Par défaut
    bonjour et bienvenue sur developeez.com

    la seule erreur possible que je vois, ce serait une erreur sur le paramètre nbBytesToWrite. Comment est-il déclaré?

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Le h en premier paramètre de WriteFile (qui devrait être handle a priori), c'est une faut de frappe ou bien tu as vraiment un h dans ton code ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut
    oui, c une erreur (en fait, la createFile n'est pas fait dans le meme fichier à l'origine...) ça y est c'est corrigé!
    Mais le nbByteToWrite est simplement un entier. en fait je veux envoyer un paquet de 64 octets vers mon port...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut
    Personne n'aurait une petite idée?? meme juste une piste?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Par défaut
    up!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Soucis avec une fonction et un include
    Par Olivier Regnier dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2007, 14h58
  2. [FTP] Soucis avec la fonction "unlink"
    Par Petit bateau dans le forum Langage
    Réponses: 8
    Dernier message: 05/08/2007, 22h37
  3. [VBA] Soucis avec la Fonction Format
    Par kleenex dans le forum VBA Access
    Réponses: 4
    Dernier message: 11/06/2007, 11h17
  4. Souci avec la fonction SetFocus
    Par uranium-design dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/04/2007, 12h53
  5. [Système] P'tit soucis avec la fonction EXEC
    Par nais_ dans le forum Langage
    Réponses: 9
    Dernier message: 23/08/2006, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo