大龙的博客

常用链接

统计

最新评论

巧妙的函数设计之GetNetworkParams

 FIXED_INFO * FixedInfo;
 ULONG    ulOutBufLen;
 DWORD    dwRetVal;
 IP_ADDR_STRING * pIPAddr;

 FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, sizeof( FIXED_INFO ) );
 ulOutBufLen = sizeof( FIXED_INFO );

 if( ERROR_BUFFER_OVERFLOW == GetNetworkParams( FixedInfo, &ulOutBufLen ) ) {
  GlobalFree( FixedInfo );
  FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, ulOutBufLen );
 }

 if ( dwRetVal = GetNetworkParams( FixedInfo, &ulOutBufLen ) ) {
  printf( "Call to GetNetworkParams failed. Return Value: %08x\n", dwRetVal );
 }
 else {
  printf( "Host Name: %s\n", FixedInfo -> HostName );
  printf( "Domain Name: %s\n", FixedInfo -> DomainName );

  printf( "DNS Servers:\n" );
  printf( "\t%s\n", FixedInfo -> DnsServerList.IpAddress.String );

  pIPAddr = FixedInfo -> DnsServerList.Next;
  while ( pIPAddr ) {
   printf( "\t%s\n", pIPAddr ->IpAddress.String );
   pIPAddr = pIPAddr ->Next;
  }
 }
 GlobalFree( FixedInfo );

posted on 2008-07-30 20:08 大龙 阅读(1191) 评论(1)  编辑 收藏 引用

评论

# re: 巧妙的函数设计之GetNetworkParams 2011-09-21 21:26 啊啊啊啊啊啊

日,百度上一样  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理