Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité régulier
    Inscrit en
    janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 61
    Points : 7
    Points
    7

    Par défaut [wlanapi] problème avec WlanConnect

    Bonjour tout le monde!

    J'essaie de faire un programme qui utilise la wlanapi pour se connecter à un réseau wifi.

    J'ai réussi à créer un handle avec la fonction "WlanOpenHandle".
    J'arrive à voir les interfaces wifi de mon pc avec "WlanEnumInterfaces".
    J'arrive à afficher les réseaux wifi que je captes avec "WlanGetAvailableNetworkList"
    (Merci à l'auteur de ce tuto)

    Et c'est maintenant que je bloque avec "WlanConnect".
    Voici mon code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    HANDLE ClientHandle = NULL;
    GUID *guid=NULL;
    WLAN_CONNECTION_PARAMETERS wlanConnPara;
     
    [...]
    WlanOpenHandle
    WlanEnumInterfaces
    WlanGetAvailableNetworkList
    [...]
     
    wlanConnPara.wlanConnectionMode = wlan_connection_mode_profile;
    wlanConnPara.strProfile = "xxx";
    wlanConnPara.pDot11Ssid= "xxx";
    wlanConnPara.pDesiredBssidList = NULL;
    wlanConnPara.dot11BssType = dot11_BSS_type_infrastructure;
    wlanConnPara.dwFlags = 0;				
     
    ret = WlanConnect(ClientHandle,guid,&wlanConnPara,NULL);
    Ce code me renvoie l'erreur 1168. Je ne sais pas à quoi correspond ce code

    Travaillant sous winx xp sp3, "wlanConnectionMode" doit obligatoiremet être "wlan_connection_mode_profile"(voir ici)

    Dans ce cas, comment je charge ce profil?
    Dans la variable "wlanConnPara.strProfile"?

    J'ai essayé avec
    Code :
    wlanConnPara.strProfile = "chemin vers mon fichier xml";
    Mais j'ai la même erreur.

    Quelqu'un peut-il m'aider?

    Merci d'avance

  2. #2
    Nouveau Membre du Club
    Inscrit en
    juin 2007
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 148
    Points : 36
    Points
    36

    Par défaut

    Ce post date un peu, mais je travail actuellement avec cette DLL et j'arrive à gérer les connexions Wifi, je t'explique si tu fait signe de vie...

    A+

  3. #3
    Responsable Qt

    Avatar de dourouc05
    Homme Profil pro Thibaut Cuvelier
    Étudiant
    Inscrit en
    août 2008
    Messages
    19 337
    Détails du profil
    Informations personnelles :
    Nom : Homme Thibaut Cuvelier
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 19 337
    Points : 74 964
    Points
    74 964

    Par défaut

    Tu peux déjà l'expliquer ici, ça pourrait servir à quelqu'un. Tu peux aussi le proposer en entrée dans une FAQ quelconque (C++, il me semble que c'est la plus adaptée : http://cpp.developpez.com/faq/) ou bien à l'auteur du tutoriel, il serait extrêmement content d'ajouter du contenu à son article.
    Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Nouveau Membre du Club
    Inscrit en
    juin 2007
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 148
    Points : 36
    Points
    36

    Par défaut

    Oui c'est une bonne idée, je vais tenté de contacter l'auteur du tuto pour compléter ca.

    A+

  5. #5
    Invité régulier
    Homme Profil pro Paulin Amougou
    Développeur Java
    Inscrit en
    juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Nom : Homme Paulin Amougou
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : juin 2010
    Messages : 6
    Points : 7
    Points
    7

    Par défaut Quelle est la suite ?

    Tous les post précédent date de très longtemps. et je me demande bien s'il y a eu une suite ?
    Je suis coincée sur le même problème et je pensais trouver une aide ici.

    est ce que vous pouvez poster cette solution svp.

  6. #6
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : avril 2012
    Messages : 10
    Points : 8
    Points
    8

    Par défaut

    Bonjour, j'ai un problème avec cette dll. J'utilise Microsoft Visual Studio C#2010 et dans le cadre d'un projet, je dois coder une fonction "scan des réseaux wifi environnants". Je me suis inspiré de certains exemples trouvés sur le net, mais je rencontre une erreur lors du déboggage dans la définition de WLAN_INTERFACE_INFO_LIST à cet endroit:
    Code :
     dwNumberOfItems = Marshal.ReadInt32(pList, 0);
    l'erreur dit: tentative de lecture ou d'écriture de mémoire protégée. J'ai beau cherché partout, je n'arrive pas à corriger cette erreur. Pouvez vous me venir en aide s'il vous plait?

    Merci d'avance

  7. #7
    Expert Confirmé
    Homme Profil pro Pierre
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    1 453
    Détails du profil
    Informations personnelles :
    Nom : Homme Pierre
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 1 453
    Points : 3 114
    Points
    3 114

    Par défaut

    Je ne connais pas l'API de la dll, mais a priori, le 0 est en fait donné en argument comme un pointeur vers la mémoire dans laquelle écrire lors du read, et le retour de la fonction serait un code d'erreur.

    0 est une adresse invalide, tu ne peux pas écrire dedans, d'où le message d'erreur.

    J'imagine que le code suivant devrait mieux marcher.
    Code :
    1
    2
    ... isOk  = Marshal.ReadInt32(pList, &dwNumberOfItems);
    if (isOk != ...) {/*gestion d'erreur*/}
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • La plus sotte des questions est celle qu'on ne pose pas.

    Pour faire des graphes, essayez yEd.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •