gpt4 book ai didi

c++ - Windows WMI - 获取多个 MAC 地址

转载 作者:行者123 更新时间:2023-11-28 06:52:11 25 4
gpt4 key购买 nike

我正在使用以下函数和查询来检索网络适配器的 MAC 地址:

QueryValue( pService, L"SELECT MACAddress FROM Win32_NetworkAdapter", L"MACAddress", NetMacAddress, bufferLength );

但我不知道如何指定我想获取哪张卡的地址。有没有办法使用 WMI 获取计算机上每张卡的 MAC 地址(假设它们已激活等等)?还是使用其他东西?

谢谢你:)

最佳答案

如果没有 WMI,您可以简单地使用类似这样的东西...

unsigned long ulLen = 0;
IP_ADAPTER_ADDRESSES* p_adapAddress = NULL;

DWORD dwRetValue = GetAdaptersAddresses(AF_INET, 0, NULL, p_adapAddress,&ulLen);
if(dwRetValue == ERROR_BUFFER_OVERFLOW)
{
p_adapAddress = (PIP_ADAPTER_ADDRESSES)malloc(ulLen);
if(p_adapAddress)
{
dwRetValue = GetAdaptersAddresses(AF_INET, 0, NULL, p_adapAddress,&ulLen);
if(dwRetValue == NO_ERROR)
{
IP_ADAPTER_ADDRESSES* p_adapAddressAux = p_adapAddress;
do
{
// Get the value of the p_adapAddressAux.PhysicalAddress

}
while(p_adapAddressAux != NULL);
}

free(p_adapAddress);
}
}

关于c++ - Windows WMI - 获取多个 MAC 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23734143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com