MAD地址是网卡的地址吧? 在CMD里运行 ipconfig /all,应该是 NIC 部分的物理地址吧。
我下面运行怎么全是0呢 WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
::WSAStartup( sockVersion, &wsaData); PIP_ADAPTER_INFO padapterInfo = 0;
ULONG ulong; GetAdaptersInfo(padapterInfo, &ulong);
padapterInfo = (PIP_ADAPTER_INFO) malloc(ulong);
int a = GetAdaptersInfo(padapterInfo, &ulong);
u_char g_ucLocalMac[6];
memcpy(g_ucLocalMac, padapterInfo->Address, 6);
printf("%02X - %02X - %02X - %02X - %02X - %02X ",
g_ucLocalMac[0],
g_ucLocalMac[1],
g_ucLocalMac[2],
g_ucLocalMac[3],
g_ucLocalMac[4],
g_ucLocalMac[5]
);
我下面运行怎么全是0呢 WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
::WSAStartup( sockVersion, &wsaData); PIP_ADAPTER_INFO padapterInfo = 0;
ULONG ulong; GetAdaptersInfo(padapterInfo, &ulong);
padapterInfo = (PIP_ADAPTER_INFO) malloc(ulong);
int a = GetAdaptersInfo(padapterInfo, &ulong);
u_char g_ucLocalMac[6];
memcpy(g_ucLocalMac, padapterInfo->Address, 6);
printf("%02X - %02X - %02X - %02X - %02X - %02X ",
g_ucLocalMac[0],
g_ucLocalMac[1],
g_ucLocalMac[2],
g_ucLocalMac[3],
g_ucLocalMac[4],
g_ucLocalMac[5]
);
解决方案 »
- 》》》对多串口(如16个串口,连接16个下位机)编程,同步阻塞模式好,还是异步通知好?
- MFC中在MainFrm中添加状态栏的方法!!
- 自定义CWND WM_KEYDOWN
- 报表以及打印
- 关于TCP客户端的问题
- 问一下netbios的addname的问题?(学生,忙了一天了)
- 如何去掉mfc生成的窗口标题栏的无标题而换上我定义的名字呢?20分相送
- 我现在有vc的扩展类库如何加到mfc里(在线等)
- 请教:怎么杀掉自动生成desktop.ini和folder.htt文件的病毒?谢谢!
- 如何在windows xp系统下使用huihui(慧慧)语音包
- mschart柱状图,如何在x轴上显示ColumnLabel,同时改变颜色
- 怎么C++里啥也没有啊
extern "C" __declspec(dllexport) int _stdcall Get_Mac_Addr( char * szMac)
{
NCB ncb;
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff[30]; }ASTAT,*PASTAT; ASTAT Adapter; typedef struct _LANA_ENUM
{
UCHAR length;
UCHAR lana[MAX_LANA]; }LANA_ENUM; LANA_ENUM lana_enum;
UCHAR uRetCode;
memset(&ncb, 0, sizeof(ncb));
memset(&lana_enum, 0, sizeof(lana_enum));
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char *)&lana_enum;
ncb.ncb_length = sizeof(LANA_ENUM);
uRetCode = Netbios(&ncb); if(uRetCode != NRC_GOODRET) return uRetCode; for(int lana=0; lana<lana_enum.length; lana++)
{
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_enum.lana[lana];
uRetCode = Netbios(&ncb);
if(uRetCode == NRC_GOODRET)
break;
} if(uRetCode != NRC_GOODRET) return uRetCode; memset(&ncb, 0, sizeof(ncb));
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_enum.lana[0];
strcpy((char*)ncb.ncb_callname, "*");
ncb.ncb_buffer = (unsigned char *)&Adapter;
ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios(&ncb); if(uRetCode != NRC_GOODRET) return uRetCode; sprintf( szMac,"%02X-%02X-%02X-%02X-%02X-%02X",
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2],
Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4],
Adapter.adapt.adapter_address[5]); return sizeof(szMac);
}