Bonjour,
Je cherche à récupérer une adresse MAC sur mon PC à partir de la fonction NetBios de l'API Windows :
et le code de retour est 0x023, ce qui veut dire : "NB_INVALID_ADAPTER"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <windows.h> ... int main () { NCB ncb; UCHAR uRetCode; char NetName[50]; memset( &ncb, 0, sizeof(ncb) ); ncb.ncb_command = NCBRESET; ncb.ncb_lana_num = 0;// 0 uRetCode = Netbios( &ncb ); printf( "The NCBRESET return code is: 0x%x \n", uRetCode );
Le problème est que ma liste d'adaptateurs est vide !!!
C'est quoi ces "adaptateurs" ?
Comment récupérer l'adresse MAC alors ?
Dans ma configuration j'ai une carte ethernet qui me sert pour le réseau local avec un autre PC (déconnecté lorsque j'ai exécuté ce code).
Ma connexion internet passe par un modem et un port USB...
Tout en écrivant, j'ai démarré mon second PC et mon programme m'a retourné l'adresse mac exacte de ma carte ethernet...
Pourtant, si je tape en mode console "ipconfig /all", j'obtiens bien l'adresse physique (mac) de ma carte éthernet et de ma carte internet ADSL (celle qui m'intéresse)
Si je change cette ligne :
, j'obtiens de nouveau un code 023
Code : Sélectionner tout - Visualiser dans une fenêtre à part ncb.ncb_lana_num = 1;// 0 avant
ipconfig /all me récupère bien les deux adresses mac même sans être connecté. Commet pourrais-je émuler le fonctionnement de cette commande avec l'API Windows ?
Partager