读书人

请教这段代码在VC++ 2005下如何编译啊

发布时间: 2012-02-03 22:02:47 作者: rapoo

请问这段代码在VC++ 2005下怎么编译啊???
下面的代码是我从MSDN Ip Helper部分直接拷贝下来的,但是在VC++ 2005下编译不通过,请问怎么才能编译成功啊?

#include <stdio.h>
#include <windows.h>
#include "iphlpapi.h "

// Global variables
ULONGulOutBufLen;
DWORDdwRetVal;

void main() {

printf( "------------------------\n ");
printf( "This is GetNetworkParams\n ");
printf( "------------------------\n ");

FIXED_INFO*pFixedInfo;
IP_ADDR_STRING*pIPAddr;

pFixedInfo = (FIXED_INFO *) malloc( sizeof( FIXED_INFO ) );
ulOutBufLen = sizeof( FIXED_INFO );

if( GetNetworkParams( pFixedInfo, &ulOutBufLen ) == ERROR_BUFFER_OVERFLOW ) {
GlobalFree( pFixedInfo );
pFixedInfo = (FIXED_INFO * ) malloc ( ulOutBufLen );
}

if ( dwRetVal = GetNetworkParams( pFixedInfo, &ulOutBufLen ) != NO_ERROR ) {
printf( "Call to GetNetworkParams failed.\n ");
}

else {
printf( "\tHost Name: %s\n ", pFixedInfo -> HostName);
printf( "\tDomain Name: %s\n ", pFixedInfo -> DomainName);
printf( "\tDNS Servers:\n ");
printf( "\t\t%s\n ", pFixedInfo -> DnsServerList.IpAddress.String);

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

if (pFixedInfo -> EnableRouting)
printf( "\tEnable Routing: Yes\n ");
else
printf( "\tEnable Routing: No\n ");

if (pFixedInfo -> EnableProxy)
printf( "\tEnable Proxy: Yes\n ");
else
printf( "\tEnable Proxy: No\n ");

if (pFixedInfo -> EnableDns)
printf( "\tEnable DNS: Yes\n ");
else
printf( "\tEnable DNS: No\n ");
}




[解决办法]
应该是这个吧
#include "iphlpapi.h "
你要找到iphlpapi.h,拷贝到工程目录
[解决办法]
Ctrl+C、Ctrl+V会不会用?或者“复制”、“粘贴”,这样不会把GlobalAlloc变成malloc。另外,请用向导生成代码再修改,那样不会是个c文件。

读书人网 >VC/MFC

热点推荐