⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getinterfaceinfo.cpp

📁 VisualC++网络程序设计配套光盘代码第七章
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////
// GetInterfaceInfo.cpp文件


#include <stdio.h>
#include <windows.h>
#include <Iphlpapi.h>

#pragma comment(lib, "Iphlpapi.lib")


int main()
{
	PIP_INTERFACE_INFO pInfo = 
			(PIP_INTERFACE_INFO)::GlobalAlloc(GPTR, sizeof(IP_INTERFACE_INFO));
	ULONG ulOutBufLen = sizeof(IP_INTERFACE_INFO);

	// 如果上面申请的内存不够的话,再重新申请
	if(::GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
	{
		::GlobalFree(pInfo);
		pInfo = (PIP_INTERFACE_INFO)::GlobalAlloc(GPTR, ulOutBufLen);
	}

	// 再次调用GetInterfaceInfo来获取我们实际需要的数据
	if(::GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR)
	{
		printf(" \tAdapter Name: %ws\n", pInfo->Adapter[0].Name);
		printf(" \tAdapter Index: %ld\n", pInfo->Adapter[0].Index);
		printf(" \tNum Adapters: %ld\n", pInfo->NumAdapters);
	}
	else
	{
		printf(" GetInterfaceInfo() failed \n");
	}

	::GlobalFree(pInfo);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -