我得到了这个错误,我不知道为什么。我想创建一个使用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函数,我就不明白了。
为什么会发生这种情况?
发布于 2015-11-27 13:17:14
我有点困惑,因为您的问题被标记为osx,但是GetAdaptersInfo是Windows调用,您似乎在使用Visual。
如果问题被错误地标记为osx,您可能忘记将程序链接到iphlpapi.lib。
如果它真的要在OS上工作,您可能需要检查以下链接:
https://stackoverflow.com/questions/33957884
复制相似问题