📄 project1.cpp
字号:
#pragma hdrstop
#include <condefs.h>
#include <windows.h>
#include <stdio.h>
typedef struct _ASTAT
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuffer[30];
} ASTAT, *PASTAT;
ASTAT Adapter;
bool ClearAdapter(NCB ncb);
//---------------------------------------------------------------------------
//#pragma argsused
int main()
{
NCB ncb;
UCHAR uRetCode;
ClearAdapter(ncb);
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBASTAT;
ncb.ncb_lana_num=0;
strcpy((char *)ncb.ncb_callname,"* ");
ncb.ncb_buffer=(unsigned char *) &Adapter;
ncb.ncb_length=sizeof(Adapter);
uRetCode=Netbios(&ncb);
printf("The NCBASTAT returned code is OX%x\n",uRetCode);
if(uRetCode==0)
{
printf( "The Ethernet Number is: %02x_%02x_%02x_%02x_%02x_%02x\n",
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] );
if(Adapter.adapt.adapter_type==0xFF)
printf("The adapter is Token Ring adapter.\n");
else if(Adapter.adapt.adapter_type==0xFE)
printf("The adapter is Ethernet adapter.\n");
printf("The software-release level is %d.%d\n",Adapter.adapt.rev_major,Adapter.adapt.rev_minor);
printf("The number of names in the local names table is %d\n",Adapter.adapt.name_count);
for(int i=0;i<Adapter.adapt.name_count;i++)
printf("%s\n",Adapter.NameBuffer[i].name);
}
//FIND_NAME_HEADER FindName;
char Remote[16]="202.112.87.221";
ClearAdapter(ncb);
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBSEND;
ncb.ncb_lana_num=0;
ncb.ncb_lsn=4;
ncb.ncb_sto=2;
strcpy(ncb.ncb_callname,Remote);
//strcpy((char *)ncb.ncb_callname,"* ");
ncb.ncb_buffer=(unsigned char *) &Adapter;
ncb.ncb_length=sizeof(Adapter);
uRetCode=Netbios(&ncb);
printf("The NCBASTAT returned code is OX%x\n",uRetCode);
printf("The number of FRMR frames received is %d\n",Adapter.adapt.frmr_recv);
printf("The number of FRMR frames transmitted is %d\n",Adapter.adapt.frmr_xmit);
getchar();
return 0;
}
//---------------------------------------------------------------------------
bool ClearAdapter(NCB ncb)
{
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBRESET;
ncb.ncb_lana_num=0;
Netbios(&ncb);
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -