小编Ezi*_*aze的帖子

使用 GetNetworkParams() 检索网络信息时出错

这是我用 C++ 编写的用于检索网络信息的代码:

#ifndef WIN_32_LEAN_AND_MEAN
#define WIN_32_LEAN_AND_MEAN
#endif

#include<windows.h>
#include<winsock2.h>
#include<iphlpapi.h>
#include<stdio.h>
#include<iostream>

#pragma comment(lib,"iphlpapi.lib")
using namespace std;

int main()
{
    FIXED_INFO *pFixedInfo;
    IP_ADDR_STRING *pIPAddr;

    ULONG ulOutBuflen;
    DWORD dwRetVal;

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

    if (GetNetworkParams(pFixedInfo, &ulOutBuflen) == ERROR_BUFFER_OVERFLOW) {
        free(pFixedInfo);
        pFixedInfo = (FIXED_INFO *)malloc(sizeof(ulOutBuflen));
        if (pFixedInfo == NULL)
            cout << "Error allocating memory needed to call GetNetworkParams \n";
    }

    if(dwRetVal=GetNetworkParams(pFixedInfo,&ulOutBuflen)!=NO_ERROR){
        cout << "GetNetwrokParams failed : " << dwRetVal << endl;
        if (pFixedInfo)
            free(pFixedInfo);
    }

    cout << "Host …
Run Code Online (Sandbox Code Playgroud)

c c++ networking winapi

2
推荐指数
1
解决办法
1178
查看次数

标签 统计

c ×1

c++ ×1

networking ×1

winapi ×1