mammouth_fr
Messages postés6Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention23 juillet 2004
-
21 juil. 2004 à 17:35
mammouth_fr
Messages postés6Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention23 juillet 2004
-
23 juil. 2004 à 12:23
Bonjour
je me bats avec les API Windows et Visual C++ pour retrouver le nom de la connection réseau. le fameux "Connection au réseau local" par défaut.
le programme doit fonctionner sous W2K et sous Xp.
j'ai commencé à chercher du coté de l'api "iphlpapi" qui est utilisée par ipconfig. GetAdaptersInfo() me donne la référence de la connection du genre {xxxxx-xxx-xxxx-xxxxxxxx} mais pas le "friendly name".
et avec MprConfigGetFriendlyName () de l'api mprapi je pensais tenir mon bonheur mais ce n'est pas ça non plus.
quelqun aurait il une autre piste ou mieux la solution svp ?
3psilon
Messages postés76Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention17 janvier 2005 21 juil. 2004 à 18:22
Slt
Je crois bien que c'est bien 'GetAdaptersInfo', qui prend en parametre une structure type 'PIP_ADAPTER_INFO' et un des elements de la structure est '->Description' qui te donne le nom de l'interface réseau énumérée.
Genre chez moi cette fonction me retourne :
NVIDIA nForce MCP Networking Controller
héhé il font aussi des cartes réseaux ;)
Attention, si je me trompe pas, GetAdapterInfo te renvoi une liste chainée, a toi apres a te ballader ds cette liste.
3psilon
Messages postés76Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention17 janvier 2005 21 juil. 2004 à 18:22
Slt
Je crois bien que c'est bien 'GetAdaptersInfo', qui prend en parametre une structure type 'PIP_ADAPTER_INFO' et un des elements de la structure est '->Description' qui te donne le nom de l'interface réseau énumérée.
Genre chez cette fonction me retourne :
NVIDIA nForce MCP Networking Controller
héhé il faut aussi des cartes réseaux ;)
Attention, si je me trompe pas, GetAdapterInfo te renvoi une liste chainée, a toi apres a te ballader ds cette liste.
mammouth_fr
Messages postés6Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention23 juillet 2004 21 juil. 2004 à 18:31
IP_ADAPTER_INFO->Description me donne "NDIS 5.0 driver"
ce n'est malheureusement pas ce que je cherche.
je souhaite le nom qui se trouve sous l'icone de ta connection réseau.
il est caché dans la base de registre quelque part par ici
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{A}\{B}\Connection\Name = "Connection au réseau local"
IP_ADAPTER_INFO->Name ne me donne que le descripteur B dans la base de registre et pas le contenu de la clé Name.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 21 juil. 2004 à 18:32
Salut,
Tu peux avoir une description de l'adapter (nom de la carte réseau) avec GetAdaptersInfo comme 3psilon a dit.
Pour avoir le nom de la connexion reseau (celui qu'on vois dans paremetre/connexion reseau) il faut utiliser GetAdaptersAddresses. Le membre FriendlyName de la structure IP_ADAPTER_ADDRESSES contient ce que tu veux (enfin il me semble). Attention ce membre est en unicode...
Vous n’avez pas trouvé la réponse que vous recherchez ?
mammouth_fr
Messages postés6Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention23 juillet 2004 22 juil. 2004 à 12:10
on s approche du résultat escompté en effet avec GetAdaptersAddresses(), un petit WideCharToMultiByte() sur ->FriendlyName me donnerait satisfaction je pense.
il semblerait par contre d'après le MSDN que GetAdaptersAddresses() soit réservé à win XP ...
je bute maintenant sur un problème qui me déroute. je me retrouve avec une erreur de compilation.
'PMIB_ICMP_EX' : undeclared identifier
malgré les inclusions suivantes
#include <mprapi.h>
#include
#include
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 22 juil. 2004 à 14:45
Salut,
Chez moi MIB_ICMP_EX est defini dans iprtrmib.h comme suit:
typedef struct _MIB_ICMP_EX
{
MIBICMPSTATS_EX icmpInStats;
MIBICMPSTATS_EX icmpOutStats;
} MIB_ICMP_EX,*PMIB_ICMP_EX;
mammouth_fr
Messages postés6Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention23 juillet 2004 23 juil. 2004 à 10:51
@Magma: le code proposé liste les connection RAS moi c'est le LAN que je voudrais.
sinon pour mes problèmes d'include, merci pour le zip aardman mais j'ai déjà le SDK 2003 en entier sur ma machine.
je vous mets ci dessous la portion de code que je n'arrive pas à faire fonctionner , elle vient du MSDN.
j'ai mis dans les settings du projet, onglet ressource le répertoire include du SDK. Mais je me retrouve toujours avec des "undeclared identifier" sur le PIP_ADAPTER_ADDRESSES.
// Make an initial call to GetAdaptersAddresses to get the
// size needed into the outBufLen variable
if (GetAdaptersAddresses(AF_INET,
0,
NULL,
pAddresses,
&outBufLen) == ERROR_BUFFER_OVERFLOW)
{
GlobalFree(pAddresses);
pAddresses = (IP_ADAPTER_ADDRESSES*) malloc(outBufLen);
}
// Make a second call to GetAdapters Addresses to get the
// actual data we want
if ((dwRetVal = GetAdaptersAddresses(AF_INET,
0,
NULL,
pAddresses,
&outBufLen)) == NO_ERROR)
{
// If successful, output some information from the data we received
while (pAddresses)
{
printf("\tFriendly name: %S\n", pAddresses->FriendlyName);
printf("\tDescription: %S\n", pAddresses->Description);