#include "windows.h"
#include "stdlib.h"
#include "wincon.h"
#include "time.h"
#include "nb30.h"#pragma comment( lib, "netapi32.lib" )
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff[30];
}ASTAT, *PASTAT;ASTAT Adapter; // 存放网卡信息// 输入参数:网卡编号
void getmac_one( int lana_num )
{
NCB ncb;
UCHAR uRetCode; memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_num; uRetCode = Netbios( &ncb );
printf( " The NCBRESET return code is: 0x%x \n", uRetCode ); memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_num;
strcpy( (char*)ncb.ncb_callname, "* " );
ncb.ncb_buffer = (UCHAR*)&Adapter;
ncb.ncb_length = sizeof( Adapter );
uRetCode = Netbios( &ncb );
printf( " The NCBASTAT return code is: 0x%x \n", uRetCode );
if( uRetCode == 0 )
{
printf( "The Ethernet Number[%d] is: %02X-%02X-%02X-%02X-%02X-%02X \n",
lana_num,
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]
);
}
}int main(int argc, char* argv[])
{
NCB ncb;
UCHAR uRetCode;
LANA_ENUM lana_enum;
memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (UCHAR*)&lana_enum;
ncb.ncb_length = sizeof(lana_enum); uRetCode = Netbios( &ncb );
printf( " The NCBENUM return code is: 0x%x \n", uRetCode );
if( uRetCode == 0 )
{
printf(" Ethernet Count is: %d \n\n", lana_enum.length );
for( int i=0; i<lana_enum.length; ++i )
getmac_one( lana_enum.lana[i] );
} return 0;
}
#include "stdlib.h"
#include "wincon.h"
#include "time.h"
#include "nb30.h"#pragma comment( lib, "netapi32.lib" )
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff[30];
}ASTAT, *PASTAT;ASTAT Adapter; // 存放网卡信息// 输入参数:网卡编号
void getmac_one( int lana_num )
{
NCB ncb;
UCHAR uRetCode; memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_num; uRetCode = Netbios( &ncb );
printf( " The NCBRESET return code is: 0x%x \n", uRetCode ); memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_num;
strcpy( (char*)ncb.ncb_callname, "* " );
ncb.ncb_buffer = (UCHAR*)&Adapter;
ncb.ncb_length = sizeof( Adapter );
uRetCode = Netbios( &ncb );
printf( " The NCBASTAT return code is: 0x%x \n", uRetCode );
if( uRetCode == 0 )
{
printf( "The Ethernet Number[%d] is: %02X-%02X-%02X-%02X-%02X-%02X \n",
lana_num,
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]
);
}
}int main(int argc, char* argv[])
{
NCB ncb;
UCHAR uRetCode;
LANA_ENUM lana_enum;
memset( &ncb,0,sizeof(ncb) );
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (UCHAR*)&lana_enum;
ncb.ncb_length = sizeof(lana_enum); uRetCode = Netbios( &ncb );
printf( " The NCBENUM return code is: 0x%x \n", uRetCode );
if( uRetCode == 0 )
{
printf(" Ethernet Count is: %d \n\n", lana_enum.length );
for( int i=0; i<lana_enum.length; ++i )
getmac_one( lana_enum.lana[i] );
} return 0;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货