1 Star 0 Fork 4

AlongsCode/eapi

forked from 精易科技/eapi 
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
eapi_44_GetLocalMac.cpp 1.09 KB
一键复制 编辑 原始数据 按行查看 历史
AlongsCode 提交于 2023-02-09 00:42 +08:00 . 部分重构
#include "..\include_eapi_header.h"
#include<iphlpapi.h>
#include<memory>
#pragma comment(lib,"Iphlpapi.lib")
inline char* GetLocalMac(int NetIndex) {
char* result = nullptr;
ULONG size = 0;
int index = 0;
IP_ADAPTER_INFO* info;
GetAdaptersInfo(nullptr, &size);
if (size) {
info = reinterpret_cast<IP_ADAPTER_INFO*>(new char[size]);
if (GetAdaptersInfo(info, &size) == ERROR_SUCCESS) {
IP_ADAPTER_INFO* current = info;
while (current) {
if (index == NetIndex - 1) {
char Dest[40] = { 0 };
sprintf_s(Dest, "%02X-%02X-%02X-%02X-%02X-%02X", current->Address[0], current->Address[1], current->Address[2], current->Address[3], current->Address[4], current->Address[5]);
result = CloneTextData(Dest);
break;
}
current = current->Next;
++index;
}
}
delete[] reinterpret_cast<char*>(info);
}
return result;
}
EAPI_EXTERN_C void eapi_GetLocalMac_44_eapi(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
int NetIndex = 1;
if (pArgInf->m_dtDataType && pArgInf->m_int > 1)
{
NetIndex = pArgInf->m_int;
}
pRetData->m_pText = GetLocalMac(NetIndex);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/alongscode/eapi.git
git@gitee.com:alongscode/eapi.git
alongscode
eapi
eapi
master

搜索帮助