我收到此错误,我不知道为什么。 我想创建一个库来操作WinPcap,并公开它们的一些功能。我附上了部分代码:
class WinPcap
{
private:
bool discoverDone;
std::list<Device> discoverDeviceList;
void Listen();
public:
WinPcap();
~WinPcap();
//This process is bloking, remain throw it in a different thread.
std::list<Device> Discover();
static void GetHostMacAddress(UINT8* macAddress, int pointerSize);
};
现在我发现这种方法可以在c ++中获取主机mac地址:
void WinPcap::GetHostMacAddress(UINT8* macAddress, int pointerSize)
{
IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information for up to 16 NICs
DWORD dwBufLen = sizeof(AdapterInfo); // Save memory size of buffer
DWORD dwStatus = GetAdaptersInfo( // Call GetAdapterInfo
AdapterInfo, // [out] buffer to receive data
&dwBufLen); // [in] size of receive data buffer
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; // Contains pointer to current adapter info
}
我在该函数中收到错误。但是,如果我评论GetAdaptersInfo函数,我就不会理解它。
为什么会这样?
答案 0 :(得分:1)
我有点困惑,因为您的问题被标记为osx
,但GetAdaptersInfo
是Windows API调用,您似乎正在使用Visual Studio。
如果该问题被错误地标记为osx
,您可能忘记将您的计划关联到iphlpapi.lib
如果它确实适用于OS X,您可能需要检查以下链接: