#include
//这两个头文件先后顺序不能变
#include
//这两个头文件先后顺序不能变
#include
HANDLE DispatchConsole::GetDeviceHandle()
{
HANDLE hFile = INVALID_HANDLE_VALUE;
ULONG flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME;
ULONG ulBytes = 0;
ULONG ulErr = ERROR_SUCCESS;
CHAR szmac[18];
char devLink[128] = { 0 };
ulErr = GetAdaptersAddresses(AF_INET, flags, NULL, NULL, &ulBytes);
if (ulErr != ERROR_BUFFER_OVERFLOW)
return hFile;
PIP_ADAPTER_ADDRESSES piaa = (PIP_ADAPTER_ADDRESSES)new char[ulBytes];
ulErr = GetAdaptersAddresses(AF_INET, flags, NULL, piaa, &ulBytes);
if (ulErr != ERROR_SUCCESS) {
goto __func_end;
}
PIP_ADAPTER_ADDRESSES p = piaa;
while (p)
{
BYTE * pa = p->PhysicalAddress;
sprintf_s(szmac, _countof(szmac), "%02x-%02x-%02x-%02x-%02x-%02x", pa[0], pa[1], pa[2], pa[3], pa[4], pa[5]);
p = p->Next;
}
__func_end:
if (piaa)
delete[] piaa;
return hFile;
}
注意头文件的引用问题