Bonjours à tous.

Je n'arrive pas à comprendre pourquoi ça ne marche pas : je suis parti d'un programme C/C++ qui est sensé marcher, je l'ai transposé (comme j'ai pu...) en VB6, en mettant des "Long" là où C/C++ mettait des pointeurs, une valeur "0" quand ces pointeurs doivent être NULL, mais c'est toujours invalide.

voici les bouts de code "significatifs" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Dim Version As Long
Dim negotiatedVersion As Long
Dim clientHandle As Long
Dim lastError As Long
Dim pReserved As Long
    pReserved = 0
    Version = 2
    negotiatedVersion = VarPtr(Version)
    clientHandle = negotiatedVersion
    lastError = WlanOpenHandle(Version, pReserved, negotiatedVersion, clientHandle)
et la déclaration :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Public Declare Function WlanOpenHandle Lib "wlanapi" (dwClientVersion As Long, pReserved As Long, _
                    pdwNegotiatedVersion As Long, phClientHandle As Long) As Long
La ligne 11 produit toujours un code 87 !

J'ai aussi essayé (ça ne coûte pas très cher) de mettre NULL à -1, mais c'était pareil.

Merci sii vous pouvez m'aider.

Et joyeuses fêtes.

AMIcalement.