资源描述:
《获取网卡信息,DHCPCAPI编程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/*本程序是VC6.0编译通过,需要用到windoswxpsdkforsp2中一些库。*/#include#include#include#include#include//#include#pragmacomment(lib,"IPHLPAPI.lib")#pragmacomment(lib,"Dhcpcsvc.lib")//#pragmacomment(lib,"Ws2_32.lib")
2、#defineMALLOC(x)HeapAlloc(GetProcessHeap(),0,(x))#defineFREE(x)HeapFree(GetProcessHeap(),0,(x))int__cdeclmain(){PIP_ADAPTER_INFOpAdapterInfo;PIP_ADAPTER_INFOpAdapter=NULL;DWORDdwRetVal=0;DWORDdwSize;DWORDdwVersion=0;CHARTmpBuffer[1000];/*variablesusedtoprintDHCPti
3、meinfo*/ULONGulOutBufLen=sizeof(IP_ADAPTER_INFO);pAdapterInfo=(IP_ADAPTER_INFO*)MALLOC(sizeof(IP_ADAPTER_INFO));if(pAdapterInfo==NULL){printf("ErrorallocatingmemoryneededtocallGetAdaptersinfo");return1;}if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)==ERROR_BUFFER
4、_OVERFLOW){FREE(pAdapterInfo);pAdapterInfo=(IP_ADAPTER_INFO*)MALLOC(ulOutBufLen);if(pAdapterInfo==NULL){printf("ErrorallocatingmemoryneededtocallGetAdaptersinfo");return1;}}if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR){DhcpCApiInitialize(&d
5、wVersion);printf("Versionis%d",dwVersion);DHCPCAPI_PARAMSDhcpApiHostNameParams[1]={{0,53,FALSE,NULL,0}//{0,12,FALSE,NULL,0},//OPTION_HOST_NAME//{0,4,FALSE,NULL,0},//OPTION_//{0,133,FALSE,NULL,0},//{0,43,FALSE,NULL,0},//{0,132,FALSE,NULL,0},};//DHCPCAPI_CLASSIDCl
6、assId={//0,//2,//3//}DHCPCAPI_PARAMS_ARRAYRequestParams={1,DhcpApiHostNameParams};DHCPCAPI_PARAMS_ARRAYSendParams={0,DhcpApiHostNameParams};/*HANDLEhEvent;dwRetVal=DhcpRegisterParamChange(DHCPCAPI_REGISTER_HANDLE_EVENT,//FlagsNULL,//ReservedL"{107CEB80-7640-4251-8
7、DFE-B7388FED24F5}",//adapternameNULL,//noclassIDRequestParams,//paramsofinterest(LPVOID)&hEvent//eventhandle);if(dwRetVal!=ERROR_SUCCESS){printf("DhcpRequestParamsreturncodeis%d",dwRetVal);}*/dwSize=sizeof(TmpBuffer);dwRetVal=DhcpRequestParams(DHCPCAPI_REQUEST_S
8、YNCHRONOUS,NULL,L"{107CEB80-7640-4251-8DFE-B7388FED24F5}",NULL,SendParams,RequestParams,(PBYTE)TmpBuffer,&dwSize,NULL);/*dwRetVal=DhcpRequestParams(DHCP