33,311
社区成员
发帖
与我相关
我的任务
分享
http://www.cppblog.com/urgentmind/archive/2006/10/09/13493.html
#include < windows.h >
#include < wincon.h >
#include < stdlib.h >
#include < stdio.h >
#include < time.h >
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [ 30 ];
}ASTAT, * PASTAT;
ASTAT Adapter;
void main ( void )
{
NCB Ncb;
UCHAR uRetCode;
char NetName[ 50 ];
LANA_ENUM lenum;
int i;
memset( & Ncb, 0 , sizeof (Ncb) );
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR * ) & lenum;
Ncb.ncb_length = sizeof (lenum);
uRetCode = Netbios( & Ncb );
printf( " The NCBENUM return code is: 0x%x \n " , uRetCode );
for (i = 0 ; i < lenum.length ;i ++ )
{
memset( & Ncb, 0 , sizeof (Ncb) );
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios( & Ncb );
printf( " The NCBRESET on LANA %d return code is: 0x%x \n " ,
lenum.lana[i], uRetCode );
memset( & Ncb, 0 , sizeof (Ncb) );
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];
strcpy(( char * )Ncb.ncb_callname, " * " );
Ncb.ncb_buffer = (unsigned char * ) & Adapter;
Ncb.ncb_length = sizeof (Adapter);
uRetCode = Netbios( & Ncb );
printf( " The NCBASTAT on LANA %d return code is: 0x%x \n " ,
lenum.lana[i], uRetCode );
if ( uRetCode == 0 )
{
printf( " The Ethernet Number on LANA %d is:%02x-%02x-%02x-%02x-%02x-%02x\n " ,lenum.lana[i],
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 ]);
}
}
system( " PAUSE " );
}